| 1 | == Plugin: wf_select_option_multiple_init == |
| 2 | '''Descrição:''' Insere código que referencia arquivos de javascript responsáveis pela funcionalidade. |
| 3 | |
| 4 | |
| 5 | |
| 6 | '''Parâmetros:''' <nenhum> |
| 7 | |
| 8 | |
| 9 | |
| 10 | '''Exemplo:''' |
| 11 | |
| 12 | {wf_select_option_multiple_init} |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | Observação: antes de utilizar "wf_select_option_multiple" (seja uma ou mais vezes), deve-se fazer uma '''única''' chamada ao plugin "wf_select_option_multiple_init". |
| 19 | |
| 20 | |
| 21 | |
| 22 | ---- |
| 23 | |
| 24 | == Plugin: wf_select_option_multiple == |
| 25 | |
| 26 | '''Descrição:''' Este plugin insere uma ''combo box'' e um ''select box'' múltiplo que permite ao usuário cadastrar vários ítens de uma lista. A ''combo'' é utilizada para mostrar todos os ítens "cadastráveis", que podem estar em formato de lista normal, ou uma lista dividida em grupos (utilizando '''optGroup'''). Ao selecionar um item, deve-se clicar no botão "Adicionar" para que a seleção seja copiada para o ''select box'', onde se encontram os itens a serem cadastrados. Ao adicionar um elemento, ele será desabilitado na ''combo'' para que não possa ser selecionado novamente. |
| 27 | |
| 28 | Para remover um ou mais itens do ''select'', basta selecioná-los e clicar no botão "Remover". Isso vai reabilitá-los na ''combo''. |
| 29 | |
| 30 | |
| 31 | |
| 32 | '''Parâmetros:''' |
| 33 | |
| 34 | nameTop: o nome e id que a ''combo'' irá receber. |
| 35 | |
| 36 | nameBottom: o nome e id que o ''select'' irá receber. |
| 37 | |
| 38 | arrayTop: lista dos ítens a serem carregados na ''combo''. |
| 39 | |
| 40 | arrayBottom: lista dos ítens a serem carregados no ''select''. |
| 41 | |
| 42 | onChangeTop: chamada da função a ser executada no onChange da ''combo''. |
| 43 | |
| 44 | onChangeBottom: chamada da função a ser executada no onChange do ''select''. |
| 45 | |
| 46 | size: tamanho do ''select box''. |
| 47 | |
| 48 | sortEnableBottom: valor (''true'' ou ''false'') indicando se deve-se executar a ordenação do ''select box''. |
| 49 | |
| 50 | diffEnable: valor (''true'' ou ''false'') indicando se deve-se executar o diff entre a ''combo'' e o ''select box''. |
| 51 | |
| 52 | style: para definir os estilos do ''select box''. |
| 53 | |
| 54 | |
| 55 | |
| 56 | '''Parâmetros obrigatórios:''' |
| 57 | |
| 58 | nameTop |
| 59 | |
| 60 | nameBottom |
| 61 | |
| 62 | |
| 63 | |
| 64 | '''Valor padrão:''' |
| 65 | |
| 66 | size: 8 |
| 67 | |
| 68 | style: "width:400px" |
| 69 | |
| 70 | sortEnableBottom: true |
| 71 | |
| 72 | diffEnable: true |
| 73 | |
| 74 | |
| 75 | |
| 76 | A seguir, é apresentada a combo com uma lista dividida em grupos. Para isso, o array deve possuir o seguinte formato: |
| 77 | |
| 78 | {{{ |
| 79 | |
| 80 | array( |
| 81 | |
| 82 | "Curitiba" => array( |
| 83 | |
| 84 | 123 => "Araucária", |
| 85 | |
| 86 | 134 => "Colombo", |
| 87 | |
| 88 | . |
| 89 | |
| 90 | . |
| 91 | |
| 92 | ), |
| 93 | |
| 94 | "Londrina" => array( |
| 95 | |
| 96 | 234 => "Cambé", |
| 97 | |
| 98 | 245 => "Ibiporã", |
| 99 | |
| 100 | . |
| 101 | |
| 102 | . |
| 103 | |
| 104 | ) |
| 105 | |
| 106 | ) |
| 107 | |
| 108 | }}} |
| 109 | |
| 110 | :[[Image(http://doc.workflow.celepar.parana/wiki/select_option_multiple_combo.png)]] |
| 111 | |
| 112 | |
| 113 | |
| 114 | Alguns elementos estão desabilitados pois já foram adicionados ao ''select''. |
| 115 | |
| 116 | |
| 117 | |
| 118 | Uma visão mais geral do componente é apresentada a seguir: |
| 119 | |
| 120 | :[[Image(http://doc.workflow.celepar.parana/wiki/select_option_multiple.png)]] |
| 121 | |
| 122 | |
| 123 | |
| 124 | Ao remover um elemento do ''select'', ele volta a ser habilitado na ''combo'' para que possa ser selecionado novamente, se necessário. |
| 125 | |
| 126 | |
| 127 | |
| 128 | '''Exemplo de utilização:''' |
| 129 | |
| 130 | {wf_select_option_multiple nameTop="disponiveis" nameBottom="cadastrados" arrayTop=$lista diffEnable=false} |
| 131 | |
| 132 | |
| 133 | |
| 134 | O exemplo acima cria o componente com o array $lista carregado na ''combo''. Se esse array tiver um formato semelhante ao exemplo da imagem acima, será utilizado o optGroup, mas se for um array normal, será criada uma ''combo'' com ''options'' normais. O parâmetro "diffEnable=false" indica que não será realizado o diff entre a ''combo'' e o ''select'', que nesse caso realmente não é necessário, pois o ''select'' está vazio. |
| 135 | |
| 136 | |
| 137 | |
| 138 | {wf_select_option_multiple nameTop="disponiveis" nameBottom="cadastrados" arrayTop=$listaCombo arrayBottom=$listaSelect sortEnableBottom=false} |
| 139 | |
| 140 | |
| 141 | |
| 142 | O exemplo acima cria o componente com a ''combo'' e o ''select'' carregados automaticamente com os arrays $listaCombo e $listaSelect, respectivamente. Quando não é especificado o '''diffEnable''', ou é definido "diffEnable=true", é efetuado o diff entre a ''combo'' e o ''select'', que desabilita os elementos da ''combo'' que forem encontrados no ''select''. Com "sortEnableBottom=false", os elementos do ''select'' não serão ordenados. Caso esse parâmetro não seja especificado, seu valor padrão é '''true'''. |
| 143 | |
| 144 | |
| 145 | |
| 146 | '''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. |