We are going to see how to make a mini SCADA, with a flask app running and simulating a system. Let's see the templates:
Let's see the main app in the client:
And in the server:
Now, finally, the flask app:
In the next posts I am going to explain certain aspects. It's not perfect, just a mini SCADA.
Un café en la Luna
sábado, 14 de junio de 2014
jueves, 12 de junio de 2014
SCADA: basic percentage
Hi everyone, today we are going to create a widget for a project that I have in mind, a SCADA made with Meteor.
So we are going to see a widget that is a basic percentage, which color is green if it's minus 50%, and red in other case.
Let's see the code. how to use:
the template:
the helpers:
and the main.coffee
Now is suficient with update the element in the collection with a new value, and you will see the change. It's easy, is a super simple percentage bar.
So we are going to see a widget that is a basic percentage, which color is green if it's minus 50%, and red in other case.
Let's see the code. how to use:
the template:
the helpers:
and the main.coffee
Now is suficient with update the element in the collection with a new value, and you will see the change. It's easy, is a super simple percentage bar.
domingo, 8 de junio de 2014
xwidgets: xboolean
We are going to see how to make a widget (a boolean) that plays nicely with AutoForm. In this case it's a circle of color red (false) or green (true). Let's see the code, in first place the template:
And now the coffee file:
And you can see how to use from AutoForm:
- o - O - o -
I've been making changes to the code, so take a look at github.
And now the coffee file:
And you can see how to use from AutoForm:
- o - O - o -
I've been making changes to the code, so take a look at github.
lunes, 26 de mayo de 2014
autoform-extension
He publicado en atmosphere el smart package autoform-extension.
Este paquete me gusta mucho porque te permite usar typeahead para campos con autocompletado, ya sea éste referencial o no.
Es decir, podemos tener un campo authorId que apunta al _id de la colección authors, y typeahead puede mostrar el campo fullName en su lugar.
Otra opción es simplemente autocompletado. En ambos casos la fuente de datos de typeahead es un método remoto en la parte servidor de Meteor.
Por otro lado, también se encarga de formatear los dates, datetimes y times.
Este paquete me gusta mucho porque te permite usar typeahead para campos con autocompletado, ya sea éste referencial o no.
Es decir, podemos tener un campo authorId que apunta al _id de la colección authors, y typeahead puede mostrar el campo fullName en su lugar.
Otra opción es simplemente autocompletado. En ambos casos la fuente de datos de typeahead es un método remoto en la parte servidor de Meteor.
Por otro lado, también se encarga de formatear los dates, datetimes y times.
jueves, 15 de mayo de 2014
code-permissions
Ya he publicado en Atmosphere el paquete code-permission, que se suma a sym-i18n. Y espero que sean más. De momento una lectura pendiente.
boilerplate
Ya he liberado un boilerplate para Meteor. Tiene montones de ejemplos y ésta es la lista completa de paquetes incluidos:
standard-app-packages
autoform
accounts-ui
accounts-password
coffeescript
iron-router
typeahead
bootstrap-3
collection2
moment
publish-composite
collection-hooks
code-permissions
bootstrap3-datetimepicker
bootboxjs
less
sym-i18n
collection-helpers
browser-policy
simple-schema
Recordad, no clonéis, sino que debéis bajaros el zip y descomprimirlo en un lugar cualquiera. Entonces haced:
mrt install
meteor
standard-app-packages
autoform
accounts-ui
accounts-password
coffeescript
iron-router
typeahead
bootstrap-3
collection2
moment
publish-composite
collection-hooks
code-permissions
bootstrap3-datetimepicker
bootboxjs
less
sym-i18n
collection-helpers
browser-policy
simple-schema
Recordad, no clonéis, sino que debéis bajaros el zip y descomprimirlo en un lugar cualquiera. Entonces haced:
mrt install
meteor
lunes, 12 de mayo de 2014
i18n
Este va a ser un tutorial supersimple sobre como crearnos nuestro propio sistema de traducciones y pluralizaciones.
Lo primero, visible para ambos lados cliente y servidor, la siguiente colección:
En el servidor la publicación para un lenguage dado:
Y en el cliente registramos un helper i18n que será utilizado desde el html:
El template html:
- o - O - o -
Registrar un helper es crear una función que pueda ser llamada desde los templates, y pasándole argumentos. En este caso i18n es una función que recibe un tag (clave para buscar una traducción concreta) y un hash con el resto de parámetros. Hay un parámetro especial que es count. Se utiliza para afinar en la búsqueda de la traducción, pues no es lo mismo decir "no hay manzanas" que "hay 13 manzanas".
En el git tenéis más información al respecto.
Lo primero, visible para ambos lados cliente y servidor, la siguiente colección:
En el servidor la publicación para un lenguage dado:
Y en el cliente registramos un helper i18n que será utilizado desde el html:
El template html:
- o - O - o -
Registrar un helper es crear una función que pueda ser llamada desde los templates, y pasándole argumentos. En este caso i18n es una función que recibe un tag (clave para buscar una traducción concreta) y un hash con el resto de parámetros. Hay un parámetro especial que es count. Se utiliza para afinar en la búsqueda de la traducción, pues no es lo mismo decir "no hay manzanas" que "hay 13 manzanas".
En el git tenéis más información al respecto.
Suscribirse a:
Entradas (Atom)