template responsive en toba

Hola comunidad, como están. Recurro a Uds. a ver si alguien me puede orientar como poner un template responsive en SIU-Toba, en algun momento lei en este foro que habia que modificar el nucleo pero no encontre el hilo.
Estamos necesitando en la universidad poder hacer las aplicaciones responsive para mejorar la vista al usuario final(son mas de 20 aplicaciones).

Si alguien nos puede dar una mano se lo agradeceríamos.

Muchas Gracias!

Hola Sebastian,

en el trunk de Toba estamos trabajando justamente para hacer mas sencillo la posibilidad de encarar un diseño responsive.
La idea es que quien lo necesite encare su propio “template” sacando el marcado correspondiente para llegar al diseño que buscan, para ello se definira lo que llamamos un “manejador de salida” que tiene que cumplir con las interfaces que te paso abajo.

  • Interface a respetar por el manejador de salida a definir: Interfaces
  • Manejador funcional con la salida actual de Toba: Manejador Toba

Estamos trabajando un manejador con bootstrap pero como es un WIP no esta libre para bajarlo, de todas maneras la idea es que a la brevedad pueda sacar la version de Toba con la que usarias esto.

Saludos

Richard, buenos días. He bajado desde gitlab el manejador de salidas bootstrap y lo he instalado, ahora bien, como tengo que hacer para poder usar componentes de dicho manejador?

Hola Nicolas,

en el contexto de ejecucion de Toba Referencia estan las sentencias necesarias para hacer uso del manejador.

Basicamente lo que haces es instanciarlo (configurar alguna cosa extra que quieras mantener en runtime) y decirle a toba que tiene que usarlo.
A partir de alli, te deberia generar el marcado utilizando dicho manejador.

Saludos

Disculpa mi ignorancia pero no logro entender que debo modificar dentro de contexto_ejecucion.php para poder hacer uso de los componentes descargados

Hola Nicolas,

como minimo tenes que tener estas dos lineas para indicarle a Toba cual es el manejador que vas a usar para generar el marcado.


$bootstrap_config = new bootstrap_factory();
toba::output()->registrarServicio($bootstrap_config);

A partir de ahi ya estarias usando el manejador alternativo, de hecho si vos generas tu propio manejador deberias incluir un par de sentencias similares.

Saludos

Debo reconocer que la incorporación del manejador_salida_bootstrap ha sido un gran avance en el framework Toba. Gracias.

Buenos días, estoy teniendo un inconveniente con la utilización de manejador_salida_boostrap, puntualmente en aquellos formularios en los que venía utilizando los componentes ef_fieldset, al renderizarse la pagina esa sección sale (a veces, no en todos los casos) encimada como se puede ver en la captura:


Captura.GIF

Captura.GIF_thumb.png

Hola Nicolas,

gracias por el aviso, lo miro… puede que sea algo de css simplemente.

Saludos

Probé lo siguiente, en el formulario en el que estaba teniendo el problema con el ef_fieldset modifique el Layout del formulario, el cual estaba “Predefinido (sin template)” y lo pasé a “Usando Tamplate (Tabla Lineal)”. A partir de ahi comenzó a funcionar correctamente

Otro drama que tengo, para ir viendo sobre el template responsive es el caso de aquellos cuadros que tienen cortes de control y que se configura la opción “colapsar niveles” para que aperezcan colapsados de entrada, esto no sucede. Por otro lado, al colapsarlos, si los controles tienen configurado “contar filas”, la cuenta se va concatenando a medida que se contraen los niveles.

Hola Nicolas,

Por lo que veo, el ef-fieldset nunca tuvo clase css asignada, lo que se volvio un tema en bootstrap ya que todos los efs quedan dentro de un div.
Tengo que arreglarlo, en cuanto este te aviso.

Ahi me fije el tema del colapsado y como se encimaban los contadores de filas, en un caso estaba faltando incorporar el estilo que se recibia por parametro, en el otro faltaba que el contenido quedara entre un par de divs.

Saludos

Un tema mas respecto a la utilización de boostrap. En esta oportunidad, tengo inconvenientes con eventos a nivel fila de los toba_ei_cuadro, los mismos no muestran las Etiquetas como encabezado de las columnas, como si aparecen al deshabilitar el template responsive. Adjunto imagen de ejemplo.


Captura.GIF

Captura.GIF_thumb.png

