From ce6ac53e8f98087107e35a9198f6ae40c205fafb Mon Sep 17 00:00:00 2001 From: "chris.watts90@outlook.com" Date: Fri, 17 Mar 2017 22:35:03 +0000 Subject: [PATCH] move goToMenuOption to Helpers.js fix refresh groups list issue when groups are deleted/edited etc. added ajax delete to delete the group from the db when delete is clicked on ui. group form is hidden on new page. #30 --- .../WindowsDataCenter/www/admin.js | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js index e0d079e..5cfdb89 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js @@ -5,30 +5,34 @@ self.helpers = new Helpers(); self.uiPages = { overview: "overview", + group: "groups", home: function () { return this.overview; } }; self.apiEndpoints = { + deleteGroups:"/api/groups/delete", getGroups: "/api/groups", editGroup: "/api/groups/edit" }; - self.goToMenuOption = function (menu) { location.hash = menu; console.log("goToMenuOption: " + menu); }; - self.clearGroupForm = function(data, event) { + self.clearGroupForm = function (data, event) { + self.goToMenuOption(self.uiPages.group); self.groupEditItem({ Id: -1, Name: "" }); }; - self.hideGroupForm = function(data, event) { + self.hideGroupForm = function (data, event) { + self.helpers.goToMenuOption(self.uiPages.group); self.groupEditItem(null); }; self.groupFormHidden = ko.computed(function () { return self.groupEditItem() == null; }, self); - self.editGroupClick = function(data, event) { + self.editGroupClick = function (data, event) { + self.helpers.goToMenuOption(self.uiPages.group); self.groupEditItem(data); }; self.getGroups = function () { var url = self.helpers.createRequestUrl(self.apiEndpoints.getGroups, null, false); $.getJSON(url, function (res) { self.groupsList(res); - console.log(res); + //console.log(res); }).fail(function (resp, status, error) { console.log("error - getGroups"); //var errObj = self.processRequestFailure(resp, status, error); @@ -36,20 +40,38 @@ //self.goToMenuOption(self.uiPages.home()); }); }; + self.deleteGroup = function (groupId) { + var url = self.helpers.createRequestUrl(self.apiEndpoints.deleteGroups, + [{ key: "groupId", value: groupId }], + false, + false); + $.ajax({ + url: url, + type: 'DELETE', + success: function (result) { + console.log("deleted " + groupId); + self.helpers.goToMenuOption(self.uiPages.home()); + self.clearGroupForm(); + // Do something with the result + } + }); + console.log("delete: " + groupId); + }; self.submitGroupEdit = function(group) { var url = self.helpers.createRequestUrl(self.apiEndpoints.editGroup, null, false); $.post(url, group, function () { }, "json") .done(function () { self.groupEditItem(null); - self.goToMenuOption(self.uiPages.home()); + self.helpers.goToMenuOption(self.uiPages.home()); }) .fail(function (resp, status, error) { - self.goToMenuOption(self.uiPages.home()); + self.helpers.goToMenuOption(self.uiPages.home()); }); }; Sammy(function () { this.get("#overview", function () { + self.clearGroupForm(); self.getGroups(); }); this.post("#editgroup", function () {