{"version":3,"sources":["webpack:///./src/Permit/QuickValidation.vue?1a9f","webpack:///./src/Permit/QuickValidation.vue?9b6b","webpack:///./src/Permit/QuickValidation.vue?5e97","webpack:///./src/Permit/QuickValidation.vue?3303","webpack:///./src/Permit/QuickValidation.vue","webpack:///./src/Permit/QuickValidation.vue?7ec5"],"names":["render","_vm","this","_h","$createElement","_c","_self","directives","name","rawName","value","expression","staticClass","_m","staticStyle","_v","_s","locationWelcomeMessage","attrs","model","callback","$$v","plateNumber","formatDateTime","endDate","on","$event","createNotificationForPlate","scopedSlots","_u","key","fn","modalTitle","proxy","modalMessage","$bvModal","hide","staticRenderFns","quickValidation","extend","data","startDate","timeUpdateInterval","numHoursToValidate","isBusy","locationLotID","created","isNullOrWhitespace","$route","query","locationDisplayName","defaultNumHoursToValidate","tryParseInt","updateDates","setInterval","methods","Date","getEndDate","showModalError","title","message","show","showModalMessage","date","options","hour","minute","Intl","DateTimeFormat","navigator","language","format","setHours","getHours","input","trim","length","defaultValue","radix","Number","isNaN","Logger","Log","writeNotificationToVATS","result","statusText","Error","Promise","n","lotId","vehicleLicense","noteCodeDescription","noteText","hour12","month","day","year","url","VatsAPI","post","catch","e","beforeDestroy","clearInterval","component"],"mappings":"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","file":"js/chunk-52ee3c1a.4a8e14e8.js","sourcesContent":["import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickValidation.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickValidation.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"wait-indicator\",rawName:\"v-wait-indicator\",value:(_vm.isBusy),expression:\"isBusy\"}],staticClass:\"container-fluid\"},[_vm._m(0),_c('h2',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(_vm.locationWelcomeMessage))]),_c('h3',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"Please enter your license plate number below:\")]),_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-3 form-group text-center\"},[_c('br'),_c('b-form-input',{staticClass:\"form-control\",attrs:{\"size\":\"md\",\"type\":\"text\"},model:{value:(_vm.plateNumber),callback:function ($$v) {_vm.plateNumber=$$v},expression:\"plateNumber\"}}),_c('br'),_c('h4',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"Valid until \"+_vm._s(_vm.formatDateTime(_vm.endDate)))]),_c('br'),_c('b-button',{attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.createNotificationForPlate()}}},[_vm._v(\"VALIDATE\")]),_c('br')],1)]),_c('div',[_c('b-modal',{attrs:{\"id\":\"bv-modal-error\",\"centered\":\"\",\"header-class\":\"justify-content-center\",\"hide-footer\":\"\",\"hide-header-close\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('div',{staticClass:\"mx-auto\"},[_vm._v(\"\\n \"+_vm._s(_vm.modalTitle)+\"\\n \")])]},proxy:true}])},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(_vm._s(_vm.modalMessage))])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"block\":\"\",\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.$bvModal.hide('bv-modal-error')}}},[_vm._v(\"\\n OK\\n \")])],1)],1),_c('div',[_c('b-modal',{attrs:{\"id\":\"bv-modal-message\",\"centered\":\"\",\"header-class\":\"justify-content-center\",\"hide-footer\":\"\",\"hide-header-close\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('div',{staticClass:\"mx-auto\"},[_vm._v(\"\\n \"+_vm._s(_vm.modalTitle)+\"\\n \")])]},proxy:true}])},[_c('div',{staticClass:\"d-block text-center\"},[_c('h3',[_vm._v(_vm._s(_vm.modalMessage))])]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"block\":\"\",\"variant\":\"success\"},on:{\"click\":function($event){return _vm.$bvModal.hide('bv-modal-message')}}},[_vm._v(\"\\n OK\\n \")])],1)],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"paddedImage\"},[_c('img',{attrs:{\"alt\":\"AmeriPark\",\"height\":\"44\",\"src\":\"https://vats.municipalcitationsolutions.com/images/Ameripark.png\",\"width\":\"172\"}})]),_c('div',{staticClass:\"paddedImage\"},[_c('img',{attrs:{\"alt\":\"Merrick Park\",\"height\":\"44\",\"src\":\"https://vats.municipalcitationsolutions.com/images/MerrickPark.png\",\"width\":\"172\"}})])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport {Logger} from '@/Shared/Logger';\r\nimport {Notification} from '@/Admin/NotificationManagement/Notification';\r\nimport VatsAPI from '@/Shared/VatsAPI';\r\nimport {AxiosResponse} from 'axios';\r\nimport {DateTimeFormatOptions} from 'vue-i18n';\r\n\r\nconst quickValidation = Vue.extend({\r\n data() {\r\n return {\r\n // clock stuff\r\n startDate: {} as Date,\r\n endDate: {} as Date,\r\n timeUpdateInterval: {} as number,\r\n numHoursToValidate: {} as number,\r\n\r\n // messagebox stuff\r\n modalTitle: '' as string,\r\n modalMessage: '' as string,\r\n\r\n // cosmetic stuff\r\n locationWelcomeMessage: {} as string,\r\n isBusy: false as boolean,\r\n\r\n // Notification stuff\r\n locationLotID: null as string | null,\r\n plateNumber: null as string | null\r\n };\r\n },\r\n\r\n created() {\r\n if (!this.isNullOrWhitespace(this.$route.query.locationDisplayName as string)) {\r\n this.locationWelcomeMessage = `Welcome to ${this.$route.query.locationDisplayName}`;\r\n } else {\r\n // default\r\n this.locationWelcomeMessage = 'Welcome!';\r\n }\r\n\r\n const defaultNumHoursToValidate: number = 3;\r\n if (!this.isNullOrWhitespace(this.$route.query.numHoursToValidate as string)) {\r\n this.numHoursToValidate = this.tryParseInt(\r\n this.$route.query.numHoursToValidate as string,\r\n defaultNumHoursToValidate);\r\n } else {\r\n // default\r\n this.numHoursToValidate = defaultNumHoursToValidate;\r\n }\r\n\r\n this.locationLotID = (this.$route.query.locationLotID) as string | null;\r\n\r\n // immediately set the dates without waiting on setInterval to tick\r\n this.updateDates();\r\n\r\n // update the dates every second\r\n this.timeUpdateInterval = setInterval(() => {\r\n this.updateDates();\r\n }, 1000);\r\n },\r\n\r\n methods: {\r\n updateDates() {\r\n this.startDate = new Date();\r\n this.endDate = this.getEndDate(this.startDate, this.numHoursToValidate);\r\n },\r\n\r\n showModalError(title: string, message: string) {\r\n this.modalTitle = !title ? 'Error' : title;\r\n this.modalMessage = !message ? 'An error has occurred.' : message;\r\n\r\n this.$bvModal.show('bv-modal-error');\r\n },\r\n\r\n showModalMessage(title: string, message: string) {\r\n this.modalTitle = title;\r\n this.modalMessage = message;\r\n\r\n this.$bvModal.show('bv-modal-message');\r\n },\r\n\r\n formatDateTime(date?: number | Date | undefined, options?: DateTimeFormatOptions): string {\r\n // default options, used by the \"valid until\" message on screen.\r\n if (!options) {\r\n options = {\r\n hour: 'numeric',\r\n minute: 'numeric'\r\n };\r\n }\r\n\r\n // Concise way to format time according to system locale.\r\n return Intl.DateTimeFormat(navigator.language, options).format(date);\r\n },\r\n\r\n getEndDate(startDate: Date, numHoursToValidate: number): Date {\r\n // create the end date from the start date and add the expiration interval to it.\r\n let endDate = new Date(startDate);\r\n\r\n // tested at 11:50 PM; correctly returned \"2021-10-07T06:50:45.237Z\"\r\n // i.e., adding hours that sends the date past midnight correctly advances the calendar day\r\n endDate = new Date(endDate.setHours(endDate.getHours() + numHoursToValidate));\r\n\r\n return endDate;\r\n },\r\n\r\n isNullOrWhitespace(input: string | null | undefined) {\r\n return !input || input.trim().length < 1;\r\n },\r\n\r\n tryParseInt(input: string | null | undefined, defaultValue: number, radix: number = 10): number {\r\n const value: number = Number(input);\r\n return isNaN(value) ? defaultValue : value;\r\n },\r\n\r\n async createNotificationForPlate() {\r\n\r\n if (this.isNullOrWhitespace(this.plateNumber)) {\r\n this.showModalError('Invalid Plate', 'Please enter a valid plate number.');\r\n return;\r\n }\r\n\r\n try {\r\n // show busy\r\n this.isBusy = true;\r\n\r\n // do the thing\r\n Logger.Log(`Adding VATS notification for vehicle plate '${this.plateNumber}' from location '${this.locationWelcomeMessage}' as lotId '${this.locationLotID}'`);\r\n\r\n const result: AxiosResponse | void = await this.writeNotificationToVATS();\r\n\r\n if (!result || result.statusText !== 'OK') {\r\n // noinspection ExceptionCaughtLocallyJS\r\n throw new Error();\r\n }\r\n\r\n // report success\r\n Logger.Log(`Created notification with result '${result.statusText}'`);\r\n\r\n this.showModalMessage('Thank you!', `Plate ${this.plateNumber} is validated until ${this.formatDateTime(this.endDate)}.`);\r\n } catch (e) {\r\n Logger.Log(e);\r\n\r\n // report the problem to the user\r\n this.showModalError('Error validating plate', 'Error while validating vehicle. NOTE: Only one validation permitted per day.');\r\n } finally {\r\n // clear the textbox for the next entry\r\n this.plateNumber = '';\r\n\r\n // stop showing busy\r\n this.isBusy = false;\r\n }\r\n },\r\n async writeNotificationToVATS(): Promise | void> {\r\n // we don't need to read LocationDBName because it's always Merrick Park.\r\n // in fact, in testing, i keep getting \"vatsDBMobile\" by default because it's\r\n // where i happen to be logged in. it won't hurt anything if it's missing or wrong\r\n // since we ignore it, but it's irritating behavior.\r\n\r\n const n = {} as Notification;\r\n n.lotId = this.locationLotID ?? '';\r\n n.vehicleLicense = this.plateNumber!;\r\n n.startDate = this.startDate;\r\n n.endDate = this.endDate;\r\n n.noteCodeDescription = 'Permit';\r\n // TODO: confirm note text\r\n n.noteText = `Permit expires ${(this.formatDateTime(this.endDate, {\r\n hour12: true,\r\n month: 'short',\r\n day: 'numeric',\r\n year: 'numeric',\r\n hour: 'numeric',\r\n minute: 'numeric'\r\n } as DateTimeFormatOptions))}`;\r\n\r\n // gross hard coding of the location (Merrick Park)\r\n // ignores the value (if any) of the query parameter LocationDBName\r\n const url = `MerrickPark/QuickValidation/AddNotification`;\r\n\r\n return await VatsAPI.post(url, n)\r\n .catch((e) => {\r\n // uncaught, a post error sent us to the login page. we have to stay here!\r\n Logger.Log(`POST error: '${e}'`);\r\n });\r\n }\r\n },\r\n\r\n beforeDestroy() {\r\n // prevent memory leak\r\n clearInterval(this.timeUpdateInterval);\r\n }\r\n});\r\n\r\nexport default quickValidation;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickValidation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickValidation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuickValidation.vue?vue&type=template&id=7aba4737&scoped=true&\"\nimport script from \"./QuickValidation.vue?vue&type=script&lang=ts&\"\nexport * from \"./QuickValidation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./QuickValidation.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./QuickValidation.vue?vue&type=style&index=1&id=7aba4737&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7aba4737\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickValidation.vue?vue&type=style&index=1&id=7aba4737&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuickValidation.vue?vue&type=style&index=1&id=7aba4737&lang=scss&scoped=true&\""],"sourceRoot":""}