Пример #1
0
 static function instancia()
 {
     if (!toba_manejador_tabs::$instancia) {
         toba_manejador_tabs::$instancia = new toba_manejador_tabs();
     }
     return toba_manejador_tabs::$instancia;
 }
Пример #2
0
 /**
  * @ignore 
  */
 protected function generar_formulario()
 {
     //--- La carga de efs se realiza aqui para que sea contextual al servicio
     //--- ya que hay algunos que no lo necesitan (ej. cascadas)
     $this->_carga_opciones_ef->cargar();
     $this->_rango_tabs = toba_manejador_tabs::instancia()->reservar(250);
     $ancho = $this->_info_formulario['ancho'] != '' ? "width: {$this->_info_formulario['ancho']};" : '';
     $colapsado = isset($this->_colapsado) && $this->_colapsado ? "display:none;" : "";
     echo "<div class='ei-cuerpo ei-form-cuerpo' style='{$ancho} {$colapsado}' id='cuerpo_{$this->objeto_js}'>";
     $this->generar_layout();
     $hay_colapsado = false;
     foreach ($this->_lista_ef_post as $ef) {
         if (!$this->_elemento_formulario[$ef]->esta_expandido()) {
             $hay_colapsado = true;
             break;
         }
     }
     if ($hay_colapsado) {
         $img = toba_recurso::imagen_skin('expandir_vert.gif', false);
         $colapsado = "style='cursor: pointer; cursor: hand;' onclick=\"{$this->objeto_js}.cambiar_expansion();\" title='Mostrar / Ocultar'";
         echo "<div class='ei-form-fila ei-form-expansion'>";
         echo "<img id='{$this->objeto_js}_cambiar_expansion' src='{$img}' {$colapsado}>";
         echo "</div>";
     }
     if ($this->botonera_abajo()) {
         $this->generar_botones();
     }
     echo "</div>\n";
 }
Пример #3
0
 /**
  * Genera el radio para un evento de seleccion en dos pasos
  */
 function get_html_evento_diferido($id_submit, $fila, $objeto_js, $id_componente)
 {
     if ($this->anulado) {
         return null;
     }
     $tab_order = toba_manejador_tabs::instancia()->siguiente();
     $tip = '';
     $html = '';
     if (isset($this->datos['ayuda'])) {
         $tip = $this->datos['ayuda'];
     }
     $clase_predeterminada = $this->esta_sobre_fila() ? 'ei-boton-fila' : 'ei-boton';
     $clase = isset($this->datos['estilo']) && trim($this->datos['estilo']) != "" ? $this->datos['estilo'] : $clase_predeterminada;
     $estilo_inline = $this->oculto ? 'display: none' : null;
     $js = $this->get_invocacion_js($objeto_js, $id_componente);
     if (isset($js)) {
         $js = 'onclick="' . $js . '"';
         $valor_actual = $this->es_check_activo ? 'checked' : '';
         $html = toba_form::radio_manual($id_submit . $fila, $id_submit, $this->parametros, $valor_actual, $clase, $js, $tab_order, '');
     }
     return $html;
 }
