Example #1
0
 protected static function __build_field_search__()
 {
     if (!empty($_POST['ajax'])) return;
     $div = new dummy('osy-dataview-search');
     $div->att('class',"osy-dataview-search");
     $div->par('colspan','100',function($key,$val,$self){
          $self->man('onbuild','colspan',function($val,$self)
          {
              $cel = $self->closest('td,th');
              if (!is_object($cel)) return;
              $cel->att('colspan','100');
          });
     });
     self::$form->put($div,'','bar-search',2,1);
     $div->add("Cerca");
     $div->add(new text_box('search_value'))->att('size','30');
     $div->add(" in ");
     $select = $div->add(new combo_box('search_field'));
     //Tasto ricerca
     $div->add(new button('btn_search'))->att('label','Avvia ricerca');
    //Tasto pulisci filtro
     $div->add(new button('btn_search_reset'))->att('label','Elimina filtro');
     //Contenitore dei filtri attivi
     $div_flt_cnt = $div->add(tag::create("div"))->att('class','filter-active');
     
     if (key_exists('filter',$_POST) && is_array($_POST['filter']))
     {
         foreach($_POST['filter'] as $k => $v)
         {
           $div_flt = $div_flt_cnt->add(tag::create('div'))->att("class","filter");
           $div_flt->add(new hidden_box("filter[$k]"))->Att('value',$v);
           switch($k[0]){
             case '!':
             case '€':
             case '$':
             case '#':
                       $k = substr($k,1);
                       break;
             case '_':
                       list($a,$k) = explode(',',$k);
                       break;
           }
           $div_flt->add("$k : $v");
         }
         $div->add($div_flt_cnt);
     } else {
         $div->par('init-cell','hidden',function($key,$val,$self){
             $self->man('onbuild','init-cell',function($val,$self)
             {
              $cel = $self->closest('td,th');
              if (!is_object($cel)) return;
              $cel->att('class',$val)->att('colspan','100');
             });
         });
     }
     $div_flt_cnt->add(tag::create("div"))->att("style","clear: both");
 }