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

Actualización del plugin – Bootstrap Date Picker

Este plugin trabajaba el valor del campo como si fuese un string, de tal forma que había que «adaptar» el dato al formato que se había dicho en el plugin, es decir, se requería disponer de este código en el evento Process Record Values:

$format = 'm/d/Y';
if ( $values['datePicker'] <> NULL ) {
    $values['datePicker'] = date($format, strtotime($values['datePicker']));
} else {
    $values['datePicker'] = '';
}

y también cambiar el formato para almacenarlo en la base de datos. Evento Before Record Updated:

$format = 'm/d/Y';
if ( $values['datePicker'] <>'') {
   $date_a = DateTime::createFromFormat($format,$values['datePicker']);
   $values['datePicker'] = $date_a->format('Y-m-d');
} else {
   $values['datePicker'] = NULL;
}

Con la nueva versión, no hay que hacer nada de estos códigos. El propio plugin hace los cambios de formato de acuerdo al que se indique en los parámetros del mismo.

Actualización Plugin Select2

He cambiado el acceso a los datos para que se pueda utilizar con cualquier base de datos de PHPRunner.

Identifiqué este problema gracias a David Lisiecki.

Si en el uso de los plugins identificáis algún problema, por favor, indicádmelo para irlos corrigiendo.

Cualquier cosa que necesitéis utilizar mi cuenta de email [email protected], para comunicármelo.