{"version":3,"file":"sm.portal.vm.placementTest.gre.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","placementTest","GREViewModel","options","settings","PlacementTestType","ID","TestDate","Verbal","Quantitative","AnalyticalWriting","Mode","Index","self","this","ko","observable","validatedObservable","Touched","Clone","Copy","data","Clear","ScoreSummary","computed","utility","getResourceValue","ItemAsString","AnythingPopulated","isNullOrEmpty","Completed","ExtractATO","smapi","admissions","GREGeneralModel","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"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.placementTest.gre.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 // GRE View Model\r\n // Holds the GRE Scores\r\n /**************************************/\r\n function GREViewModel(options) {\r\n var defaults = {\r\n PlacementTestType: 'GRE',\r\n ID: 0,\r\n TestDate: null,\r\n Verbal: 0,\r\n Quantitative: 0,\r\n AnalyticalWriting: 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.Verbal = ko.validatedObservable(settings.Verbal);\r\n this.Quantitative = ko.validatedObservable(settings.Quantitative);\r\n this.AnalyticalWriting = ko.validatedObservable(settings.AnalyticalWriting);\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.GREViewModel({\r\n ID: this.ID(),\r\n TestDate: this.TestDate(),\r\n Quantitative: this.Quantitative(),\r\n Verbal: this.Verbal(),\r\n AnalyticalWriting: this.AnalyticalWriting(),\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.GREViewModel({\r\n ID: data.ID(),\r\n TestDate: data.TestDate(),\r\n Quantitative: data.Quantitative(),\r\n Verbal: data.Verbal(),\r\n AnalyticalWriting: data.AnalyticalWriting(),\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.AnalyticalWriting('');\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('AnalyticalWriting') + ': ' + this.AnalyticalWriting();\r\n }, this);\r\n this.ItemAsString = ko.computed(function () {\r\n var str = this.TestDate() + this.Verbal() + this.Quantitative() + this.AnalyticalWriting();\r\n return str;\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.Verbal())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.Quantitative())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(self.AnalyticalWriting())) return true;\r\n\r\n return false;\r\n\r\n }, this);\r\n this.Completed = ko.computed(function () {\r\n\r\n var isCompleted = this.AnythingPopulated() || this.Touched();\r\n return isCompleted;\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.GREGeneralModel({\r\n ID: self.ID(),\r\n TestDate: self.TestDate(),\r\n Verbal: self.Verbal(),\r\n Quantitative: self.Quantitative(),\r\n Writing: self.AnalyticalWriting(),\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.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: 170,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_LessThan0_Key), '170')\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.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: 170,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_LessThan0_Key), '170')\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.AnalyticalWriting.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: 6,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_LessThan0_Key), '6')\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 GREViewModel: GREViewModel,\r\n });\r\n\r\n})(jQuery);"]}