Пример #4
0
 /**
  * Retorna el HTML del tab
  *
  * @param string $tipo 'V' para vertical o 'H' para horizontal
  * @param string $id_submit Id. unico del contenedor (utilizado para formar el id del tab)
  * @param string $id_componente Id. de js del componente contenedor
  * @param boolean $seleccionado
  * @param string $editor
  */
 function get_html($tipo, $id_submit, $id_componente, $seleccionado, $editor = '')
 {
     if ($this->anulado) {
         return null;
     }
     if ($tipo != 'V' && $tipo != 'H') {
         throw new toba_error_def("Los tipos validos de TABS son 'V' y 'H'.");
     }
     static $id_tab = 1;
     $evento = $this->datos['identificador'];
     $contenido = '';
     $tab_order = toba_manejador_tabs::instancia()->siguiente();
     $img = $this->get_imagen();
     if (!isset($img) && $tipo == 'H') {
         $img = gif_nulo(1, 16);
     }
     $contenido .= $img . ' ';
     $tip = $this->datos['ayuda'];
     $acceso = tecla_acceso($this->datos['etiqueta']);
     $contenido .= $acceso[0];
     $tecla = $acceso[1];
     if (!isset($tecla) && $id_tab < 10) {
         $tecla = $id_tab;
     }
     $tip = str_replace("'", "\\'", $tip);
     $acceso = toba_recurso::ayuda($tecla, $tip);
     $id = $id_submit . '_cambiar_tab_' . $evento;
     $js = "onclick=\"{$id_componente}.ir_a_pantalla('{$evento}');return false;\"";
     $js_extra = '';
     if ($this->activado) {
         $clase_boton = '';
     } else {
         $clase_boton = 'ci-tabs-boton-desact';
     }
     if ($tipo == 'H') {
         //********************* TABs HORIZONTALES **********************
         if ($seleccionado) {
             // -- Tab ACTUAL --
             $estilo_li = 'background:url("' . toba_recurso::imagen_skin('tabs/left_on.gif') . '") no-repeat left top;';
             $estilo_a = 'background:url("' . toba_recurso::imagen_skin('tabs/right_on.gif') . '") no-repeat right top;';
             $html = "<li class='ci-tabs-h-solapa-sel'>{$editor}";
             $html .= "<a href='#' id='{$id}' {$acceso}>{$contenido}</a>";
             $html .= "</li>";
         } else {
             $oculto = $this->oculto ? '; display: none' : '';
             $estilo_li = 'background:url("' . toba_recurso::imagen_skin('tabs/left.gif') . '") no-repeat left top;';
             $estilo_a = 'background:url("' . toba_recurso::imagen_skin('tabs/right.gif') . '") no-repeat right top;';
             $html = "<li  class='ci-tabs-h-solapa' style='{$oculto}'>{$editor}";
             $html .= "<a href='#' id='{$id}' class='{$clase_boton}' {$acceso} {$js}>{$contenido}</a>";
             $html .= "</li>";
             $html .= $js_extra;
         }
     } else {
         // ********************* TABs VERTICALES ************************
         if ($seleccionado) {
             // -- Tab ACTUAL --
             $html = "<div class='ci-tabs-v-solapa-sel'><div class='ci-tabs-v-boton-sel'>{$editor} ";
             $html .= "<div id='{$id}'>{$contenido}</div>";
             $html .= "</div></div>";
         } else {
             $clase_extra = '';
             if (!$this->activado) {
                 $clase_extra = 'ci-tabs-v-desactivado';
             }
             $oculto = $this->oculto ? "style='display: none'" : '';
             $html = "<div class='ci-tabs-v-solapa {$clase_extra}' {$oculto} >{$editor} ";
             $html .= "<a href='#' id='{$id}' {$clase_extra} {$acceso} {$js}>{$contenido}</a>";
             $html .= "</div>";
             $html .= $js_extra;
         }
     }
     $id_tab++;
     return $html;
 }
Пример #5
0
 function generar_html()
 {
     $this->_rango_tabs = toba_manejador_tabs::instancia()->reservar(1000);
     parent::generar_html();
 }
Пример #6
0
 /**
  * @ignore 
  */
 protected function generar_formulario()
 {
     $this->_carga_opciones_ef->cargar();
     $this->_rango_tabs = toba_manejador_tabs::instancia()->reservar(100);
     $this->_colspan = 0;
     //Ancho y Scroll
     $estilo = '';
     $ancho = isset($this->_info_filtro["ancho"]) ? $this->_info_filtro["ancho"] : "auto";
     $alto_maximo = "auto";
     if (isset($this->_colapsado) && $this->_colapsado) {
         $estilo .= "display:none;";
     }
     //Campo de comunicacion con JS
     echo toba_form::hidden("{$this->objeto_js}_listafilas", '');
     echo toba_form::hidden("{$this->objeto_js}__parametros", '');
     echo "<div class='ei-cuerpo ei-filtro-base' id='cuerpo_{$this->objeto_js}' style='{$estilo}'>";
     $this->generar_layout($ancho);
     echo "\n</div>";
 }