Ahi vi que se en la v1.2.2 del manejador se solucionó el tema del colapsado de los CC. Ahora veo que me esta apareciendo solapado los totales, los cuales estan extendidos en otra clase, tenes idea que me puede estar faltando?.
Gracias.


Captura.GIF

Captura.GIF_thumb.png

Hola Nicolas,

si, lo que te esta faltando es otro commit que ya subi pero que requiere de cambios en el codigo de Toba, por lo que tengo que sacarlo en una version especifica para que no se encimen los totales. Estoy intentando resolver un problema con las exportaciones de los cuadros tambien asi envio todo junto.

Saludos

Buenos dias, estoy viendo el hilo, y revise el toba referencia y descomente las lineas de contexto_ejecucion.php
quedando de la siguiente forma

<?php
use SIU\ManejadorSalidaBootstrap\bootstrap_factory;
use SIU\ManejadorSalidaBootstrap\bootstrap_config;

class contexto_ejecucion extends toba_contexto_ejecucion
{
	function conf__inicial()
	{
		require_once('php_referencia.php');
		//toba::menu()->set_abrir_nueva_ventana();
		toba::db()->set_parser_errores(new toba_parser_error_db_postgres7());
		toba::mensajes()->set_fuente_ini(toba::proyecto()->get_path().'/mensajes.ini');

		//Autenticacion personalizada
		/*$autentificacion = new toba_autenticacion_ldap('ldap-test.siu.edu.ar', "dc=ldap,dc=siu,dc=edu,dc=ar");
		toba::manejador_sesiones()->set_autenticacion($autentificacion);*/
		//------------------------------------------------------------------------------------------------------------//
		//     Cambio el manejador de salida en runtime (descomentar use arriba)
		//------------------------------------------------------------------------------------------------------------//
		//Instanciacion del provider base para boostrap
		$bootstrap_config = new bootstrap_factory();
		toba::output()->registrarServicio($bootstrap_config);				
		bootstrap_config::setMainColor( '#8B0C73');
		bootstrap_config::setLogoNombre(toba_recurso::imagen_proyecto('logo.gif', false));

		//Instanciacion del provider bootstrap extendido (en este caso propio del proyecto)
		$referencia_config = new referencia_factory();
		toba::output()->registrarServicio($referencia_config);
		referencia_config::setMainColor( '#11DD13');
	}
	
	function conf__final()
	{
		
	}
}
?>

pero al tratar de ingresar al proyeccto me arroja el siguiente

Class 'SIU\ManejadorSalidaBootstrap\bootstrap_factory' not found 

nose si estoy haciendo bien. o estoy totalmente errado je

Hola Leo

no estas mal, probablemente lo que te falte es agregar el paquete siu/manejador-salida-bootstrap al composer.json

Saludos

Buenos dias Richard, gracias por tu respuesta.

hice lo que me comentaste.

El composer.json quedo asi.

{
  "name": "siu-toba/template-proyecto-toba",
  "description": "",
  "repositories": [
    {
      "type": "composer",
      "url": "https://satis.siu.edu.ar"
    }
  ],
  "require": {
    "siu-toba/framework": "^3.1",
    "siu/manejador-salida-bootstrap": "^1.0"
  },
  "config": {
     "bin-dir": "./bin" 
  },
  "scripts": {
     "post-install-cmd": [
             "composer run-script post-install-cmd -d ./vendor/siu/manejador-salida-bootstrap/"
     ],
     "post-update-cmd": [
            "composer run-script post-install-cmd -d ./vendor/siu/manejador-salida-bootstrap/"
     ]
  },
  "minimum-stability": "dev",
  "prefer-stable": true
}

el toba_referencia quedo con bootstrap, esta hermoso.

ahora como lo implemento en mis proyectos? lo que hice fue copiar el contexto_ejecucion.php del toba referencia en mi proyecto. Luego desde el toba editor Conf/Extensión del núcleo/Contexto de Ejecución/ Archivo subclase coloque el contexto ejecución.

pero me sigue arrojando el error

Class 'referencia_factory' not found 

Hola Leo,

La clase a la que hace referencia es propia del proyecto toba_referencia… es parte de un ejemplo de como crear un manejador de salida propio, respetando las interfaces necesarias.
De paso tambien se observa como usar otro manejador como fallback para lo que el nuestro propio no implementa.
Si dejas las lineas pertenecientes al manejador_boostrap unicamente deberia salir con fritas.

Saludos