{"version":3,"sources":["webpack:///./src/components/device/DevicePool.vue?417b","webpack:///src/components/device/DevicePool.vue","webpack:///./src/components/device/DevicePool.vue?852f","webpack:///./src/components/device/DevicePool.vue","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","$t","model","value","callback","$$v","search","expression","staticClass","headers","devices","status","loading","scopedSlots","_u","key","fn","ref","item","on","$event","handleClick","deviceId","_v","dialog","_s","authorize","Roles","AdminOrSuper","companies","company","_e","dialogClose","staticRenderFns","name","data","device","computed","methods","getColorFromBool","val","component","VAutocomplete","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDataTable","VDialog","VIcon","VMain","VSpacer","VTextField","defaultMenuProps","offsetY","offsetOverflow","transition","props","allowOverflow","type","default","autoSelectFirst","filter","itemText","queryText","hideNoData","menuProps","noFilter","searchInput","undefined","lazySearch","classes","selectedIndex","computedItems","selectedValues","selectedItems","map","hasDisplayedItems","hideSelected","filteredItems","some","length","currentRange","selectedItem","String","getText","internalSearch","allItems","text","get","set","isAnyValueAllowed","isDirty","searchIsDirty","isSearching","multiple","menuCanShow","$_menuProps","find","i","listData","items","watch","internalValue","isFocused","document","$refs","input","isMenuActive","oldVal","activateMenu","created","onFilteredItemsChanged","onInternalSearchChanged","updateMenuDimensions","menu","changeSelectedIndex","keyCode","deleteCurrentItem","curIndex","curItem","getDisabled","lastIndex","nextIndex","nextItem","clearableCallback","genInput","autocomplete","domProps","genInputSlot","slot","genSelections","hasSlot","onClick","isAppendInner","e","onInput","target","onKeyDown","onSpaceDown","onTabDown","onUpDown","selectItem","setSelectedItems","setSearch","updateSelf","valueComparator","getValue","hasItem","indexOf","onCopy","currentItem","currentItemText","event"],"mappings":"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","file":"js/chunk-e894b4fc.f27184e1.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-main',{staticStyle:{\"padding\":\"0\"}},[_c('v-text-field',{staticStyle:{\"margin\":\"0rem 2rem\"},attrs:{\"append-icon\":\"mdi-magnify\",\"label\":_vm.$t('common.search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.devices,\"loading\":_vm.status.loading,\"items-per-page\":50,\"search\":_vm.search},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.handleClick(item.deviceId)}}},[_c('v-icon',[_vm._v(\"mdi-hand-right\")])],1)]}}],null,true)}),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"400\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.verify\"))+\" \")]),(_vm.authorize(_vm.Roles.AdminOrSuper))?_c('v-card-text',[_c('v-autocomplete',{attrs:{\"autocomplete\":\"off\",\"prepend-icon\":\"mdi-company\",\"label\":_vm.$t('company.name'),\"items\":_vm.companies,\"item-text\":\"companyName\",\"item-value\":\"companyId\"},model:{value:(_vm.company),callback:function ($$v) {_vm.company=$$v},expression:\"company\"}})],1):_vm._e(),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"accent darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.dialogClose(false)}}},[_vm._v(_vm._s(_vm.$t(\"common.no\")))]),_c('v-btn',{attrs:{\"color\":\"primary darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.dialogClose(true)}}},[_vm._v(_vm._s(_vm.$t(\"common.yes\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n\r\n \r\n \r\n \r\n mdi-hand-right\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ $t(\"common.verify\") }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n $t(\"common.no\")\r\n }}\r\n {{\r\n $t(\"common.yes\")\r\n }}\r\n \r\n \r\n \r\n \r\n\r\n\r\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/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePool.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/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePool.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DevicePool.vue?vue&type=template&id=d2181316&\"\nimport script from \"./DevicePool.vue?vue&type=script&lang=js&\"\nexport * from \"./DevicePool.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAutocomplete,VBtn,VCard,VCardActions,VCardText,VCardTitle,VDataTable,VDialog,VIcon,VMain,VSpacer,VTextField})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType } from 'vue'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n },\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n default: undefined,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | undefined {\n return this.lazySearch\n },\n set (val: any) {\n this.lazySearch = val\n\n this.$emit('update:search-input', val)\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = undefined\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : undefined)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = undefined\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections () {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\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 onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData!.setData('text/plain', currentItemText)\n event.clipboardData!.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":""}