Commit a85df2038fa307b6974671877980670207edc9c3
1 parent
08700fb9
Exists in
master
and in
7 other branches
Criação do método filtraCamadas
Showing
1 changed file
with
47 additions
and
2 deletions
Show diff stats
classesjs/classe_arvoredecamadas.js
... | ... | @@ -843,7 +843,10 @@ i3GEO.arvoreDeCamadas = { |
843 | 843 | /* |
844 | 844 | Function: listaLigadosDesligados |
845 | 845 | |
846 | - Lista os temas que estão ligados e os que estão desligados. | |
846 | + Lista os temas que estão ligados e os que estão desligados | |
847 | + tendo como fonte de busca os checkbox existentes na árvore. | |
848 | + | |
849 | + Esse método é mais demorado pois varre a árvore toda. Porém, obtém o status verdadeiro do tema. | |
847 | 850 | |
848 | 851 | Return: |
849 | 852 | {Array} - array com os códigos dos temas [0]=ligados [1]=desligados [2]=todos na ordem encontrada |
... | ... | @@ -922,7 +925,7 @@ i3GEO.arvoreDeCamadas = { |
922 | 925 | |
923 | 926 | {JSON} |
924 | 927 | */ |
925 | - pegaTema: function pegatema(idtema){ | |
928 | + pegaTema: function(idtema){ | |
926 | 929 | var c,i; |
927 | 930 | c = i3GEO.arvoreDeCamadas.CAMADAS.length; |
928 | 931 | for (i=0; i<c; i++){ |
... | ... | @@ -930,6 +933,48 @@ i3GEO.arvoreDeCamadas = { |
930 | 933 | return (i3GEO.arvoreDeCamadas.CAMADAS[i]); |
931 | 934 | } |
932 | 935 | } |
936 | + }, | |
937 | + /* | |
938 | + Function: filtraCamadas | |
939 | + | |
940 | + Busca temas na variável i3GEO.arvoreDeCamadas.CAMADAS aplicando um filtro | |
941 | + | |
942 | + Parameters: | |
943 | + | |
944 | + propriedade {string} - propriedade de CAMADAS que será filtrado | |
945 | + | |
946 | + valor - valor do filtro | |
947 | + | |
948 | + operador {string} - operador entre propriedade e valor igual|diferente | |
949 | + | |
950 | + camadas {array} - array do tipo i3GEO.arvoreDeCamadas.CAMADAS | |
951 | + | |
952 | + Return: | |
953 | + {Array} | |
954 | + */ | |
955 | + filtraCamadas: function(propriedade,valor,operador,camadas){ | |
956 | + var resultado = [], | |
957 | + i = 0, | |
958 | + temp, | |
959 | + nelementos = camadas.length, | |
960 | + ltema; | |
961 | + if (nelementos > 0){ | |
962 | + do{ | |
963 | + ltema = camadas[i]; | |
964 | + temp = eval("ltema."+propriedade); | |
965 | + if(operador === "igual"){ | |
966 | + if(temp === valor) | |
967 | + {resultado.push(ltema);} | |
968 | + } | |
969 | + if(operador === "diferente"){ | |
970 | + if(temp !== valor) | |
971 | + {resultado.push(ltema);} | |
972 | + } | |
973 | + i++; | |
974 | + } | |
975 | + while(i < nelementos); | |
976 | + } | |
977 | + return resultado; | |
933 | 978 | } |
934 | 979 | }; |
935 | 980 | // | ... | ... |