Add Error message generation to the UI.

#10
This commit is contained in:
chris.watts90@outlook.com 2017-02-09 21:27:20 +00:00
parent 666975b2ec
commit 150a9a8d70

View File

@ -35,6 +35,29 @@
};
self.errorData(errDat);
}
self.processRequestFailure = function (xmlHttpRequest, textStatus, errorThrown) {
if (xmlHttpRequest.readyState === 4) {
return {
errorCode: xmlHttpRequest.status,
errorMessage: error.statusText,
errorSource: ""
};
}
else if (xmlHttpRequest.readyState === 0) {
return {
errorCode: xmlHttpRequest.status,
errorMessage: "Network Error - Is the server available?",
errorSource: ""
};
}
else {
return {
errorCode: xmlHttpRequest.status,
errorMessage: "Unknown Error",
errorSource: ""
};
}
};
/**
* Create a request URL - references apiEndpoints object to construct url with args, and optional callback url.
* @param {string} routePath
@ -130,15 +153,14 @@
}
}
self.getUserList = function () {
//console.log("beginGetUserData");
var url = self.createRequestUrl(self.apiEndpoints.getUserList, null, false);
console.log(url);
$.getJSON(url, function (res) {
//console.log("getting user data");
//console.log(res);
self.userList(res);
}).fail(function () {
}).fail(function (response, status, error) {
console.log("error - getusers");
var errObj = self.processRequestFailure(resp, status, error);
self.assignErrorObject(errObj.errorCode, errObj.errorMessage, "getUserList");
});
};
self.searchUsers = function(query) {
@ -147,74 +169,67 @@
$.getJSON(url,
function(res) {
self.userList(res);
}).fail(function(res) {
}).fail(function(resp, status, error) {
self.goToMenuOption(self.uiPages.home());
var errObj = self.processRequestFailure(resp, status, error);
self.assignErrorObject(errObj.errorCode, errObj.errorMessage, "searchUsers");
}
);
};
self.getUserDetails = function (userId) {
//console.log("beginGetUserDetailsData");
var url = self.createRequestUrl(self.apiEndpoints.getUserDetails + "/" + userId, null, false);
$.getJSON(url, function (res) {
//console.log("got user data");
self.chosenUserDetails(res);
}).fail(function () {
}).fail(function (resp, status, error) {
console.log("error - getuserdetails");
var errObj = self.processRequestFailure(resp, status, error);
self.assignErrorObject(errObj.errorCode, errObj.errorMessage, "getUserDetails");
self.goToMenuOption(self.uiPages.home());
});
};
self.submitChangedUser = function (user) {
console.log("Post Edited User: " + user.UserId);
var url = self.apiEndpoints.editUser;
console.log("posting to.." + url);
$.post(url, user, function () {
}, "json")
.done(function () {
self.chosenUserDetails(null);
self.goToMenuOption(self.uiPages.home());
})
.fail(function (response) {
if (response.status !== 201) {
console.log("error - post edited user");
}
.fail(function (resp, status, error) {
var errObj = self.processRequestFailure(resp, status, error);
self.assignErrorObject(errObj.errorCode, errObj.errorMessage, "submitChangedUser");
self.chosenUserDetails(null);
self.goToMenuOption(self.uiPages.home());
});
};
self.getTimeLogData = function (userId, calendarWeek) {
//console.log("begin get TimeLog Data");
var url = self.createRequestUrl(self.apiEndpoints.getTimeLogs,
[{ key: "userId", value: userId }, { key: "calendarWeek", value: calendarWeek }],
false);
$.getJSON(url, function (res) {
//console.log("got user timelog data");
self.userTimeLogData(res);
self.initDatePicker();
self.assignHandler();
}).fail(function (resp) {
if (resp.status === 200) {
self.userTimeLogData(resp.content);
//console.log(resp.content);
} else {
console.log("error - getuserdetails");
self.goToMenuOption(self.uiPages.home()); //go home.
}
}).fail(function (resp, status, error) {
console.log("error - getuserdetails");
var errObj = self.processRequestFailure(resp, status, error);
self.assignErrorObject(errObj.errorCode, errObj.errorMessage, "getTimeLogData");
self.goToMenuOption(self.uiPages.home()); //go home.
});
};
self.getUnassignedCardData = function () {
//console.log("begin get unassigned cards");
var url = self.createRequestUrl(self.apiEndpoints.getUnassignedCards, null, false);
$.getJSON(url, function (res) {
//console.log(res);
self.unassignedCardData(res);
}).fail(function () {
}).fail(function (resp, status, error) {
console.log("error - getuserdetails");
var errObj = self.processRequestFailure(resp, status, error);
self.assignErrorObject(errObj.errorCode, errObj.errorMessage, "getUnassignedCardData");
});
};
Sammy(function () {
this.get("#users", function () {
var query = this.params.query;
//console.log(this.params.query);
self.chosenMenuItemId("Users");
self.chosenUserDetails(null);
self.userList(null);
@ -227,7 +242,6 @@
//$.get("http://localhost:3000", { menu: this.params.menu }, self.chosenMenuData);
});
this.get("#userData/:userId", function () {
//console.log("getting details for user: " + this.params.userId);
self.chosenMenuItemId("Data");
self.userList(null);
self.getUserDetails(this.params.userId);
@ -236,14 +250,12 @@
//$.get("http://localhost:3000", { menu: this.params.menu }, self.chosenMenuData);
});
this.get("#timelogs/:userId", function () {
//console.log("get user time logs, userID: " + this.params.userId);
self.chosenMenuItemId("Other");
self.userList(null);
self.chosenUserDetails(null);
self.getTimeLogData(this.params.userId, self.selectedCalendarWeek());
});
this.get("#newUser", function () {
//console.log("creating new user");
self.chosenMenuItemId("newUser");
self.userList(null);
self.userTimeLogData(null);