vuetify 1.5.20 → 1.5.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vuetify.css +13 -6
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +28 -14
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAutocomplete/VAutocomplete.js +4 -0
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +1 -1
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataTable/mixins/body.js +5 -1
- package/es5/components/VDataTable/mixins/body.js.map +1 -1
- package/es5/components/VInput/VInput.js +2 -2
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +4 -4
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +12 -5
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/Vuetify/index.js +1 -1
- package/es5/index.js +1 -1
- package/es5/util/mask.js +1 -1
- package/es5/util/mask.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +4 -0
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -1
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataTable/mixins/body.js +5 -1
- package/lib/components/VDataTable/mixins/body.js.map +1 -1
- package/lib/components/VInput/VInput.js +2 -2
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +4 -4
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +12 -5
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/Vuetify/index.js +1 -1
- package/lib/util/mask.js +1 -1
- package/lib/util/mask.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VAutocomplete/VAutocomplete.js +4 -0
- package/src/components/VCombobox/VCombobox.js +1 -1
- package/src/components/VDataTable/mixins/body.js +6 -1
- package/src/components/VInput/VInput.ts +2 -2
- package/src/components/VSelect/VSelect.js +7 -4
- package/src/components/VTextField/VTextField.js +8 -3
- package/src/stylus/components/_data-table.styl +9 -2
- package/src/stylus/components/_tables.styl +2 -2
- package/src/stylus/settings/_theme.styl +2 -0
- package/src/util/mask.ts +1 -1
|
@@ -291,6 +291,10 @@ exports.default = _VSelect2.default.extend({
|
|
|
291
291
|
_VSelect2.default.options.methods.onTabDown.call(this, e);
|
|
292
292
|
this.updateSelf();
|
|
293
293
|
},
|
|
294
|
+
selectItem: function selectItem(item) {
|
|
295
|
+
_VSelect2.default.options.methods.selectItem.call(this, item);
|
|
296
|
+
this.setSearch();
|
|
297
|
+
},
|
|
294
298
|
setSelectedItems: function setSelectedItems() {
|
|
295
299
|
_VSelect2.default.options.methods.setSelectedItems.call(this);
|
|
296
300
|
// #4273 Don't replace if searching
|
|
@@ -1 +1 @@
|
|
|
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":""}
|
|
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 selectItem (item) {\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 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":""}
|
|
@@ -129,7 +129,7 @@ exports.default = {
|
|
|
129
129
|
if (this.editingIndex > -1) {
|
|
130
130
|
this.updateEditing();
|
|
131
131
|
} else {
|
|
132
|
-
|
|
132
|
+
_VAutocomplete2.default.options.methods.selectItem.call(this, item);
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
setSelectedItems: function setSelectedItems() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VCombobox/VCombobox.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_autocompletes.styl'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n/* @vue/component */\nexport default {\n name: 'v-combobox',\n\n extends: VAutocomplete,\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([])\n },\n returnObject: {\n type: Boolean,\n default: true\n }\n },\n\n data: () => ({\n editingIndex: -1\n }),\n\n computed: {\n counterValue () {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot () {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed () {\n return true\n },\n menuCanShow () {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n }\n },\n\n methods: {\n onFilteredItemsChanged () {\n // nop\n },\n onInternalSearchChanged (val) {\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 genChipSelection (item, index) {\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.dblclick = () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n }\n }\n\n return chip\n },\n onChipInput (item) {\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) {\n e.preventDefault()\n\n VSelect.options.methods.onEnterDown.call(this)\n\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.updateSelf()\n },\n onKeyDown (e) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\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 }\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 // 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) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VSelect.options.methods.selectItem.call(this, item)\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 = this.internalSearch) {\n VSelect.options.methods.setValue.call(this, value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n value[this.editingIndex] = this.internalSearch\n\n this.setValue(value)\n\n this.editingIndex = -1\n },\n updateCombobox () {\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n\n // If search is not dirty and is\n // using slot, do nothing\n if (isUsingSlot && !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\n // to avoid a double input\n if (isUsingSlot) this.internalSearch = undefined\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 // do nothing\n if (menuIndex < 0 &&\n !this.searchIsDirty\n ) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.indexOf(this.internalSearch)\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(this.internalSearch)\n this.internalSearch = null\n }\n }\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCombobox/VCombobox.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_autocompletes.styl'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n/* @vue/component */\nexport default {\n name: 'v-combobox',\n\n extends: VAutocomplete,\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([])\n },\n returnObject: {\n type: Boolean,\n default: true\n }\n },\n\n data: () => ({\n editingIndex: -1\n }),\n\n computed: {\n counterValue () {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot () {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed () {\n return true\n },\n menuCanShow () {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n }\n },\n\n methods: {\n onFilteredItemsChanged () {\n // nop\n },\n onInternalSearchChanged (val) {\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 genChipSelection (item, index) {\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.dblclick = () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n }\n }\n\n return chip\n },\n onChipInput (item) {\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) {\n e.preventDefault()\n\n VSelect.options.methods.onEnterDown.call(this)\n\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.updateSelf()\n },\n onKeyDown (e) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\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 }\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 // 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) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\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 = this.internalSearch) {\n VSelect.options.methods.setValue.call(this, value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n value[this.editingIndex] = this.internalSearch\n\n this.setValue(value)\n\n this.editingIndex = -1\n },\n updateCombobox () {\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n\n // If search is not dirty and is\n // using slot, do nothing\n if (isUsingSlot && !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\n // to avoid a double input\n if (isUsingSlot) this.internalSearch = undefined\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 // do nothing\n if (menuIndex < 0 &&\n !this.searchIsDirty\n ) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.indexOf(this.internalSearch)\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(this.internalSearch)\n this.internalSearch = null\n }\n }\n}\n"],"sourceRoot":""}
|
|
@@ -28,8 +28,12 @@ exports.default = {
|
|
|
28
28
|
}, [this.$scopedSlots.expand(props)]);
|
|
29
29
|
children.push(expand);
|
|
30
30
|
}
|
|
31
|
+
var classes = {
|
|
32
|
+
'v-datatable__expand-col': true,
|
|
33
|
+
'v-datatable__expand-col--expanded': this.isExpanded(props.item)
|
|
34
|
+
};
|
|
31
35
|
var transition = this.$createElement('transition-group', {
|
|
32
|
-
class:
|
|
36
|
+
class: classes,
|
|
33
37
|
attrs: { colspan: this.headerColumns },
|
|
34
38
|
props: {
|
|
35
39
|
tag: 'td'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VDataTable/mixins/body.js"],"names":[],"mappings":";;;;;;;;;;AAEA;;;;AAEA;kBACe;AACb,aAAS;AACP,gBADO,sBACC;AACN,gBAAM,WAAW,KAAK,QAAL,EAAjB;AAEA,mBAAO,KAAK,cAAL,CAAoB,OAApB,EAA6B,QAA7B,CAAP;AACD,SALM;AAMP,sBANO,0BAMS,KANT,EAMc;AACnB,gBAAM,WAAW,EAAjB;AAEA,gBAAI,KAAK,UAAL,CAAgB,MAAM,IAAtB,CAAJ,EAAiC;AAC/B,oBAAM,SAAS,KAAK,cAAL,CAAoB,KAApB,EAA2B;AACxC,2BAAO,6BADiC;AAExC,yBAAK,mCAAqB,MAAM,IAA3B,EAAiC,KAAK,OAAtC;AAFmC,iBAA3B,EAGZ,CAAC,KAAK,YAAL,CAAkB,MAAlB,CAAyB,KAAzB,CAAD,CAHY,CAAf;AAKA,yBAAS,IAAT,CAAc,MAAd;AACD;AAED,gBAAM,aAAa,KAAK,cAAL,CAAoB,kBAApB,EAAwC;AACzD,uBAAO,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VDataTable/mixins/body.js"],"names":[],"mappings":";;;;;;;;;;AAEA;;;;AAEA;kBACe;AACb,aAAS;AACP,gBADO,sBACC;AACN,gBAAM,WAAW,KAAK,QAAL,EAAjB;AAEA,mBAAO,KAAK,cAAL,CAAoB,OAApB,EAA6B,QAA7B,CAAP;AACD,SALM;AAMP,sBANO,0BAMS,KANT,EAMc;AACnB,gBAAM,WAAW,EAAjB;AAEA,gBAAI,KAAK,UAAL,CAAgB,MAAM,IAAtB,CAAJ,EAAiC;AAC/B,oBAAM,SAAS,KAAK,cAAL,CAAoB,KAApB,EAA2B;AACxC,2BAAO,6BADiC;AAExC,yBAAK,mCAAqB,MAAM,IAA3B,EAAiC,KAAK,OAAtC;AAFmC,iBAA3B,EAGZ,CAAC,KAAK,YAAL,CAAkB,MAAlB,CAAyB,KAAzB,CAAD,CAHY,CAAf;AAKA,yBAAS,IAAT,CAAc,MAAd;AACD;AAED,gBAAM,UAAU;AACd,2CAA2B,IADb;AAEd,qDAAqC,KAAK,UAAL,CAAgB,MAAM,IAAtB;AAFvB,aAAhB;AAKA,gBAAM,aAAa,KAAK,cAAL,CAAoB,kBAApB,EAAwC;AACzD,uBAAO,OADkD;AAEzD,uBAAO,EAAE,SAAS,KAAK,aAAhB,EAFkD;AAGzD,uBAAO;AACL,yBAAK;AADA,iBAHkD;AAMzD,oBAAI,gCAA0B,mCAA1B;AANqD,aAAxC,EAOhB,QAPgB,CAAnB;AASA,mBAAO,KAAK,KAAL,CAAW,CAAC,UAAD,CAAX,EAAyB,EAAE,OAAO,yBAAT,EAAzB,CAAP;AACD,SAjCM;AAkCP,wBAlCO,8BAkCS;AACd,gBAAI,CAAC,KAAK,YAAL,CAAkB,KAAvB,EAA8B;AAC5B,uBAAO,IAAP;AACD;AAED,gBAAM,OAAO,EAAb;AACA,iBAAK,IAAI,QAAQ,CAAZ,EAAe,MAAM,KAAK,aAAL,CAAmB,MAA7C,EAAqD,QAAQ,GAA7D,EAAkE,EAAE,KAApE,EAA2E;AACzE,oBAAM,OAAO,KAAK,aAAL,CAAmB,KAAnB,CAAb;AACA,oBAAM,QAAQ,KAAK,WAAL,CAAiB,IAAjB,EAAuB,KAAvB,CAAd;AACA,oBAAM,MAAM,KAAK,YAAL,CAAkB,KAAlB,CAAwB,KAAxB,CAAZ;AAEA,qBAAK,IAAL,CAAU,KAAK,MAAL,CAAY,GAAZ,EAAiB,IAAjB,IACN,KAAK,KAAL,CAAW,GAAX,EAAgB;AAChB,yBAAK,KAAK,OAAL,GAAe,mCAAqB,MAAM,IAA3B,EAAiC,KAAK,OAAtC,CAAf,GAAgE,KADrD;AAEhB,2BAAO,EAAE,QAAQ,KAAK,UAAL,CAAgB,IAAhB,CAAV;AAFS,iBAAhB,CADM,GAKN,GALJ;AAOA,oBAAI,KAAK,YAAL,CAAkB,MAAtB,EAA8B;AAC5B,wBAAM,YAAY,KAAK,cAAL,CAAoB,KAApB,CAAlB;AACA,yBAAK,IAAL,CAAU,SAAV;AACD;AACF;AAED,mBAAO,IAAP;AACD,SA3DM;AA4DP,qBA5DO,yBA4DQ,OA5DR,EA4De;AACpB,gBAAI,KAAK,MAAL,CAAY,OAAZ,EAAqB,IAArB,CAAJ,EAAgC;AAC9B,uBAAO,OAAP;AACD,aAFD,MAEO,IAAI,KAAK,MAAL,CAAY,OAAZ,EAAqB,IAArB,CAAJ,EAAgC;AACrC,uBAAO,KAAK,KAAL,CAAW,OAAX,CAAP;AACD,aAFM,MAEA;AACL,uBAAO,KAAK,KAAL,CAAW,CAAC,KAAK,cAAL,CAAoB,IAApB,EAA0B;AAC3C,2BAAO;AACL,0CAAkB,OAAO,OAAP,KAAmB;AADhC,qBADoC;AAI3C,2BAAO,EAAE,SAAS,KAAK,aAAhB;AAJoC,iBAA1B,EAKhB,OALgB,CAAD,CAAX,CAAP;AAMD;AACF;AAzEM;AADI,C","sourcesContent":["import ExpandTransitionGenerator from '../../transitions/expand-transition'\n\nimport { getObjectValueByPath } from '../../../util/helpers'\n\n/* @vue/component */\nexport default {\n methods: {\n genTBody () {\n const children = this.genItems()\n\n return this.$createElement('tbody', children)\n },\n genExpandedRow (props) {\n const children = []\n\n if (this.isExpanded(props.item)) {\n const expand = this.$createElement('div', {\n class: 'v-datatable__expand-content',\n key: getObjectValueByPath(props.item, this.itemKey)\n }, [this.$scopedSlots.expand(props)])\n\n children.push(expand)\n }\n\n const classes = {\n 'v-datatable__expand-col': true,\n 'v-datatable__expand-col--expanded': this.isExpanded(props.item)\n }\n\n const transition = this.$createElement('transition-group', {\n class: classes,\n attrs: { colspan: this.headerColumns },\n props: {\n tag: 'td'\n },\n on: ExpandTransitionGenerator('v-datatable__expand-col--expanded')\n }, children)\n\n return this.genTR([transition], { class: 'v-datatable__expand-row' })\n },\n genFilteredItems () {\n if (!this.$scopedSlots.items) {\n return null\n }\n\n const rows = []\n for (let index = 0, len = this.filteredItems.length; index < len; ++index) {\n const item = this.filteredItems[index]\n const props = this.createProps(item, index)\n const row = this.$scopedSlots.items(props)\n\n rows.push(this.hasTag(row, 'td')\n ? this.genTR(row, {\n key: this.itemKey ? getObjectValueByPath(props.item, this.itemKey) : index,\n attrs: { active: this.isSelected(item) }\n })\n : row)\n\n if (this.$scopedSlots.expand) {\n const expandRow = this.genExpandedRow(props)\n rows.push(expandRow)\n }\n }\n\n return rows\n },\n genEmptyItems (content) {\n if (this.hasTag(content, 'tr')) {\n return content\n } else if (this.hasTag(content, 'td')) {\n return this.genTR(content)\n } else {\n return this.genTR([this.$createElement('td', {\n class: {\n 'text-xs-center': typeof content === 'string'\n },\n attrs: { colspan: this.headerColumns }\n }, content)])\n }\n }\n }\n}\n"],"sourceRoot":""}
|
|
@@ -230,8 +230,8 @@ exports.default = (0, _mixins2.default)(_colorable2.default, _themeable2.default
|
|
|
230
230
|
value: this.hasMessages || this.hasHint ? messages : []
|
|
231
231
|
},
|
|
232
232
|
scopedSlots: {
|
|
233
|
-
default: this.$scopedSlots.
|
|
234
|
-
return _this2.$scopedSlots.
|
|
233
|
+
default: this.$scopedSlots.message ? function (props) {
|
|
234
|
+
return _this2.$scopedSlots.message(props);
|
|
235
235
|
} : undefined
|
|
236
236
|
}
|
|
237
237
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_inputs.styl'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n kebabCase\n} from '../../util/helpers'\nimport { deprecate } from '../../util/console'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VNodeData } from 'vue'\ninterface options extends Vue {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable,\n typeof Validatable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable,\n Validatable\n /* @vue/component */\n).extend({\n name: 'v-input',\n\n props: {\n appendIcon: String,\n /** @deprecated */\n appendIconCb: Function,\n backgroundColor: {\n type: String,\n default: ''\n },\n height: [Number, String],\n hideDetails: Boolean,\n hint: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n /** @deprecated */\n prependIconCb: Function,\n value: { required: false }\n },\n\n data () {\n return {\n attrsInput: {},\n lazyValue: this.value as any,\n hasMouseDown: false\n }\n },\n\n computed: {\n classes: () => ({}),\n classesInput (): object {\n return {\n ...this.classes,\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': this.hideDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.disabled,\n 'v-input--is-focused': this.isFocused,\n 'v-input--is-loading': this.loading !== false && this.loading !== undefined,\n 'v-input--is-readonly': this.readonly,\n ...this.themeClasses\n }\n },\n directivesInput () {\n return []\n },\n hasHint () {\n return !this.hasMessages &&\n this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel () {\n return Boolean(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get () {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n }\n },\n isDirty () {\n return !!this.lazyValue\n },\n isDisabled () {\n return Boolean(this.disabled || this.readonly)\n },\n isLabelActive () {\n return this.isDirty\n }\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n }\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot()\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control'\n }, [\n this.genInputSlot(),\n this.genMessages()\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default\n ]\n },\n // TODO: remove shouldDeprecate (2.0), used for clearIcon\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n shouldDeprecate = true\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n cb = cb || (this as any)[`${type}IconCb`]\n\n if (shouldDeprecate && type && cb) {\n deprecate(`:${type}-icon-cb`, `@${eventName}`, this)\n }\n\n const data: VNodeData = {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n light: this.light\n },\n on: !(this.$listeners[eventName] || cb)\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has mouseup event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n }\n\n return this.$createElement('div', {\n staticClass: `v-input__icon v-input__icon--${kebabCase(type)}`,\n key: `${type}${icon}`\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n )\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n directives: this.directivesInput,\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp\n },\n ref: 'input-slot'\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n focused: this.hasState,\n for: this.$attrs.id,\n light: this.light\n }\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (this.hideDetails) return null\n\n const messages = this.hasHint\n ? [this.hint]\n : this.validations\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: (this.hasMessages || this.hasHint) ? messages : []\n },\n scopedSlots: {\n default: this.$scopedSlots.default\n ? props => this.$scopedSlots.default!(props)\n : undefined\n }\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n }\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n attrs: this.attrsInput,\n 'class': this.classesInput\n }), this.genContent())\n }\n})\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":";;;;;;;;AAGA;;AAKA;;AAKA;;;AAZA;;AAGA;;;;AACA;;;;AACA;;;;AAGA;;;;AACA;;;;AACA;;;;AAGA;;AAIA;;AACA;;;;;;kBASe,sBASb,mBATa,EAUb,mBAVa,EAWb;AACA;AAZa,EAab,MAba,CAaN;AACP,UAAM,SADC;AAGP,WAAO;AACL,oBAAY,MADP;AAEL;AACA,sBAAc,QAHT;AAIL,yBAAiB;AACf,kBAAM,MADS;AAEf,qBAAS;AAFM,SAJZ;AAQL,gBAAQ,CAAC,MAAD,EAAS,MAAT,CARH;AASL,qBAAa,OATR;AAUL,cAAM,MAVD;AAWL,eAAO,MAXF;AAYL,iBAAS,OAZJ;AAaL,wBAAgB,OAbX;AAcL,qBAAa,MAdR;AAeL;AACA,uBAAe,QAhBV;AAiBL,eAAO,EAAE,UAAU,KAAZ;AAjBF,KAHA;AAuBP,QAvBO,kBAuBH;AACF,eAAO;AACL,wBAAY,EADP;AAEL,uBAAW,KAAK,KAFX;AAGL,0BAAc;AAHT,SAAP;AAKD,KA7BM;;AA+BP,cAAU;AACR,iBAAS;AAAA,mBAAO,EAAP;AAAA,SADD;AAER,oBAFQ,0BAEI;AACV,gCACK,KAAK,OADV;AAEE,sCAAsB,KAAK,QAF7B;AAGE,yCAAyB,KAAK,WAHhC;AAIE,4CAA4B,KAAK,aAJnC;AAKE,qCAAqB,KAAK,OAL5B;AAME,wCAAwB,KAAK,QAN/B;AAOE,uCAAuB,KAAK,SAP9B;AAQE,uCAAuB,KAAK,OAAL,KAAiB,KAAjB,IAA0B,KAAK,OAAL,KAAiB,SARpE;AASE,wCAAwB,KAAK;AAT/B,eAUK,KAAK,YAVV;AAYD,SAfO;AAgBR,uBAhBQ,6BAgBO;AACb,mBAAO,EAAP;AACD,SAlBO;AAmBR,eAnBQ,qBAmBD;AACL,mBAAO,CAAC,KAAK,WAAN,IACL,KAAK,IADA,KAEJ,KAAK,cAAL,IAAuB,KAAK,SAFxB,CAAP;AAGD,SAvBO;AAwBR,gBAxBQ,sBAwBA;AACN,mBAAO,QAAQ,KAAK,MAAL,CAAY,KAAZ,IAAqB,KAAK,KAAlC,CAAP;AACD,SA1BO;;AA2BR;AACA;AACA;AACA;AACA,uBAAe;AACb,eADa,iBACV;AACD,uBAAO,KAAK,SAAZ;AACD,aAHY;AAIb,eAJa,eAIR,GAJQ,EAIA;AACX,qBAAK,SAAL,GAAiB,GAAjB;AACA,qBAAK,KAAL,CAAW,KAAK,YAAhB,EAA8B,GAA9B;AACD;AAPY,SA/BP;AAwCR,eAxCQ,qBAwCD;AACL,mBAAO,CAAC,CAAC,KAAK,SAAd;AACD,SA1CO;AA2CR,kBA3CQ,wBA2CE;AACR,mBAAO,QAAQ,KAAK,QAAL,IAAiB,KAAK,QAA9B,CAAP;AACD,SA7CO;AA8CR,qBA9CQ,2BA8CK;AACX,mBAAO,KAAK,OAAZ;AACD;AAhDO,KA/BH;AAkFP,WAAO;AACL,aADK,iBACE,GADF,EACK;AACR,iBAAK,SAAL,GAAiB,GAAjB;AACD;AAHI,KAlFA;AAwFP,gBAxFO,0BAwFK;AACV;AACA;AACA,aAAK,YAAL,GAAqB,KAAK,QAAL,CAAc,KAAd,IAAuB,KAAK,QAAL,CAAc,KAAd,CAAoB,KAA5C,IAAsD,OAA1E;AACD,KA5FM;;AA8FP,aAAS;AACP,kBADO,wBACG;AACR,mBAAO,CACL,KAAK,cAAL,EADK,EAEL,KAAK,UAAL,EAFK,EAGL,KAAK,aAAL,EAHK,CAAP;AAKD,SAPM;AAQP,kBARO,wBAQG;AACR,mBAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,6BAAa;AADmB,aAA3B,EAEJ,CACD,KAAK,YAAL,EADC,EAED,KAAK,WAAL,EAFC,CAFI,CAAP;AAMD,SAfM;AAgBP,sBAhBO,4BAgBO;AACZ,mBAAO,CACL,KAAK,QAAL,EADK,EAEL,KAAK,MAAL,CAAY,OAFP,CAAP;AAID,SArBM;;AAsBP;AACA,eAvBO,mBAwBL,IAxBK,EAyBL,EAzBK,EA0BiB;AAAA;;AAAA,gBAAtB,eAAsB,uEAAJ,IAAI;;AAEtB,gBAAM,OAAQ,KAAgB,IAAhB,UAAd;AACA,gBAAM,uBAAqB,wBAAU,IAAV,CAA3B;AACA,iBAAK,MAAO,KAAgB,IAAhB,YAAZ;AAEA,gBAAI,mBAAmB,IAAnB,IAA2B,EAA/B,EAAmC;AACjC,8CAAc,IAAd,qBAAkC,SAAlC,EAA+C,IAA/C;AACD;AAED,gBAAM,OAAkB;AACtB,uBAAO;AACL,2BAAO,KAAK,eADP;AAEL,0BAAM,KAAK,IAFN;AAGL,8BAAU,KAAK,QAHV;AAIL,2BAAO,KAAK;AAJP,iBADe;AAOtB,oBAAI,EAAE,KAAK,UAAL,CAAgB,SAAhB,KAA8B,EAAhC,IACA,SADA,GAEA;AACA,2BAAO,eAAC,CAAD,EAAa;AAClB,0BAAE,cAAF;AACA,0BAAE,eAAF;AAEA,8BAAK,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACA,8BAAM,GAAG,CAAH,CAAN;AACD,qBAPD;AAQA;AACA;AACA,6BAAS,iBAAC,CAAD,EAAa;AACpB,0BAAE,cAAF;AACA,0BAAE,eAAF;AACD;AAbD;AATkB,aAAxB;AA0BA,mBAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,+DAA6C,wBAAU,IAAV,CADb;AAEhC,0BAAQ,IAAR,GAAe;AAFiB,aAA3B,EAGJ,CACD,KAAK,cAAL,CACE,eADF,EAEE,IAFF,EAGE,IAHF,CADC,CAHI,CAAP;AAUD,SAxEM;AAyEP,oBAzEO,0BAyEK;AACV,mBAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,kBAAL,CAAwB,KAAK,eAA7B,EAA8C;AAC9E,6BAAa,eADiE;AAE9E,uBAAO,EAAE,QAAQ,4BAAc,KAAK,MAAnB,CAAV,EAFuE;AAG9E,4BAAY,KAAK,eAH6D;AAI9E,oBAAI;AACF,2BAAO,KAAK,OADV;AAEF,+BAAW,KAAK,WAFd;AAGF,6BAAS,KAAK;AAHZ,iBAJ0E;AAS9E,qBAAK;AATyE,aAA9C,CAA3B,EAUH,CAAC,KAAK,cAAL,EAAD,CAVG,CAAP;AAWD,SArFM;AAsFP,gBAtFO,sBAsFC;AACN,gBAAI,CAAC,KAAK,QAAV,EAAoB,OAAO,IAAP;AAEpB,mBAAO,KAAK,cAAL,CAAoB,gBAApB,EAA4B;AACjC,uBAAO;AACL,2BAAO,KAAK,eADP;AAEL,0BAAM,KAAK,IAFN;AAGL,6BAAS,KAAK,QAHT;AAIL,yBAAK,KAAK,MAAL,CAAY,EAJZ;AAKL,2BAAO,KAAK;AALP;AAD0B,aAA5B,EAQJ,KAAK,MAAL,CAAY,KAAZ,IAAqB,KAAK,KARtB,CAAP;AASD,SAlGM;AAmGP,mBAnGO,yBAmGI;AAAA;;AACT,gBAAI,KAAK,WAAT,EAAsB,OAAO,IAAP;AAEtB,gBAAM,WAAW,KAAK,OAAL,GACb,CAAC,KAAK,IAAN,CADa,GAEb,KAAK,WAFT;AAIA,mBAAO,KAAK,cAAL,CAAoB,mBAApB,EAA+B;AACpC,uBAAO;AACL,2BAAO,KAAK,OAAL,GAAe,EAAf,GAAoB,KAAK,eAD3B;AAEL,0BAAM,KAAK,IAFN;AAGL,2BAAO,KAAK,KAHP;AAIL,2BAAQ,KAAK,WAAL,IAAoB,KAAK,OAA1B,GAAqC,QAArC,GAAgD;AAJlD,iBAD6B;AAOpC,6BAAa;AACX,6BAAS,KAAK,YAAL,CAAkB,OAAlB,GACL;AAAA,+BAAS,OAAK,YAAL,CAAkB,OAAlB,CAA2B,KAA3B,CAAT;AAAA,qBADK,GAEL;AAHO;AAPuB,aAA/B,CAAP;AAaD,SAvHM;AAwHP,eAxHO,mBAyHL,IAzHK,EA0HL,QA1HK,EA2HL,IA3HK,EA2HoB;AAEzB,gBAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,IAAP;AAElB,gBAAM,MAAS,IAAT,SAAiB,QAAvB;AAEA,mBAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,2CAAyB,GADO;AAEhC;AAFgC,aAA3B,EAGJ,IAHI,CAAP;AAID,SArIM;AAsIP,sBAtIO,4BAsIO;AACZ,gBAAM,OAAO,EAAb;AAEA,gBAAI,KAAK,MAAL,CAAY,OAAhB,EAAyB;AACvB,qBAAK,IAAL,CAAU,KAAK,MAAL,CAAY,OAAtB;AACD,aAFD,MAEO,IAAI,KAAK,WAAT,EAAsB;AAC3B,qBAAK,IAAL,CAAU,KAAK,OAAL,CAAa,SAAb,CAAV;AACD;AAED,mBAAO,KAAK,OAAL,CAAa,SAAb,EAAwB,OAAxB,EAAiC,IAAjC,CAAP;AACD,SAhJM;AAiJP,qBAjJO,2BAiJM;AACX,gBAAM,OAAO,EAAb;AAEA;AACA;AACA;AACA;AACA,gBAAI,KAAK,MAAL,CAAY,MAAhB,EAAwB;AACtB,qBAAK,IAAL,CAAU,KAAK,MAAL,CAAY,MAAtB;AACD,aAFD,MAEO,IAAI,KAAK,UAAT,EAAqB;AAC1B,qBAAK,IAAL,CAAU,KAAK,OAAL,CAAa,QAAb,CAAV;AACD;AAED,mBAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,IAAhC,CAAP;AACD,SA/JM;AAgKP,eAhKO,mBAgKE,CAhKF,EAgKU;AACf,iBAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AACD,SAlKM;AAmKP,mBAnKO,uBAmKM,CAnKN,EAmKc;AACnB,iBAAK,YAAL,GAAoB,IAApB;AACA,iBAAK,KAAL,CAAW,WAAX,EAAwB,CAAxB;AACD,SAtKM;AAuKP,iBAvKO,qBAuKI,CAvKJ,EAuKY;AACjB,iBAAK,YAAL,GAAoB,KAApB;AACA,iBAAK,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD;AA1KM,KA9FF;AA2QP,UA3QO,kBA2QC,CA3QD,EA2QE;AACP,eAAO,EAAE,KAAF,EAAS,KAAK,YAAL,CAAkB,KAAK,eAAvB,EAAwC;AACtD,yBAAa,SADyC;AAEtD,mBAAO,KAAK,UAF0C;AAGtD,qBAAS,KAAK;AAHwC,SAAxC,CAAT,EAIH,KAAK,UAAL,EAJG,CAAP;AAKD;AAjRM,CAbM,C","sourcesContent":["// Styles\nimport '../../stylus/components/_inputs.styl'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n kebabCase\n} from '../../util/helpers'\nimport { deprecate } from '../../util/console'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VNodeData } from 'vue'\ninterface options extends Vue {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable,\n typeof Validatable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable,\n Validatable\n /* @vue/component */\n).extend({\n name: 'v-input',\n\n props: {\n appendIcon: String,\n /** @deprecated */\n appendIconCb: Function,\n backgroundColor: {\n type: String,\n default: ''\n },\n height: [Number, String],\n hideDetails: Boolean,\n hint: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n /** @deprecated */\n prependIconCb: Function,\n value: { required: false }\n },\n\n data () {\n return {\n attrsInput: {},\n lazyValue: this.value as any,\n hasMouseDown: false\n }\n },\n\n computed: {\n classes: () => ({}),\n classesInput (): object {\n return {\n ...this.classes,\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': this.hideDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.disabled,\n 'v-input--is-focused': this.isFocused,\n 'v-input--is-loading': this.loading !== false && this.loading !== undefined,\n 'v-input--is-readonly': this.readonly,\n ...this.themeClasses\n }\n },\n directivesInput () {\n return []\n },\n hasHint () {\n return !this.hasMessages &&\n this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel () {\n return Boolean(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get () {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n }\n },\n isDirty () {\n return !!this.lazyValue\n },\n isDisabled () {\n return Boolean(this.disabled || this.readonly)\n },\n isLabelActive () {\n return this.isDirty\n }\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n }\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot()\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control'\n }, [\n this.genInputSlot(),\n this.genMessages()\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default\n ]\n },\n // TODO: remove shouldDeprecate (2.0), used for clearIcon\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n shouldDeprecate = true\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n cb = cb || (this as any)[`${type}IconCb`]\n\n if (shouldDeprecate && type && cb) {\n deprecate(`:${type}-icon-cb`, `@${eventName}`, this)\n }\n\n const data: VNodeData = {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n light: this.light\n },\n on: !(this.$listeners[eventName] || cb)\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has mouseup event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n }\n\n return this.$createElement('div', {\n staticClass: `v-input__icon v-input__icon--${kebabCase(type)}`,\n key: `${type}${icon}`\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n )\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n directives: this.directivesInput,\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp\n },\n ref: 'input-slot'\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n focused: this.hasState,\n for: this.$attrs.id,\n light: this.light\n }\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (this.hideDetails) return null\n\n const messages = this.hasHint\n ? [this.hint]\n : this.validations\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: (this.hasMessages || this.hasHint) ? messages : []\n },\n scopedSlots: {\n default: this.$scopedSlots.message\n ? props => this.$scopedSlots.message!(props)\n : undefined\n }\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n }\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n attrs: this.attrsInput,\n 'class': this.classesInput\n }), this.genContent())\n }\n})\n"],"sourceRoot":""}
|
|
@@ -275,11 +275,10 @@ exports.default = _VTextField2.default.extend({
|
|
|
275
275
|
methods: {
|
|
276
276
|
/** @public */
|
|
277
277
|
blur: function blur(e) {
|
|
278
|
+
_VTextField2.default.options.methods.blur.call(this, e);
|
|
278
279
|
this.isMenuActive = false;
|
|
279
280
|
this.isFocused = false;
|
|
280
|
-
this.$refs.input && this.$refs.input.blur();
|
|
281
281
|
this.selectedIndex = -1;
|
|
282
|
-
this.onBlur(e);
|
|
283
282
|
},
|
|
284
283
|
|
|
285
284
|
/** @public */
|
|
@@ -532,7 +531,7 @@ exports.default = _VTextField2.default.extend({
|
|
|
532
531
|
return (0, _helpers.getPropertyFromItem)(item, this.itemValue, this.getText(item));
|
|
533
532
|
},
|
|
534
533
|
onBlur: function onBlur(e) {
|
|
535
|
-
this.$emit('blur', e);
|
|
534
|
+
e && this.$emit('blur', e);
|
|
536
535
|
},
|
|
537
536
|
onChipInput: function onChipInput(item) {
|
|
538
537
|
if (this.multiple) this.selectItem(item);else this.setValue(null);
|
|
@@ -575,7 +574,8 @@ exports.default = _VTextField2.default.extend({
|
|
|
575
574
|
this.keyboardLookupPrefix += e.key.toLowerCase();
|
|
576
575
|
this.keyboardLookupLastTime = now;
|
|
577
576
|
var index = this.allItems.findIndex(function (item) {
|
|
578
|
-
|
|
577
|
+
var text = (_this7.getText(item) || '').toString();
|
|
578
|
+
return text.toLowerCase().startsWith(_this7.keyboardLookupPrefix);
|
|
579
579
|
});
|
|
580
580
|
var item = this.allItems[index];
|
|
581
581
|
if (index !== -1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSelect/VSelect.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_text-fields.styl'\nimport '../../stylus/components/_select.styl'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { camelize, getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n openOnClick: false,\n maxHeight: 300\n}\n\n/* @vue/component */\nexport default VTextField.extend({\n name: 'v-select',\n\n directives: {\n ClickOutside\n },\n\n mixins: [\n Comparable,\n Filterable\n ],\n\n props: {\n appendIcon: {\n type: String,\n default: '$vuetify.icons.dropdown'\n },\n appendIconCb: Function,\n attach: {\n type: null,\n default: false\n },\n browserAutocomplete: {\n type: String,\n default: 'on'\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n itemAvatar: {\n type: [String, Array, Function],\n default: 'avatar'\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function],\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n searchInput: {\n default: null\n },\n smallChips: Boolean\n },\n\n data: vm => ({\n attrsInput: { role: 'combobox' },\n cachedItems: vm.cacheItems ? vm.items : [],\n content: null,\n isBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: vm.value !== undefined\n ? vm.value\n : vm.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0\n }),\n\n computed: {\n /* All items that the select has */\n allItems () {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes () {\n return Object.assign({}, VTextField.options.computed.classes.call(this), {\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive\n })\n },\n /* Used by other components to overwrite */\n computedItems () {\n return this.allItems\n },\n counterValue () {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives () {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional\n }\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips () {\n return this.chips || this.smallChips\n },\n hasSlot () {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty () {\n return this.selectedItems.length > 0\n },\n listData () {\n const scopeId = this.$vnode && this.$vnode.context.$options._scopeId\n return {\n attrs: scopeId ? {\n [scopeId]: true\n } : null,\n props: {\n action: this.multiple && !this.isHidingSelected,\n color: this.color,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n noDataText: this.$vuetify.t(this.noDataText),\n selectedItems: this.selectedItems,\n itemAvatar: this.itemAvatar,\n itemDisabled: this.itemDisabled,\n itemValue: this.itemValue,\n itemText: this.itemText\n },\n on: {\n select: this.selectItem\n },\n scopedSlots: {\n item: this.$scopedSlots.item\n }\n }\n },\n staticList () {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems () {\n return this.$_menuProps.auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow () { return true },\n $_menuProps () {\n let normalisedProps\n\n normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: this.nudgeBottom\n ? this.nudgeBottom\n : normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps\n }\n }\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isBooted () {\n this.$nextTick(() => {\n if (this.content && this.content.addEventListener) {\n this.content.addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n if (!val) return\n\n this.isBooted = true\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n }\n\n this.setSelectedItems()\n }\n }\n },\n\n mounted () {\n this.content = this.$refs.menu && this.$refs.menu.$refs.content\n },\n\n methods: {\n /** @public */\n blur (e) {\n this.isMenuActive = false\n this.isFocused = false\n this.$refs.input && this.$refs.input.blur()\n this.selectedIndex = -1\n this.onBlur(e)\n },\n /** @public */\n activateMenu () {\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e) {\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n !!this.content &&\n !this.content.contains(e.target) &&\n\n // Click originates from outside the element\n !!this.$el &&\n !this.$el.contains(e.target) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex(i => this.valueComparator(this.getValue(i), itemValue))\n },\n genChipSelection (item, index) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select-multi',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n selected: index === this.selectedIndex,\n small: this.smallChips\n },\n on: {\n click: e => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n input: () => this.onChipInput(item)\n },\n key: this.getValue(item)\n }, this.getText(item))\n },\n genCommaSelection (item, index, last) {\n // Item may be an object\n // TODO: Remove JSON.stringify\n const key = JSON.stringify(this.getValue(item))\n const color = index === this.selectedIndex && this.color\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n 'class': {\n 'v-select__selection--disabled': isDisabled\n },\n key\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot () {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot()\n ]),\n this.genMenu(),\n this.genProgress()\n ]\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data.domProps.value = null\n input.data.attrs.readonly = true\n input.data.attrs['aria-readonly'] = String(this.readonly)\n input.data.on.keypress = this.onKeyPress\n\n return input\n },\n genList () {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot () {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData\n }, slots)\n },\n genMenu () {\n const props = this.$_menuProps\n props.activator = this.$refs['input-slot']\n\n // Deprecate using menu props directly\n // TODO: remove (2.0)\n const inheritedProps = Object.keys(VMenu.options.props)\n\n const deprecatedProps = Object.keys(this.$attrs).reduce((acc, attr) => {\n if (inheritedProps.includes(camelize(attr))) acc.push(attr)\n return acc\n }, [])\n\n for (const prop of deprecatedProps) {\n props[camelize(prop)] = this.$attrs[prop]\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (deprecatedProps.length) {\n const multiple = deprecatedProps.length > 1\n let replacement = deprecatedProps.reduce((acc, p) => {\n acc[camelize(p)] = this.$attrs[p]\n return acc\n }, {})\n const props = deprecatedProps.map(p => `'${p}'`).join(', ')\n const separator = multiple ? '\\n' : '\\''\n\n const onlyBools = Object.keys(replacement).every(prop => {\n const propType = VMenu.options.props[prop]\n const value = replacement[prop]\n return value === true || ((propType.type || propType) === Boolean && value === '')\n })\n\n if (onlyBools) {\n replacement = Object.keys(replacement).join(', ')\n } else {\n replacement = JSON.stringify(replacement, null, multiple ? 2 : 0)\n .replace(/\"([^(\")\"]+)\":/g, '$1:')\n .replace(/\"/g, '\\'')\n }\n\n consoleWarn(\n `${props} ${multiple ? 'are' : 'is'} deprecated, use ` +\n `${separator}${onlyBools ? '' : ':'}menu-props=\"${replacement}\"${separator} instead`,\n this\n )\n }\n }\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n props,\n on: {\n input: val => {\n this.isMenuActive = val\n this.isFocused = val\n }\n },\n ref: 'menu'\n }, [this.genList()])\n },\n genSelections () {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections'\n }, children)\n },\n genSlotSelection (item, index) {\n return this.$scopedSlots.selection({\n parent: this,\n item,\n index,\n selected: index === this.selectedIndex,\n disabled: this.disabled || this.readonly\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? this.$refs.menu.listIndex : -1\n },\n getDisabled (item) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e) {\n this.$emit('blur', e)\n },\n onChipInput (item) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick () {\n if (this.isDisabled) return\n\n this.isMenuActive = true\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n },\n onEnterDown () {\n this.onBlur()\n },\n onEscDown (e) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e) {\n if (this.multiple) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => this.getText(item).toLowerCase().startsWith(this.keyboardLookupPrefix))\n const item = this.allItems[index]\n if (index !== -1) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e) {\n const keyCode = e.keyCode\n\n // If enter, space, up, or down is pressed, open menu\n if (!this.readonly && !this.isMenuActive && [\n keyCodes.enter,\n keyCodes.space,\n keyCodes.up, keyCodes.down\n ].includes(keyCode)) this.activateMenu()\n\n if (this.isMenuActive && this.$refs.menu) this.$refs.menu.changeListIndex(e)\n\n // This should do something different\n if (keyCode === keyCodes.enter) return this.onEnterDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n },\n onMouseUp (e) {\n if (this.hasMouseDown) {\n const appendInner = this.$refs['append-inner']\n\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isMenuActive &&\n appendInner &&\n (appendInner === e.target ||\n appendInner.contains(e.target))\n ) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n // If user is clicking in the container\n // and field is enclosed, activate it\n } else if (this.isEnclosed && !this.isDisabled) {\n this.isMenuActive = true\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.content.scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.content.scrollHeight -\n (this.content.scrollTop +\n this.content.clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onTabDown (e) {\n const menuIndex = this.getMenuIndex()\n\n const listTile = this.$refs.menu.tiles[menuIndex]\n\n // An item that is selected by\n // menu-index should toggled\n if (\n listTile &&\n listTile.className.indexOf('v-list__tile--highlighted') > -1 &&\n this.isMenuActive &&\n menuIndex > -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n listTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n selectItem (item) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map(i => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n this.$refs.menu.updateDimensions()\n })\n }\n },\n setMenuIndex (index) {\n this.$refs.menu && (this.$refs.menu.listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value) {\n const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\n }\n }\n})\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSelect/VSelect.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_text-fields.styl'\nimport '../../stylus/components/_select.styl'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { camelize, getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n openOnClick: false,\n maxHeight: 300\n}\n\n/* @vue/component */\nexport default VTextField.extend({\n name: 'v-select',\n\n directives: {\n ClickOutside\n },\n\n mixins: [\n Comparable,\n Filterable\n ],\n\n props: {\n appendIcon: {\n type: String,\n default: '$vuetify.icons.dropdown'\n },\n appendIconCb: Function,\n attach: {\n type: null,\n default: false\n },\n browserAutocomplete: {\n type: String,\n default: 'on'\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n itemAvatar: {\n type: [String, Array, Function],\n default: 'avatar'\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function],\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n searchInput: {\n default: null\n },\n smallChips: Boolean\n },\n\n data: vm => ({\n attrsInput: { role: 'combobox' },\n cachedItems: vm.cacheItems ? vm.items : [],\n content: null,\n isBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: vm.value !== undefined\n ? vm.value\n : vm.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0\n }),\n\n computed: {\n /* All items that the select has */\n allItems () {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes () {\n return Object.assign({}, VTextField.options.computed.classes.call(this), {\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive\n })\n },\n /* Used by other components to overwrite */\n computedItems () {\n return this.allItems\n },\n counterValue () {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives () {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional\n }\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips () {\n return this.chips || this.smallChips\n },\n hasSlot () {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty () {\n return this.selectedItems.length > 0\n },\n listData () {\n const scopeId = this.$vnode && this.$vnode.context.$options._scopeId\n return {\n attrs: scopeId ? {\n [scopeId]: true\n } : null,\n props: {\n action: this.multiple && !this.isHidingSelected,\n color: this.color,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n noDataText: this.$vuetify.t(this.noDataText),\n selectedItems: this.selectedItems,\n itemAvatar: this.itemAvatar,\n itemDisabled: this.itemDisabled,\n itemValue: this.itemValue,\n itemText: this.itemText\n },\n on: {\n select: this.selectItem\n },\n scopedSlots: {\n item: this.$scopedSlots.item\n }\n }\n },\n staticList () {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems () {\n return this.$_menuProps.auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow () { return true },\n $_menuProps () {\n let normalisedProps\n\n normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: this.nudgeBottom\n ? this.nudgeBottom\n : normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps\n }\n }\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isBooted () {\n this.$nextTick(() => {\n if (this.content && this.content.addEventListener) {\n this.content.addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n if (!val) return\n\n this.isBooted = true\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n }\n\n this.setSelectedItems()\n }\n }\n },\n\n mounted () {\n this.content = this.$refs.menu && this.$refs.menu.$refs.content\n },\n\n methods: {\n /** @public */\n blur (e) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n },\n /** @public */\n activateMenu () {\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e) {\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n !!this.content &&\n !this.content.contains(e.target) &&\n\n // Click originates from outside the element\n !!this.$el &&\n !this.$el.contains(e.target) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex(i => this.valueComparator(this.getValue(i), itemValue))\n },\n genChipSelection (item, index) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select-multi',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n selected: index === this.selectedIndex,\n small: this.smallChips\n },\n on: {\n click: e => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n input: () => this.onChipInput(item)\n },\n key: this.getValue(item)\n }, this.getText(item))\n },\n genCommaSelection (item, index, last) {\n // Item may be an object\n // TODO: Remove JSON.stringify\n const key = JSON.stringify(this.getValue(item))\n const color = index === this.selectedIndex && this.color\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n 'class': {\n 'v-select__selection--disabled': isDisabled\n },\n key\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot () {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot()\n ]),\n this.genMenu(),\n this.genProgress()\n ]\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data.domProps.value = null\n input.data.attrs.readonly = true\n input.data.attrs['aria-readonly'] = String(this.readonly)\n input.data.on.keypress = this.onKeyPress\n\n return input\n },\n genList () {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot () {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData\n }, slots)\n },\n genMenu () {\n const props = this.$_menuProps\n props.activator = this.$refs['input-slot']\n\n // Deprecate using menu props directly\n // TODO: remove (2.0)\n const inheritedProps = Object.keys(VMenu.options.props)\n\n const deprecatedProps = Object.keys(this.$attrs).reduce((acc, attr) => {\n if (inheritedProps.includes(camelize(attr))) acc.push(attr)\n return acc\n }, [])\n\n for (const prop of deprecatedProps) {\n props[camelize(prop)] = this.$attrs[prop]\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (deprecatedProps.length) {\n const multiple = deprecatedProps.length > 1\n let replacement = deprecatedProps.reduce((acc, p) => {\n acc[camelize(p)] = this.$attrs[p]\n return acc\n }, {})\n const props = deprecatedProps.map(p => `'${p}'`).join(', ')\n const separator = multiple ? '\\n' : '\\''\n\n const onlyBools = Object.keys(replacement).every(prop => {\n const propType = VMenu.options.props[prop]\n const value = replacement[prop]\n return value === true || ((propType.type || propType) === Boolean && value === '')\n })\n\n if (onlyBools) {\n replacement = Object.keys(replacement).join(', ')\n } else {\n replacement = JSON.stringify(replacement, null, multiple ? 2 : 0)\n .replace(/\"([^(\")\"]+)\":/g, '$1:')\n .replace(/\"/g, '\\'')\n }\n\n consoleWarn(\n `${props} ${multiple ? 'are' : 'is'} deprecated, use ` +\n `${separator}${onlyBools ? '' : ':'}menu-props=\"${replacement}\"${separator} instead`,\n this\n )\n }\n }\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n props,\n on: {\n input: val => {\n this.isMenuActive = val\n this.isFocused = val\n }\n },\n ref: 'menu'\n }, [this.genList()])\n },\n genSelections () {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections'\n }, children)\n },\n genSlotSelection (item, index) {\n return this.$scopedSlots.selection({\n parent: this,\n item,\n index,\n selected: index === this.selectedIndex,\n disabled: this.disabled || this.readonly\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? this.$refs.menu.listIndex : -1\n },\n getDisabled (item) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e) {\n e && this.$emit('blur', e)\n },\n onChipInput (item) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick () {\n if (this.isDisabled) return\n\n this.isMenuActive = true\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n },\n onEnterDown () {\n this.onBlur()\n },\n onEscDown (e) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e) {\n if (this.multiple) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e) {\n const keyCode = e.keyCode\n\n // If enter, space, up, or down is pressed, open menu\n if (!this.readonly && !this.isMenuActive && [\n keyCodes.enter,\n keyCodes.space,\n keyCodes.up, keyCodes.down\n ].includes(keyCode)) this.activateMenu()\n\n if (this.isMenuActive && this.$refs.menu) this.$refs.menu.changeListIndex(e)\n\n // This should do something different\n if (keyCode === keyCodes.enter) return this.onEnterDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n },\n onMouseUp (e) {\n if (this.hasMouseDown) {\n const appendInner = this.$refs['append-inner']\n\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isMenuActive &&\n appendInner &&\n (appendInner === e.target ||\n appendInner.contains(e.target))\n ) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n // If user is clicking in the container\n // and field is enclosed, activate it\n } else if (this.isEnclosed && !this.isDisabled) {\n this.isMenuActive = true\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.content.scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.content.scrollHeight -\n (this.content.scrollTop +\n this.content.clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onTabDown (e) {\n const menuIndex = this.getMenuIndex()\n\n const listTile = this.$refs.menu.tiles[menuIndex]\n\n // An item that is selected by\n // menu-index should toggled\n if (\n listTile &&\n listTile.className.indexOf('v-list__tile--highlighted') > -1 &&\n this.isMenuActive &&\n menuIndex > -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n listTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n selectItem (item) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map(i => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n this.$refs.menu.updateDimensions()\n })\n }\n },\n setMenuIndex (index) {\n this.$refs.menu && (this.$refs.menu.listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value) {\n const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\n }\n }\n})\n"],"sourceRoot":""}
|
|
@@ -218,15 +218,22 @@ exports.default = _VInput2.default.extend({
|
|
|
218
218
|
},
|
|
219
219
|
|
|
220
220
|
/** @public */
|
|
221
|
-
blur: function blur() {
|
|
222
|
-
|
|
221
|
+
blur: function blur(e) {
|
|
222
|
+
var _this2 = this;
|
|
223
|
+
|
|
224
|
+
// https://github.com/vuetifyjs/vuetify/issues/5913
|
|
225
|
+
// Safari tab order gets broken if called synchronous
|
|
226
|
+
window.requestAnimationFrame(function () {
|
|
227
|
+
_this2.$refs.input && _this2.$refs.input.blur();
|
|
228
|
+
});
|
|
229
|
+
this.onBlur(e);
|
|
223
230
|
},
|
|
224
231
|
clearableCallback: function clearableCallback() {
|
|
225
|
-
var
|
|
232
|
+
var _this3 = this;
|
|
226
233
|
|
|
227
234
|
this.internalValue = null;
|
|
228
235
|
this.$nextTick(function () {
|
|
229
|
-
return
|
|
236
|
+
return _this3.$refs.input.focus();
|
|
230
237
|
});
|
|
231
238
|
},
|
|
232
239
|
genAppendSlot: function genAppendSlot() {
|
|
@@ -353,7 +360,7 @@ exports.default = _VInput2.default.extend({
|
|
|
353
360
|
// to allow external change
|
|
354
361
|
// to persist
|
|
355
362
|
this.internalChange = false;
|
|
356
|
-
this.$emit('blur', e);
|
|
363
|
+
e && this.$emit('blur', e);
|
|
357
364
|
},
|
|
358
365
|
onClick: function onClick() {
|
|
359
366
|
if (this.isFocused || this.disabled) return;
|