Guía 71 – Plugin «Select2_ajax»

Un desarrollador de PHPRunner me escribió indicándome que tenía problemas en utilizar el «lookup» del plugin «Select2» en ventana «popup» y que le gustaría disponer de la funcionalidad de «dependencia», similar a la funcionalidad estándar del «lookup» de PHPRunner.

Si recordáis el «lookup» estándar de PHPRunner tiene las siguientes funcionalidades:

  • Múltiples formas de «lookup«. Para tablas con muchos valores tiene el tipo «Ajax».
  • Valor inicial
  • La funcionalidad de «AutoFill«, que permite rellenar otros campos con valores recuperados del «lookup«.
  • El filtrado de valores por dependencia de un valor recuperado/informado, previamente.

Hace unos días, Sergey, nos facilitó un plugin (Multi-Columnas) que nos indicaba que tenía resuelto el tema de la dependencia, así que me puse a intentar implementar en el plugin «Select2», las mismas funcionalidades que tiene el «lookup» estándar de PHPRunner.

Objetivo

Dotar al plugin «Select2» de la misma funcionalidad que el componente de «lookup»  estándar de PHPRunner.

DEMO: https://fhumanes.com/select2_dependence

El ejemplo se ha hecho utilizando en nuevo plugin «select2_ajax» que está disponible en la página de los plugines.

Si estás interesado en este tema, sigue leyendo el artículo con este enlace.

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