Changes between Version 6 and Version 7 of WF/CaixadeSelecaoMultipla-Duplex
- Timestamp:
- 08/22/07 14:01:52 (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WF/CaixadeSelecaoMultipla-Duplex
v6 v7 1 = Caixa de Seleção Múltipla - Duplex = 2 [[TOC(heading=Workflow,depth=1,WF/Changelog,WF/Documentacao,WF/Instalacao,WF/Links,WF/Propostas,WF/Recursos)]] 3 1 4 == Plugin: wf_select_duplex_init == 5 2 6 '''Descrição:''' Insere código que referencia arquivos de javascript responsáveis pela funcionalidade. 3 4 5 7 6 8 '''Parâmetros:''' <nenhum> 7 9 8 9 10 10 '''Exemplo:''' 11 11 12 {wf_select_duplex_init} 13 14 15 16 12 {{{ 13 {wf_select_duplex_init} 14 }}} 17 15 18 16 Observação: antes de utilizar "wf_select_duplex" (seja uma ou mais vezes), deve-se fazer uma '''única''' chamada ao plugin "wf_select_duplex_init". 19 20 21 17 22 18 ---- … … 25 21 26 22 '''Descrição:''' Este plugin insere dois ''select boxes'' de seleções múltiplas que permitem ao usuário cadastrar vários ítens de uma lista dada. O primeiro ''select'' é utilizado para mostrar todos os ítens "cadastráveis". Pode-se selecionar um ou mais ítens que são transferidos para o segundo ''select'' através do botão ">>". O mesmo pode ser feito do segundo ''select'' para o primeiro através do botão "<<". A idéia é realizar o cadastro de todos os ítens contidos no segundo ''select'' ao final das operações. 27 28 29 23 30 24 '''Parâmetros:''' … … 44 38 style: para definir os estilos dos ''select boxes''. 45 39 46 47 48 40 '''Parâmetros obrigatórios:''' 49 41 … … 51 43 52 44 nameRight 53 54 55 45 56 46 '''Valor padrão:''' … … 66 56 diffEnable: true 67 57 68 69 70 58 [[Image(htdocs:wf/images/select_duplex.png)]] 71 72 73 59 74 60 '''Exemplo de utilização:''' 75 61 62 {{{ 76 63 {wf_select_duplex nameLeft="disponiveis" nameRight="cadastrados"} 77 78 64 }}} 79 65 80 66 O exemplo acima cria dois ''selects'' vazios, que podem ser populados posteriormente. 81 67 82 83 84 {wf_select_duplex nameLeft="disponiveis" nameRight="cadastrados" arrayLeft=$lista} 85 86 68 {{{ 69 {wf_select_duplex nameLeft="disponiveis" nameRight="cadastrados" arrayLeft=$lista} 70 }}} 87 71 88 72 O exemplo acima cria dois ''selects'' carregando a variável "lista", que é um array vindo do modelo, no ''select'' da esquerda. Para cada item de $lista será criada uma ''option'' no ''select'', de forma que os índices do array serão atribuídos ao ''value'' da ''option'' e os valores do array ao ''text''. 89 73 90 91 92 {wf_select_duplex nameLeft="disponiveis" nameRight="cadastrados" arrayLeft=$listaLeft arrayRight=$listaRight diffEnable=false} 93 94 74 {{{ 75 {wf_select_duplex nameLeft="disponiveis" nameRight="cadastrados" arrayLeft=$listaLeft 76 arrayRight=$listaRight diffEnable=false} 77 }}} 95 78 96 79 O exemplo acima cria dois ''selects'' carregados automaticamente com os arrays $listaLeft e $listaRight. Especificando-se 'diffEnable=false', não é efetuado o diff entre os ''selects'', caso nada fosse passado, seria utilizado o valor default 'diffEnable=true', que eliminaria os valores de $listaLeft encontrados em $listaRight. 97 98 99 100 101 80 102 81 '''Exemplo integrado com o Select City:''' … … 106 85 [[Image(htdocs:wf/images/select_duplex_cities.png)]] 107 86 108 109 110 87 Utilizando uma tabela para posicionar os componentes de maneira mais organizada: 111 88 112 89 {{{ 113 114 90 <table> 115 91 <tr> … … 123 99 <td> 124 100 {wf_select_duplex nameLeft="disponiveis" nameRight="cadastrados" arrayRight=$cidades} 125 <s c r i p t> draw_cities('disponiveis',1, callDiff); </s c r i pt>101 <script> draw_cities('disponiveis',1, callDiff); </script> 126 102 </td> 127 103 </tr> 128 104 </table> 129 130 105 }}} 131 132 133 106 134 107 Para o código acima, '''atualizaCidades''' e '''callDiff''' podem ser definidas da seguinte forma: 135 108 136 109 {{{ 137 138 110 function atualizaCidades() { 139 111 objEstado = eval('document.forms[0].estado'); … … 146 118 147 119 } 148 149 120 }}} 150 151 152 121 153 122 Onde, '''selectDiff''' é uma função javascript definida no plugin '''wf_select_duplex''' e os parâmetros 'cadastrados' e 'disponiveis' são os nomes dos ''selects''. 154 123 155 156 157 124 '''draw_cities''' é uma função javascript definida no plugin '''wf_select_city''' e atribui ao ''select'' '''disponiveis''' todas as cidades do estado de código '''1'''(Paraná). 158 159 160 125 161 126 Como '''draw_cities''' é uma chamada Ajax (assíncrona), ela aceita um terceiro parâmetro, no caso '''callDiff''', que é a função que será executada ao final de '''draw_cities'''. 162 127 163 164 165 128 Portanto, ao final dessa execução, teremos todas as cidades do Paraná carregadas no ''select'' 'disponiveis', todas as cidades recuperadas em $lista carregadas em 'cadastradas' e após a chamada '''callDiff''', as cidades de 'disponiveis' encontradas em 'cadastradas' serão removidas, pois elas não podem estar nos dois ''selects'' simultaneamente. 166 129 167 168 169 130 '''ATENÇÃO:''' Antes do formulário ser submetido, você deve chamar a função javascript do componente "selectAllOptions". Essa função recebe como parâmetro o nome do ''select'' a ter as ''options'' selecionadas. No PHP serão recuperados os ''values'' dos elementos selecionados.