Changes between Version 6 and Version 7 of WF/CaixadeSelecaoMultipla-Duplex


Ignore:
Timestamp:
08/22/07 14:01:52 (17 years ago)
Author:
viani
Comment:

--

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 
    14== Plugin: wf_select_duplex_init == 
     5 
    26'''Descrição:''' Insere código que referencia arquivos de javascript responsáveis pela funcionalidade. 
    3  
    4  
    57 
    68'''Parâmetros:''' <nenhum> 
    79 
    8  
    9  
    1010'''Exemplo:''' 
    1111 
    12   {wf_select_duplex_init} 
    13  
    14  
    15  
    16  
     12{{{ 
     13{wf_select_duplex_init} 
     14}}} 
    1715 
    1816Observaçã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  
    2117 
    2218---- 
     
    2521 
    2622'''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  
    2923 
    3024'''Parâmetros:''' 
     
    4438  style: para definir os estilos dos ''select boxes''. 
    4539 
    46  
    47  
    4840'''Parâmetros obrigatórios:''' 
    4941 
     
    5143 
    5244  nameRight 
    53  
    54  
    5545 
    5646'''Valor padrão:''' 
     
    6656  diffEnable: true 
    6757 
    68  
    69  
    7058[[Image(htdocs:wf/images/select_duplex.png)]] 
    71  
    72  
    7359 
    7460'''Exemplo de utilização:''' 
    7561 
     62{{{ 
    7663  {wf_select_duplex nameLeft="disponiveis" nameRight="cadastrados"} 
    77  
    78  
     64}}} 
    7965 
    8066O exemplo acima cria dois ''selects'' vazios, que podem ser populados posteriormente. 
    8167 
    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}}} 
    8771 
    8872O 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''. 
    8973 
    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}}} 
    9578 
    9679O 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  
    10180 
    10281'''Exemplo integrado com o Select City:''' 
     
    10685[[Image(htdocs:wf/images/select_duplex_cities.png)]] 
    10786 
    108  
    109  
    11087Utilizando uma tabela para posicionar os componentes de maneira mais organizada: 
    11188 
    11289{{{ 
    113  
    11490<table> 
    11591    <tr> 
     
    12399        <td> 
    124100            {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 p t> 
     101            <script> draw_cities('disponiveis',1, callDiff); </script> 
    126102        </td> 
    127103    </tr> 
    128104</table> 
    129  
    130105}}} 
    131  
    132  
    133106 
    134107Para o código acima, '''atualizaCidades''' e '''callDiff''' podem ser definidas da seguinte forma: 
    135108 
    136109{{{ 
    137  
    138110function atualizaCidades() { 
    139111    objEstado = eval('document.forms[0].estado'); 
     
    146118 
    147119} 
    148  
    149120}}} 
    150  
    151  
    152121 
    153122Onde, '''selectDiff''' é uma função javascript definida no plugin '''wf_select_duplex''' e os parâmetros 'cadastrados' e 'disponiveis' são os nomes dos ''selects''. 
    154123 
    155  
    156  
    157124'''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  
    160125 
    161126Como '''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'''. 
    162127 
    163  
    164  
    165128Portanto, 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. 
    166129 
    167  
    168  
    169130'''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.