From 50863b937caa49522c64be2888ddd657711c3005 Mon Sep 17 00:00:00 2001 From: "Chris.Watts90@outlook.com" Date: Wed, 7 Mar 2018 09:03:31 +0000 Subject: [PATCH] Add section to the Admin page that will allow administrator to clear all unassigned identifiers. #69 --- .../WindowsDataCenter/www/Admin.html | 28 +++++++++++- .../WindowsDataCenter/www/admin.js | 43 ++++++++++++++++++- .../WindowsDataCenter/www/admin.min.js | 2 +- 3 files changed, 70 insertions(+), 3 deletions(-) diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/Admin.html b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/Admin.html index c4fcdb6..b6667d0 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/Admin.html +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/Admin.html @@ -77,7 +77,33 @@ +
+
+

Unassigned Cards

+ +
+
+
+ + + + + + + + + + + + + +
Card Unique IdLast Used Date
+
+
+
- + \ No newline at end of file diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js index 964fd63..b912835 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.js @@ -2,6 +2,7 @@ var self = this; self.groupsList = ko.observable(null); self.groupEditItem = ko.observable(null); + self.unassignedCardList = ko.observable(null); self.helpers = new Helpers(); self.uiPages = { overview: "overview", @@ -11,7 +12,9 @@ self.apiEndpoints = { deleteGroups:"/api/groups/delete", getGroups: "/api/groups", - editGroup: "/api/groups/edit" + editGroup: "/api/groups/edit", + getUnassignedCards: "/api/cards/unassigned", + clearUnassignedCards: "/api/cards/unassigned" }; self.clearGroupForm = function () { self.helpers.goToMenuOption(self.uiPages.group); @@ -69,10 +72,48 @@ var errorObj = self.helpers.processRequestFailure(resp, status, error); }); }; + self.getUnassignedCardData = function() { + var url = self.helpers.createRequestUrl(self.apiEndpoints.getUnassignedCards, null, false); + $.getJSON(url, + function(res) { + self.unassignedCardList(res); + }).fail(function(resp, status, error) { + console.log("error - getUnassignedCards"); + var errorObj = self.helpers.processRequestFailure(resp, status, error); + }); + }; + self.clearUnassignedCards = function() { + var url = self.helpers.createRequestUrl(self.apiEndpoints.clearUnassignedCards, null, false); + $.ajax({ + type: "DELETE", + url: url, + data: "", + success: function() { + self.getUnassignedCardData(); //update + }, + error: function(jqxhr, status, error) { + console.log("error - clearUnassignedCards"); + var errorObj = self.helpers.processRequestFailure(resp, status, error); + } + }); + }; + self.padNumber = function (number) { + return (number < 10 ? "0" : "") + number; + }; + self.convertToDisplayDateTime = function (dateValue) { + var date = new Date(dateValue); // dd MM YY HH:mm:ss e.g.: 01 Mar 17 17:34:02 + return date.getDate() + " " + + date.toLocaleString("en-us", { month: "long" }) + " " + + (date.getYear()-100) + " " + + self.padNumber(date.getHours()) + ":" + + self.padNumber(date.getMinutes()) + ":" + + self.padNumber(date.getSeconds()); + }; Sammy(function () { this.disable_push_state = true; this.get("#overview", function () { self.getGroups(); + self.getUnassignedCardData(); }); this.post("#editgroup", function () { self.submitGroupEdit(self.groupEditItem()); diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.min.js b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.min.js index f6a459f..6a6123e 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.min.js +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/www/admin.min.js @@ -1 +1 @@ -function AdminVM(){var n=this;n.groupsList=ko.observable(null);n.groupEditItem=ko.observable(null);n.helpers=new Helpers;n.uiPages={overview:"overview",group:"groups",home:function(){return this.overview}};n.apiEndpoints={deleteGroups:"/api/groups/delete",getGroups:"/api/groups",editGroup:"/api/groups/edit"};n.clearGroupForm=function(){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(null)};n.hideGroupForm=function(){n.groupEditItem(null)};n.newGroupForm=function(){n.groupEditItem({Id:-1,Name:""});n.helpers.goToMenuOption(n.uiPages.group)};n.groupFormHidden=ko.computed(function(){return n.groupEditItem()==null},n);n.editGroupClick=function(t){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(t)};n.getGroups=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.getGroups,null,!1);$.getJSON(t,function(t){n.groupsList(t)}).fail(function(t,i,r){console.log("error - getGroups");var u=n.helpers.processRequestFailure(t,i,r)})};n.deleteGroup=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.deleteGroups,[{key:"groupId",value:t}],!1,!1);$.ajax({url:i,type:"DELETE",success:function(){console.log("deleted "+t);n.hideGroupForm();n.helpers.goToMenuOption(n.uiPages.home())}});console.log("delete: "+t)};n.submitGroupEdit=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.editGroup,null,!1);$.post(i,t,function(){},"json").done(function(){n.groupEditItem(null);n.helpers.goToMenuOption(n.uiPages.home())}).fail(function(t,i,r){n.helpers.goToMenuOption(n.uiPages.home());var u=n.helpers.processRequestFailure(t,i,r)})};Sammy(function(){this.disable_push_state=!0;this.get("#overview",function(){n.getGroups()});this.post("#editgroup",function(){return n.submitGroupEdit(n.groupEditItem()),!1});this.get("",function(){this.app.runRoute("get","#"+n.uiPages.home())})}).run()}ko.applyBindings(new AdminVM) \ No newline at end of file +function AdminVM(){var n=this;n.groupsList=ko.observable(null);n.groupEditItem=ko.observable(null);n.unassignedCardList=ko.observable(null);n.helpers=new Helpers;n.uiPages={overview:"overview",group:"groups",home:function(){return this.overview}};n.apiEndpoints={deleteGroups:"/api/groups/delete",getGroups:"/api/groups",editGroup:"/api/groups/edit",getUnassignedCards:"/api/cards/unassigned",clearUnassignedCards:"/api/cards/unassigned"};n.clearGroupForm=function(){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(null)};n.hideGroupForm=function(){n.groupEditItem(null)};n.newGroupForm=function(){n.groupEditItem({Id:-1,Name:""});n.helpers.goToMenuOption(n.uiPages.group)};n.groupFormHidden=ko.computed(function(){return n.groupEditItem()==null},n);n.editGroupClick=function(t){n.helpers.goToMenuOption(n.uiPages.group);n.groupEditItem(t)};n.getGroups=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.getGroups,null,!1);$.getJSON(t,function(t){n.groupsList(t)}).fail(function(t,i,r){console.log("error - getGroups");var u=n.helpers.processRequestFailure(t,i,r)})};n.deleteGroup=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.deleteGroups,[{key:"groupId",value:t}],!1,!1);$.ajax({url:i,type:"DELETE",success:function(){console.log("deleted "+t);n.hideGroupForm();n.helpers.goToMenuOption(n.uiPages.home())}});console.log("delete: "+t)};n.submitGroupEdit=function(t){var i=n.helpers.createRequestUrl(n.apiEndpoints.editGroup,null,!1);$.post(i,t,function(){},"json").done(function(){n.groupEditItem(null);n.helpers.goToMenuOption(n.uiPages.home())}).fail(function(t,i,r){n.helpers.goToMenuOption(n.uiPages.home());var u=n.helpers.processRequestFailure(t,i,r)})};n.getUnassignedCardData=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.getUnassignedCards,null,!1);$.getJSON(t,function(t){n.unassignedCardList(t)}).fail(function(t,i,r){console.log("error - getUnassignedCards");var u=n.helpers.processRequestFailure(t,i,r)})};n.clearUnassignedCards=function(){var t=n.helpers.createRequestUrl(n.apiEndpoints.clearUnassignedCards,null,!1);$.ajax({type:"DELETE",url:t,data:"",success:function(){n.getUnassignedCardData()},error:function(t,i,r){console.log("error - clearUnassignedCards");var u=n.helpers.processRequestFailure(resp,i,r)}})};n.padNumber=function(n){return(n<10?"0":"")+n};n.convertToDisplayDateTime=function(t){var i=new Date(t);return i.getDate()+" "+i.toLocaleString("en-us",{month:"long"})+" "+(i.getYear()-100)+" "+n.padNumber(i.getHours())+":"+n.padNumber(i.getMinutes())+":"+n.padNumber(i.getSeconds())};Sammy(function(){this.disable_push_state=!0;this.get("#overview",function(){n.getGroups();n.getUnassignedCardData()});this.post("#editgroup",function(){return n.submitGroupEdit(n.groupEditItem()),!1});this.get("",function(){this.app.runRoute("get","#"+n.uiPages.home())})}).run()}ko.applyBindings(new AdminVM) \ No newline at end of file