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.

Nuevo plugin “Tags”

Aquellos que hayáis revisado los plugins existentes, recordaréis que ya disponíamos de un plugin “TagEdit”, pero este plugin se creó hace muchos años, cuando PHPRunner todavía no tenía integrado los templates de Bootstrap y eso hacía que su funcionamiento no fuese correcto en todos los casos.

Así pues, el objetivo era volver a disponer de un plugin de esas características pero con funcionamiento estable y correcto para las últimas versiones de PHPRunner y creo que lo he conseguido.

Está registrado y disponible para su descarga en la página de los plugins.

Tanto en este, como en cualquiera de los otros plugins, si identificáis problemas, indicádmelo a través de mi cuenta de email [email protected], para estudiarlo y resolverlo.

 

Actualización del Plugin TagEdit

He actualizado el plugin TagEdit porque además de no ofrecer la caja de diálogo en el borde inferior del campo, producía múltiples errores en la consola de JavaScript.

El motivo es que el plugin incorporaba la librería de JavaScript “jquery-ui.min.js” en versión incompatible con la que en la actualidad incorpora PHPRunner.

La nueva versión está disponible en la página de los Plugines