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 | // | ... | ... |