{"version":3,"file":"sm.portal.vm.studentProfile.widget.min.js","names":["jQuery","sm","window","portal","extend","widget","StudentProfileViewModel","this","PersonID","ko","observable","GeneratedContactID","PersonDisplayName","PrimaryEmailAddress","HeadShotUrl","PrimaryMailingAddressHTML","PrimaryMailingAddressText","PrimaryPhoneNumber","SocialLinks","observableArray","GeneratedIDText","myProfileURL","vm","custom","setCustomLocalizeKey","callCustomization","LoadModel","container","entity","Payload","Entity","utility","isNullOrEmpty","ID","DisplayName","address","PrimaryAddress","data","self","encodedAddress","HTMLValue","replace","TextValue","PrimaryEmail","HeadShot","GeneratedIdentifier","customData","Loaded","IsError","ErrorHeader","ErrorMessages","HandleError","header","msgs","getResourceValue","GetModelData","url","_baseApiUri","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","textStatus","jqXHR","smapi","access","ApiContainerModel","Status","ValidationTitle","ValidationMessages","ui","readyPage","error","exception","statusText","responseMsg","responseText","parseJSON","Message","messageToUser","formatString","viewModel","e"],"sources":["assets/js/viewmodels/academic/sm.portal.vm.studentProfile.widget.js"],"mappings":"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","ignoreList":[],"sourcesContent":["\r\n(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 Profile View Model\r\n // Simple Model\r\n function StudentProfileViewModel() {\r\n\r\n // Properties\r\n this.PersonID = ko.observable(0);\r\n this.GeneratedContactID = ko.observable(0);\r\n this.PersonDisplayName = ko.observable('');\r\n this.PrimaryEmailAddress = ko.observable('');\r\n this.HeadShotUrl = ko.observable('');\r\n this.PrimaryMailingAddressHTML = ko.observable('');\r\n this.PrimaryMailingAddressText = ko.observable('');\r\n\r\n this.PrimaryPhoneNumber = ko.observable();\r\n this.SocialLinks = ko.observableArray();\r\n this.GeneratedIDText = ko.observable('GeneratedContactID');\r\n this.myProfileURL = ko.observable('?u4sm_page=my-profile');\r\n \r\n sm.portal.vm.custom.setCustomLocalizeKey(this); \r\n \r\n sm.portal.vm.custom.callCustomization('AddCustomizeProperties', this);\r\n // Loading \r\n this.LoadModel = function (container) {\r\n // Set the Person Variables\r\n var entity = container.Payload.Entity;\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(entity)) {\r\n this.PersonID(entity.ID);\r\n this.PersonDisplayName(entity.DisplayName);\r\n\r\n // Set the Primary Mailing Address Content\r\n var address = container.Payload.PrimaryAddress;\r\n if (address) {\r\n var data = {\r\n self : self,\r\n address : address\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateAdrressHTMLValue' , data, \r\n function(){\r\n var encodedAddress = address.HTMLValue;\r\n self.PrimaryMailingAddressHTML(encodedAddress.replace(/</g, '<').replace(/>/g, '>'));\r\n self.PrimaryMailingAddressText(address.TextValue);\r\n }\r\n ); \r\n \r\n }\r\n this.PrimaryEmailAddress(container.Payload.PrimaryEmail);\r\n\r\n // Set the HeadShot\r\n this.HeadShotUrl(container.Payload.HeadShot);\r\n\r\n this.GeneratedContactID(entity.GeneratedIdentifier);\r\n var customData = {\r\n self:self, \r\n entity:entity\r\n }\r\n sm.portal.vm.custom.callCustomization('GetStudentID', customData);\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 () {\r\n var url = _baseApiUri + 'api/student360/getprofilesection/?sec=profile'\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 sm.portal.vm.custom.callCustomization('UpdateMyProfileURL', this);\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 StudentProfileViewModel: StudentProfileViewModel\r\n });\r\n})(jQuery);"]}