martes, 22 de agosto de 2017

Bookmarklets para Google Calendar

Si usas Google Calendar usualmente te resultara a veces incomodo tener tan poco espacio, es por ello que me dí a la tarea de hacer tres bookmarklets que te permite ocultar/mostrar las barras del calendario y así tener un poco más de espacio al momento de organizar tu agenda en este calendario, generalmente si usas la vista por semana, dos semanas o un mes.

Para poder utilizar los bookmarklets sólo hace falta que arrastres los enlaces a tu barra de favoritos, y dar click sobre ellos cuando quieras usarlos n_n.

Google Calendar Top Toggle
Este bookmarklet oculta/muestra la barra superior en el calendario


Google Calendar Nav Toggle
Este bookmarklet oculta/muestra la barra lateral izquierda


Google Calendar Gadget Cell Toggle
Este bookmarklet oculta/muestra la barra lateral derecha


Aquí un screen con todas las barras ocultas


miércoles, 26 de julio de 2017

Angular JS checkboxes - Errores comúnes

Hay un par de errores que debes evitar cometer para asegurarte de un buen funcionamiento de los checkboxes en angularjs

El primero es asignar directamente el valor de true o false a una variable, y que esta no se encuentre dentro de un objeto, es decir, siempre debemos crear un objeto para que cada propiedad de este sea el que contenga el valor del checkbox y no asignarlo directamente a una variable.

Este código esta mal escrito

<input type="checkbox" ng-model="variable">

El resultado en este ejemplo siempre será false

Este código esta bien escrito

<input type="checkbox" ng-model="objeto.variable">

Aquí el resultado será true o false de acuerdo al estado del checkbox

Otro error que no debes cometer y debes evitar es asignar atributos a un input checkbox con attr, en mi caso el error fue muy específico y tampoco me dejaba que los valores del checkbox se obtuvieran exitosamente, para evitarlo usa la funcion prop en su lugar

Código incorrecto

$('.clase').attr('disabled', '');

Código correcto

$('.clase').prop('disabled', true);

Para quitar el atributo en este caso utilizaríamos $('.clase').removeProp('disabled');