Lançado Adianti Framework 7.6!
Clique aqui para saber mais
menu

Adianti Solutions

API

Adianti, Framework, PHP, MVC, Active record, Front controller, IDE, RAD, Web, multiplataforma, geração de código, desenvolvimento rápido, relatórios, formulários, listagens, datagrids, gráficos, banco de dados, padrões de projeto, design patterns API do Adianti Framework.
API Docs
code
Selecione a classe

Source for file TInputDialog.php

Documentation is available at TInputDialog.php

  1. <?php
  2. namespace Adianti\Widget\Dialog;
  3.  
  4. use Adianti\Widget\Base\TScript;
  5. use Adianti\Core\AdiantiCoreTranslator;
  6. use Adianti\Control\TAction;
  7. use Adianti\Widget\Form\AdiantiFormInterface;
  8. use Adianti\Widget\Form\TButton;
  9. use Adianti\Widget\Base\TElement;
  10. use Adianti\Widget\Wrapper\TQuickForm;
  11. use Adianti\Wrapper\BootstrapFormWrapper;
  12. use Adianti\Wrapper\BootstrapFormBuilder;
  13.  
  14. use Exception;
  15.  
  16. /**
  17.  * Input Dialog
  18.  *
  19.  * @version    7.4
  20.  * @package    widget
  21.  * @subpackage dialog
  22.  * @author     Pablo Dall'Oglio
  23.  * @copyright  Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
  24.  * @license    http://www.adianti.com.br/framework-license
  25.  */
  26. {
  27.     private $id;
  28.     private $action;
  29.     
  30.     /**
  31.      * Class Constructor
  32.      * @param $title_msg  Dialog Title
  33.      * @param $form    Dialog form body
  34.      * @param $action  Action to be processed when closing the dialog
  35.      * @param $caption Button caption
  36.      */
  37.     public function __construct($title_msgAdiantiFormInterface $formTAction $action NULL$caption '')
  38.     {
  39.         $this->id 'tinputdialog_'.mt_rand(10000000001999999999);
  40.         
  41.         $modal_wrapper new TElement('div');
  42.         $modal_wrapper->{'class''modal';
  43.         $modal_wrapper->{'id'}    $this->id;
  44.         $modal_wrapper->{'style''padding-top: 10%; z-index:2000';
  45.         $modal_wrapper->{'tabindex''-1';
  46.         
  47.         $modal_dialog new TElement('div');
  48.         $modal_dialog->{'class''modal-dialog';
  49.         
  50.         $modal_content new TElement('div');
  51.         $modal_content->{'class''modal-content';
  52.         
  53.         $modal_header new TElement('div');
  54.         $modal_header->{'class''modal-header';
  55.         
  56.         $close new TElement('button');
  57.         $close->{'type''button';
  58.         $close->{'class''close';
  59.         $close->{'data-dismiss''modal';
  60.         $close->{'aria-hidden''true';
  61.         $close->add('×');
  62.         
  63.         $title new TElement('h4');
  64.         $title->{'class''modal-title';
  65.         $title->{'style''display:inline';
  66.         $title->add$title_msg $title_msg AdiantiCoreTranslator::translate('Input') );
  67.         
  68.         $form_name $form->getName();
  69.         $wait_message AdiantiCoreTranslator::translate('Loading');
  70.         
  71.         if ($form instanceof TQuickForm or $form instanceof BootstrapFormWrapper or $form instanceof BootstrapFormBuilder)
  72.         {
  73.             $actionButtons $form->getActionButtons();
  74.             $form->delActions();
  75.             
  76.             if ($actionButtons)
  77.             {
  78.                 foreach ($actionButtons as $key => $button)
  79.                 {
  80.                     if ($button->getAction()->getParameter('stay-open'!== 1)
  81.                     {
  82.                         $button->addFunction"tdialog_close('{$this->id}'));
  83.                         $button->{'data-toggle'"modal";
  84.                         $button->{'data-dismiss''modal';
  85.                     }
  86.                     $button->getAction()->setParameter('modalId'$this->id);
  87.                     $buttons[$button;
  88.                 }
  89.             }
  90.         }
  91.         else
  92.         {
  93.             $button new TButton(strtolower(str_replace(' ''_'$caption)));
  94.             if ($action->getParameter('stay-open'!== 1)
  95.             {
  96.                 $button->{'data-toggle'"modal";
  97.                 $button->{'data-dismiss''modal';
  98.                 $button->addFunction"tdialog_close('{$this->id}'));
  99.                 
  100.             }
  101.             $action->setParameter('modalId'$this->id);
  102.             $button->setAction$action );
  103.             $button->setLabel$caption );
  104.             $buttons[$button;
  105.             $form->addField($button);
  106.         }
  107.         
  108.         $footer new TElement('div');
  109.         $footer->{'class''modal-footer';
  110.         
  111.         $modal_wrapper->add($modal_dialog);
  112.         $modal_dialog->add($modal_content);
  113.         $modal_content->add($modal_header);
  114.         $modal_header->add($close);
  115.         $modal_header->add($title);
  116.         
  117.         $modal_content->add($form);
  118.         $modal_content->add($footer);
  119.         
  120.         if ($form instanceof BootstrapFormBuilder)
  121.         {
  122.             // remove panel class, remove borders
  123.             $form->setProperty('class''');
  124.         }
  125.         
  126.         if (isset($buttonsAND $buttons)
  127.         {
  128.             foreach ($buttons as $button)
  129.             {
  130.                 $footer->add($button);
  131.             }
  132.         }
  133.         
  134.         $modal_wrapper->show();
  135.         TScript::create"tdialog_start( '#{$this->id}' );");
  136.     }
  137. }