{"version":3,"sources":["webpack:///./src/components/lookups/client_dispatch_note.vue?5c15","webpack:///src/components/lookups/client_dispatch_note.vue","webpack:///./src/components/lookups/client_dispatch_note.vue?983d","webpack:///./src/components/lookups/client_dispatch_note.vue","webpack:///../../../src/components/VCombobox/VCombobox.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","VCombobox","attrs","items","title","multiple","combineText","is_loading","model","value","callback","$$v","selected_item","expression","staticRenderFns","component","extend","name","props","delimiters","type","Array","default","returnObject","Boolean","data","editingIndex","computed","selectedItems","length","internalSearch","toString","options","hasSlot","call","isFocused","hasDisplayedItems","$slots","hideNoData","methods","val","delimiter","find","d","endsWith","slice","updateTags","updateMenuDimensions","input","genInput","on","paste","onPaste","item","index","chip","genChipSelection","componentOptions","listeners","dblclick","getText","selectedIndex","onChipInput","e","preventDefault","getMenuIndex","$nextTick","updateSelf","keyCode","ctrlKey","home","end","includes","onKeyDown","left","$refs","selectionStart","enter","onEnterDown","changeSelectedIndex","stopPropagation","onTabDown","updateEditing","selectItem","toLocaleLowerCase","internalValue","setValue","undefined","findIndex","Object","assign","splice","push","searchIsDirty","isUsingSlot","$scopedSlots","selection","hasChips","updateCombobox","menuIndex","itemToSelect","event","$emit","pastedItemText","clipboardData","getData","findExistingIndex","clearableCallback"],"mappings":"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","file":"js/chunk-7112a6ba.f4e70f64.js","sourcesContent":["import { VCombobox } from 'vuetify/lib/components/VCombobox';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VCombobox,{attrs:{\"outlined\":\"\",\"disabled\":\"\",\"items\":_vm.items,\"label\":_vm.title,\"multiple\":_vm.multiple,\"item-text\":_vm.combineText,\"return-object\":\"\",\"loading\":_vm.is_loading,\"clearable\":\"\",\"hide-details\":\"\"},model:{value:(_vm.selected_item),callback:function ($$v) {_vm.selected_item=$$v},expression:\"selected_item\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client_dispatch_note.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./client_dispatch_note.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./client_dispatch_note.vue?vue&type=template&id=806389e8&\"\nimport script from \"./client_dispatch_note.vue?vue&type=script&lang=js&\"\nexport * from \"./client_dispatch_note.vue?vue&type=script&lang=js&\"\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 null,\n null\n \n)\n\nexport default component.exports","// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n this.$emit('paste', event)\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n VAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n"],"sourceRoot":""}