From 3873ac6b3b657986f05b4c063705d1dca59bdce8 Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Sat, 7 May 2016 10:34:27 -0300 Subject: [PATCH] LT-67 Implementing server's data retrieve and update --- .../serverInformationDicomWeb.html | 74 +++++++++++++ .../serverInformationDicomWeb.js | 10 ++ .../serverInformationForm.html | 55 ++++++---- .../serverInformationForm.js | 26 ++++- .../serverInformationList.html | 6 +- .../serverInformationList.js | 1 + .../serverInformationModal.js | 14 +-- .../serverInformationModal.styl | 5 + Packages/lesiontracker/client/utils/form.js | 101 ++++++++++++++++++ Packages/lesiontracker/package.js | 12 ++- Packages/lesiontracker/server/servers.js | 34 +++--- 11 files changed, 288 insertions(+), 50 deletions(-) create mode 100644 Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.html create mode 100644 Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.js create mode 100644 Packages/lesiontracker/client/components/serverInformationModal/serverInformationModal.styl create mode 100644 Packages/lesiontracker/client/utils/form.js diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.html b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.html new file mode 100644 index 000000000..75d7d897a --- /dev/null +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.html @@ -0,0 +1,74 @@ + + + diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.js b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.js new file mode 100644 index 000000000..d067f8f0f --- /dev/null +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationDicomWeb.js @@ -0,0 +1,10 @@ +Template.serverInformationDicomWeb.onRendered(function() { + var instance = Template.instance(); + instance.autorun(function() { + var mode = instance.data.mode.get(); + if (mode === 'edit') { + var data = instance.data.currentItem.get(); + FormUtils.setFormData(instance.data.$form, data); + } + }); +}); diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.html b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.html index 44ebdb5c3..457d1d923 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.html +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.html @@ -1,26 +1,39 @@ diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js index 44bb3945a..b72789ff5 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationForm.js @@ -1,7 +1,31 @@ +Template.serverInformationForm.onRendered(function() { + var instance = Template.instance(); + + instance.data.$form = instance.$('form'); + instance.autorun(function() { + var mode = instance.data.mode.get(); + if (mode === 'edit') { + var data = instance.data.currentItem.get(); + FormUtils.setFormData(instance.data.$form, data); + } + }); +}); + Template.serverInformationForm.events({ 'change .js-server-type': function(event, instance) { - console.debug(instance); var value = $(event.currentTarget).val(); instance.data.serverType.set(value); + }, + submit: function(event, instance) { + event.preventDefault(); + var formData = FormUtils.getFormData(instance.data.$form); + Meteor.call('saveServer', formData, function(error) { + if (error) { + // TODO: check for errors: not-authorized, data-write + console.log('>>>>ERROR', error); + } + + instance.data.mode.set('list'); + }); } }); diff --git a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html index a52f62309..df8413b47 100644 --- a/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html +++ b/Packages/lesiontracker/client/components/serverInformationModal/serverInformationList.html @@ -8,10 +8,10 @@ - {{#each server in servers}} + {{#each servers}} - {{server.name}} - {{server.type}} + {{this.name}} + {{this.type}}