1 |
- {"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_autocompletes.styl'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\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 browserAutocomplete: {\n type: String,\n default: 'off'\n },\n filter: {\n type: Function,\n default: (item, queryText, itemText) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n }\n },\n hideNoData: Boolean,\n noFilter: Boolean,\n searchInput: {\n default: undefined\n },\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps\n },\n autoSelectFirst: {\n type: Boolean,\n default: false\n }\n },\n\n data: vm => ({\n attrsInput: null,\n lazySearch: vm.searchInput\n }),\n\n computed: {\n classes () {\n return Object.assign({}, VSelect.options.computed.classes.call(this), {\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1\n })\n },\n computedItems () {\n return this.filteredItems\n },\n selectedValues () {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems () {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n /**\n * The range of the current input text\n *\n * @return {Number}\n */\n currentRange () {\n if (this.selectedItem == null) return 0\n\n return this.getText(this.selectedItem).toString().length\n },\n filteredItems () {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => this.filter(item, this.internalSearch.toString(), this.getText(item).toString()))\n },\n internalSearch: {\n get () {\n return this.lazySearch\n },\n set (val) {\n this.lazySearch = val\n\n this.$emit('update:searchInput', val)\n }\n },\n isAnyValueAllowed () {\n return false\n },\n isDirty () {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching () {\n if (this.multiple) return this.searchIsDirty\n\n return (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow () {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps () {\n const props = VSelect.options.computed.$_menuProps.call(this)\n props.contentClass = `v-autocomplete__content ${props.contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props\n }\n },\n searchIsDirty () {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem () {\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)\n\n Object.assign(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 (val) {\n this.onFilteredItemsChanged(val)\n },\n internalValue () {\n this.setSearch()\n },\n isFocused (val) {\n if (val) {\n this.$refs.input &&\n this.$refs.input.select()\n } else {\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\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) {\n this.lazySearch = val\n },\n internalSearch (val) {\n this.onInternalSearchChanged(val)\n },\n itemText () {\n this.updateSelf()\n }\n },\n\n created () {\n this.setSearch()\n },\n\n methods: {\n onFilteredItemsChanged (val) {\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n this.setMenuIndex(val.length > 0 && (val.length === 1 || this.autoSelectFirst) ? 0 : -1)\n })\n },\n onInternalSearchChanged (val) {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n if (this.isMenuActive &&\n this.$refs.menu\n ) {\n this.$refs.menu.updateDimensions()\n }\n },\n changeSelectedIndex (keyCode) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (![\n keyCodes.backspace,\n keyCodes.left,\n keyCodes.right,\n keyCodes.delete\n ].includes(keyCode)) return\n\n const indexes = this.selectedItems.length - 1\n\n if (keyCode === keyCodes.left) {\n this.selectedIndex = this.selectedIndex === -1\n ? indexes\n : this.selectedIndex - 1\n } else if (keyCode === keyCodes.right) {\n this.selectedIndex = this.selectedIndex >= indexes\n ? -1\n : this.selectedIndex + 1\n } else if (this.selectedIndex === -1) {\n this.selectedIndex = indexes\n return\n }\n\n const currentItem = this.selectedItems[this.selectedIndex]\n\n if ([\n keyCodes.backspace,\n keyCodes.delete\n ].includes(keyCode) &&\n !this.getDisabled(currentItem)\n ) {\n const newIndex = this.selectedIndex === indexes\n ? this.selectedIndex - 1\n : this.selectedItems[this.selectedIndex + 1]\n ? this.selectedIndex\n : -1\n\n if (newIndex === -1) {\n this.setValue(this.multiple ? [] : undefined)\n } else {\n this.selectItem(currentItem)\n }\n\n this.selectedIndex = newIndex\n }\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.attrs.role = 'combobox'\n input.data.domProps.value = this.internalSearch\n\n return input\n },\n genSelections () {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick () {\n if (this.isDisabled) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n this.activateMenu()\n },\n onEnterDown () {\n // Avoid invoking this method\n // will cause updateSelf to\n // be called emptying search\n },\n onInput (e) {\n if (this.selectedIndex > -1) return\n\n // If typing and menu is not currently active\n if (e.target.value) {\n this.activateMenu()\n if (!this.isAnyValueAllowed) this.setMenuIndex(0)\n }\n\n this.mask && this.resetSelections(e.target)\n this.internalSearch = e.target.value\n this.badInput = e.target.validity && e.target.validity.badInput\n },\n onKeyDown (e) {\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 onTabDown (e) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\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 this.internalSearch = (\n this.multiple &&\n this.internalSearch &&\n this.isMenuActive\n )\n ? this.internalSearch\n : (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n })\n },\n updateSelf () {\n this.updateAutocomplete()\n },\n updateAutocomplete () {\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) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n }\n }\n})\n"],"sourceRoot":""}
|