From 1ca585bfb0d58028208c80327236053e44311485 Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Sat, 14 May 2016 23:46:10 -0300 Subject: [PATCH] LT-67 Fixing navigation issues and implementing server's removal --- .../serverInformationDimse.js | 4 ++- .../serverInformationForm.js | 2 +- .../serverInformationList.html | 6 ++-- .../serverInformationList.js | 32 +++++++------------ .../serverInformationModal.js | 13 +++++--- Packages/lesiontracker/server/servers.js | 13 ++++++-- 6 files changed, 37 insertions(+), 33 deletions(-) diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDimse.js b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDimse.js index df1abecae..29b32aa1b 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDimse.js +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDimse.js @@ -3,7 +3,9 @@ Template.serverInformationDimse.onCreated(function() { instance.peers = new ReactiveVar([]); instance.autorun(function() { var currentItem = instance.data.currentItem.get(); - instance.peers.set(currentItem.peers || []); + if (currentItem) { + instance.peers.set(currentItem.peers || []); + } }); }); diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js index b72789ff5..c2f8a9ab2 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js @@ -25,7 +25,7 @@ Template.serverInformationForm.events({ console.log('>>>>ERROR', error); } - instance.data.mode.set('list'); + instance.data.resetState(); }); } }); diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html index df8413b47..d91421378 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html @@ -14,10 +14,10 @@ {{this.type}}
- -
@@ -30,7 +30,7 @@ {{/each}} - diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.js b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.js index deaf109d8..d3081675e 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.js +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.js @@ -1,34 +1,24 @@ -Template.serverInformationList.onRendered(function() { - var instance = Template.instance(); - instance.$('[data-toggle="tooltip"]').tooltip({ - container: 'body' - }); -}); - -Template.serverInformationList.onDestroyed(function() { - var instance = Template.instance(); - instance.$('[data-toggle="tooltip"]').tooltip('destroy'); -}); - Template.serverInformationList.helpers({ - tooltipTop: function(title) { - return { - 'data-toggle': 'tooltip', - 'data-placement': 'top', - title: title - }; - }, servers: function() { return Servers.find().fetch(); } }); Template.serverInformationList.events({ - 'click .addServer': function(event, instance) { + 'click .js-add-server': function(event, instance) { instance.data.mode.set('create'); }, - 'click .editServer': function(event, instance) { + 'click .js-edit-server': function(event, instance) { instance.data.currentItem.set(this); instance.data.mode.set('edit'); + }, + 'click .js-remove-server': function(event, instance) { + var id = this._id; + Meteor.call('removeServer', this._id, function(error) { + if (error) { + // TODO: check for errors: not-authorized, data-write + console.log('>>>>ERROR', error); + } + }); } }); diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationModal.js b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationModal.js index 5dc47dc17..44e7493a6 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationModal.js +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationModal.js @@ -4,14 +4,17 @@ Template.serverInformationModal.onCreated(function() { mode: new ReactiveVar('list'), serverType: new ReactiveVar(null), currentItem: new ReactiveVar(null), - $form: null + $form: null, + resetState: function() { + instance.container.mode.set('list'); + instance.container.serverType.set(null); + instance.container.currentItem.set(null); + } }; }); Template.serverInformationModal.events({ - 'click .js-back': function(event, instance) { - var container = instance.container; - container.mode.set('list'); - container.serverType.set(null); + 'click .js-back, click [data-dismiss=modal]': function(event, instance) { + instance.container.resetState(); } }); diff --git a/Packages/lesiontracker/server/servers.js b/Packages/lesiontracker/server/servers.js index 5c3baa57e..b588e15cd 100644 --- a/Packages/lesiontracker/server/servers.js +++ b/Packages/lesiontracker/server/servers.js @@ -12,12 +12,13 @@ Meteor.startup(function() { }); Meteor.methods({ + saveServer: function(serverSettings) { if (!Meteor.userId()) { throw new Meteor.Error('not-authorized'); } - var criteria = { + var query = { _id: serverSettings._id }; var options = { @@ -35,6 +36,14 @@ Meteor.methods({ }; - Servers.update(criteria, serverSettings, options, callback); + Servers.update(query, serverSettings, options, callback); + }, + + removeServer: function(serverId) { + var query = { + _id: serverId + }; + Servers.remove(query, true); } + });