{"version":3,"file":"sm.portal.vm.billing.widget.min.js","names":["jQuery","sm","window","portal","extend","widget","StudentBillingSummaryViewModel","this","DataList","ko","observableArray","MultiCurrencyEnabled","observable","IsInvoiceMode","ActiveCurrencyIndex","DataItem","BillingActionName","PayableNow","AccountStatusName","PaymentPlanName","ChargedInvoiced","Overdue","Paid","CurrencyCode","CurrencySymbol","LoadModel","container","ato","Payload","BillingSummary","billingSummarries","SummariesPerCurrency","utility","isNullOrEmpty","i","length","entity","billingSummaryItem","BillingBalanceSummary","push","TransactionsInManyCurrencies","Loaded","IsError","ErrorHeader","ErrorMessages","HandleError","header","msgs","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.billing.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 Billing Summary View Model\r\n // Simple Model\r\n function StudentBillingSummaryViewModel() {\r\n\r\n this.DataList = ko.observableArray();\r\n\t\tthis.MultiCurrencyEnabled = ko.observable();\r\n\t this.IsInvoiceMode = ko.observable();\r\n this.ActiveCurrencyIndex = ko.observable();\r\n\r\n\t\tthis.DataItem = function () {\r\n\t\t\tthis.BillingActionName = ko.observable();\r\n this.PayableNow = ko.observable();\r\n this.AccountStatusName = ko.observable();\r\n this.PaymentPlanName = ko.observable();\r\n this.ChargedInvoiced = ko.observable();\r\n this.Overdue = ko.observable();\r\n this.Paid = ko.observable();\r\n this.PayableNow = ko.observable();\r\n this.CurrencyCode = ko.observable();\r\n this.CurrencySymbol = ko.observable();\r\n }\r\n\r\n // Loading\r\n this.LoadModel = function (container) {\r\n\r\n var ato = container.Payload.BillingSummary;\r\n var billingSummarries = container.Payload.BillingSummary.SummariesPerCurrency;\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(billingSummarries)) {\r\n for (var i = 0; i < billingSummarries.length; i++) {\r\n\r\n var entity = billingSummarries[i];\r\n var billingSummaryItem = new this.DataItem();\r\n\r\n\t\t\t\t\tbillingSummaryItem.BillingActionName(entity.BillingBalanceSummary.BillingActionName);\r\n\t\t\t\t\tbillingSummaryItem.PayableNow(entity.BillingBalanceSummary.PayableNow);\r\n\t\t\t\t\tbillingSummaryItem.AccountStatusName(entity.BillingBalanceSummary.AccountStatusName);\r\n\t\t\t\t\tbillingSummaryItem.PaymentPlanName(entity.BillingBalanceSummary.PaymentPlanName);\r\n\t\t\t\t\tbillingSummaryItem.ChargedInvoiced(entity.BillingBalanceSummary.ChargedInvoiced);\r\n\t\t\t\t\tbillingSummaryItem.Overdue(entity.BillingBalanceSummary.Overdue);\r\n\t\t\t\t\tbillingSummaryItem.Paid(entity.BillingBalanceSummary.Paid);\r\n\t\t\t\t\tbillingSummaryItem.PayableNow(entity.BillingBalanceSummary.PayableNow);\r\n billingSummaryItem.CurrencyCode(entity.CurrencyCode);\r\n billingSummaryItem.CurrencySymbol(entity.CurrencySymbol);\r\n\r\n this.DataList.push(billingSummaryItem);\r\n }\r\n }\r\n\r\n this.ActiveCurrencyIndex(ato.ActiveCurrencyIndex);\r\n\t\t\tthis.MultiCurrencyEnabled(ato.TransactionsInManyCurrencies);\r\n\t\t\tthis.IsInvoiceMode(ato.IsInvoiceMode);\r\n this.Loaded(true);\r\n\r\n };\r\n\r\n this.Loaded = ko.observable(false);\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=billing&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 StudentBillingSummaryViewModel: StudentBillingSummaryViewModel\r\n });\r\n})(jQuery);"]}