Changeset 3398


Ignore:
Timestamp:
10/22/10 09:50:47 (14 years ago)
Author:
asaikawa
Message:

Ticket #946 - Ajustes para permitir que sejam passados parametros extras ao input

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/workflow/inc/smarty/wf_plugins/function.wf_autocomplete_input.php

    r3167 r3398  
    7474        } 
    7575 
     76        /* se o componente for do tipo padrão (POPULATE_ON_LOAD) */ 
     77        if ($mode == 'POPULATE_ON_LOAD'){ 
     78                // Se o usuário necessitar utilizar os parâmetros onfocus ou onblur, concatena as chamadas 
     79                // passadas na declaração do componente com as necessárias para o funcionamento do plugin. 
     80                // Outros parâmetros são apenas repassados para o campo input. 
     81                $onfocus = "checkDataLoaded('$name');" . $extraParams['onfocus']; 
     82                unset($extraParams['onfocus']); 
     83                $onblur = "setTimeout('selectAutocompleteElement(\'$name\')', 500);" . $extraParams['onblur']; 
     84                unset($extraParams['onblur']); 
     85                $extra_input = ""; 
     86                foreach($extraParams AS $key => $value){ 
     87                        $extra_input .= " $key=$value "; 
     88                } 
     89                $inputElement = <<<EOF 
     90                <input id="$name_input" name="$name_input" type="text" value="$textValue" style="$style" onfocus=$onfocus onblur=$onblur $extra_input/> 
     91EOF; 
     92        } 
     93        /* se o componente for do tipo REPOPULATE_ON_CHANGE, deverá fazer chamada ajax para toda entrada nova (verificada na ação onkeyup) */ 
     94        elseif ($mode == 'REPOPULATE_ON_CHANGE'){ 
     95                // Se o usuário necessitar utilizar os parâmetros onblur ou onkeyup, concatena as chamadas 
     96                // passadas na declaração do componente com as necessárias para o funcionamento do plugin. 
     97                // Outros parâmetros são apenas repassados para o campo input. 
     98                $onblur = "setTimeout('selectAutocompleteElement(\'$name\')', 500);" . $extraParams['onblur']; 
     99                unset($extraParams['onblur']); 
     100                $onkeyup = "updateCacheRequestsTimeout('$name', '$ajaxClass', '$ajaxMethod', this.value, '$mode');" . $extraParams['onkeyup']; 
     101                unset($extraParams['onkeyup']); 
     102                $extra_input = ""; 
     103                foreach($extraParams AS $key => $value){ 
     104                        $extra_input .= " $key=$value "; 
     105                } 
     106                $inputElement = <<<EOF 
     107                <input id="$name_input" name="$name_input" type="text" value="$textValue" style="$style" onblur="$onblur" onkeyup="$onkeyup" $extra_input/> 
     108EOF; 
     109        } 
     110 
    76111        /* Cria um objeto JSON com os parâmetros opcionais utilizados pelo javascript */ 
    77112        $extraParams = array ('idValue'         => $idValue 
     
    80115        ); 
    81116        $extraParams = json_encode($extraParams); 
    82  
    83         /* se o componente for do tipo padrão (POPULATE_ON_LOAD), não necessita de função para onkeyup */ 
    84         if ($mode == 'POPULATE_ON_LOAD'){ 
    85                 $inputElement = <<<EOF 
    86                 <input id="$name_input" name="$name_input" type="text" value="$textValue" style="$style" onfocus="checkDataLoaded('$name');" onblur="setTimeout('selectAutocompleteElement(\'$name\')', 500);"/> 
    87 EOF; 
    88         } 
    89         elseif ($mode == 'REPOPULATE_ON_CHANGE'){ 
    90                 $inputElement = <<<EOF 
    91                 <input id="$name_input" name="$name_input" type="text" value="$textValue" style="$style" onblur="setTimeout('selectAutocompleteElement(\'$name\')', 500);" onkeyup="updateCacheRequestsTimeout('$name', '$ajaxClass', '$ajaxMethod', this.value, '$mode')"/> 
    92 EOF; 
    93         } 
    94117 
    95118        /* Cria todos os elementos HTML necessários para o componente */ 
Note: See TracChangeset for help on using the changeset viewer.