/** * Constructor Method * Creates the page, the search form and the listing */ public function __construct() { parent::__construct(); parent::setTitle(AdiantiCoreTranslator::translate('Search record')); parent::setSize(0.7, 640); // creates a new form $this->form = new TForm('form_standard_seek'); // creates a new table $table = new TTable(); $table->{'width'} = '100%'; // adds the table into the form $this->form->add($table); // create the form fields $display_field = new TEntry('display_field'); $display_field->setSize('90%'); // keeps the field's value $display_field->setValue(TSession::getValue('tstandardseek_display_value')); // create the action button $find_button = new TButton('busca'); // define the button action $find_button->setAction(new TAction(array($this, 'onSearch')), AdiantiCoreTranslator::translate('Search')); $find_button->setImage('fa:search blue'); // add a row for the filter field $table->addRowSet(new TLabel(_t('Search') . ': '), $display_field, $find_button); // define wich are the form fields $this->form->setFields(array($display_field, $find_button)); // creates a new datagrid $this->datagrid = new TDataGrid(); $this->datagrid->{'style'} = 'width: 100%'; // create two datagrid columns $id = new TDataGridColumn('id', 'ID', 'right', '16%'); $display = new TDataGridColumn('display_field', AdiantiCoreTranslator::translate('Field'), 'left'); // add the columns to the datagrid $this->datagrid->addColumn($id); $this->datagrid->addColumn($display); // create a datagrid action $action1 = new TDataGridAction(array($this, 'onSelect')); $action1->setLabel(AdiantiCoreTranslator::translate('Select')); $action1->setImage('fa:check-circle-o green'); $action1->setUseButton(TRUE); $action1->setField('id'); // add the actions to the datagrid $this->datagrid->addAction($action1); // create the datagrid model $this->datagrid->createModel(); // creates the paginator $this->pageNavigation = new TPageNavigation(); $this->pageNavigation->setAction(new TAction(array($this, 'onReload'))); $this->pageNavigation->setWidth($this->datagrid->getWidth()); $panel = new TPanelGroup(); $panel->add($this->form); // creates the container $vbox = new TVBox(); $vbox->add($panel); $vbox->add($this->datagrid); $vbox->add($this->pageNavigation); $vbox->{'style'} = 'width: 100%'; // add the container to the page parent::add($vbox); }
/** * Create a button with icon and action */ public static function create($name, $callback, $label, $image) { $button = new TButton($name); $button->setAction(new TAction($callback), $label); $button->setImage($image); return $button; }
function __construct() { parent::__construct(); //cria os containers $this->form_requisicao = new TForm('form_requisicao'); $this->form_requisicao->class = 'tform'; $this->form_itens = new TForm('form_itens'); $this->form_itens->class = 'tform'; $table_requisicao = new TTable(); $table_requisicao->width = '100%'; $table_itens = new TTable(); $table_itens->width = '100%'; //empacota os dados $this->form_requisicao->add($table_requisicao); $this->form_itens->add($table_itens); //campos da requisicao; $numeroSRP = new TSeekButton('numeroSRP'); $nome = new TEntry('nome'); $numeroProcessoOrigem = new TEntry('numeroProcessoOrigem'); $uasg = new TEntry('uasg'); $validadeAta = new TEntry('validade'); $numeroProcesso = new TEntry('numeroProcesso'); $emissao = new TDate('emissao'); //campos do itens $numeroItem = new TSeekButton('numeroItem'); $item_id = new THidden('item_id'); $descricaoSumaria = new TEntry('descricaoSumaria'); $valorUnitario = new TEntry('valorUnitario'); $quantidade = new TEntry('quantidade'); $prazoEntrega = new TEntry('prazoEntrega'); $justificativa = new TEntry('justificativa'); $addItem = new TButton('addItem'); $save = new TButton('save'); $new = new TButton('new'); $list = new TButton('list'); //ações dos campos $numeroSRP->setAction(new TAction(array(new SrpSeekRequisicao(), 'onReload'))); $numeroProcesso->setExitAction(new TAction(array($this, 'onExitNumeroProcesso'))); $emissao->setExitAction(new TAction(array($this, 'onExitEmissao'))); $numeroItem->setAction(new TAction(array(new ItemSeekRequisicao(), 'onReload'))); $addItem->setAction(new TAction(array($this, 'onAddItem')), 'Adicionar'); $addItem->setImage('fa:plus-square-o'); $save->setAction(new TAction(array($this, 'onSave')), 'Salvar'); $save->setImage('ico_save.png'); $new->setAction(new TAction(array($this, 'onEdit')), 'Novo'); $new->setImage('ico_new.png'); $list->setAction(new TAction(array('RequisicaoList', 'onReload')), 'Voltar para listagem'); $list->setImage('ico_datagrid.png'); //$onProductChange = new TAction(array($this, 'onProductChange')); //$item_id->setExitAction($onProductChange); $quantidade->setExitAction(new TAction(array($this, 'onValidaQuantidade'))); //validadores $numeroSRP->addValidation('Nº SRP', new TRequiredValidator()); $emissao->addValidation('Emissão', new TRequiredValidator()); $numeroItem->addValidation('Item', new TRequiredValidator()); $valorUnitario->addValidation('Preço', new TRequiredValidator()); $quantidade->addValidation('Quantidade', new TRequiredValidator()); $quantidade->addValidation('Quantidade', new TMinValueValidator(), array(1)); $quantidade->addValidation('Quantidade', new TMaxLengthValidator(), array(11)); $justificativa->addValidation('Justificativa', new TRequiredValidator()); $justificativa->addValidation('Justificativa', new TMaxLengthValidator(), array(100)); $prazoEntrega->addValidation('Prazo de entrega', new TRequiredValidator()); $prazoEntrega->addValidation('Prazo de entrega', new TMaxLengthValidator(), array(20)); $numeroProcesso->addValidation('Nº Processo', new TRequiredValidator()); $numeroProcesso->addValidation('Nº Processo', new TMaxLengthValidator(), array(30)); //outras propriedades $descricaoSumaria->setEditable(false); $nome->setEditable(false); $numeroProcessoOrigem->setEditable(false); $uasg->setEditable(false); $validadeAta->setEditable(false); $valorUnitario->setEditable(false); $numeroSRP->setSize(80); $numeroSRP->setMaxLength(10); $emissao->setProperty('style', 'margin-right: 0px;', false); $nome->setSize(300); $nome->setProperty('style', 'margin-right: 10px', false); $numeroProcessoOrigem->setSize(160); $uasg->setSize(70); $validadeAta->setSize(85); $numeroProcesso->setMaxLength(30); $numeroProcesso->setTip('Número do processo gerado no SIGA'); $numeroItem->setSize(60); $numeroItem->setMaxLength(11); $descricaoSumaria->setSize(490); $descricaoSumaria->setProperty('style', 'margin-right: 10px', false); $prazoEntrega->setSize(90); $justificativa->setSize(400); $justificativa->setMaxLength(100); $emissao->setSize(90); $emissao->setMask('dd/mm/yyyy'); $emissao->setValue(date('d/m/Y')); $validadeAta->setMask('dd/mm/yyyy'); $quantidade->class = 'frm_number_only'; $quantidade->setMaxLength(11); $prazoEntrega->setValue('60 Dias'); $prazoEntrega->setMaxLength(20); //$addItem->setProperty('style', 'margin: 0 0 10px 10px;', false); $row = $table_requisicao->addRow(); $row->class = 'tformtitle'; // CSS class $cell = $row->addCell(new TLabel('Requisição de quantitativo')); $cell->colspan = 4; $row = $table_requisicao->addRow(); $row->addCell(new TLabel('Nº SRP:'))->width = '150px'; $row->addCell($numeroSRP); $row->addCell(new TLabel('Nome Licitação:'))->width = '150px'; $row->addCell($nome); $table_requisicao->addRowSet(new TLabel('Proc. Orig:'), $numeroProcessoOrigem, new TLabel('UASG:'), $uasg); $table_requisicao->addRowSet(new TLabel('Validade da Ata:'), $validadeAta, new TLabel('Nº Processo:'), $numeroProcesso); $table_requisicao->addRowSet(new TLabel('Data Emissão:'), $emissao); $row = $table_itens->addRow(); $row->class = 'tformtitle'; // CSS class $cell = $row->addCell(new TLabel('Itens')); $cell->colspan = 4; $row = $table_itens->addRow(); $row->addCell(new TLabel('Item:')); $box = new THBox(); $box->add($numeroItem); $box->add($descricaoSumaria)->style = 'width : 75%;display:inline-block;'; $row->addCell($box); //->style = 'width : 85%'; $table_itens->addRowSet($item_id); $table_itens->addRowSet(new TLabel('Preço:'), $valorUnitario); $table_itens->addRowSet(new TLabel('Quantidade:'), $quantidade); $table_itens->addRowSet(new TLabel('Prazo de entrega:'), $prazoEntrega); $table_itens->addRowSet(new TLabel('Justificativa:'), $justificativa); $row = $table_itens->addRow(); $row->class = 'tformaction'; $row->addCell($addItem)->colspan = 2; //$table_itens->addRowSet($addItem); parent::include_css('app/resources/custom-table.css'); $this->datagrid = new TDataGrid(); $this->datagrid->style = 'width: 100%'; $this->datagrid->class = 'tdatagrid_table customized-table'; $this->datagrid->setHeight(175); $this->datagrid->makeScrollable(); $this->datagrid->disableDefaultClick(); $GnumeroItem = new TDataGridColumn('numeroItem', 'Item', 'center', 50); $GdescricaoSumaria = new TDataGridColumn('descricaoSumaria', 'Descrição', 'left', 230); $Gquantidade = new TDataGridColumn('quantidade', 'Quantidade', 'right', 110); $GvalorUnitario = new TDataGridColumn('valorUnitario', 'Preço', 'right', 110); $Gtotal = new TDataGridColumn('total', 'Total', 'right', 160); //transformers $GvalorUnitario->setTransformer(array($this, 'formatValor')); $Gtotal->setTransformer(array($this, 'formatValor')); $edit = new TDataGridAction(array($this, 'onEditItem')); $edit->setLabel('Editar'); $edit->setImage('ico_edit.png'); $edit->setField('numeroItem'); $delete = new TDataGridAction(array($this, 'onDeleteItem')); $delete->setLabel('Deletar'); $delete->setImage('ico_delete.png'); $delete->setField('numeroItem'); $this->datagrid->addAction($edit); $this->datagrid->addAction($delete); $this->datagrid->addColumn($GnumeroItem); $this->datagrid->addColumn($GdescricaoSumaria); $this->datagrid->addColumn($Gquantidade); $this->datagrid->addColumn($GvalorUnitario); $this->datagrid->addColumn($Gtotal); $this->datagrid->createModel(); $this->form_requisicao->setFields(array($numeroSRP, $nome, $numeroProcessoOrigem, $uasg, $validadeAta, $numeroProcesso, $emissao, $new, $save, $list)); $this->form_itens->setFields(array($item_id, $numeroItem, $descricaoSumaria, $valorUnitario, $quantidade, $prazoEntrega, $justificativa, $addItem)); $hbox = new THBox(); $hbox->add($save); $hbox->add($new); $hbox->add($list); $table_grid = new TTable(); $table_grid->style = 'width: 100%;border-spacing: 0px;'; $table_grid->addRowSet($this->datagrid); $row = $table_grid->addRow(); $row->class = 'tformaction'; // CSS class $row->addCell($hbox)->colspan = 2; $vbox = new TVBox(); $vbox->add($this->form_requisicao); $vbox->add($this->form_itens); $vbox->add($table_grid); $vbox->add(new TLabel(' ')); parent::add($vbox); }
/** * Show the widget at the screen */ public function show() { $wrapper = new TElement('div'); $wrapper->{'mtf_name'} = $this->getName(); // include the needed libraries and styles if ($this->fields) { $table = new TTable(); $mandatories = array(); // mandatory $fields = array(); $i = 0; if ($this->orientation == 'horizontal') { $row_label = $table->addRow(); $row_field = $table->addRow(); } foreach ($this->fields as $name => $obj) { if ($this->orientation == 'vertical') { $row = $table->addRow(); $row_label = $row; $row_field = $row; } $label = new TLabel($obj->text); if ($obj->mandatory) { $label->setFontColor('red'); } $row_label->addCell($label); $row_field->addCell($obj->field); $mandatories[] = $obj->mandatory; $fields[] = $name; $post_fields[$name] = 1; $sizes[$name] = $obj->size; $obj->field->setName($this->name . '_' . $name); if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) { $aux_name = $obj->field->getTextName(); $aux_full_name = $this->name . '_' . $aux_name; $mandatories[] = 0; $obj->field->setTextName($aux_full_name); $fields[] = $aux_name; $post_fields[$aux_name] = 1; // invert sizes $sizes[$aux_name] = $obj->size; $sizes[$name] = 20; $i++; } $i++; } $wrapper->add($table); } // check whether the widget is non-editable if (parent::getEditable()) { // create three buttons to control the MultiField $add = new TButton("{$this->name}btnStore"); $add->setLabel(AdiantiCoreTranslator::translate('Register')); $add->setImage('fa:angle-double-down'); $add->addFunction("multifields['{$this->name}'].addRowFromFormFields()"); $del = new TButton("{$this->name}btnDelete"); $del->setLabel(AdiantiCoreTranslator::translate('Delete')); $del->setImage('fa:trash'); $can = new TButton("{$this->name}btnCancel"); $can->setLabel(AdiantiCoreTranslator::translate('Cancel')); $can->setImage('fa:times-circle'); $hbox_buttons = new THBox(); $hbox_buttons->{'style'} = 'margin-top:3px;margin-bottom:3px'; $hbox_buttons->add($add); $hbox_buttons->add($del); $hbox_buttons->add($can); $wrapper->add($hbox_buttons); } // create the MultiField Panel $panel = new TElement('div'); $panel->{'class'} = "multifieldDiv"; $input = new THidden($this->name); $panel->add($input); // create the MultiField DataGrid Header $table = new TTable(); $table->{'class'} = 'multifield'; $table->{'id'} = "{$this->name}mfTable"; $head = new TElement('thead'); $table->add($head); $row = new TTableRow(); $head->add($row); // fill the MultiField DataGrid if ($this->fields) { foreach ($this->fields as $obj) { $c = $obj->text; if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) { $cell = $row->addCell('ID'); $cell->{'width'} = '20px'; $cell->{'class'} = 'multifield_header'; } $cell = $row->addCell($c); $cell->{'width'} = $obj->size . 'px'; $cell->{'class'} = 'multifield_header'; } } $body_height = $this->height - 34; $body = new TElement('tbody'); $body->{'style'} = "height: {$body_height}px"; $body->{'class'} = 'tmultifield_scrolling'; $table->add($body); if ($this->objects) { foreach ($this->objects as $obj) { if (isset($obj->id)) { $row = new TTableRow(); $row->dbId = $obj->id; $body->add($row); } else { $row = new TTableRow(); $body->add($row); } if ($fields) { foreach ($fields as $name) { $cellValue = is_null($obj->{$name}) ? '' : $obj->{$name}; $original = $cellValue; if (is_array(json_decode($cellValue))) { $content = json_decode($cellValue); $rows = array(); foreach ($content as $_row) { $rows[] = implode(':', array_values(get_object_vars($_row))); } $cellValue = implode(',', $rows); $cell = $row->addCell($cellValue); $cell->{'data'} = htmlspecialchars($original); } else { $cell = $row->addCell($cellValue); $cell->{'data'} = $cellValue; } if (isset($sizes[$name])) { $cell->style = 'width:' . $sizes[$name] . 'px;'; } } } } } $panel->add($table); $wrapper->add($panel); $wrapper->show(); $fields_json = json_encode($fields); $mandatories_json = json_encode($mandatories); TScript::create(" tmultifield_start( '{$this->name}', {$fields_json}, {$mandatories_json}, {$this->width},{$this->height} ) "); }
/** * Class constructor * Creates the page, the form and the listing */ public function __construct() { parent::__construct(); // Cria o form $this->form = new TForm('form_search_Funcionalidade'); $this->form->class = 'tform'; // cria a tabela $table = new TTable(); $table->style = 'width:100%'; $table->addRowSet(new TLabel('Consulta Funcionalidades'), '')->class = 'tformtitle'; // adiciona a tabela no form $this->form->add($table); // cria os campos de pesquisa do form $nome = new TEntry('nome'); $nome->setValue(TSession::getValue('Funcionalidade_nome')); $nome->setSize(500); $control = new TEntry('classe'); $control->setValue(TSession::getValue('Funcionalidade_control')); $control->setSize(500); // adiciona linha para os campos de filtro $row = $table->addRowSet(new TLabel('Nome: '), $nome); $row = $table->addRowSet(new TLabel('Classe de Controle: '), $control); // cria dois botoes de acao para o form $find_button = new TButton('find'); $new_button = new TButton('new'); // define as acoes dos botoes $find_button->setAction(new TAction(array($this, 'onSearch')), 'Buscar'); $find_button->setImage('ico_find.png'); $new_button->setAction(new TAction(array('FuncionalidadeForm', 'onEdit')), 'Novo'); $new_button->setImage('ico_new.png'); // define quais sao os campos do form $this->form->setFields(array($nome, $control, $find_button, $new_button)); $container = new THBox(); $container->add($find_button); $container->add($new_button); //$container->style = "float: right"; $row = $table->addRow(); $row->class = 'tformaction'; $cell = $row->addCell($container); $cell->colspan = 2; parent::include_css('app/resources/custom-table.css'); // cria o datagrid $this->datagrid = new TDataGrid(); $this->datagrid->style = 'width: 100%'; $this->datagrid->class = 'tdatagrid_table customized-table'; $this->datagrid->setHeight(320); // cria as colunas do datagrid $id = new TDataGridColumn('id', 'ID', 'right'); $nome = new TDataGridColumn('nome', 'Nome', 'left'); $classe = new TDataGridColumn('classe', 'Classe de Controle', 'left'); // adiciona as colunas ao datagrid $this->datagrid->addColumn($id); $this->datagrid->addColumn($nome); $this->datagrid->addColumn($classe); // cria as acoes das colunas do datagrid $order_id = new TAction(array($this, 'onReload')); $order_id->setParameter('order', 'id'); $id->setAction($order_id); $order_nome = new TAction(array($this, 'onReload')); $order_nome->setParameter('order', 'nome'); $nome->setAction($order_nome); $order_classe = new TAction(array($this, 'onReload')); $order_classe->setParameter('order', 'classe'); $classe->setAction($order_classe); // edicao inline $nome_edit = new TDataGridAction(array($this, 'onInlineEdit')); $nome_edit->setField('id'); $nome->setEditAction($nome_edit); $classe_edit = new TDataGridAction(array($this, 'onInlineEdit')); $classe_edit->setField('id'); $classe->setEditAction($classe_edit); // cria 2 acoes do datagrid $action1 = new TDataGridAction(array('FuncionalidadeForm', 'onEdit')); $action1->setLabel('Editar'); $action1->setImage('ico_edit.png'); $action1->setField('id'); $action2 = new TDataGridAction(array($this, 'onDelete')); $action2->setLabel('Excluir'); $action2->setImage('ico_delete.png'); $action2->setField('id'); // adiciona as acoes ao datagrid $this->datagrid->addAction($action1); $this->datagrid->addAction($action2); // cria o modelo do datagrid $this->datagrid->createModel(); // cria o navegador de paginas $this->pageNavigation = new TPageNavigation(); $this->pageNavigation->setAction(new TAction(array($this, 'onReload'))); $this->pageNavigation->setWidth($this->datagrid->getWidth()); // cria a estrutura da pagina usando tabela $table = new TTable(); $table->style = 'width: 80%'; $table->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__)); $table->addRow()->addCell($this->form); $table->addRow()->addCell($this->datagrid); $table->addRow()->addCell($this->pageNavigation); // adiciona a tabela $table dentro da pagina parent::add($table); }
/** * Show the widget at the screen */ public function show() { $wrapper = new TElement('div'); $wrapper->{'mtf_name'} = $this->getName(); // include the needed libraries and styles if ($this->fields) { $table = new TTable(); $mandatory = array(); // mandatory $fields = array(); $i = 0; if ($this->orientation == 'horizontal') { $row_label = $table->addRow(); $row_field = $table->addRow(); } foreach ($this->fields as $name => $obj) { if ($this->orientation == 'vertical') { $row = $table->addRow(); $row_label = $row; $row_field = $row; } $label = new TLabel($obj->text); if ($obj->mandatory) { $label->setFontColor('red'); } $row_label->addCell($label); $row_field->addCell($obj->field); $mandatory[] = $obj->mandatory; $fields[] = $name; $post_fields[$name] = 1; $sizes[$name] = $obj->size; $obj->field->setName($this->name . '_' . $name); if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) { $aux_name = $obj->field->getTextName(); $aux_full_name = $this->name . '_' . $aux_name; $mandatory[] = 0; $obj->field->setTextName($aux_full_name); $fields[] = $aux_name; $post_fields[$aux_name] = 1; // invert sizes $sizes[$aux_name] = $obj->size; $sizes[$name] = 20; $i++; } $i++; } $wrapper->add($table); } // check whether the widget is non-editable if (parent::getEditable()) { // create three buttons to control the MultiField $add = new TButton("{$this->name}btnStore"); $add->setLabel(AdiantiCoreTranslator::translate('Register')); //$add->setName("{$this->name}btnStore"); $add->setImage('ico_save.png'); $add->addFunction("mtf{$this->name}.addRowFromFormFields()"); $del = new TButton("{$this->name}btnDelete"); $del->setLabel(AdiantiCoreTranslator::translate('Delete')); $del->setImage('ico_delete.png'); $can = new TButton("{$this->name}btnCancel"); $can->setLabel(AdiantiCoreTranslator::translate('Cancel')); $can->setImage('ico_close.png'); $hbox_buttons = new THBox(); $hbox_buttons->{'style'} = 'margin-top:3px;margin-bottom:3px'; $hbox_buttons->add($add); $hbox_buttons->add($del); $hbox_buttons->add($can); $wrapper->add($hbox_buttons); } // create the MultiField Panel $panel = new TElement('div'); $panel->{'class'} = "multifieldDiv"; $input = new THidden($this->name); $panel->add($input); // create the MultiField DataGrid Header $table = new TTable(); $table->{'class'} = 'multifield'; $table->{'id'} = "{$this->name}mfTable"; $head = new TElement('thead'); $table->add($head); $row = new TTableRow(); $head->add($row); // fill the MultiField DataGrid if ($this->fields) { foreach ($this->fields as $obj) { $c = $obj->text; if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) { $cell = $row->addCell('ID'); $cell->{'width'} = '20px'; $cell->{'class'} = 'multifield_header'; } $cell = $row->addCell($c); $cell->{'width'} = $obj->size . 'px'; $cell->{'class'} = 'multifield_header'; } } $body_height = $this->height - 34; $body = new TElement('tbody'); $body->{'style'} = "height: {$body_height}px"; $body->{'class'} = 'tmultifield_scrolling'; $table->add($body); if ($this->objects) { foreach ($this->objects as $obj) { if (isset($obj->id)) { $row = new TTableRow(); $row->dbId = $obj->id; $body->add($row); } else { $row = new TTableRow(); $body->add($row); } if ($fields) { foreach ($fields as $name) { $cellValue = is_null($obj->{$name}) ? '' : $obj->{$name}; $original = $cellValue; if (is_array(json_decode($cellValue))) { $content = json_decode($cellValue); $rows = array(); foreach ($content as $_row) { $rows[] = implode(':', array_values(get_object_vars($_row))); } $cellValue = implode(',', $rows); $cell = $row->addCell($cellValue); $cell->{'data'} = htmlspecialchars($original); } else { $cell = $row->addCell($cellValue); $cell->{'data'} = $cellValue; } if (isset($sizes[$name])) { $cell->style = 'width:' . $sizes[$name] . 'px;'; } } } } } $panel->add($table); $wrapper->add($panel); $wrapper->show(); echo '<script type="text/javascript">'; echo "var mtf{$this->name};"; echo "mtf{$this->name} = new MultiField('{$this->name}mfTable',{$this->width},{$this->height});\n"; $s = implode("','", $fields); echo "mtf{$this->name}.formFieldsAlias = Array('{$s}');\n"; $sfields = implode("','{$this->name}_", $fields); echo "mtf{$this->name}.formFieldsName = Array('{$this->name}_{$sfields}');\n"; echo "mtf{$this->name}.formPostFields = Array();\n"; if ($post_fields) { foreach ($post_fields as $col => $value) { echo "mtf{$this->name}.formPostFields['{$col}'] = '{$value}';\n"; } } $mdr_array = implode(',', $mandatory); echo "mtf{$this->name}.formFieldsMandatory = [{$mdr_array}];\n"; echo "mtf{$this->name}.mandatoryMessage = '" . AdiantiCoreTranslator::translate('The field ^1 is required') . "';\n"; echo "mtf{$this->name}.storeButton = document.getElementsByName('{$this->name}btnStore')[0];\n"; echo "mtf{$this->name}.deleteButton = document.getElementsByName('{$this->name}btnDelete')[0];\n"; echo "mtf{$this->name}.cancelButton = document.getElementsByName('{$this->name}btnCancel')[0];\n"; echo "mtf{$this->name}.inputResult = document.getElementsByName('{$this->name}')[0];\n"; echo '</script>'; }
function __construct() { parent::__construct(); parent::include_css('app/resources/custom-table.css'); //cria o formulario $this->form = new TForm('SrpFormView'); $this->form->class = 'tform'; //$this->form->style = 'max-width: 500px'; $table = new TTable(); $table->width = '100%'; $this->form->add($table); $row = $table->addRow(); $row->class = 'tformtitle'; $row->addCell(new TLabel('Listagem de Itens da SRP'))->colspan = 2; //cria os campos do formulário $id = new TEntry('id'); $numeroSRP = new TEntry('numeroSRP'); $numeroIRP = new TEntry('numeroIRP'); $numeroProcesso = new TEntry('numeroProcesso'); $nome = new TEntry('nome'); $uasg = new TEntry('uasg'); $validade = new TDate('validade'); $natureza = new TEntry('natureza'); // define os tamanhos $id->setSize(70); $numeroSRP->setSize(90); $numeroIRP->setSize(90); $numeroProcesso->setSize(120); $nome->setSize(350); $uasg->setSize(70); $validade->setSize(90); $natureza->setSize(200); //desabilitando os campos $id->setEditable(false); $numeroSRP->setEditable(false); $numeroIRP->setEditable(false); $numeroProcesso->setEditable(false); $nome->setEditable(false); $uasg->setEditable(false); $validade->setEditable(false); $natureza->setEditable(false); // adiciona uma linha para cada campo no formulario $table->addRowSet(new TLabel('id:'), $id); $table->addRowSet(new TLabel('Nº SRP:'), $numeroSRP); $table->addRowSet(new TLabel('Nº IRP:'), $numeroIRP); $table->addRowSet(new TLabel('Proc. Orig.:'), $numeroProcesso); $table->addRowSet(new TLabel('Nome:'), $nome); $table->addRowSet(new TLabel('UASG:'), $uasg); $table->addRowSet(new TLabel('Validade:'), $validade); $table->addRowSet(new TLabel('Natureza:'), $natureza); $this->form->setFields(array($id, $numeroSRP, $numeroIRP, $numeroProcesso, $nome, $uasg, $validade, $natureza)); //criar a datagrid $this->datagrid = new TDataGrid(); $this->datagrid->class = 'tdatagrid_table customized-table'; $this->datagrid->makeScrollable(); $this->datagrid->disableDefaultClick(); $this->datagrid->setHeight(180); //criar as colunas da datagrid $GnumeroItem = new TDataGridColumn('numeroItem', 'Nº Item', 'left', 50); $GdescricaoSumaria = new TDataGridColumn('descricaoSumaria', 'Descrição Sumária', 'left', 400); $GquantidadeEstimada = new TDataGridColumn('quantidadeDisponivel', 'Qtd. Estimada', 'right', 100); $GquantidadeDisponivel = new TDataGridColumn('estoqueDisponivel', 'Qtd. Disponível', 'right', 100); $GunidadeMedida = new TDataGridColumn('unidadeMedida', 'Unidade', 'left', 50); $GvalorUnitario = new TDataGridColumn('valorUnitario', 'Valor Unit.', 'right', 70); // add the columns to the DataGrid $this->datagrid->addColumn($GnumeroItem); $this->datagrid->addColumn($GdescricaoSumaria); $this->datagrid->addColumn($GquantidadeEstimada); $this->datagrid->addColumn($GquantidadeDisponivel); $this->datagrid->addColumn($GunidadeMedida); $this->datagrid->addColumn($GvalorUnitario); /* $viewDetalhe = new TDataGridAction(array($this, 'onShowDetail')); $viewDetalhe->setLabel('Detalhes'); $viewDetalhe->setImage('ico_view.png'); $viewDetalhe->setField('id'); $this->datagrid->addAction($viewDetalhe); */ // cria o modelo no datagrid $this->datagrid->createModel(); $back_button = new TButton('back'); $back_button->setAction(new TAction(array('SrpList', 'onReload')), 'Voltar'); $back_button->setImage('ico_back.png'); $this->form->addField($back_button); $buttons_box = new THBox(); $buttons_box->add($back_button); // add a row for the form action $row = $table->addRow(); $row->class = 'tformaction'; // CSS class $row->addCell($buttons_box)->colspan = 2; // cria o container da pagina $container = TVBox::pack($this->form, $this->datagrid); parent::add($container); }
public function __construct() { parent::__construct(); // create the notebook $this->notebook = new TNotebook(650, 200); $this->notebook->setTabsVisibility(FALSE); $this->step = new TBreadCrumb(); $this->step->addItem('Seleção', FALSE); $this->step->addItem('Importação', TRUE); $this->step->select('Seleção'); // create the form $this->form = new TForm(); // creates the notebook page $this->frmSelecao = new TTable(); $this->frmImportacao = new TTable(); $this->frmSelecao->style = 'width :640px'; $this->frmImportacao->style = 'width :640px'; // add the notebook inside the form $this->form->add($this->notebook); // adds the notebook page $this->notebook->appendPage('Seleção', $this->frmSelecao); $this->notebook->appendPage('Importação', $this->frmImportacao); //criar campo da aba selecao $file = new TFile('file'); $file->addValidation('Arquivo', new TRequiredValidator()); $file->setProperty("accept", ".xlsx,.xls"); $file->setSize('90%'); // itens pagina 1 $row = $this->frmSelecao->addRow(); $label = new TLabel('Importação da tabela'); $row->class = 'tformtitle'; $cell = $row->addCell($label); $cell->colspan = 2; $row = $this->frmSelecao->addRow(); $row->addCell(new TLabel('Local do arquivo:')); $row->addCell($file); // itens pagina 2 $this->gridSRP = new TDataGrid(); $numeroSRP = new TDataGridColumn('numeroSRP', 'SRP', 'left'); $nroProcesso = new TDataGridColumn('numeroProcesso', 'Nº Processo', 'left'); $uasg = new TDataGridColumn('uasg', 'UASG', 'left'); $validade = new TDataGridColumn('validade', 'Validade', 'left'); $natureza = new TDataGridColumn('natureza', 'Natureza de Despesa', 'left'); $nomeProcesso = new TDataGridColumn('nomeProcesso', 'Nome do Processo', 'left', 200); $this->gridSRP->addColumn($numeroSRP); $this->gridSRP->addColumn($nroProcesso); $this->gridSRP->addColumn($uasg); $this->gridSRP->addColumn($validade); $this->gridSRP->addColumn($natureza); $this->gridSRP->addColumn($nomeProcesso); $this->gridSRP->createModel(); $row = $this->frmImportacao->addRow(); $row->class = 'tformtitle'; $cell = $row->addCell(new TLabel('Confirmação da SRP para Importação')); $cell->colspan = 2; $row = $this->frmImportacao->addRow(); $cell = $row->addCell($this->gridSRP); $cell->colspan = 2; $btnLoadFile = new TButton('btnLoadFile'); $btnLoadFile->setAction(new TAction(array($this, 'onLoadFile')), 'Continuar'); $btnLoadFile->setImage('ico_next.png'); $btnImportFile = new TButton('btnImportFile'); $btnImportFile->setAction(new TAction(array($this, 'onImportFile')), 'Importar'); $btnImportFile->setImage('ico_next.png'); $this->frmSelecao->addRowSet($btnLoadFile); $this->frmSelecao->addRowSet(' '); $this->frmSelecao->addRowSet(' '); $link = new TElement('a'); $link->href = 'Files/template.xlsx'; $link->add('Link para o layout'); $this->frmSelecao->addRowSet($link); $this->frmImportacao->addRowSet($btnImportFile); // define wich are the form fields $this->form->setFields(array($file, $btnLoadFile, $btnImportFile)); // wrap the page content using vertical box $vbox = new TVBox(); //$vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__)); $vbox->add($this->step); $vbox->add($this->form); parent::add($vbox); }
/** * Class constructor * Creates the page, the form and the listing */ public function __construct() { parent::__construct(); parent::include_css('app/resources/custom-table.css'); // Cria o form $this->form = new TForm('form_search_Usuario'); $this->form->class = 'tform'; // cria a tabela $table = new TTable(); $table->style = 'width:100%'; $table->addRowSet(new TLabel('Consulta Usuários'), '')->class = 'tformtitle'; // adiciona a tabela no form $this->form->add($table); // cria os campos de pesquisa do form //$id = new TEntry('id'); //$id->setValue(TSession::getValue('Usuario_id')); $nome = new TEntry('nome'); $nome->setValue(TSession::getValue('Usuario_nome')); $nome->setSize(300); // add a row for the filter field //$table->addRowSet(new TLabel('ID:'), $id); $table->addRowSet(new TLabel('Nome: '), $nome); // cria dois botoes de acao para o form $find_button = new TButton('find'); $new_button = new TButton('new'); // define as acoes dos botoes $find_button->setAction(new TAction(array($this, 'onSearch')), 'Buscar'); $find_button->setImage('ico_find.png'); $new_button->setAction(new TAction(array('UsuarioForm', 'onEdit')), 'Novo'); $new_button->setImage('ico_new.png'); // add a row for the form actions $container = new THBox(); $container->add($find_button); $container->add($new_button); $row = $table->addRow(); $row->class = 'tformaction'; $cell = $row->addCell($container); $cell->colspan = 2; // define wich are the form fields $this->form->setFields(array($nome, $find_button, $new_button)); // creates a DataGrid $this->datagrid = new TDataGrid(); $this->datagrid->setHeight(320); $this->datagrid->class = 'tdatagrid_table customized-table'; $this->datagrid->style = 'width: 100%'; // creates the datagrid columns $id = new TDataGridColumn('id', 'ID', 'right'); $nome = new TDataGridColumn('nome', 'Nome', 'left'); $prontuario = new TDataGridColumn('prontuario', 'Prontuario', 'left'); $email = new TDataGridColumn('email', 'Email', 'left'); // add the columns to the DataGrid $this->datagrid->addColumn($id); $this->datagrid->addColumn($nome); $this->datagrid->addColumn($prontuario); $this->datagrid->addColumn($email); // creates the datagrid column actions $order_id = new TAction(array($this, 'onReload')); $order_id->setParameter('order', 'id'); $id->setAction($order_id); $order_nome = new TAction(array($this, 'onReload')); $order_nome->setParameter('order', 'nome'); $nome->setAction($order_nome); // inline editing $nome_edit = new TDataGridAction(array($this, 'onInlineEdit')); $nome_edit->setField('id'); $nome->setEditAction($nome_edit); // creates two datagrid actions $action1 = new TDataGridAction(array('UsuarioForm', 'onEdit')); $action1->setLabel('Editar'); $action1->setImage('ico_edit.png'); $action1->setField('id'); $action2 = new TDataGridAction(array($this, 'onDelete')); $action2->setLabel('Excluir'); $action2->setImage('ico_delete.png'); $action2->setField('id'); // add the actions to the datagrid $this->datagrid->addAction($action1); $this->datagrid->addAction($action2); // create the datagrid model $this->datagrid->createModel(); // creates the page navigation $this->pageNavigation = new TPageNavigation(); $this->pageNavigation->setAction(new TAction(array($this, 'onReload'))); $this->pageNavigation->setWidth($this->datagrid->getWidth()); // creates the page structure using a table $table = new TTable(); //$table->style = 'width: 80%'; $table->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__)); $table->addRow()->addCell($this->form); $table->addRow()->addCell($this->datagrid); $table->addRow()->addCell($this->pageNavigation); // add the table inside the page parent::add($table); }
public function __construct() { parent::__construct(); // create the notebook $this->notebook = new TNotebook(500, 125); $this->notebook->setTabsVisibility(FALSE); $this->step = new TBreadCrumb(); $this->step->addItem('Seleção', FALSE); $this->step->addItem('Verificação', FALSE); $this->step->addItem('Importação', TRUE); $this->step->select('Seleção'); // create the form $this->form = new TForm(); // creates the notebook page $page1 = new TTable(); $page2 = new TTable(); $page3 = new TTable(); // add the notebook inside the form $this->form->add($this->notebook); // adds the notebook page $this->notebook->appendPage('Seleção', $page1); $this->notebook->appendPage('Verificação', $page2); $this->notebook->appendPage('Importação', $page3); //criar campo da aba selecao $file = new TFile('file'); $file->setProperty("accept", ".xlsx"); $file->setSize('250px'); //campos aba verificacao $field2 = new TEntry('field2'); $field3 = new TEntry('field3'); // add the fields into the tables $page1->addRowSet(new TLabel('Local do arquivo:'), $file); $page2->addRowSet(new TLabel('The name you:'), $field2); $page3->addRowSet(new TLabel('The name you typed:'), $field3); // creates the action buttons $button1 = new TButton('action1'); $button1->setAction(new TAction(array($this, 'onStep2')), 'Next'); $button1->setImage('ico_next.png'); $button2 = new TButton('action2'); $button2->setAction(new TAction(array($this, 'onStep1')), 'Previous'); $button2->setImage('ico_previous.png'); $button3 = new TButton('action3'); $button3->setAction(new TAction(array($this, 'onStep3')), 'Next'); $button3->setImage('ico_next.png'); $button4 = new TButton('action4'); $button4->setAction(new TAction(array($this, 'onStep2')), 'Previous'); $button4->setImage('ico_previous.png'); $button5 = new TButton('save'); $button5->setAction(new TAction(array($this, 'onSave')), 'Save'); $button5->setImage('ico_save.png'); $page1->addRowSet($button1); $page2->addRowSet($button2, $button3); $page3->addRowSet($button4, $button5); // define wich are the form fields $this->form->setFields(array($file, $field2, $field3, $button1, $button2, $button3, $button4, $button5)); // wrap the page content using vertical box $vbox = new TVBox(); //$vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__)); $vbox->add($this->step); $vbox->add($this->form); parent::add($vbox); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // creates the form $this->form = new TForm('form_pessoa'); // creates a table $table_data = new TTable(); $table_contato = new TTable(); $notebook = new TNotebook(500, 250); // add the notebook inside the form $this->form->add($notebook); $notebook->appendPage('Dados Principais', $table_data); $notebook->appendPage('Contatos', $table_contato); // create the form fields $idpessoa = new TEntry('idpessoa'); $nome = new TEntry('nome'); $dtcadastro = new TDate('dtcadastro'); $dtnascimento = new TDate('dtnascimento'); $natureza = new TRadioGroup('natureza'); $idramoatividade = new TDBCombo('idramoatividade', 'sobcontrole', 'ramoatividade', 'idramoatividade', 'descricao'); $obs = new TText('obs'); // add field validators $nome->addValidation('Nome', new TRequiredValidator()); $dtcadastro->addValidation('Data Cadastro', new TRequiredValidator()); $dtnascimento->addValidation('Data Nascimento', new TRequiredValidator()); $idramoatividade->addValidation('Ramo de Atividade', new TRequiredValidator()); $natureza->addValidation('Natureza', new TRequiredValidator()); $itemNatureza = array(); $itemNatureza['F'] = 'Física'; $itemNatureza['J'] = 'Jurídica'; // add the combo options $natureza->addItems($itemNatureza); $natureza->setLayout('horizontal'); // define some properties for the form fields $idpessoa->setEditable(FALSE); $idpessoa->setSize(100); $nome->setSize(320); $obs->setSize(320); $dtcadastro->setSize(90); $dtnascimento->setSize(90); $natureza->setSize(70); $idramoatividade->setSize(120); // add a row for the field code $table_data->addRowSet(new TLabel('ID:'), array($idpessoa, new TLabel('Natureza:'), $natureza)); $table_data->addRowSet(new TLabel('Nome/Fantasia:'), $nome); $table_data->addRowSet(new TLabel('Data Cadastro:'), $dtcadastro); $table_data->addRowSet(new TLabel('Data Nascimento/Início:'), $dtnascimento); $table_data->addRowSet(new TLabel('Ramo de Atividade:'), $idramoatividade); $table_data->addRowSet(new TLabel('Observações:'), $obs); $row = $table_contato->addRow(); // adiciona linha $cell = $row->addCell(new TLabel('<b>Contatos</b>')); // adiciona celular na linha $cell->valign = 'top'; // define alinhamento $listacontatos = new TMultiField('listacontatos'); // cria multifield // com TDBSeekButton //$idtipocontato= new TDBSeekButton('idtipocontato', 'sobcontrole', $this->form->getName(), 'tipocontato', 'descricao', 'listacontatos_idtipocontato', 'listacontatos_descricaotipocontato'); // com TSeekButton /*$idtipocontato= new TSeekButton('idtipocontato'); $auxidtipocontato = new BuscaTipoContato; $auxaction= new TAction(array($auxidtipocontato,'onReload')); $idtipocontato->setAction($auxaction);*/ $idtipocontato = new TDBCombo('idtipocontato', 'sobcontrole', 'tipocontato', 'idtipocontato', 'descricao', 'descricao'); $descricaotipocontato = new \Adianti\Widget\Form\THidden('tipocontato->descricao'); //$descricaotipocontato->setEditable(false); $valorcontato = new TEntry('valorcontato'); $listacontatos->setClass('contato'); // define the returning class // colunas do multifield // coluna do ID do tipo de contato (1->email, 2->telefone, etc...) $listacontatos->addField('idtipocontato', 'ID: ', $idtipocontato, 40); // coluna da descricao do tipo de contato // desta forma o grid OK $listacontatos->addField('tipocontato->descricao', '', $descricaotipocontato, 200); // desta forma o TDBSeekButton fica OK. //$listacontatos->addField('descricaotipocontato', 'Descrição Tipo Contato: ', $descricaotipocontato, 200); // coluna com o valor do contato, número do telefone, celular, etc. $listacontatos->addField('descricao', 'Valor Contato: ', $valorcontato, 200); $listacontatos->setHeight(250); $row = $table_contato->addRow(); $row->addCell($listacontatos); // create an action button $button1 = new TButton('action1'); $button1->setAction(new TAction(array($this, 'onSave')), 'Salvar'); $button1->setImage('ico_save.png'); // create an action button (go to list) $button2 = new TButton('list'); $button2->setAction(new TAction(array('PessoaDataGrid', 'onReload')), 'Listar'); $button2->setImage('ico_datagrid.gif'); $button0 = new TButton('new'); $button0->setAction(new TAction(array($this, 'onClear')), 'Novo'); $button0->setImage('ico_new.png'); // define wich are the form fields $this->form->setFields(array($idpessoa, $nome, $dtcadastro, $dtnascimento, $natureza, $idramoatividade, $obs, $listacontatos, $button0, $button1, $button2)); $subtable = new TTable(); $row = $subtable->addRow(); $row->addCell($button0); $row->addCell($button1); $row->addCell($button2); // wrap the page content $vbox = new TVBox(); $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__)); $vbox->add($this->form); $vbox->add($subtable); // add the form inside the page parent::add($vbox); }
/** * */ public function makeTButton($properties) { $widget = new TButton((string) $properties->{'name'}); $widget->setImage((string) $properties->{'icon'}); $widget->setLabel((string) $properties->{'value'}); $widget->setAction(new TAction(array($this->controller, (string) $properties->{'action'})), (string) $properties->{'value'}); $this->fields[] = $widget; $this->fieldsByName[(string) $properties->{'name'}] = $widget; return $widget; }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // Cria o form $this->form = new TForm('form_Usuario'); $this->form->class = 'tform'; // creates the table container $table = new TTable(); $table->style = 'width: 100%'; $table->addRowSet(new TLabel('Usuário'), '', '', '')->class = 'tformtitle'; // adiciona a tabela no form $this->form->add($table); $frame_grupos = new TFrame(NULL, 280); $frame_grupos->setLegend('Grupos'); $frame_grupos->style .= ';margin: 4px'; $frame_funcionalidades = new TFrame(NULL, 280); $frame_funcionalidades->setLegend('Funcionalidades'); $frame_funcionalidades->style .= ';margin: 15px'; // cria os campos de pesquisa do form $id = new TEntry('id'); $nome = new TEntry('nome'); $prontuario = new TEntry('prontuario'); $password = new TPassword('senha'); $repassword = new TPassword('resenha'); $email = new TEntry('email'); $multifield_funcionalidades = new TMultiField('funcionalidades'); $funcionalidade_id = new TDBSeekButton('funcionalidade_id', 'saciq', 'form_Usuario', 'Funcionalidade', 'nome', 'funcionalidades_id', 'funcionalidades_nome'); $funcionalidade_nome = new TEntry('funcionalidade_nome'); $grupos = new TDBCheckGroup('grupos', 'saciq', 'Grupo', 'id', 'nome'); //$frontpage_id = new TDBSeekButton('frontpage_id', 'saciq', 'form_Usuario', 'Funcionalidade', 'nome', 'frontpage_id', 'frontpage_nome'); //$frontpage_nome = new TEntry('frontpage_nome'); $scroll = new TScroll(); $scroll->setSize(290, 230); $scroll->add($grupos); $frame_grupos->add($scroll); $frame_funcionalidades->add($multifield_funcionalidades); // define the sizes $id->setSize(100); $nome->setSize(350); $prontuario->setSize(150); $password->setSize(150); $repassword->setSize(150); $email->setSize(250); $multifield_funcionalidades->setHeight(140); // outros $id->setEditable(false); $funcionalidade_nome->setEditable(false); $email->setProperty('autocomplete', 'off'); // validations $nome->addValidation('Nome', new TRequiredValidator()); $prontuario->addValidation('Prontuário', new TRequiredValidator()); $email->addValidation('Email', new TEmailValidator()); $nome->addValidation('Nome', new TMaxLengthValidator(), array(60)); $prontuario->addValidation('Prontuário', new TMaxLengthValidator(), array(60)); $email->addValidation('Email', new TMaxLengthValidator(), array(60)); $funcionalidade_id->setSize(50); $funcionalidade_nome->setSize(200); // configuracoes multifield $multifield_funcionalidades->setClass('Funcionalidade'); $multifield_funcionalidades->addField('id', 'ID', $funcionalidade_id, 60, true); $multifield_funcionalidades->addField('nome', 'Nome', $funcionalidade_nome, 250); $multifield_funcionalidades->setOrientation('horizontal'); // add a row for the field id $table->addRowSet(new TLabel('ID:'), $id, new TLabel('Nome: '), $nome); $table->addRowSet(new TLabel('Prontuário: '), $prontuario, new TLabel('Email: '), $email); $table->addRowSet(new TLabel('Senha: '), $password, new TLabel('Confirmação <br>da senha: '), $repassword); $row = $table->addRow(); $cell = $row->addCell($frame_grupos); $cell->colspan = 2; $cell = $row->addCell($frame_funcionalidades); $cell->colspan = 2; // create an action button (save) $save_button = new TButton('save'); $save_button->setAction(new TAction(array($this, 'onSave')), 'Salvar'); $save_button->setImage('ico_save.png'); // create an new button (edit with no parameters) $new_button = new TButton('new'); $new_button->setAction(new TAction(array($this, 'onEdit')), 'Novo'); $new_button->setImage('ico_new.png'); $list_button = new TButton('list'); $list_button->setAction(new TAction(array('UsuarioList', 'onReload')), 'Voltar para a listagem'); $list_button->setImage('ico_datagrid.png'); // define the form fields $this->form->setFields(array($id, $nome, $prontuario, $password, $repassword, $multifield_funcionalidades, $grupos, $email, $save_button, $new_button, $list_button)); $buttons = new THBox(); $buttons->add($save_button); $buttons->add($new_button); $buttons->add($list_button); $row = $table->addRow(); $row->class = 'tformaction'; $cell = $row->addCell($buttons); $cell->colspan = 4; $container = new TTable(); //$container->style = 'width: 80%'; $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', 'UsuarioList')); $container->addRow()->addCell($this->form); // add the form to the page parent::add($container); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // creates the table container $table = new TTable(); $table->style = 'width:100%'; $frame_funcionalidades = new TFrame(); $frame_funcionalidades->setLegend('Funcionalidades'); // Cria o form $this->form = new TForm('form_Grupo'); $this->form->class = 'tform'; // add the notebook inside the form $this->form->add($table); $table->addRowSet(new TLabel('Grupo'), '')->class = 'tformtitle'; // cria os campos de pesquisa do form $id = new TEntry('id'); $nome = new TEntry('nome'); $sigla = new TEntry('sigla'); $this->list1 = new TSortList('list1'); $this->list2 = new TSortList('list2'); $this->list1->setSize(300, 200); $this->list2->setSize(300, 200); $this->list1->connectTo($this->list2); $this->list2->connectTo($this->list1); /* $multifield = new TMultiField('programs'); $program_id = new TDBSeekButton('program_id', 'saciq', 'form_Grupo', 'Funcionalidade', 'nome', 'programs_id', 'programs_nome'); $program_nome = new TEntry('program_nome'); $frame_programs->add($multifield); $multifield->setHeight(140); $multifield->setClass('Funcionalidade'); $multifield->addField('id', 'ID', $program_id, 100, true); $multifield->addField('nome', 'Funcionalidade', $program_nome, 250); $multifield->setOrientation('horizontal'); */ // define the sizes //$program_id->setSize(70); $id->setSize(100); $nome->setSize(400); $sigla->setSize(150); // validations $nome->addValidation('Nome', new TRequiredValidator()); $sigla->addValidation('Sigla', new TRequiredValidator()); $nome->addValidation('Nome', new TMaxLengthValidator(), array(45)); $sigla->addValidation('Sigla', new TMaxLengthValidator(), array(10)); // outras propriedades $id->setEditable(false); //$program_nome->setEditable(false); // add a row for the field id $table->addRowSet(new TLabel('ID:'), $id); $table->addRowSet(new TLabel('Nome: '), $nome); $table->addRowSet(new TLabel('Sigla:'), $sigla); // add a row for the field nome //$row = $table->addRow(); //$cell = $row->addCell($frame_programs); //$cell->colspan = 2; $vbox1 = new TVBox(); $vbox1->add(new TLabel('<b>Disponível</b>')); $vbox1->add($this->list1); $vbox2 = new TVBox(); $vbox2->add(new TLabel('<b>Selecionado</b>')); $vbox2->add($this->list2); $hbox = new THBox(); $hbox->add($vbox1); $hbox->add($vbox2); $frame_funcionalidades->add($hbox); $row = $table->addRow(); $cell = $row->addCell($frame_funcionalidades); $cell->colspan = 2; // create an action button (save) $save_button = new TButton('save'); $save_button->setAction(new TAction(array($this, 'onSave')), 'Salvar'); $save_button->setImage('ico_save.png'); // create an new button (edit with no parameters) $new_button = new TButton('new'); $new_button->setAction(new TAction(array($this, 'onEdit')), 'Novo'); $new_button->setImage('ico_new.png'); $list_button = new TButton('list'); $list_button->setAction(new TAction(array('GrupoList', 'onReload')), 'Voltar para a listagem'); $list_button->setImage('ico_datagrid.png'); // define the form fields $this->form->setFields(array($id, $nome, $sigla, $this->list1, $this->list2, $save_button, $new_button, $list_button)); $buttons = new THBox(); $buttons->add($save_button); $buttons->add($new_button); $buttons->add($list_button); $container = new TTable(); //$container->width = '80%'; $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', 'GrupoList')); $container->addRow()->addCell($this->form); $row = $table->addRow(); $row->class = 'tformaction'; $cell = $row->addCell($buttons); $cell->colspan = 2; // add the form to the page parent::add($container); }
/** * Construtor * * Criação da listagem de grupos */ public function __construct() { parent::__construct(); parent::include_css('app/resources/custom-table.css'); // Cria o form $this->form = new TForm('form_search_Grupo'); $this->form->class = 'tform'; // cria a tabela $table = new TTable(); $table->style = 'width:100%'; //cria o titulo $table->addRowSet(new TLabel('Consulta Grupos'), '')->class = 'tformtitle'; // Adiciona a tabela no form $this->form->add($table); // Cria os campos para filtro $nome = new TEntry('nome'); $nome->setValue(TSession::getValue('s_nome')); $nome->setSize(300); $sigla = new TEntry('sigla'); $sigla->setValue(TSession::getValue('s_sigla')); $sigla->setSize(100); // Adiciona linha na tabela para inserir o campos $row = $table->addRow(); $row->addCell(new TLabel('Nome: ')); $row->addCell($nome); $row = $table->addRow(); $row->addCell(new TLabel('Sigla: ')); $row->addCell($sigla); // cria os dois botoes de ações do form $find_button = new TButton('find'); $new_button = new TButton('new'); // define o botao de acao $find_button->setAction(new TAction(array($this, 'onSearch')), 'Buscar'); $find_button->setImage('ico_find.png'); $new_button->setAction(new TAction(array('GrupoForm', 'onEdit')), 'Novo'); $new_button->setImage('ico_new.png'); $container = new THBox(); $container->add($find_button); $container->add($new_button); $row = $table->addRow(); $row->class = 'tformaction'; $cell = $row->addCell($container); $cell->colspan = 2; // define qual é os campos do form $this->form->setFields(array($nome, $sigla, $find_button, $new_button)); // cria o datagrid $this->datagrid = new TDataGrid(); $this->datagrid->style = 'width: 100%'; $this->datagrid->class = 'tdatagrid_table customized-table'; $this->datagrid->setHeight(320); // cria as colunas do datagrid $id = new TDataGridColumn('id', 'ID', 'center'); $nome = new TDataGridColumn('nome', 'Nome', 'center'); $sigla = new TDataGridColumn('sigla', 'Sigla', 'center'); // adiciona as colunas ao datagrid $this->datagrid->addColumn($id); $this->datagrid->addColumn($nome); $this->datagrid->addColumn($sigla); // cria as acoes das colunas do datagrid (quando clica no titulo do grid) $order_id = new TAction(array($this, 'onReload')); $order_id->setParameter('order', 'id'); $id->setAction($order_id); $order_nome = new TAction(array($this, 'onReload')); $order_nome->setParameter('order', 'nome'); $nome->setAction($order_nome); $order_sigla = new TAction(array($this, 'onReload')); $order_sigla->setParameter('order', 'sigla'); $sigla->setAction($order_sigla); // edição em linha $nome_edit = new TDataGridAction(array($this, 'onInlineEdit')); $nome_edit->setField('id'); $nome->setEditAction($nome_edit); $sigla_edit = new TDataGridAction(array($this, 'onInlineEdit')); $sigla_edit->setField('id'); $sigla->setEditAction($sigla_edit); // cria duas acoes do datagrid $action1 = new TDataGridAction(array('GrupoForm', 'onEdit')); $action1->setLabel('Editar'); $action1->setImage('ico_edit.png'); $action1->setField('id'); $action2 = new TDataGridAction(array($this, 'onDelete')); $action2->setLabel('Excluir'); $action2->setImage('ico_delete.png'); $action2->setField('id'); // adiciona as acoes ao datagrid $this->datagrid->addAction($action1); $this->datagrid->addAction($action2); // cria o modelo do datagrid $this->datagrid->createModel(); // cria o navegador de paginas $this->pageNavigation = new TPageNavigation(); $this->pageNavigation->setAction(new TAction(array($this, 'onReload'))); $this->pageNavigation->setWidth($this->datagrid->getWidth()); // cria a estrutura da tela usando tabelas $container = new TTable(); //$container->style = 'width: 80%'; $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__)); $container->addRow()->addCell($this->form); $container->addRow()->addCell($this->datagrid); $container->addRow()->addCell($this->pageNavigation); // add the container inside the page parent::add($container); }