static function instancia() { if (!toba_manejador_tabs::$instancia) { toba_manejador_tabs::$instancia = new toba_manejador_tabs(); } return toba_manejador_tabs::$instancia; }
/** * @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"; }
/** * 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; }
/** * 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; }
function generar_html() { $this->_rango_tabs = toba_manejador_tabs::instancia()->reservar(1000); parent::generar_html(); }
/** * @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>"; }