Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Criado o adicionar e editar dispositivos

  • Loading branch information...
commit daacb150c44cc6a9cfd494b3f27c7e97459fe4bc 1 parent 291ef46
@oliveiraa authored
View
4 Server/app.js
@@ -70,8 +70,10 @@ app.get('/sensor/sensores', sensor.getSensores);
app.get('/sensor/criar', sensor.criarSensor);
app.get('/sensor/:nome', sensor.getSensor);
app.post('/sensor/criar', sensor.criarSensorPost);
-app.get('/dispositivos/criar/:id/:nome', dispositivo.criar);
+app.get('/dispositivos/criar/:nome', dispositivo.criar);
app.post('/dispositivos/criar', dispositivo.criarPost);
+app.get('/dispositivos/editar/:nome', dispositivo.editar);
+app.post('/dispositivos/editar', dispositivo.editarPost);
app.get('/gerenciar/:nome', gerenciar.getSensor);
View
19 Server/public/javascripts/dispositivos/criar.js
@@ -5,14 +5,19 @@ var DispositivosCriar = function(){
};
function btnCriarClick() {
- var idSensor = $('#hdIDSensor').val();
- $.get('/sensor.json/' + idSensor,function(data) {
- CriaDispositivo(data);
- });
- };
+ var nomeSensor = $('#hdNomeSensor').val();
+ var dispositivo = {};
+ var data = {};
- function CriaDispositivo(sensor) {
- console.log(sensor);
+ dispositivo.Nome = $('#txtDispNome').val();
+ dispositivo.Porta = $('#txtDispPorta').val();
+ dispositivo.Descricao = $('#txtDispDescricao').val();
+ dispositivo.Tipo = $('#selectTipo').val();;
+ data.dispositivo = dispositivo;
+ data.nomeSensor = nomeSensor;
+ $.post('/dispositivos/criar', data, function(rData){
+ $.mobile.changePage('/sensor/' + nomeSensor, {allowSamePageTransition: true, transition: 'slideup'});
+ });
};
return {
View
29 Server/public/javascripts/dispositivos/editar.js
@@ -0,0 +1,29 @@
+var DispositivosEditar = function(){
+
+ function InitializeEvents() {
+ $('#btnEditar').click(btnEditarClick);
+ };
+
+ function btnEditarClick() {
+ var nomeSensor = $('#hdNomeSensor').val();
+ var dispositivo = {};
+ var data = {};
+
+ dispositivo.Nome = $('#txtDispNome').val();
+ dispositivo.Porta = $('#txtDispPorta').val();
+ dispositivo.Descricao = $('#txtDispDescricao').val();
+ dispositivo.Tipo = $('#selectTipo').val();;
+ data.dispositivo = dispositivo;
+ data.nomeSensor = nomeSensor;
+ $.post('/dispositivos/editar', data, function(rData){
+ console.log(rData);
+ $.mobile.changePage('/sensor/' + nomeSensor, {allowSamePageTransition: true, transition: 'slideup'});
+ });
+ };
+
+ return {
+ initialize: function(){
+ InitializeEvents();
+ }
+ };
+}();
View
15 Server/public/javascripts/geral.js
@@ -1,5 +1,5 @@
var geral = function(){
-
+
//Configuacao de Xbees
var addressSala = "00 13 a2 00 40 6f b7 ac";
@@ -17,8 +17,8 @@ var geral = function(){
return {
initialize: function() {
-
- }
+
+ }
}
}();
@@ -30,13 +30,17 @@ $('#DispositivosCriar').live('pageinit', function(event) {
DispositivosCriar.initialize();
});
+$('#DispositivosEditar').live('pageinit', function(evet) {
+ DispositivosEditar.initialize();
+});
+
$('#SensorCriar').live('pageinit', function(event) {
SensorCriar.initialize();
});
$('#SensorSensor').live('pageinit', function(event) {
SensorSensor.initialize();
-});
+});
$('#SensorSensores').live('pageinit', function(event) {
SensorSensores.initialize();
@@ -45,6 +49,3 @@ $('#SensorSensores').live('pageinit', function(event) {
$('#GerenciarSensor').live('pageinit', function(event){
GerenciarSensor.initialize();
});
-
-
-
View
71 Server/routes/dispositivo.js
@@ -6,9 +6,76 @@ exports.db = db;
*/
exports.criar = function(req, res) {
- res.render('dispositivos/criar', { title: 'Criar Dispositivo', sensor: req.params });
+ this.db.open(function(err, db) {
+ if(!err) {
+ db.collection('Sensores', function(err, collection) {
+ var result = collection.findOne({Nome: req.params.nome}, function(err, item){
+ if(!item)
+ item = {};
+ if(!item.Dispositivos)
+ item.Dispositivos = [];
+ res.render('dispositivos/criar', { title: 'Criar Dispositivo', sensor: item });
+ });
+ });
+ };
+ });
};
exports.criarPost = function(req, res) {
- res.render('sensor/', { title: 'Sensores'});
+ this.db.open(function(err, db) {
+ if(!err) {
+ db.collection('Sensores', function(err, collection) {
+ var result = collection.findOne({Nome: req.body.nomeSensor}, function(err, item){
+ if(item) {
+ if(!item.Dispositivos) {
+ item.Dispositivos = [];
+ };
+ item.Dispositivos.push(req.body.dispositivo);
+ collection.update({Nome: req.body.nomeSensor},item,{safe:true},function(err, result) {
+ res.send({result: result, err: err});
+ });
+ };
+ });
+ });
+ };
+ });
+};
+
+exports.editar = function(req, res) {
+ this.db.open(function(err, db) {
+ if(!err) {
+ db.collection('Sensores', function(err, collection) {
+ collection.findOne({'Dispositivos.Nome': req.params.nome}, function(err, item) {
+ for(i = 0; i < item.Dispositivos.length; i++) {
+ if(item.Dispositivos[i].Nome === req.params.nome) {
+ res.render('dispositivos/editar', { title: 'Editar Dispositivo', sensor: item, dispositivo: item.Dispositivos[i] });
+ return;
+ };
+ };
+ });
+ });
+ };
+ });
+};
+
+exports.editarPost = function(req, res) {
+ this.db.open(function(err, db) {
+ if(!err) {
+ db.collection('Sensores', function(err, collection) {
+ var result = collection.findOne({Nome: req.body.nomeSensor}, function(err, item){
+ if(item) {
+ for(i = 0; i < item.Dispositivos.length; i++) {
+ if(item.Dispositivos[i].Nome === req.body.dispositivo.Nome) {
+ item.Dispositivos[i] = req.body.dispositivo;
+ break;
+ };
+ };
+ collection.update({Nome: req.body.nomeSensor},item,{safe:true},function(err, result) {
+ res.send({result: result, err: err});
+ });
+ };
+ });
+ });
+ };
+ });
};
View
2  Server/routes/sensor.js
@@ -34,6 +34,8 @@ exports.getSensor = function(req, res) {
var result = collection.findOne({Nome:req.params.nome}, function(err, item){
if(!item)
item = {};
+ if(!item.Dispositivos)
+ item.Dispositivos = [];
if(req.isJSON)
res.send(item);
else
View
16 Server/views/dispositivos/criar.jade
@@ -11,14 +11,10 @@ div(id='DispositivosCriar',data-role='page', data-add-back-btn='true', data-back
div(data-role='fieldcontain')
label(for='txtDispDescricao') Descrição
textarea(type='text', id='txtDispDescricao')
- div(data-role='fieldcontain')
- fieldset(data-role='controlgroup')
- legend Tipo
- input(type='radio', checked='checked', value='Digital', id='rdDigital', name='rdDigital')
- label(for='rdDigital') Digital
- input(type='radio', value='IncDec', id='rdIncDec', name='rdIncDec')
- label(for='rdIncDec') Incrementar / Decrementar
- input(type='radio', value='Leitura', id='rdLeitura', name='rdLeitura')
- label(for='rdLeitura') Leitura
- input(type='hidden', id='hdIDSensor', value=sensor.id)
+ label(for='selectTipo') Tipo
+ select(id='selectTipo')
+ option(value='Digital') Digital
+ option(value='IncDec') Incrementar/Decrementar
+ option(value='Leitura') Leitura
+ input(type='hidden', id='hdNomeSensor', value=sensor.Nome)
input(type='button', value='Criar', id='btnCriar')
View
21 Server/views/dispositivos/editar.jade
@@ -0,0 +1,21 @@
+div(id='DispositivosEditar',data-role='page', data-add-back-btn='true', data-back-btn-text='Voltar')
+ div(data-role='header')
+ h1=title
+ div(data-role='content')
+ div(data-role='fieldcontain')
+ label(for='txtDispNome') Nome
+ input(type='text', id='txtDispNome', readonly='true', value=dispositivo.Nome)
+ div(data-role='fieldcontain')
+ label(for='txtDispPorta') Porta
+ input(type='text', id='txtDispPorta', value=dispositivo.Porta)
+ div(data-role='fieldcontain')
+ label(for='txtDispDescricao') Descrição
+ textarea(type='text', id='txtDispDescricao')= dispositivo.Descricao
+ label(for='selectTipo') Tipo
+ select(id='selectTipo')
+ option(value='Digital') Digital
+ option(value='IncDec') Incrementar/Decrementar
+ option(value='Leitura') Leitura
+ input(type='hidden', id='hdTipo', value=dispositivo.Tipo)
+ input(type='hidden', id='hdNomeSensor', value=sensor.Nome)
+ input(type='button', value='Editar', id='btnEditar')
View
5 Server/views/layout.jade
@@ -8,9 +8,10 @@ html
script(type='text/javascript', src='/socket.io/socket.io.js')
script(type='text/javascript', src='/javascripts/sensores/criar.js')
script(type='text/javascript', src='/javascripts/sensores/sensor.js')
- script(type='text/javascript', src='/javascripts/sensores/sensores.js')
+ script(type='text/javascript', src='/javascripts/sensores/sensores.js')
script(type='text/javascript', src='/javascripts/dispositivos/criar.js')
- script(type='text/javascript', src='/javascripts/gerenciar/sensor.js')
+ script(type='text/javascript', src='/javascripts/dispositivos/editar.js')
+ script(type='text/javascript', src='/javascripts/gerenciar/sensor.js')
script(type='text/javascript', src='/javascripts/geral.js')
link(rel='stylesheet', href='/stylesheets/style.css')
link(rel='stylesheet', href='/stylesheets/jquery.mobile-1.0.css')
View
12 Server/views/sensor/sensor.jade
@@ -11,13 +11,11 @@ div(id='SensorSensor',data-role='page', data-add-back-btn='true', data-back-btn-
div(data-role='fieldcontain')
label(for='txtDescricao') Descrição
textarea(type='text', id='txtDescricao')= item.Descricao
- div(data-role='navbar', data-theme='c')
- ul
- li
- a(class='ui-btn-active') Dispositivos
br
ul(data-role='listview')
+ li(data-role='list-divider') Dispositivos
+ li
+ a(href='/dispositivos/criar/' + item.Nome) Adicionar Novo
each disp in item.Dispositivos
- li(class='liDisp', data-sensor-id=item._id, data-dispositivo-nome=disp.Nome)
- a(href='/dispositivos/criar/' + item._id + '/' + disp.Nome)= disp.Nome
-
+ li
+ a(href='/dispositivos/editar/' + disp.Nome)= disp.Nome
Please sign in to comment.
Something went wrong with that request. Please try again.