{"version":3,"file":"sm.portal.vm.studentHold.widget.min.js","names":["jQuery","sm","window","portal","extend","widget","StudentHoldViewModel","this","DataList","ko","observableArray","DataItem","ID","observable","ContactID","HoldCategoryID","HoldCategoryName","HoldStatusID","HoldStatusName","HoldDate","Description","VoidReason","VoidUserID","VoidUserName","VoidDate","LoadModel","container","list","Payload","Holds","removeAll","i","length","listItem","newHoldModel","push","Loaded","IsError","ErrorHeader","ErrorMessages","HandleError","header","msgs","utility","isNullOrEmpty","getResourceValue","GetModelData","studentID","url","_baseApiUri","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","data","textStatus","jqXHR","smapi","access","ApiContainerModel","Status","ValidationTitle","ValidationMessages","self","ui","readyPage","error","exception","statusText","responseMsg","responseText","parseJSON","Message","messageToUser","formatString","viewModel","e"],"sources":["assets/js/viewmodels/academic/sm.portal.vm.studentHold.widget.js"],"mappings":"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","ignoreList":[],"sourcesContent":["(function (jQuery, undefined) {\r\n var sm = window.sm = window.sm || {};\r\n var windowProxy;\r\n var actionQueue = [];\r\n\r\n if (typeof sm.portal === \"undefined\") {\r\n jQuery.extend(sm, { portal: {} });\r\n }\r\n if (typeof sm.portal.widget === \"undefined\") {\r\n jQuery.extend(sm.portal, { widget: {} });\r\n }\r\n\r\n // Student Hold View Model\r\n // Array Model\r\n function StudentHoldViewModel() {\r\n\r\n // Array List\r\n this.DataList = ko.observableArray();\r\n\r\n // List Item\r\n this.DataItem = function () {\r\n this.ID = ko.observable();\r\n this.ContactID = ko.observable();\r\n this.HoldCategoryID = ko.observable();\r\n this.HoldCategoryName = ko.observable();\r\n this.HoldStatusID = ko.observable();\r\n this.HoldStatusName = ko.observable();\r\n this.HoldDate = ko.observable();\r\n this.Description = ko.observable();\r\n this.VoidReason = ko.observable();\r\n this.VoidUserID = ko.observable();\r\n this.VoidUserName = ko.observable();\r\n this.VoidDate = ko.observable();\r\n }\r\n\r\n // Loading\r\n this.LoadModel = function (container) {\r\n\r\n var list = container.Payload.Holds;\r\n\r\n // Clear existing data\r\n this.DataList.removeAll();\r\n\r\n // Create DataItems for each result and add to DataList\r\n for (var i = 0; i < list.length; i++) {\r\n\r\n var listItem = list[i];\r\n var newHoldModel = new this.DataItem();\r\n\r\n newHoldModel.ID(listItem.ID);\r\n newHoldModel.ContactID(listItem.ContactID);\r\n newHoldModel.HoldCategoryID(listItem.HoldCategoryID);\r\n newHoldModel.HoldCategoryName(listItem.HoldCategoryName);\r\n newHoldModel.HoldStatusID(listItem.HoldStatusID);\r\n newHoldModel.HoldStatusName(listItem.HoldStatusName);\r\n newHoldModel.HoldDate(listItem.HoldDate);\r\n newHoldModel.Description(listItem.Description);\r\n newHoldModel.VoidReason(listItem.VoidReason);\r\n newHoldModel.VoidUserID(listItem.VoidUserID);\r\n newHoldModel.VoidUserName(listItem.VoidUserName);\r\n newHoldModel.VoidDate(listItem.VoidDate);\r\n\r\n this.DataList.push(newHoldModel);\r\n }\r\n this.Loaded(true);\r\n };\r\n this.Loaded = ko.observable(false);\r\n\r\n this.IsError = ko.observable(false);\r\n this.ErrorHeader = ko.observable();\r\n this.ErrorMessages = ko.observableArray();\r\n this.HandleError = function (header, msgs) {\r\n this.IsError(true);\r\n this.ErrorMessages(msgs);\r\n if (sm.portal.utility.isNullOrEmpty(header)) {\r\n this.ErrorHeader(sm.portal.utility.getResourceValue('ThereWasAnError'));\r\n } else {\r\n this.ErrorHeader(header);\r\n }\r\n };\r\n\r\n // Data Retrieval (NOTE: this could be handled via the parent view model, but this is here as a stand-alone)\r\n this.GetModelData = function (studentID) {\r\n\r\n var url = _baseApiUri + 'api/student360/getprofilesection/?sec=holds&studentid=' + studentID\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n\r\n if (data.Status == 'success') {\r\n self.LoadModel(container);\r\n }\r\n sm.portal.ui.readyPage();\r\n },\r\n error: function (jqXHR, exception) {\r\n\r\n var statusText = jqXHR.statusText;\r\n var responseMsg = sm.portal.utility.getResourceValue('UnknownError');\r\n if (jqXHR != null && jqXHR.responseText != null) {\r\n responseMsg = jQuery.parseJSON(jqXHR.responseText).Message;\r\n }\r\n var messageToUser = sm.portal.utility.formatString(\"{0} - {1}\", statusText, responseMsg);\r\n try {\r\n viewModel.HandleError(sm.portal.utility.getResourceValue('ErrorAccessingPage'), [messageToUser]);\r\n } catch (e) { }\r\n }\r\n });\r\n };\r\n\r\n var self = this;\r\n return self;\r\n }\r\n\r\n jQuery.extend(true, sm.portal.widget, {\r\n StudentHoldViewModel: StudentHoldViewModel\r\n });\r\n})(jQuery);"]}