{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/core-js/modules/es.array.flat-map.js","webpack:///./src/@core/utils/offlineService.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js"],"names":["formSelectionMixin","extend","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_makeModelMixin","type","defaultValue","event","modelMixin","mixin","modelProps","props","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","mixins","data","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","mounted","$on","beforeDestroy","clearTimeout","formatValue","force","undefined","updateValue","_this","doUpdate","$emit","$input","setTimeout","onInput","composing","formattedValue","defaultPrevented","propagation","onChange","onBlur","focus","disabled","$el","blur","TYPES","list","max","min","noWheel","step","BFormInput","name","localType","computedAttrs","form","required","id","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","on","onWheelFocus","onWheelBlur","document","stopWheel","render","h","class","attrs","domProps","ref","$","flattenIntoArray","toObject","toLength","aFunction","arraySpeciesCreate","proto","flatMap","callbackfn","A","O","sourceLen","apiService","APIService","dbName","storeName","axiosIns","axios","create","timeout","vehicles","UserOwnVehicles","syncErrors","getSpecialID","specialID","localStorage","getItem","Number","setItem","String","checkDatabase","timelineID","Promise","resolve","reject","request","indexedDB","open","onsuccess","db","result","objectStoreNames","contains","transaction","objectStore","cursorRequest","openCursor","allPromises","cursor","innerResolve","requestData","oldBody","JSON","parse","TextDecoder","decode","body","continue","all","then","results","includes","onerror","error","close","onupgradeneeded","createObjectStore","changeNewItemInCache","postData","ClaimantFirstObserved","Synopsis","isOffLineEdited","VideoObtained","Created","Date","toISOString","changeTimelineInList","update","TextEncoder","encode","stringify","expenseID","Amount","ExpenseDate","Description","ExpenseCategoryID","changeNewExpenseInExpenses","getNewExpense","ExpenseID","newBody","caches","req","url","indexOf","ParentActivityID","match","cachedOldResponse","json","map","item","myOptions","status","statusText","headers","newCacheResponse","Response","put","ChildActivities","ActivityID","executeRequestsFromIndexedDB","openDB","tx","store","getAllFromStore","requests","complete","executeRequest","console","fetch","method","response","ok","deleteRequestFromStore","log","getAllRequest","getAll","deleteItem","requestId","deleteRequest","delete","isOldAction","inputDate","ScheduledDate","currentDate","timeDifference","dayDifference","Math","abs","cacheForOffline","rows","callBack","res","promises","itemPromises","CaseID","veh","VehicleID","unitNumber","UnitNumber","detailPromises","preCacheFiles","Branch","Client","ClientID","BranchID","Requester","UserAccountID","InsuredClientID","Subject","Image","catch","ActionID","preCacheAction","finally","clearCache","deleteDatabase","userVehicles","haveAssignmentsInAction","Activities","activityPromises","activity","UserID","images","image","FileID","exp","uid","isEmpty","find","InvestigatorID","createEmptyActivity","actionDate","split","ActionTypeName","SubjectID","locationDeviation","TimeWindowStart","TimeWindowEnd","IsTravelRequired","post","date","time","endTime","now","substr","totalDate","getTime","getTimezoneOffset","maxSize","Files","UserTypePermissions","FileSize","URL","addToUnscopables","$find","arrayMethodUsesToLength","FIND","SKIPS_HOLES","USES_TO_LENGTH","Array","forced","isArray","bind","original","start","depth","mapper","thisArg","element","targetIndex","sourceIndex","mapFn","TypeError","module","exports","size","formSizeMixin","concat","SELECTOR","autofocus","formControlMixin","handleAutofocus","$nextTick","el"],"mappings":"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","file":"js/chunk-de494f08.d8d6433d.js","sourcesContent":["import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar aFunction = require('../internals/a-function');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A;\n aFunction(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","import APIService from \"@core/utils/APIService\";\nimport axios from \"axios\";\n\nconst apiService = new APIService();\nconst dbName = 'workbox-background-sync';\nconst storeName = 'requests';\n\nconst axiosIns = axios.create({\n timeout: 1000 * 120,\n})\n\nvar vehicles = [];\nvar UserOwnVehicles = [];\nvar syncErrors = [];\n\nexport const getSpecialID = () => {\n let specialID = localStorage.getItem(\"specialID\");\n specialID = specialID ? Number(specialID) + 1 : 100;\n localStorage.setItem(\"specialID\", String(specialID));\n return \"SID\" + specialID;\n}\n\nexport const checkDatabase = (timelineID = null) => {\n\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(dbName);\n\n request.onsuccess = function () {\n const db = request.result;\n if (db.objectStoreNames.contains(storeName)) {\n const transaction = db.transaction([storeName], 'readonly');\n const objectStore = transaction.objectStore(storeName);\n const cursorRequest = objectStore.openCursor();\n\n let allPromises = [];\n\n cursorRequest.onsuccess = function (event) {\n const cursor = event.target.result;\n if (cursor) {\n allPromises.push(\n new Promise((innerResolve) => {\n const requestData = cursor.value.requestData;\n const oldBody = JSON.parse(new TextDecoder(\"utf-8\").decode(requestData.body));\n if (timelineID && oldBody.timelineID === timelineID) {\n innerResolve(true);\n } else {\n if (!timelineID) innerResolve(true);\n innerResolve(false);\n }\n cursor.continue();\n })\n );\n } else {\n Promise.all(allPromises).then((results) => {\n resolve(results.includes(true));\n });\n }\n };\n cursorRequest.onerror = function (event) {\n reject(event.target.error);\n };\n } else {\n resolve(false);\n }\n db.close();\n };\n\n request.onupgradeneeded = function (event) {\n const db = event.target.result;\n if (!db.objectStoreNames.contains(storeName)) {\n db.createObjectStore(storeName);\n }\n };\n\n request.onerror = function (event) {\n reject(event.target.error);\n };\n });\n}\n\nexport const changeNewItemInCache = (postData) => {\n\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(dbName);\n\n request.onsuccess = function () {\n const db = request.result;\n if (db.objectStoreNames.contains(storeName)) {\n const transaction = db.transaction([storeName], 'readwrite');\n const objectStore = transaction.objectStore(storeName);\n const cursorRequest = objectStore.openCursor();\n\n cursorRequest.onsuccess = function (event) {\n const cursor = event.target.result;\n if (cursor) {\n const requestData = cursor.value.requestData;\n const oldBody = JSON.parse(new TextDecoder(\"utf-8\").decode(requestData.body));\n if (postData.timelineID && oldBody.timelineID === postData.timelineID) {\n oldBody.ClaimantFirstObserved = postData.ClaimantFirstObserved;\n oldBody.Synopsis = postData.Synopsis;\n oldBody.isOffLineEdited = postData.isOffLineEdited;\n oldBody.VideoObtained = postData.VideoObtained;\n oldBody.Created = new Date(postData.Created).toISOString();\n\n changeTimelineInList(postData)\n cursor.update({ ...cursor.value, requestData: { ...requestData, body: new TextEncoder().encode(JSON.stringify(oldBody)) } });\n }\n\n if (postData.expenseID && oldBody.expenseID === postData.expenseID) {\n oldBody.Amount = postData.Amount;\n oldBody.ExpenseDate = postData.ExpenseDate;\n oldBody.Description = postData.Description;\n oldBody.ExpenseCategoryID = postData.ExpenseCategoryID;\n\n changeNewExpenseInExpenses(postData);\n cursor.update({ ...cursor.value, requestData: { ...requestData, body: new TextEncoder().encode(JSON.stringify(oldBody)) } });\n }\n\n cursor.continue();\n } else {\n resolve(false);\n }\n };\n } else {\n resolve(false);\n }\n db.close();\n };\n\n request.onupgradeneeded = function (event) {\n const db = event.target.result;\n if (!db.objectStoreNames.contains(storeName)) {\n db.createObjectStore(storeName);\n }\n };\n\n request.onerror = function (event) {\n reject(event.target.error);\n };\n });\n}\n\nexport const getNewExpense = async (ExpenseID) => {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(dbName);\n\n request.onsuccess = function () {\n const db = request.result;\n if (db.objectStoreNames.contains(storeName)) {\n const transaction = db.transaction([storeName], 'readonly');\n const objectStore = transaction.objectStore(storeName);\n const cursorRequest = objectStore.openCursor();\n\n cursorRequest.onsuccess = function (event) {\n const cursor = event.target.result;\n if (cursor) {\n const requestData = cursor.value.requestData;\n const oldBody = JSON.parse(new TextDecoder(\"utf-8\").decode(requestData.body));\n\n if (oldBody.expenseID === ExpenseID) {\n resolve(oldBody);\n }\n\n cursor.continue();\n } else {\n resolve(false);\n }\n };\n } else {\n resolve(false);\n }\n db.close();\n };\n\n request.onupgradeneeded = function (event) {\n const db = event.target.result;\n if (!db.objectStoreNames.contains(storeName)) {\n db.createObjectStore(storeName);\n }\n };\n\n request.onerror = function (event) {\n reject(event.target.error);\n };\n });\n}\n\nexport const changeNewExpenseInExpenses = async (newBody) => {\n const cache = await caches.open('case-cache');\n\n for (const req of await cache.keys()) {\n if (req.url.indexOf(\"activity/\" + newBody.ParentActivityID + \"/expenses\") !== -1) {\n let cachedOldResponse = await cache.match(req);\n let oldBody = await cachedOldResponse.json();\n oldBody = oldBody.map(item => {\n if (item.ExpenseID === newBody.expenseID) {\n item.Amount = newBody.Amount;\n item.Description = newBody.Description;\n item.ExpenseDate = newBody.ExpenseDate;\n }\n return item\n })\n const myOptions = { status: 200, statusText: 'Ok', headers: cachedOldResponse.headers};\n const newCacheResponse = new Response(JSON.stringify(oldBody), myOptions);\n await cache.put( req, newCacheResponse );\n }\n }\n}\n\nexport const changeTimelineInList = async (newBody) => {\n const cache = await caches.open('case-cache');\n\n for (const req of await cache.keys()) {\n if (req.url.indexOf(\"activity/\" + newBody.ParentActivityID + \"/detail\") !== -1) {\n let cachedOldResponse = await cache.match(req);\n let oldBody = await cachedOldResponse.json();\n\n oldBody.ChildActivities = oldBody.ChildActivities.map(item => {\n if (String( item.ActivityID) === String(newBody.timelineID)) {\n item.ClaimantFirstObserved = newBody.ClaimantFirstObserved;\n item.Synopsis = newBody.Synopsis;\n item.Created = newBody.Created;\n item.VideoObtained = newBody.VideoObtained;\n item.isOffLineEdited = newBody.isOffLineEdited;\n }\n return item\n })\n const myOptions = { status: 200, statusText: 'Ok', headers: cachedOldResponse.headers};\n const newCacheResponse = new Response(JSON.stringify(oldBody), myOptions);\n await cache.put( req, newCacheResponse );\n }\n }\n}\n\nexport const executeRequestsFromIndexedDB = async () => {\n try {\n const db = await openDB(dbName);\n const tx = db.transaction(storeName, 'readwrite');\n const store = tx.objectStore(storeName);\n const requests = await getAllFromStore(store);\n await tx.complete;\n\n for (const request of requests) {\n await executeRequest(request, request.requestData);\n }\n db.close();\n } catch (error) {\n console.error('Error executing requests from IndexedDB:', error);\n }\n}\n\nexport const openDB = async (dbName) => {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(dbName);\n\n request.onsuccess = (event) => {\n resolve(event.target.result);\n };\n\n request.onerror = (event) => {\n reject(event.target.error);\n };\n });\n}\n\nexport const executeRequest = async(request, requestData) => {\n try {\n const response = await fetch(requestData.url, { method: requestData.method, body: requestData.body, headers: requestData.headers });\n if (response.ok) {\n await deleteRequestFromStore(request.id);\n }\n console.log('Request successful:', response);\n } catch (error) {\n console.error('Error executing request:', error);\n }\n}\n\nexport const getAllFromStore = async(store) => {\n return new Promise((resolve, reject) => {\n const getAllRequest = store.getAll();\n getAllRequest.onsuccess = (event) => {\n resolve(event.target.result);\n };\n getAllRequest.onerror = (event) => {\n reject(event.target.error);\n };\n });\n}\n\nexport const deleteItem = async(store, requestId) => {\n return new Promise((resolve, reject) => {\n const deleteRequest = store.delete(requestId);\n deleteRequest.onsuccess = () => {\n resolve();\n };\n deleteRequest.onerror = (event) => {\n reject(event.target.error);\n };\n });\n}\n\nexport const deleteRequestFromStore = async(requestId) => {\n try {\n const db = await openDB(dbName);\n const tx = db.transaction(storeName, 'readwrite');\n const store = tx.objectStore(storeName);\n await deleteItem(store, requestId);\n await tx.complete;\n db.close();\n } catch (error) {\n console.error('Error executing requests from IndexedDB:', error);\n }\n}\n\nexport const isOldAction = (item) => {\n const inputDate = new Date(item.ScheduledDate);\n const currentDate = new Date();\n const timeDifference = currentDate - inputDate;\n const dayDifference = timeDifference / (1000 * 60 * 60 * 24);\n return Math.abs(dayDifference) <= 3 || (dayDifference) <= 5;\n}\n\nexport const cacheForOffline = async(rows, callBack) => {\n const uid = localStorage.getItem('UID')\n apiService.get('user/profile').then(res => {\n //using this to capture UserAccountID for offline;\n });\n apiService.get(\"actions/dashboard?searchFilterTerm=&skip=0&max=100\")\n const promises = rows.flatMap(item => {\n const itemPromises = [];\n\n if (isOldAction(item)) {\n if (item.CaseID) {\n itemPromises.push(\n apiService.get(\"case/\" + item.CaseID + \"/related\"),\n apiService.get(\"actions/case/\" + item.CaseID),\n apiService.get(\"vehicles/list\").then(veh => {\n vehicles = veh.data.map(i => ({\n value: i.VehicleID,\n unitNumber: i.UnitNumber\n }));\n }),\n apiService.get(\"users/user\"),\n apiService.get(\"users/investigator,user\"),\n apiService.get(\"action/types\"),\n apiService.get(\"journal/entries/\" + item.CaseID),\n apiService.get(\"actions/short-info/case/\" + item.CaseID),\n apiService.get(\"case/\" + item.CaseID + \"/related\"),\n apiService.get(\"case/\" + item.CaseID + \"/detail\").then(res => {\n const detailPromises = [\n preCacheFiles(res.data),\n apiService.get(\"client/\" + res.data.Branch.Client.ClientID + \"/detail\"),\n apiService.get(\"client/branch/\" + res.data.Branch.BranchID + \"/detail\"),\n apiService.get(\"client/branch/\" + res.data.Branch.BranchID + \"/requestors?max=10000\"),\n apiService.get(\"client/requestor/\" + res.data.Branch.Requester.UserAccountID + \"/detail\"),\n apiService.get(\"insured/\" + res.data.InsuredClientID + \"/detail\")\n ];\n\n if (res.data.Branch.Client.Subject.Image) {\n detailPromises.push(axiosIns.get(res.data.Branch.Client.Subject.Image)\n .catch(error => syncErrors.push(error))\n );\n }\n\n return Promise.all(detailPromises);\n })\n );\n }\n if (item.ActionID) {\n itemPromises.push(\n preCacheAction(item.ActionID)\n );\n }\n }\n\n return itemPromises;\n });\n\n Promise.all(promises)\n .then(() => {\n callBack(true, syncErrors.length)\n })\n .catch(error => {\n console.error(error);\n callBack(false, syncErrors.length)\n })\n .finally(() => {\n syncErrors = []\n })\n\n}\n\nexport const clearCache = async () => {\n await caches.delete('case-cache');\n await indexedDB.deleteDatabase(\"workbox-expiration\");\n await indexedDB.deleteDatabase(\"workbox-background-sync\");\n}\n\nconst preCacheAction = (ActionID) => {\n const userVehicles = []\n apiService.get(\"distances/user-action?actionId=\" + ActionID)\n apiService.get(\"action/\" + ActionID + \"/detail\").then(res => {\n if (res.data) {\n haveAssignmentsInAction(res.data)\n }\n if (res.data.Activities) {\n const activityPromises = res.data.Activities.map(activity => {\n const activityPromises = [\n apiService.get(\"activity/\" + activity.ActivityID + \"/detail\")\n .then(res => {\n if (userVehicles.indexOf(res.data.UserID) === -1) {\n apiService.get(\"user/\" + res.data.UserID + \"/vehicles\")\n userVehicles.push(res.data.UserID)\n }\n }),\n apiService.get(\"activity/\" + activity.ActivityID + \"/media-library\").then(images => {\n return Promise.all(images.data.map(image => axiosIns.get(\"/api/file/stream/\" + image.FileID)\n .catch(error => syncErrors.push(error))\n ));\n }),\n // apiService.get(\"activity/\" + activity.ActivityID + \"/videos\").then(videos => {\n // return Promise.all(videos.data.map(video => axiosIns.get(\"https://api.nimbushd.com/Imaging/Thumbnail.ashx?id=\" + video.VideoID)\n // .catch(error => syncErrors.push(error))\n // ));\n // }),\n // apiService.get(\"file/nimbus-downloader-key/\" + activity.ActivityID),\n apiService.get('activity/' + activity.ActivityID + '/expenses').then(result => {\n return Promise.all(result.data.map(exp => apiService.get(\"activity/expense/\" + exp.ExpenseID + \"/detail\")));\n })\n ];\n\n return Promise.all(activityPromises);\n });\n\n return Promise.all(activityPromises);\n }\n })\n}\n\nexport const haveAssignmentsInAction = (item) => {\n const uid = localStorage.getItem('UID')\n const isEmpty = !item.Activities.find(i => String(i.InvestigatorID) === uid)\n if (isEmpty) {\n apiService.get(\"user/\" + uid + \"/vehicles\").then(veh => {\n UserOwnVehicles = veh.data.map(i => ({\n value: i.id,\n unitNumber: i.id\n }));\n createEmptyActivity(item)\n })\n }\n}\n\nconst createEmptyActivity = (item) => {\n const actionDate = item.ScheduledDate.split('T')[0]\n const VehicleID = vehicles.find(i => i.unitNumber === \"N/A\").value\n let postData = {\n \"ActivityType\": item.ActionTypeName,\n \"CaseID\": item.CaseID,\n \"ActionID\": item.ActionID,\n \"SubjectID\": item.SubjectID,\n \"BeginTime\": locationDeviation(actionDate, item.TimeWindowStart),\n \"OnSiteArrivalTime\": locationDeviation(actionDate, item.TimeWindowStart),\n \"OnSiteDepartureTime\": locationDeviation(actionDate, item.TimeWindowEnd, true),\n \"EndTime\": locationDeviation(actionDate, item.TimeWindowEnd, true),\n \"VehicleID\": VehicleID,\n };\n\n if (item.IsTravelRequired) {\n postData = {\n ...postData,\n \"VehicleID\": vehicles.find(i => i.unitNumber === \"POV\").value,\n \"UserOwnVehicleID\": UserOwnVehicles.length ? UserOwnVehicles[0].value : null\n }\n }\n\n apiService\n .post(\"activity/create\", postData)\n .then(res => {\n if (res) {\n preCacheAction(postData.ActionID)\n }\n })\n}\n\nconst locationDeviation = (date, time, endTime = false) => {\n if (!time) {\n time = endTime ? new Date(Date.now() + 60000).toISOString().substr(11, 5) : new Date().toISOString().substr(11, 5);\n }\n const totalDate = new Date(`${date}T${time}`);\n return new Date(totalDate.getTime() - (totalDate.getTimezoneOffset() * 60000)).toISOString();\n};\n\nexport async function preCacheFiles(item) {\n const maxSize = 1024 * 1024 * 20\n for (let i in item.Files)\n {\n if (i.UserTypePermissions\n && i.UserTypePermissions.indexOf(\"Investigator\") !== -1\n && i.FileSize && i.FileSize <= maxSize) {\n await axiosIns.get(i.URL).catch(error => syncErrors.push(error))\n }\n };\n}","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flatMap');\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});"],"sourceRoot":""}