{"version":3,"file":"sm.portal.vm.accessibilityneed.min.js","names":["jQuery","undefined","sm","window","DisabilityStatusListItemViewModel","options","settings","extend","PrimaryID","PrimaryText","AccessibilityNeedTypeIDs","this","ko","observable","portal","vm","AccessibilityNeedViewModel","self","utility","isUKFeatureEnabled","DataList","observableArray","ID","GID","sectionIncluded","AccessibilityNeedTypes","DisabilityStatuses","DisabilityStatusMatrix","DisabledStudentAllowances","DataLoaded","DataLoading","DataContainer","Touched","IsRequired","DataLoadErrorCount","sectionVisibleByConfig","AccessibilityNeedBooleanValue","validatedObservable","AccessibilityNeedInfoText","HideAddAccessibility","NoAccessibilityNeedInformationEntered","custom","setCustomLocalizeKey","callCustomization","WorkingItem","AccessibilityNeedDataItem","OriginalItem","isDataItemValid","computed","IsVMValid","EnableAccessibilitySaveButon","SaveWorkingChanges","workingItem","AccessibilityNeedTypeID","AccessibilityNeedType","DisabilityStatusID","DisabilityStatus","DisabledStudentAllowanceID","DisabledStudentAllowanceName","Description","InEditMode","SectionRequired","GetAccessibilityNeedTypeNameById","name","GetDisabilityStatusNameById","GetDisabledStudentAllowanceNameById","customData","push","ui","comboBox","hide","show","not","id","i","length","Value","Text","CancelWorkingChanges","cancelWorkingChangesUpdated","isNullOrEmpty","EditItem","data","event","JSON","parse","toJSON","AddItem","RemoveItem","remove","item","returnData","document","getElementsByClassName","dropDown","getElementById","selectedIndex","dispatchEvent","Event","AnythingPopulated","res","dataItem","validation","CompletedFlag","Completed","LoadModel","container","Payload","Config","viewModel","SetSectionsConfigData","showSection","ShowSection","ListData","smapi","access","loadListItemModels","source","target","loadDisabilityStatusListItemModel","DisabilityStatusChangeMatrix","DisabilityStatusLookup","disabledStudentAllowanceID","AccessibilityNeed","cuData","accessibility","newDataItem","constant","applicationDebugFlag","console","log","GetModelData","blockui","applicationMID","personMID","callback","allCustomData","blockUI","url","_baseApiUri","formatString","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","textStatus","jqXHR","page","application","modelDataResponseHandler","error","exception","modelErrorHandler","handleErrorWithMessages","CheckInclusion","ApiContainerModel","Status","ValidationTitle","ValidationMessages","result","InclusionResult","sectionsToAdd","Array","sectionsToRemove","section","required","MaintainSections","BlockContainer","block","message","getResourceValue","UnBlockContainer","unblock","SetFocus","ProcessOnServer","ExtractATO","atoList","accessibilityNeedBooleanCheck","ato","toJS","defaults","Guid","create","toString","ukFeatureEnabled","dataCus","response","AccessibilityNeedModel","community","EffectsAssessments","DisabledStudentAllowanceInformation","DisabilityStatusFilter","accessibilityNeedTypeID","sourceMatrix","resultList","currentItem","accessibilityNeedTypeMatch","isMatch","indexOf","newItem","ListItemModel","retValue","AvailableDisabilityStatuses","min","params","validate_MustBeNumeric_Key","max","number","validate_FieldRequired_Key","maxLength","validate_0CharactersOrLess_Key","ModelErrors","group"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.accessibilityneed.js"],"mappings":"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","ignoreList":[],"sourcesContent":["/// \r\n\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.vm === \"undefined\") {\r\n jQuery.extend(sm.portal, { vm: {} });\r\n }\r\n\r\n /**************************************/\r\n // Accessibility Need Data View Model\r\n // Holds the accessibility needs data\r\n /**************************************/\r\n function AccessibilityNeedViewModel() {\r\n\r\n // Self-Identification\r\n var self = this;\r\n var ukFeatureEnabled = sm.portal.utility.isUKFeatureEnabled();\r\n\t\tvar resetAccessibilityDropDown = 0;\r\n /*** PROPERTIES ***/\r\n this.DataList = ko.observableArray();\r\n this.ID = ko.observable();\r\n this.GID = ko.observable();\r\n this.sectionIncluded = ko.observable(false);\r\n /*** PROPERTIES ***/\r\n\r\n /*** LIST DATA PROPERTIES ***/\r\n this.AccessibilityNeedTypes = ko.observableArray();\r\n this.DisabilityStatuses = ko.observableArray();\r\n this.DisabilityStatusMatrix = ko.observableArray();\r\n this.DisabledStudentAllowances = ko.observableArray();\r\n /*** LIST DATA PROPERTIES ***/\r\n\r\n /*** SECTION PROPERTIES ***/\r\n this.DataLoaded = ko.observable(false);\r\n this.DataLoading = ko.observable(false);\r\n this.DataContainer = ko.observable(\"AccessibilityNeedContainer\");\r\n this.Touched = ko.observable(false);\r\n this.IsRequired = ko.observable(false);\r\n this.DataLoadErrorCount = ko.observable(0);\r\n this.sectionVisibleByConfig = ko.observable(null);\r\n this.AccessibilityNeedBooleanValue = ko.validatedObservable();\r\n this.AccessibilityNeedInfoText = ko.observable('');\r\n this.HideAddAccessibility = ko.observable(false);\r\n this.NoAccessibilityNeedInformationEntered = ko.observable('NoAccessibilityNeedInformationEntered');\r\n sm.portal.vm.custom.setCustomLocalizeKey(self);\r\n sm.portal.vm.custom.callCustomization('SubscribeAccessibilityNeed', self);\r\n /*** SECTION PROPERTIES ***/\r\n\r\n /** ADD/EDIT LIST METHODS **/\r\n this.WorkingItem = ko.observable(new sm.portal.vm.AccessibilityNeedDataItem({\r\n AccessibilityNeedTypes: this.AccessibilityNeedTypes,\r\n DisabilityStatuses: this.DisabilityStatuses,\r\n DisabledStudentAllowances: this.DisabledStudentAllowances,\r\n DisabilityStatusMatrix: this.DisabilityStatusMatrix\r\n }));\r\n this.OriginalItem = ko.observable(new sm.portal.vm.AccessibilityNeedDataItem({\r\n AccessibilityNeedTypes: this.AccessibilityNeedTypes,\r\n DisabilityStatuses: this.DisabilityStatuses,\r\n DisabledStudentAllowances: this.DisabledStudentAllowances,\r\n DisabilityStatusMatrix: this.DisabilityStatusMatrix\r\n }));\r\n\r\n self.isDataItemValid = ko.computed(function () {\r\n return self.WorkingItem().IsVMValid();\r\n }, self);\r\n\r\n this.EnableAccessibilitySaveButon = function () {\r\n return self.WorkingItem().IsVMValid();\r\n }\r\n\r\n sm.portal.vm.custom.callCustomization('updatePropertiesForAccessibility', self);\r\n\r\n this.SaveWorkingChanges = function () {\r\n\r\n var workingItem = new sm.portal.vm.AccessibilityNeedDataItem({\r\n AccessibilityNeedTypeID: self.WorkingItem().AccessibilityNeedTypeID(),\r\n AccessibilityNeedType: self.WorkingItem().AccessibilityNeedType(),\r\n DisabilityStatusID: self.WorkingItem().DisabilityStatusID(),\r\n DisabilityStatus: self.WorkingItem().DisabilityStatus(),\r\n DisabledStudentAllowanceID: self.WorkingItem().DisabledStudentAllowanceID(),\r\n DisabledStudentAllowanceName: self.WorkingItem().DisabledStudentAllowanceName(),\r\n Description: self.WorkingItem().Description(),\r\n InEditMode: self.WorkingItem().InEditMode(),\r\n AccessibilityNeedTypes: this.AccessibilityNeedTypes,\r\n DisabilityStatuses: this.DisabilityStatuses,\r\n DisabledStudentAllowances: this.DisabledStudentAllowances,\r\n DisabilityStatusMatrix: this.DisabilityStatusMatrix,\r\n SectionRequired: self.IsRequired(),\r\n ID: self.WorkingItem().ID(),\r\n GID: self.WorkingItem().GID()\r\n });\r\n\r\n if (workingItem.AccessibilityNeedTypeID()) {\r\n workingItem.AccessibilityNeedType(self.GetAccessibilityNeedTypeNameById(workingItem.AccessibilityNeedTypeID()).name);\r\n }\r\n\r\n if (workingItem.DisabilityStatusID()) {\r\n workingItem.DisabilityStatus(self.GetDisabilityStatusNameById(workingItem.DisabilityStatusID()).name);\r\n }\r\n\r\n if (workingItem.DisabledStudentAllowanceID()) {\r\n workingItem.DisabledStudentAllowanceName(self.GetDisabledStudentAllowanceNameById(workingItem.DisabledStudentAllowanceID()).name);\r\n }\r\n\r\n self.WorkingItem(new sm.portal.vm.AccessibilityNeedDataItem({\r\n AccessibilityNeedTypes: this.AccessibilityNeedTypes,\r\n DisabilityStatuses: this.DisabilityStatuses,\r\n DisabledStudentAllowances: this.DisabledStudentAllowances,\r\n DisabilityStatusMatrix: this.DisabilityStatusMatrix\r\n }));\r\n\r\n var customData = {\r\n workingItem : workingItem,\r\n self : self\r\n }\r\n sm.portal.vm.custom.callCustomization('SaveWorkingChangesForAccessibilityNeed', customData);\r\n\r\n if (workingItem.IsVMValid()) {\r\n\r\n if (!workingItem.InEditMode()) {\r\n // This is an Add...\r\n self.DataList.push(workingItem);\r\n } else {\r\n // NOTE: Edits automatically bind back to the list (knockout is cool, huh?)\r\n workingItem.InEditMode(false);\r\n self.OriginalItem().AccessibilityNeedTypeID(workingItem.AccessibilityNeedTypeID());\r\n self.OriginalItem().AccessibilityNeedType(workingItem.AccessibilityNeedType());\r\n self.OriginalItem().DisabilityStatusID(workingItem.DisabilityStatusID());\r\n self.OriginalItem().DisabilityStatus(workingItem.DisabilityStatus());\r\n self.OriginalItem().DisabledStudentAllowanceID(workingItem.DisabledStudentAllowanceID());\r\n self.OriginalItem().DisabledStudentAllowanceName(workingItem.DisabledStudentAllowanceName());\r\n self.OriginalItem().Description(workingItem.Description());\r\n self.OriginalItem().InEditMode(workingItem.InEditMode());\r\n self.OriginalItem().DisabilityStatusMatrix(workingItem.DisabilityStatusMatrix());\r\n self.OriginalItem().ID(workingItem.ID);\r\n self.OriginalItem().GID(workingItem.GID);\r\n\r\n }\r\n \r\n sm.portal.vm.custom.callCustomization('UpdateAccessibilityWorkingItem', customData);\r\n\r\n sm.portal.ui.comboBox();\r\n\r\n // hide the data entry view\r\n jQuery('.dataEntryView').hide();\r\n\r\n // show the display view with one item\r\n jQuery('.dataDisplayView').show();\r\n jQuery('.dataDisplayView ul.detailedList li').not('.noneAdded').show();\r\n }\r\n };\r\n\r\n this.GetAccessibilityNeedTypeNameById = function (id) {\r\n\r\n for (var i = 0; i < self.AccessibilityNeedTypes().length; i++) {\r\n if (self.AccessibilityNeedTypes()[i].Value() == id) {\r\n return self.AccessibilityNeedTypes()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.GetDisabilityStatusNameById = function (id) {\r\n\r\n for (var i = 0; i < self.DisabilityStatuses().length; i++) {\r\n if (self.DisabilityStatuses()[i].Value() == id) {\r\n return self.DisabilityStatuses()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.GetDisabledStudentAllowanceNameById = function (id) {\r\n\r\n for (var i = 0; i < self.DisabledStudentAllowances().length; i++) {\r\n if (self.DisabledStudentAllowances()[i].Value() == id) {\r\n return self.DisabledStudentAllowances()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.CancelWorkingChanges = function () {\r\n var cancelWorkingChangesUpdated = sm.portal.vm.custom.callCustomization('CancelWorkingChangesUpdated');\r\n if (sm.portal.utility.isNullOrEmpty(cancelWorkingChangesUpdated)) {\r\n self.WorkingItem(new sm.portal.vm.AccessibilityNeedDataItem({\r\n AccessibilityNeedTypes: this.AccessibilityNeedTypes,\r\n DisabilityStatuses: this.DisabilityStatuses,\r\n DisabledStudentAllowances: this.DisabledStudentAllowances,\r\n DisabilityStatusMatrix: this.DisabilityStatusMatrix\r\n }));\r\n }\r\n\r\n\r\n //hide the display view\r\n jQuery('.dataEntryView').hide();\r\n\r\n // show the entry view\r\n jQuery('.dataDisplayView').show();\r\n };\r\n this.EditItem = function (data, event) {\r\n self.OriginalItem(data);\r\n\r\n self.WorkingItem(\r\n new sm.portal.vm.AccessibilityNeedDataItem(\r\n JSON.parse(ko.toJSON(data))\r\n )\r\n );\r\n var customData = {\r\n data : data,\r\n self : self\r\n }\r\n sm.portal.vm.custom.callCustomization('EditItemForAccessibility', customData);\r\n self.WorkingItem().InEditMode(true);\r\n\r\n jQuery('.dataDisplayView').hide();\r\n jQuery('.dataEntryView').show();\r\n };\r\n this.AddItem = function (data, event) {\r\n self.WorkingItem(\r\n new sm.portal.vm.AccessibilityNeedDataItem(\r\n JSON.parse(ko.toJSON(data))\r\n )\r\n );\r\n };\r\n this.RemoveItem = function (data, event) {\r\n self.DataList.remove(function (item) {\r\n returnData = item.AccessibilityNeedTypeID == data.AccessibilityNeedTypeID &&\r\n item.DisabilityStatusID == data.DisabilityStatusID &&\r\n item.DisabledStudentAllowanceID == data.DisabledStudentAllowanceID &&\r\n item.Description == data.Description;\r\n \r\n return returnData;\r\n });\r\n\t\t\tif(document.getElementsByClassName('listItem withActions').length == 0){\r\n\t\t\t\tvar dropDown=document.getElementById('AccessibilityNeedBoolean');\r\n\t\t\t\tdropDown.selectedIndex = resetAccessibilityDropDown;\r\n\t\t\t\tdropDown.dispatchEvent(new Event('change'));\r\n\t\t\t};\r\n };\r\n /** ADD/EDIT LIST METHODS **/\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n this.AnythingPopulated = ko.computed(function () {\r\n var res = sm.portal.vm.custom.callCustomization('PopulateAccessibilityNeedData', self);\r\n \r\n if (res == undefined && self.DataList().length > 0) {\r\n for (var i = 0; i < self.DataList().length; i++) {\r\n var dataItem = self.DataList()[i];\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.AccessibilityNeedTypeID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.AccessibilityNeedType())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.DisabilityStatusID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.DisabilityStatus())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.DisabledStudentAllowanceID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.DisabledStudentAllowanceName())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.Description())) return true;\r\n }\r\n }\r\n if (res != undefined) {\r\n return res;\r\n }\r\n return false;\r\n }, this);\r\n\r\n var validation = sm.portal.vm.custom.callCustomization('OverrideAccessibilityValidation', self);\r\n\r\n if (sm.portal.utility.isNullOrEmpty(validation) && sm.portal.utility.isNullOrEmpty(self.CompletedFlag)) {\r\n this.Completed = ko.computed(function () {\r\n if (this.IsRequired()) {\r\n return this.AnythingPopulated() && this.Touched();\r\n } else {\r\n return this.Touched();\r\n }\r\n }, this); \r\n }\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n\r\n /*** SECTION METHODS ***/\r\n function loadDisabilityStatusListItemModel(source, target) {\r\n for (var i = 0; i < source.length; i++) {\r\n target.push(new DisabilityStatusListItemViewModel({\r\n PrimaryID: source[i].PrimaryID,\r\n PrimaryText: source[i].PrimaryText,\r\n AccessibilityNeedTypeIDs: source[i].AccessibilityNeedTypeIDs\r\n }));\r\n }\r\n return target;\r\n };\r\n\r\n this.LoadModel = function (container) {\r\n // update application section configurations\r\n if(container && container.Payload && container.Payload.Config){\r\n viewModel.SetSectionsConfigData(\"AccessibilityNeed\", container.Payload.Config);\r\n // To handle inclusion usecase\r\n var showSection = container.Payload.Config.ShowSection;\r\n !sm.portal.utility.isNullOrEmpty(showSection) && this.sectionVisibleByConfig(showSection);\r\n }\r\n if(container.Payload.ListData){\r\n this.AccessibilityNeedTypes = smapi.access.loadListItemModels(container.Payload.ListData.AccessibilityNeedTypes, this.AccessibilityNeedTypes);\r\n this.DisabilityStatuses = smapi.access.loadListItemModels(container.Payload.ListData.DisabilityStatuses, this.DisabilityStatuses);\r\n this.DisabledStudentAllowances = smapi.access.loadListItemModels(container.Payload.ListData.DisabledStudentAllowances, this.DisabledStudentAllowances);\r\n this.DisabilityStatusMatrix = loadDisabilityStatusListItemModel(container.Payload.ListData.DisabilityStatusChangeMatrix.DisabilityStatusLookup, this.DisabilityStatusMatrix);\r\n var data = {\r\n self : self,\r\n container : container\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadAccessibilityNeedData', data);\r\n }\r\n var disabledStudentAllowanceID = 0;\r\n if (container.Payload.DisabledStudentAllowanceID != null) {\r\n disabledStudentAllowanceID = container.Payload.DisabledStudentAllowanceID;\r\n }\r\n\r\n if (container.Payload.AccessibilityNeed != null) {\r\n var data = {\r\n self : self,\r\n container : container\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadModelExtraData', data); \r\n\r\n var cuData = {\r\n container: container\r\n };\r\n sm.portal.vm.custom.callCustomization('IsNoKnowDisabilityForAccessibility', cuData);\r\n \r\n for (var i = 0; i < container.Payload.AccessibilityNeed.length; i++) {\r\n\r\n var accessibility = container.Payload.AccessibilityNeed[i];\r\n var newDataItem = new sm.portal.vm.AccessibilityNeedDataItem({\r\n AccessibilityNeedTypeID: accessibility.AccessibilityNeedTypeID,\r\n AccessibilityNeedType: accessibility.AccessibilityNeedType,\r\n DisabilityStatusID: accessibility.DisabilityStatusID,\r\n DisabilityStatus: accessibility.DisabilityStatus,\r\n DisabledStudentAllowanceID: disabledStudentAllowanceID,\r\n DisabledStudentAllowanceName: '',\r\n Description: accessibility.Description,\r\n AccessibilityNeedTypes: this.AccessibilityNeedTypes,\r\n DisabilityStatuses: this.DisabilityStatuses,\r\n DisabledStudentAllowances: this.DisabledStudentAllowances,\r\n DisabilityStatusMatrix: this.DisabilityStatusMatrix,\r\n ID: accessibility.ID,\r\n GID: accessibility.GID\r\n });\r\n \r\n \r\n this.DataList.push(newDataItem);\r\n var data = {\r\n self : self,\r\n container : container,\r\n accessibility : accessibility,\r\n newDataItem : newDataItem\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadAcessibilityModelData', data)\r\n }\r\n\r\n }\r\n\r\n this.DataLoading(false);\r\n this.DataLoaded(true);\r\n if (smapi.constant.applicationDebugFlag) { console.log('[AccessibilityNeedVM] Data Loaded'); }\r\n };\r\n this.GetModelData = function (blockui, applicationMID, personMID, callback) {\r\n \r\n if (!this.DataLoaded() && !this.DataLoading()) {\r\n\r\n this.DataLoading(true);\r\n if(!sm.portal.utility.isNullOrEmpty(viewModel.allCustomData())) {\r\n self.LoadModel(viewModel.allCustomData().AccessibilityNeed);\r\n callback && callback(viewModel.allCustomData().AccessibilityNeed);\r\n return;\r\n }\r\n if (blockui) { jQuery.blockUI(); }\r\n var url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/getapplicationsection?sectionName=accessibilityneed&attemptmid={0}', applicationMID);\r\n\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 sm.portal.page.application.modelDataResponseHandler(self, data, applicationMID, personMID);\r\n callback && callback(data);\r\n },\r\n error: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n sm.portal.page.application.handleErrorWithMessages(self, jqXHR, 'fetch');\r\n callback && callback();\r\n }\r\n });\r\n } else {\r\n callback && callback();\r\n }\r\n };\r\n\r\n this.CheckInclusion = function (applicationMID, personMID) {\r\n if(self.sectionIncluded()) return;\r\n \r\n var url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/CheckApplicationSectionInclusion?sectionName=accessibilityneed&attemptmid={0}', applicationMID);\r\n\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 self.sectionIncluded(true);\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n if (data.Status == 'success') {\r\n var result = container.Payload.InclusionResult;\r\n var sectionsToAdd = Array();\r\n var sectionsToRemove = Array();\r\n\r\n console.log('Inclusion Result for Accessibility Need: ' + result);\r\n switch (result) {\r\n case \"Included\":\r\n sectionsToAdd.push({ section: 'AccessibilityNeed', required: false });\r\n break;\r\n case \"Required\":\r\n sectionsToAdd.push({ section: 'AccessibilityNeed', required: true });\r\n break;\r\n case \"Exclude\":\r\n sectionsToRemove.push('AccessibilityNeed');\r\n break;\r\n }\r\n console.log('Calling Maintain Sections');\r\n if(self.sectionVisibleByConfig() === false && (result == \"Included\" || result == \"Required\")){\r\n sectionsToAdd = null; // If section is hidden by Configuration, don't add the section\r\n }\r\n viewModel.MaintainSections(sectionsToAdd, sectionsToRemove);\r\n }\r\n },\r\n error: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n }\r\n });\r\n };\r\n\r\n this.BlockContainer = function () {\r\n jQuery(\"#\" + self.DataContainer()).block({ message: sm.portal.utility.getResourceValue('Loading') });\r\n };\r\n this.UnBlockContainer = function () {\r\n jQuery(\"#\" + self.DataContainer()).unblock();\r\n viewModel.SetFocus();\r\n };\r\n this.ProcessOnServer = function () {\r\n return true;\r\n };\r\n this.ExtractATO = function () {\r\n\r\n var atoList = Array();\r\n var accessibilityNeedBooleanCheck = self.AccessibilityNeedBooleanValue(); \r\n \r\n var data = {\r\n atoList: atoList,\r\n accessibilityNeedBooleanCheck : accessibilityNeedBooleanCheck,\r\n self : self\r\n }\r\n sm.portal.vm.custom.callCustomization('ExtractATOAccessibility', data, function(){\r\n for (var i = 0; i < self.DataList().length; i++) {\r\n var dataListItem = self.DataList()[i];\r\n var ato = dataListItem.ExtractATO();\r\n atoList.push(ko.toJS(ato));\r\n }\r\n })\r\n return atoList;\r\n };\r\n /*** SECTION METHODS ***/\r\n\r\n return self;\r\n };\r\n\r\n function AccessibilityNeedDataItem(options) {\r\n var defaults = {\r\n AccessibilityNeedTypeID: '',\r\n DisabilityStatusID: '',\r\n Description: '',\r\n DisabledStudentAllowanceID: '',\r\n DisabledStudentAllowanceName: '',\r\n InEditMode: false,\r\n ID: -1,\r\n GID: Guid.create().toString(),\r\n AccessibilityNeedTypes: null,\r\n DisabilityStatuses: null,\r\n DisabledStudentAllowances: null,\r\n DisabilityStatusMatrix: null\r\n };\r\n \r\n sm.portal.vm.custom.callCustomization('ExtraAccessibilityNeedDataItem', defaults);\r\n\r\n var settings = jQuery.extend({}, defaults, options);\r\n var ukFeatureEnabled = sm.portal.utility.isUKFeatureEnabled();\r\n // Self-Identification\r\n var self = this;\r\n\r\n self.AccessibilityNeedTypeID = ko.validatedObservable(settings.AccessibilityNeedTypeID);\r\n self.AccessibilityNeedType = ko.validatedObservable(settings.AccessibilityNeedType);\r\n self.DisabilityStatusID = ko.validatedObservable(settings.DisabilityStatusID);\r\n self.DisabilityStatus = ko.validatedObservable(settings.DisabilityStatus);\r\n self.DisabledStudentAllowanceID = ko.validatedObservable(settings.DisabledStudentAllowanceID);\r\n self.DisabledStudentAllowanceName = ko.validatedObservable(settings.DisabledStudentAllowanceName);\r\n self.Description = ko.validatedObservable(settings.Description);\r\n self.GID = ko.validatedObservable(settings.GID);\r\n self.ID = ko.validatedObservable(settings.ID);\r\n self.InEditMode = ko.observable(settings.InEditMode);\r\n var data = {\r\n self : self,\r\n settings : settings\r\n }\r\n\r\n sm.portal.vm.custom.callCustomization('UpdateAccessibilitySettings', data);\r\n\r\n if (settings.AccessibilityNeedTypes == undefined || settings.AccessibilityNeedTypes == null) {\r\n self.AccessibilityNeedTypes = ko.observableArray();\r\n } else {\r\n self.AccessibilityNeedTypes = settings.AccessibilityNeedTypes;\r\n }\r\n\r\n if (settings.DisabilityStatuses == undefined || settings.DisabilityStatuses == null) {\r\n self.DisabilityStatuses = ko.observableArray();\r\n } else {\r\n self.DisabilityStatuses = settings.DisabilityStatuses;\r\n var dataCus = {\r\n settings: settings,\r\n self: self\r\n }\r\n sm.portal.vm.custom.callCustomization('RemoveNoDisability', dataCus);\r\n }\r\n\r\n if (settings.DisabledStudentAllowances == undefined || settings.DisabledStudentAllowances == null) {\r\n self.DisabledStudentAllowances = ko.observableArray();\r\n } else {\r\n self.DisabledStudentAllowances = settings.DisabledStudentAllowances;\r\n }\r\n\r\n if (settings.DisabilityStatusMatrix == undefined || settings.DisabilityStatusMatrix == null) {\r\n self.DisabilityStatusMatrix = ko.observableArray();\r\n } else {\r\n self.DisabilityStatusMatrix = settings.DisabilityStatusMatrix;\r\n }\r\n\r\n \r\n self.ExtractATO = function () {\r\n // [EXTEND] New fields added to view model need to be updated here\r\n var response = sm.portal.vm.custom.callCustomization('ExtractAtoForAccessibility', self);\r\n if(!sm.portal.utility.isNullOrEmpty(response)){\r\n return response;\r\n }\r\n var AccessibilityNeedModel = new smapi.community.AccessibilityNeedModel({\r\n AccessibilityNeedTypeID: self.AccessibilityNeedTypeID(),\r\n DisabilityStatusID: self.DisabilityStatusID(),\r\n Description: self.Description(),\r\n EffectsAssessments: 1,\r\n ID: self.ID(),\r\n GID: self.GID()\r\n });\r\n\r\n if(ukFeatureEnabled){\r\n var disabledStudentAllowanceInformation = {\r\n DisabledStudentAllowanceID: self.DisabledStudentAllowanceID(),\r\n DisabledStudentAllowanceName: self.DisabledStudentAllowanceName()\r\n };\r\n\r\n return {\r\n AccessibilityNeedModel: AccessibilityNeedModel,\r\n DisabledStudentAllowanceInformation: disabledStudentAllowanceInformation\r\n };\r\n } else {\r\n return AccessibilityNeedModel;\r\n }\r\n \r\n };\r\n\r\n /*** FILTER FUNCTION ***/\r\n self.DisabilityStatusFilter = function (accessibilityNeedTypeID) {\r\n\r\n var sourceMatrix = self.DisabilityStatusMatrix;\r\n\r\n var resultList = Array();\r\n\r\n for (var i = 0; i < sourceMatrix.length; i++) {\r\n\r\n var currentItem = sourceMatrix[i];\r\n\r\n // Construct the Match Checkers\r\n var accessibilityNeedTypeMatch = sm.portal.utility.isNullOrEmpty(accessibilityNeedTypeID) ? '' : '|' + accessibilityNeedTypeID + '|';\r\n\r\n // Make the checks\r\n var isMatch = true;\r\n\r\n // Accessibility Need Type\r\n if (!sm.portal.utility.isNullOrEmpty(accessibilityNeedTypeMatch) && currentItem.AccessibilityNeedTypeIDs.indexOf(accessibilityNeedTypeMatch) < 0) {\r\n isMatch = false;\r\n }\r\n\r\n // Final check for NO FILTER VALUES.\r\n if (sm.portal.utility.isNullOrEmpty(accessibilityNeedTypeMatch)) {\r\n isMatch = false;\r\n }\r\n\r\n if (isMatch) {\r\n var newItem = new smapi.access.ListItemModel({ Text: currentItem.PrimaryText, Value: currentItem.PrimaryID, ID: currentItem.PrimaryID });\r\n resultList.push(newItem);\r\n }\r\n }\r\n\r\n return resultList;\r\n } \r\n /*** FILTER FUNCTION ***/\r\n\r\n\r\n\r\n /*** COMPUTED LIST PROPERTIES ***/\r\n\r\n var retValue = sm.portal.vm.custom.callCustomization(\r\n \"OverrideAccessibilityOptions\",\r\n self\r\n );\r\n\r\n if (sm.portal.utility.isNullOrEmpty(retValue)) {\r\n self.AvailableDisabilityStatuses = ko.computed(function () {\r\n return self.DisabilityStatusFilter(self.AccessibilityNeedTypeID());\r\n }, this);\r\n } \r\n\r\n\r\n \r\n /*** COMPUTED LIST PROPERTIES ***/\r\n sm.portal.vm.custom.callCustomization('OverrideValidationsForAccessibility', self)\r\n /*** VALIDATION METHODS ***/\r\n self.AccessibilityNeedTypeID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n }\r\n });\r\n self.DisabilityStatusID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n }\r\n });\r\n self.Description.extend({\r\n maxLength: {\r\n params: 255,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '100')\r\n }\r\n });\r\n\r\n self.DisabledStudentAllowanceID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n\r\n // Set Model Grouping for validation\r\n this.ModelErrors = ko.validation.group(this);\r\n // Check if Model is valid \r\n // (will NOT validate attached models, unless we\r\n // init that in ui.js - currently it has performance problems)\r\n this.IsVMValid = function () {\r\n if (this.ModelErrors().length == 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n this.Completed = ko.computed(function () {\r\n var isCompleted = this.IsVMValid();\r\n return isCompleted;\r\n }, this);\r\n /*** VALIDATION METHODS ***/\r\n\r\n return self;\r\n };\r\n\r\n function DisabilityStatusListItemViewModel(options) {\r\n\r\n var defaults = {\r\n PrimaryID: 0,\r\n PrimaryText: '',\r\n AccessibilityNeedTypeIDs: ''\r\n };\r\n var settings = jQuery.extend({}, defaults, options);\r\n\r\n // Self-Identification\r\n var self = this;\r\n\r\n this.PrimaryID = ko.observable(settings.PrimaryID);\r\n this.PrimaryText = ko.observable(settings.PrimaryText);\r\n this.AccessibilityNeedTypeIDs = ko.observable(settings.AccessibilityNeedTypeIDs);\r\n\r\n return self;\r\n }\r\n\r\n jQuery.extend(true, sm.portal.vm, {\r\n AccessibilityNeedViewModel: AccessibilityNeedViewModel,\r\n AccessibilityNeedDataItem: AccessibilityNeedDataItem,\r\n DisabilityStatusListItemViewModel: DisabilityStatusListItemViewModel\r\n });\r\n\r\n})(jQuery);"]}