{"version":3,"file":"sm.portal.vm.qualifications.min.js","names":["jQuery","undefined","sm","window","QualificationOnEntryDataItem","options","defaults","QualificationYear","QualificationSittingID","QualificationSubjectID","QualificationTypeID","QualificationGrade","InEditMode","ID","GID","QualificationSittings","QualificationSubjects","QualificationTypes","portal","vm","custom","callCustomization","settings","extend","self","this","ko","validatedObservable","QualificationSitting","QualificationSubject","QualificationType","data","observable","observableArray","ExtractATO","response","smapi","community","HesaQualificationResultModel","maxLength","params","message","utility","formatString","getResourceValue","constant","validate_0CharactersOrLess_Key","min","max","number","validate_MustBeNumeric_Key","required","validate_FieldRequired_Key","ModelErrors","validation","group","IsVMValid","length","Completed","computed","QualificationsOnEntryViewModel","DataList","DataLoaded","DataLoading","DataContainer","Touched","IsRequired","DataLoadErrorCount","sectionVisibleByConfig","QualificationInformationText","HesaQualificationTypeCode","QualificationYearCompletedText","QualificationFormTemplate","QualificationYears","QualificationTypeText","QualificationSummaryForm","HesaQualificationTypeCodeValue","setCustomLocalizeKey","WorkingItem","OriginalItem","SaveWorkingChanges","workingItem","SectionRequired","GetQualificationSittingNameById","name","GetQualificationSubjectNameById","GetQualificationTypeNameById","updatedWorkingItem","customData","push","ui","comboBox","hide","show","not","id","i","Value","Text","PersistQualification","PersonID","personID","CancelWorkingChanges","EditItem","event","page","application","fieldHelp","AddItem","tempWI","rules","RemoveItem","remove","item","AnythingPopulated","dataItem","isNullOrEmpty","CompletedFlag","LoadModel","container","Payload","Config","viewModel","SetSectionsConfigData","showSection","ShowSection","ListData","access","loadListItemModels","QualificationSittingOptions","QualificationSubjectOptions","QualificationTypeOptions","QualificationResults","qualification","newDataItem","applicationDebugFlag","console","log","GetModelData","blockui","applicationMID","personMID","callback","allCustomData","QualificationsOnEntry","blockUI","url","_baseApiUri","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","textStatus","jqXHR","modelDataResponseHandler","error","exception","modelErrorHandler","handleErrorWithMessages","CheckInclusion","ApiContainerModel","Status","ValidationTitle","ValidationMessages","result","InclusionResult","sectionsToAdd","Array","sectionsToRemove","section","MaintainSections","BlockContainer","block","UnBlockContainer","unblock","SetFocus","ProcessOnServer","atoList","ato","toJS"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.qualifications.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 // Qualifications On Entry Data View Model\r\n // Holds the applicant qualifications on entry data\r\n /****************************************/\r\n function QualificationsOnEntryViewModel() {\r\n\r\n // Self-Identification\r\n var self = this;\r\n\r\n /*** PROPERTIES ***/\r\n this.DataList = ko.observableArray();\r\n /*** PROPERTIES ***/\r\n\r\n /*** LIST DATA PROPERTIES ***/\r\n this.QualificationSittings = ko.observableArray();\r\n this.QualificationSubjects = ko.observableArray();\r\n this.QualificationTypes = 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(\"QualificationsContainer\");\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.QualificationInformationText = ko.observable('');\r\n this.HesaQualificationTypeCode = ko.observable('');\r\n this.QualificationYearCompletedText = ko.observable('');\r\n this.QualificationFormTemplate = ko.observable('');\r\n this.QualificationYears = ko.observableArray();\r\n this.QualificationTypeText = ko.observable('');\r\n this.QualificationSummaryForm = ko.observable('');\r\n this.HesaQualificationTypeCodeValue = ko.observable();\r\n \r\n /*** SECTION PROPERTIES ***/\r\n \r\n sm.portal.vm.custom.setCustomLocalizeKey(self);\r\n /** ADD/EDIT LIST METHODS **/\r\n this.WorkingItem = ko.observable(new sm.portal.vm.QualificationOnEntryDataItem({\r\n QualificationSittings: this.QualificationSittings,\r\n QualificationSubjects: this.QualificationSubjects,\r\n QualificationTypes: this.QualificationTypes\r\n }));\r\n this.OriginalItem = ko.observable(new sm.portal.vm.QualificationOnEntryDataItem({\r\n QualificationSittings: this.QualificationSittings,\r\n QualificationSubjects: this.QualificationSubjects,\r\n QualificationTypes: this.QualificationTypes\r\n }));\r\n sm.portal.vm.custom.callCustomization('UpdateQualificationProperties', self);\r\n\r\n this.SaveWorkingChanges = function () {\r\n\r\n var workingItem = new sm.portal.vm.QualificationOnEntryDataItem({\r\n QualificationYear: self.WorkingItem().QualificationYear(),\r\n QualificationSittingID: self.WorkingItem().QualificationSittingID(),\r\n QualificationSitting: self.WorkingItem().QualificationSitting(),\r\n QualificationSubjectID: self.WorkingItem().QualificationSubjectID(),\r\n QualificationSubject: self.WorkingItem().QualificationSubject(),\r\n QualificationTypeID: self.WorkingItem().QualificationTypeID(),\r\n QualificationType: self.WorkingItem().QualificationType(),\r\n QualificationGrade: self.WorkingItem().QualificationGrade(),\r\n InEditMode: self.WorkingItem().InEditMode(),\r\n SectionRequired: self.IsRequired(),\r\n QualificationSittings: this.QualificationSittings,\r\n QualificationSubjects: this.QualificationSubjects,\r\n QualificationTypes: this.QualificationTypes\r\n });\r\n\r\n\r\n\r\n if (workingItem.QualificationSittingID()) {\r\n workingItem.QualificationSitting(self.GetQualificationSittingNameById(workingItem.QualificationSittingID()).name);\r\n }\r\n\r\n if (workingItem.QualificationSubjectID()) {\r\n workingItem.QualificationSubject(self.GetQualificationSubjectNameById(workingItem.QualificationSubjectID()).name);\r\n }\r\n\r\n if (workingItem.QualificationTypeID()) {\r\n workingItem.QualificationType(self.GetQualificationTypeNameById(workingItem.QualificationTypeID()).name);\r\n }\r\n\r\n var updatedWorkingItem = sm.portal.vm.custom.callCustomization('SaveQualificationWorkingChanges', self,\r\n function(){\r\n self.WorkingItem(new sm.portal.vm.QualificationOnEntryDataItem({\r\n QualificationSittings: this.QualificationSittings,\r\n QualificationSubjects: this.QualificationSubjects,\r\n QualificationTypes: this.QualificationTypes\r\n }));\r\n } \r\n ); \r\n \r\n if(updatedWorkingItem){\r\n workingItem = updatedWorkingItem;\r\n }\r\n \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 sm.portal.vm.custom.callCustomization('UpdateCompletedProp', self);\r\n } else {\r\n // NOTE: Edits automatically bind back to the list (knockout is cool, huh?)\r\n workingItem.InEditMode(false);\r\n var customData = {\r\n self : self,\r\n workingItem : workingItem\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateWorkingItemOnSave', customData,\r\n function(){\r\n self.OriginalItem().QualificationSittingID(workingItem.QualificationSittingID());\r\n self.OriginalItem().InEditMode(workingItem.InEditMode()); \r\n }\r\n \r\n );\r\n self.OriginalItem().QualificationYear(workingItem.QualificationYear());\r\n self.OriginalItem().QualificationSittingID(workingItem.QualificationSittingID());\r\n self.OriginalItem().QualificationSitting(workingItem.QualificationSitting());\r\n self.OriginalItem().QualificationSubjectID(workingItem.QualificationSubjectID());\r\n self.OriginalItem().QualificationSubject(workingItem.QualificationSubject());\r\n self.OriginalItem().QualificationTypeID(workingItem.QualificationTypeID());\r\n self.OriginalItem().QualificationType(workingItem.QualificationType());\r\n self.OriginalItem().QualificationGrade(workingItem.QualificationGrade());\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 sm.portal.vm.custom.callCustomization('FocusOnApplicationContentArea');\r\n }\r\n };\r\n\r\n this.GetQualificationSittingNameById = function (id) {\r\n\r\n for (var i = 0; i < self.QualificationSittings().length; i++) {\r\n if (self.QualificationSittings()[i].Value() === id) {\r\n return self.QualificationSittings()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.GetQualificationSubjectNameById = function (id) {\r\n\r\n for (var i = 0; i < self.QualificationSubjects().length; i++) {\r\n if (self.QualificationSubjects()[i].Value() === id) {\r\n return self.QualificationSubjects()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.GetQualificationTypeNameById = function (id) {\r\n\r\n for (var i = 0; i < self.QualificationTypes().length; i++) {\r\n if (self.QualificationTypes()[i].Value() === id) {\r\n return self.QualificationTypes()[i].Text();\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n this.PersistQualification = function (PersonID) {\r\n var customData = {\r\n self: self,\r\n personID : PersonID\r\n }\r\n sm.portal.vm.custom.callCustomization('PersistQualificationAditionalFields', customData);\r\n }\r\n\r\n this.CancelWorkingChanges = function () {\r\n \r\n sm.portal.vm.custom.callCustomization('QualificationsCancelWorkingChanges', self,\r\n function(){\r\n self.WorkingItem(new sm.portal.vm.QualificationOnEntryDataItem({\r\n QualificationSittings: this.QualificationSittings,\r\n QualificationSubjects: this.QualificationSubjects,\r\n QualificationTypes: this.QualificationTypes\r\n }));\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 sm.portal.vm.custom.callCustomization('FocusOnApplicationContentArea');\r\n };\r\n this.EditItem = function (data, event) {\r\n self.OriginalItem(data);\r\n var customData = {\r\n self: self,\r\n data: data\r\n }\r\n sm.portal.vm.custom.callCustomization('EditItemForQualifications', customData,\r\n function(){\r\n self.WorkingItem(data);\r\n } \r\n );\r\n \r\n self.WorkingItem().InEditMode(true);\r\n\r\n\r\n jQuery('.dataDisplayView').hide();\r\n jQuery('.dataEntryView').show();\r\n\r\n sm.portal.ui.comboBox();\r\n sm.portal.page.application.fieldHelp();\r\n };\r\n\r\n this.AddItem = function (data, event) {\r\n var tempWI = new QualificationOnEntryDataItem();\r\n var IsAddItem = sm.portal.vm.custom.callCustomization('AddItemForQualification');\r\n \r\n if(!IsAddItem){\r\n tempWI.QualificationTypeID.rules()[0].params = false;\r\n tempWI.QualificationSubjectID.rules()[0].params = false;\r\n }\r\n \r\n self.WorkingItem(tempWI);\r\n sm.portal.page.application.fieldHelp();\r\n };\r\n\r\n this.RemoveItem = function (data, event) {\r\n var customData = {\r\n data : data,\r\n self : self\r\n }\r\n sm.portal.vm.custom.callCustomization('RemoveItemForQualification', customData,\r\n function(){\r\n self.DataList.remove(function (item) {\r\n return item.QualificationYear == data.QualificationYear &&\r\n item.QualificationSittingID == data.QualificationSittingID &&\r\n item.QualificationSubjectID == data.QualificationSubjectID &&\r\n item.QualificationTypeID == data.QualificationTypeID &&\r\n item.QualificationGrade == data.QualificationGrade;\r\n });\r\n }\r\n );\r\n \r\n \r\n };\r\n /** ADD/EDIT LIST METHODS **/\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n this.AnythingPopulated = ko.computed(function () {\r\n if (this.DataList().length > 0) {\r\n for (var i = 0; i < this.DataList().length; i++) {\r\n var dataItem = this.DataList()[i];\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationYear())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationSittingID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationSitting())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationSubjectID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationSubject())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationTypeID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationType())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(dataItem.QualificationGrade())) return true;\r\n sm.portal.vm.custom.callCustomization('AnythingPopulatedForQualification', dataItem);\r\n \r\n }\r\n }\r\n return false;\r\n }, this);\r\n\r\n if(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\r\n /*** COMPUTED PROPERTIES ***/\r\n\r\n /*** SECTION METHODS ***/\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(\"QualificationsOnEntry\", 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\r\n if (container.Payload.ListData != undefined) {\r\n this.QualificationSittings = smapi.access.loadListItemModels(container.Payload.ListData.QualificationSittingOptions, this.QualificationSittings);\r\n this.QualificationSubjects = smapi.access.loadListItemModels(container.Payload.ListData.QualificationSubjectOptions, this.QualificationSubjects);\r\n this.QualificationTypes = smapi.access.loadListItemModels(container.Payload.ListData.QualificationTypeOptions, this.QualificationTypes);\r\n }\r\n var data = {\r\n container : container,\r\n self : self\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadQualificationModel', data);\r\n\r\n if (container.Payload.QualificationResults != null) {\r\n\r\n for (var i = 0; i < container.Payload.QualificationResults.length; i++) {\r\n\r\n var qualification = container.Payload.QualificationResults[i];\r\n\r\n var newDataItem = new sm.portal.vm.QualificationOnEntryDataItem({\r\n QualificationYear: qualification.QualificationYear,\r\n QualificationSittingID: qualification.QualificationSittingID,\r\n QualificationSitting: qualification.QualificationSitting,\r\n QualificationSubjectID: qualification.QualificationSubjectID,\r\n QualificationSubject: qualification.QualificationSubject,\r\n QualificationTypeID: qualification.QualificationTypeID,\r\n QualificationType: qualification.QualificationType,\r\n QualificationGrade: qualification.QualificationGrade,\r\n QualificationSittings: this.QualificationSittings,\r\n QualificationSubjects: this.QualificationSubjects,\r\n QualificationTypes: this.QualificationTypes\r\n });\r\n\r\n this.DataList.push(newDataItem);\r\n }\r\n\r\n var data = {\r\n container : container,\r\n self : self\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadHesaQualificationProperties', data);\r\n } \r\n\r\n this.DataLoading(false);\r\n this.DataLoaded(true);\r\n if (smapi.constant.applicationDebugFlag) { console.log('[QualificationsVM] Data Loaded'); }\r\n };\r\n\r\n this.GetModelData = function (blockui, applicationMID, personMID, callback) {\r\n \r\n if (!this.DataLoaded() && !this.DataLoading()) {\r\n this.DataLoading(true);\r\n if(!sm.portal.utility.isNullOrEmpty(viewModel.allCustomData())) {\r\n self.LoadModel(viewModel.allCustomData().QualificationsOnEntry);\r\n callback && callback(viewModel.allCustomData().QualificationsOnEntry);\r\n return;\r\n }\r\n if (blockui) { jQuery.blockUI(); }\r\n var data = {\r\n applicationMID : applicationMID,\r\n personMID :personMID\r\n }\r\n var url;\r\n url = sm.portal.vm.custom.callCustomization('GetModelDataForQualification', data);\r\n if(!url){\r\n url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/getapplicationsection?sectionName=qualifications&attemptmid={0}', applicationMID); \r\n } \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 \r\n var data = {\r\n applicationMID : applicationMID,\r\n personMID : personMID\r\n }\r\n var url;\r\n url = sm.portal.vm.custom.callCustomization('SetUrlForQualificationCheckInclusion', data);\r\n\r\n if(!url){\r\n url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/CheckApplicationSectionInclusion?sectionName=qualifications&attemptmid={0}', applicationMID);\r\n }\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\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 Qualifications: ' + result);\r\n switch (result) {\r\n case \"Included\":\r\n sectionsToAdd.push({ section: 'Qualifications', required: false });\r\n break;\r\n case \"Required\":\r\n sectionsToAdd.push({ section: 'Qualifications', required: true });\r\n break;\r\n case \"Exclude\":\r\n sectionsToRemove.push('Qualifications');\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\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 QualificationOnEntryDataItem(options) {\r\n var defaults = {\r\n QualificationYear: '',\r\n QualificationSittingID: '',\r\n QualificationSubjectID: '',\r\n QualificationTypeID: '',\r\n QualificationGrade: '',\r\n InEditMode: false,\r\n ID: -1,\r\n GID: null,\r\n QualificationSittings: null,\r\n QualificationSubjects: null,\r\n QualificationTypes: null\r\n };\r\n sm.portal.vm.custom.callCustomization('SetDefaultPropsForQualificationDataItem', defaults);\r\n var settings = jQuery.extend({}, defaults, options);\r\n\r\n // Self-Identification\r\n var self = this;\r\n\r\n self.QualificationYear = ko.validatedObservable(settings.QualificationYear);\r\n self.QualificationSittingID = ko.validatedObservable(settings.QualificationSittingID);\r\n self.QualificationSitting = ko.validatedObservable(settings.QualificationSitting);\r\n self.QualificationSubjectID = ko.validatedObservable(settings.QualificationSubjectID);\r\n self.QualificationSubject = ko.validatedObservable(settings.QualificationSubject);\r\n self.QualificationTypeID = ko.validatedObservable(settings.QualificationTypeID);\r\n self.QualificationType = ko.validatedObservable(settings.QualificationType);\r\n self.QualificationGrade = ko.validatedObservable(settings.QualificationGrade);\r\n var data = {\r\n self : self,\r\n settings : settings\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateQualificationOnEntryDataItem', data);\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\r\n if (settings.QualificationSittings == undefined || settings.QualificationSittings == null) {\r\n self.QualificationSittings = ko.observableArray();\r\n } else {\r\n self.QualificationSittings = settings.QualificationSittings;\r\n }\r\n\r\n if (settings.QualificationSubjects == undefined || settings.QualificationSubjects == null) {\r\n self.QualificationSubjects = ko.observableArray();\r\n } else {\r\n self.QualificationSubjects = settings.QualificationSubjects;\r\n }\r\n\r\n if (settings.QualificationTypes == undefined || settings.QualificationTypes == null) {\r\n self.QualificationTypes = ko.observableArray();\r\n } else {\r\n self.QualificationTypes = settings.QualificationTypes;\r\n }\r\n\r\n \r\n self.ExtractATO = function () {\r\n var response = sm.portal.vm.custom.callCustomization('ExtractATOForQualification',self );\r\n if(response){\r\n return response;\r\n }\r\n return new smapi.community.HesaQualificationResultModel({\r\n QualificationTypeID: self.QualificationTypeID(),\r\n QualificationYear: self.QualificationYear(),\r\n QualificationSubjectID: self.QualificationSubjectID(),\r\n QualificationSittingID: self.QualificationSittingID(),\r\n QualificationGrade: self.QualificationGrade(),\r\n ID: self.ID(),\r\n GID: self.GID()\r\n });\r\n }\r\n\r\n sm.portal.vm.custom.callCustomization('SubscribeHesaQualification', self);\r\n\r\n sm.portal.vm.custom.callCustomization('OverrideQualificationsValidations', self); \r\n /*** VALIDATION METHODS ***/\r\n self.QualificationYear.extend({\r\n maxLength: {\r\n params: 4,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '4')\r\n },\r\n min: {\r\n params: 1930,\r\n message: sm.portal.utility.getResourceValue(\"QualificationYearMin\")\r\n },\r\n max: {\r\n params: 9999,\r\n message: sm.portal.utility.getResourceValue(\"QualificationYearMax\")\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 self.QualificationSittingID.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 self.QualificationSubjectID.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\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 self.QualificationTypeID.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\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 self.QualificationGrade.extend({\r\n maxLength: {\r\n params: 11,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '11')\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 jQuery.extend(true, sm.portal.vm, {\r\n QualificationsOnEntryViewModel: QualificationsOnEntryViewModel,\r\n QualificationOnEntryDataItem: QualificationOnEntryDataItem\r\n });\r\n\r\n})(jQuery);"]}