{"version":3,"file":"sm.portal.vm.placementTest.praxisii.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","placementTest","PRAXISIIViewModel","options","settings","PlacementTestType","ID","TestDate","ETSID","TestName","Score","PassingScore","Mode","Index","self","this","ko","observable","validatedObservable","Touched","Clone","Copy","data","Clear","ScoreSummary","computed","utility","getResourceValue","AnythingPopulated","isNullOrEmpty","ExtractATO","smapi","admissions","PraxisIIModel","Name","required","params","message","constant","validate_FieldRequired_Key","smLocalDate","validate_MustBeADate_Key","maxLength","formatString","validate_0CharactersOrLess_Key","number","validate_MustBeNumeric_Key","ModelErrors","validation","group","IsVMValid","length","Completed"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.placementTest.praxisii.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 if (typeof sm.portal.vm.placementTest === \"undefined\") {\r\n jQuery.extend(sm.portal.vm, { placementTest: {} });\r\n }\r\n\r\n /**************************************/\r\n // PRAXIS II View Model\r\n // Holds the PRAXIS II Scores\r\n /**************************************/\r\n function PRAXISIIViewModel(options) {\r\n var defaults = {\r\n PlacementTestType: 'PRAXISII',\r\n ID: 0,\r\n TestDate: null,\r\n ETSID: '',\r\n TestName: '',\r\n Score: 0,\r\n PassingScore: 0,\r\n Mode: 'Add',\r\n Index: 0\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.PlacementTestType = ko.observable(settings.PlacementTestType);\r\n this.Index = ko.observable(settings.Index);\r\n this.ID = ko.observable(settings.ID);\r\n this.TestDate = ko.validatedObservable(settings.TestDate);\r\n this.ETSID = ko.validatedObservable(settings.ETSID);\r\n this.TestName = ko.validatedObservable(settings.TestName);\r\n this.Score = ko.validatedObservable(settings.Score);\r\n this.PassingScore = ko.validatedObservable(settings.PassingScore);\r\n\r\n // add/edit mode\r\n this.Mode = ko.observable(settings.Mode);\r\n\r\n /*** TEST PROPERTIES ***/\r\n this.Touched = ko.observable(false);\r\n this.Clone = function () {\r\n return new sm.portal.vm.placementTest.PRAXISIIViewModel({\r\n ID: this.ID(),\r\n TestDate: this.TestDate(),\r\n ETSID: this.ETSID(),\r\n TestName: this.TestName(),\r\n Score: this.Score(),\r\n PassingScore: this.PassingScore(),\r\n Mode: this.Mode(),\r\n Index: this.Index()\r\n });\r\n };\r\n this.Copy = function (data) {\r\n return new sm.portal.vm.placementTest.PRAXISIIViewModel({\r\n ID: data.ID(),\r\n TestDate: data.TestDate(),\r\n ETSID: data.ETSID(),\r\n TestName: data.TestName(),\r\n Score: data.Score(),\r\n PassingScore: data.PassingScore(),\r\n Mode: data.Mode(),\r\n Index: data.Index()\r\n });\r\n };\r\n this.Clear = function () {\r\n this.ID('');\r\n this.TestDate('');\r\n this.ETSID('');\r\n this.TestName('');\r\n this.Score('');\r\n this.PassingScore('');\r\n this.Index(0);\r\n this.Mode('Add');\r\n } \r\n /*** TEST PROPERTIES ***/\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n this.ScoreSummary = ko.computed(function () {\r\n return sm.portal.utility.getResourceValue('TestName') + ': ' + this.TestName() +\r\n ', ' + sm.portal.utility.getResourceValue('ETSID') + ': ' + this.ETSID() +\r\n ', ' + sm.portal.utility.getResourceValue('Score') + ': ' + this.Score() +\r\n ', ' + sm.portal.utility.getResourceValue('PassingScore') + ': ' + this.PassingScore();\r\n }, this);\r\n this.AnythingPopulated = ko.computed(function () {\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(self.TestDate())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.ETSID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.TestName())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.Score())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.PassingScore())) return true;\r\n\r\n return false;\r\n\r\n }, this);\r\n /*** COMPUTED PROPERTIES ***/\r\n\r\n /*** SECTION PROPERTIES ***/\r\n this.ExtractATO = function () {\r\n // [EXTEND] New fields added to view model need to be updated here\r\n return new smapi.admissions.PraxisIIModel({\r\n ID: self.ID(),\r\n TestDate: self.TestDate(),\r\n ETSID: self.ETSID(),\r\n Name: self.TestName(),\r\n Score: self.Score(),\r\n PassingScore: self.PassingScore(),\r\n });\r\n };\r\n /*** SECTION PROPERTIES ***/\r\n\r\n /*** VALIDATION METHODS ***/\r\n this.TestDate.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n smLocalDate: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.ETSID.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n maxLength: {\r\n params: 20,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '20')\r\n }\r\n });\r\n this.TestName.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n maxLength: {\r\n params: 255,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '255')\r\n }\r\n });\r\n this.Score.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_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 this.PassingScore.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_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() && (this.AnythingPopulated() || this.Touched());\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.placementTest, {\r\n PRAXISIIViewModel: PRAXISIIViewModel,\r\n });\r\n\r\n})(jQuery);"]}