Componenti dinamici

All'interno della libreria cwbLibHtml sono presenti dei metodi per la generazione di componenti dinamici a run-time.

Pulsanti dinamici nella buttonbar

Metodo: pulsantiDinamiciButtonBar($formName, $divName, $pulsanti)

Parametri:

$formName: nome della form

$divName: nome del div dove iniettare i componenti

$pulsanti: array di dati che rappresenta i pulsanti da aggiungere.

Ogni pulsante è rappresentato da un array associativo, con le seguenti chiavi:

id: Id pulsante

icon: icona pulsante (per vedere le icone utilizzabili, vedere il seguente link: https://api.jqueryui.com/theming/icons/

newline: indica se dopo il pulsante occorre andare a capo riga

properties: array di proprietà da associare al pulsante

Esempio di utilizzo:

cwbLibHtml::pulsantiDinamiciButtonBar($this->nameForm, 'divPulsantiDinamici', array(
array(
'id' => 'btnDinamico1',
'icon' => 'ui-icon-search',
'newline' => 1,
'properties' => array(
'style' => 'width:140px;',
'value' => 'Pulsante 1',
)
),
array(
'id' => 'btnDinamico2',
'icon' => 'ui-icon-search',
'newline' => 1,
'properties' => array(
'style' => 'width:140px;',
'value' => 'Pulsante 2',
)
),
));

Componenti dinamici

Metodo: componentiDinamici($formName, $divName, $components)

Parametri:

$formName: nome della form

$divName: nome del div dove iniettare i componenti

$components: array di dati che rappresenta i componenti da aggiungere

Componenti attualmente gestiti:

div

E' un componente che contiene al suo interno altri componenti.

type: 'div'

id: id conmponente

children: array di sottocomponenti

ita-button

type: 'ita-button'

id: id conmponente

icon: icona pulsante (per vedere le icone utilizzabili, vedere il seguente link: https://api.jqueryui.com/theming/icons/

newline: indica se dopo il pulsante occorre andare a capo riga

properties: array di proprietà da associare al pulsante

ita-edit

type: 'ita-button'

id: id conmponente

newline: indica se dopo il pulsante occorre andare a capo riga

properties: array di proprietà da associare al pulsante

label: oggetto label associato al componente

ita-edit-lookup

type: 'ita-edit-lookup'

id: id conmponente

newline: indica se dopo il pulsante occorre andare a capo riga

properties: array di proprietà da associare al pulsante

label: oggetto label associato al componente

ita-readonly

type: 'ita-readonly'

id: id conmponente

newline: indica se dopo il pulsante occorre andare a capo riga

properties: array di proprietà da associare al pulsante

label: oggetto label associato al componente

ita-checkbox

type: 'ita-checkbox'

id: id conmponente

newline: indica se dopo il pulsante occorre andare a capo riga

properties: array di proprietà da associare al pulsante

label: oggetto label associato al componente

ita-select

type: 'ita-select'

id: id conmponente

newline: indica se dopo il pulsante occorre andare a capo riga

properties: array di proprietà da associare al pulsante

label: oggetto label associato al componente

options: array di valori che può assumere il componente

label

text: testo della label

position: posizione label ('sx', 'dx')

style: stile css

ita-select option

id: id elemento

value: Valore da mostrare a video

selected: se indicato, e se valorizzato a 1, indica si assume come valore di default

Esempio di utilizzo:

private function componentiDinamici() {
$componenti = array(
array(
'type' => 'div',
'id' => 'divInfoAggiuntive',
'children' => array(
array(
'type' => 'ita-edit',
'id' => 'txtDemo1',
'newline' => 1,
'properties' => array(
'maxlength' => 10,
'size' => 7,
'style' => 'text-align:right;'
),
'label' => array(
'text' => 'label comp. 1',
'position' => 'sx',
'style' => 'width:120px;'
)
),
array(
'type' => 'ita-edit',
'id' => 'txtDemo2',
'newline' => 1,
'properties' => array(
'maxlength' => 20,
'size' => 14,
'style' => 'text-align:left;'
),
'label' => array(
'text' => 'label comp. 2',
'position' => 'sx',
'style' => 'width:120px;'
)
),
array(
'type' => 'ita-edit-lookup',
'id' => 'txtLookup1',
'newline' => 0,
'size' => 200,
'properties' => array(
'maxlength' => 2,
'size' => 5,
'style' => 'text-align:right;'
),
'label' => array(
'text' => 'label lookup',
'position' => 'sx',
'style' => 'width:120px;'
)
),
array(
'type' => 'ita-readonly',
'id' => 'txtLookup1_decod',
'newline' => 1,
'properties' => array(
'size' => 50
)
),
array(
'type' => 'ita-checkbox',
'id' => 'txtCheckTest',
'newline' => 1,
'label' => array(
'text' => 'label check',
'position' => 'sx',
'style' => 'width:120px;'
)
),
array(
'type' => 'ita-select',
'id' => 'txtSelect1',
'newline' => 1,
'label' => array(
'text' => 'label select',
'position' => 'sx',
'style' => 'width:120px;'
),
'options' => array(
array(
'id' => '01',
'value' => 'EUROPA',
'selected' => 1
),
array(
'id' => '02',
'value' => 'ASIA'
)
)
),
array(
'type' => 'ita-button',
'id' => 'btnSub1',
'icon' => 'ui-icon-search',
'newline' => 1,
'properties' => array(
'style' => 'width:140px;',
'value' => 'Pulsante 1',
)
),
)
)
);
cwbLibHtml::componentiDinamici($this->nameForm, "divCampiDinamici", $componenti);
}