{"version":3,"file":"sm.portal.vm.placementTest.gmat.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","placementTest","GMATViewModel","options","settings","PlacementTestType","ID","TestDate","Quantitative","Verbal","AWA","Total","Mode","Index","self","this","ko","observable","validatedObservable","Touched","Clone","Copy","data","Clear","ScoreSummary","computed","utility","getResourceValue","AnythingPopulated","isNullOrEmpty","ExtractATO","smapi","admissions","GMATModel","Writing","required","params","message","constant","validate_FieldRequired_Key","smLocalDate","validate_MustBeADate_Key","min","formatString","validate_GreaterThan0_Key","max","validate_LessThan0_Key","number","validate_MustBeNumeric_Key","ModelErrors","validation","group","IsVMValid","length","Completed"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.placementTest.gmat.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 // GMAT View Model\r\n // Holds the GMAT Scores\r\n /**************************************/\r\n function GMATViewModel(options) {\r\n var defaults = {\r\n PlacementTestType: 'GMAT',\r\n ID: 0,\r\n TestDate: null,\r\n Quantitative: 0,\r\n Verbal: 0,\r\n AWA: 0,\r\n Total: 0,\r\n Mode: 'Add',\r\n Index: 0\r\n };\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.Quantitative = ko.validatedObservable(settings.Quantitative);\r\n this.Verbal = ko.validatedObservable(settings.Verbal);\r\n this.AWA = ko.validatedObservable(settings.AWA);\r\n this.Total = ko.validatedObservable(settings.Total);\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.GMATViewModel({\r\n ID: this.ID(),\r\n TestDate: this.TestDate(),\r\n Quantitative: this.Quantitative(),\r\n Verbal: this.Verbal(),\r\n AWA: this.AWA(),\r\n Total: this.Total(),\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.GMATViewModel({\r\n ID: data.ID(),\r\n TestDate: data.TestDate(),\r\n Quantitative: data.Quantitative(),\r\n Verbal: data.Verbal(),\r\n AWA: data.AWA(),\r\n Total: data.Total(),\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.Quantitative('');\r\n this.Verbal('');\r\n this.AWA('');\r\n this.Total('');\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('Quantitative') + ': ' + this.Quantitative() +\r\n ', ' + sm.portal.utility.getResourceValue('Verbal') + ': ' + this.Verbal() +\r\n ', ' + sm.portal.utility.getResourceValue('AWA') + ': ' + this.AWA() +\r\n ', ' + sm.portal.utility.getResourceValue('Total') + ': ' + this.Total();\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.Quantitative())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.Verbal())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.AWA())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.Total())) 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.GMATModel({\r\n ID: self.ID(),\r\n TestDate: self.TestDate(),\r\n Verbal: self.Verbal(),\r\n Quantitative: self.Quantitative(),\r\n Total: self.Total(),\r\n Writing: self.AWA(), \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.Quantitative.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: 0,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_GreaterThan0_Key), '0')\r\n },\r\n max: {\r\n params: 800,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_LessThan0_Key), '800')\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.Verbal.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: 0,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_GreaterThan0_Key), '0')\r\n },\r\n max: {\r\n params: 800,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_LessThan0_Key), '800')\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.AWA.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: 0,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_GreaterThan0_Key), '0')\r\n },\r\n max: {\r\n params: 800,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_LessThan0_Key), '800')\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.Total.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 GMATViewModel: GMATViewModel,\r\n });\r\n\r\n})(jQuery);"]}