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}}
-
+
Add a new server
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);
}
+
});
|