Todas las entradas de: admin

Plugins Toggle y Switch, javaScript

En los plugins, tanto lo que he hecho yo como los que han hecho otros, en muchas ocasiones el API de JavaScript de PHPRunner no funciona, más en concreto en los que son de tipo chekbox.

Esto no significa que no dispongan las mismas funcionalidades, si no que se hace de otra forma (consultar en internet o a mí, para saber cómo se cambian las propiedades de los campos de los formularios)

En concreto, en esto dos(«toggle» y «switch«), el evento de detección de cambio de estado se puede hacer:

var ctrlswitch = Runner.getControl(pageid, 'switch');

ctrlswitch.on('change', function(e){
 if (this.valueElem[0].checked ){
             alert('Se ha activado la opción');
 } else {
             alert('Se ha desactivado la opción');
  }
})

Para estos dos plugins, el ponerles «readonly», se hace:

var ctrlswitch = Runner.getControl(pageid, 'switch');
// ctrlswitch.makeReadonly();

ctrlswitch.valueElem[0].disabled = true;

Para cambiar de estado por programación (sólo para «switch») :

ctrlswitch.valueElem[0].click();   // status change

Para cambiar de estado por programación (sólo para «toggle») :

$('input[id^="value_toggle_1_"]').bootstrapToggle('toggle');   // status change

En este caso el campo se llama «toggle_1». Hay que tenerlo en cuenta para referenciarlo por JQUERY , en este caso, como «value_toggle_1_».

Para acceder a los plugins, cliquea este link

Guía 49 – Crear PDF con gráficos creados con AnyChart

Con la funcionalidad estándar de PHPRunner para generar PDF no se pueden trasladar los gráficos creados con AnyChart (producto que utiliza PHPRunner para crear gráficos ) a los PDF y son muchos los usuarios que han preguntado por esta funcionalidad en el foro.

He estudiado distintas alternativas y he probado la solución de jsPDF y he conseguido crear la página PDF con los gráficos creados con AnyChart.

Objetivo

Poder generar fichero PDF de cualquier página de la aplicación creada con PHPRunner y más concretamente, aquellas páginas DashBoard o no, que incluyan gráficos creados por la biblioteca de JavaScript AnyChart.

DEMO: https://fhumanes.com/map_anychart

Si te interesa este tema, sigue leyendo el artículo de este enlace.

Guía 48 – Utilización del API de Dashboard para recarga de paneles por Ajax

En la versión 10.8 de PHPRunner se incorporó este Api para los Dashboard que nos permite hacer, entre otras cosas, «reload» de los paneles desde JavaScript.

También, se potencia el uso de «snippet«, elemento que me gusta mucho porque me permite obtener el 100% de la potencia de AnyChart. Lo único «malo» de la solución es que este nuevo API de Dashborad no permite hacer el «reload» de los snippet, pero como veréis en este artículo, eso se puede resolver de forma sencilla.

Objetivo

Ofrecer un ejemplo sencillo de Dashboard con paneles dependientes y del tipo snippet, refrescando los datos por programación. Además, se muestra la posibilidad de disponer de un panel de búsqueda, para la introducción de los criterios de selección de los datos que deseamos consultar.

DEMO: https://fhumanes.com/dashboard_api/

Si te interesa este tema, accede a toda la información en este artículo.

Guía 47 – Control de un único Proceso en ejecución

Es frecuente que en las aplicaciones  existan procesos «pesados» y por lo tanto «lentos» que deseamos que los usuarios no los puedan ejecutar varias veces en un periodo corto de tiempo o que estos procesos se ejecuten de uno en uno, para no sobrecargar el servidor, y así seguir dando buen tiempo de respuesta al resto de procesos y usuarios.

También, nos puede surgir el mismo problema cuando queremos que un recurso de nuestro sistema sólo esté accedido por un único proceso, quedándose a la espera de ser liberado para el resto de procesos que requieran ese recurso.

Algunos ejemplos que pueden requerir esta gestión de proceso único, son:

  • La recarga o copia de información desde otro sistema (proceso batch masivo).
  • Copia de seguridad de datos o copia de respaldo de backup previos
  • Elaboración de informes muy pesados. Procesos de cierre o reconfiguración del sistema.
  • Utilización de un recurso del server (fichero, puerto serie, USB, certificado digital, etc.)
  • Etc.

Objetivo

Disponer de una lógica, en los proyectos desarrollados en PHPRunner, para controlar:

  • Que un proceso específico sólo este en ejecución una única vez y el resto de peticiones que concurran las rechace el sistema.
  • Que un proceso específico sólo este en ejecución una única vez y que el resto de peticiones concurrentes se encolen y se liberen según el orden de llegada (cola FIFO).

DEMO:  https://fhumanes.com/single_execution/

Si te interesa este tema y deseas obtener el código, cliquea aquí para acceder al artículo

Uso de AnyChart en Snippet (Actualización)

He estado esperando para ver si en la nueva versión de PHPRunner, Xlinesoft incorporaba, dentro del API de los DashBoard la posibilidad de refrescar los Snippet, pero en la versión 10.9 no lo incorpora, no sé si lo incorporará más adelante.

Así, me puse a estudiar cómo lo podríamos hacer con JQUERY y es relativamente sencillo si se tiene en cuenta algunos aspectos como que la primera vez es invocado de una forma y para el refresco del panel por AJAX, se invoca de otra forma. Pero tranquilos, es muy sencillo y realizaré una guía para explicar estos casos de refresco de paneles fuera de la funcionalidad estándar de PHPRunner.

El aspecto de la aplicación es el mismo, lo que mejora es el refresco de los paneles cuando cambiamos el criterio de selección de los datos.

El código de la nueva versión está en el artículo. Puedes acceder a él a través de este link.