Download Fore_End/cpcn2/node_modules/element-ui/lib/autocomplete.js from zxy0307/JavaWeb: direct link, hf CLI and curl.
- Browser
- Download file 26.1 kB
-
https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/element-ui/lib/autocomplete.js
- Command line
-
hf download hf://zxy0307/JavaWeb/Fore_End/cpcn2/node_modules/element-ui/lib/autocomplete.js
-
curl -L -o autocomplete.js https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/element-ui/lib/autocomplete.js
26.1 kB
| module.exports = | |
| /******/ (function(modules) { // webpackBootstrap | |
| /******/ // The module cache | |
| /******/ var installedModules = {}; | |
| /******/ | |
| /******/ // The require function | |
| /******/ function __webpack_require__(moduleId) { | |
| /******/ | |
| /******/ // Check if module is in cache | |
| /******/ if(installedModules[moduleId]) { | |
| /******/ return installedModules[moduleId].exports; | |
| /******/ } | |
| /******/ // Create a new module (and put it into the cache) | |
| /******/ var module = installedModules[moduleId] = { | |
| /******/ i: moduleId, | |
| /******/ l: false, | |
| /******/ exports: {} | |
| /******/ }; | |
| /******/ | |
| /******/ // Execute the module function | |
| /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | |
| /******/ | |
| /******/ // Flag the module as loaded | |
| /******/ module.l = true; | |
| /******/ | |
| /******/ // Return the exports of the module | |
| /******/ return module.exports; | |
| /******/ } | |
| /******/ | |
| /******/ | |
| /******/ // expose the modules object (__webpack_modules__) | |
| /******/ __webpack_require__.m = modules; | |
| /******/ | |
| /******/ // expose the module cache | |
| /******/ __webpack_require__.c = installedModules; | |
| /******/ | |
| /******/ // define getter function for harmony exports | |
| /******/ __webpack_require__.d = function(exports, name, getter) { | |
| /******/ if(!__webpack_require__.o(exports, name)) { | |
| /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | |
| /******/ } | |
| /******/ }; | |
| /******/ | |
| /******/ // define __esModule on exports | |
| /******/ __webpack_require__.r = function(exports) { | |
| /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | |
| /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | |
| /******/ } | |
| /******/ Object.defineProperty(exports, '__esModule', { value: true }); | |
| /******/ }; | |
| /******/ | |
| /******/ // create a fake namespace object | |
| /******/ // mode & 1: value is a module id, require it | |
| /******/ // mode & 2: merge all properties of value into the ns | |
| /******/ // mode & 4: return value when already ns object | |
| /******/ // mode & 8|1: behave like require | |
| /******/ __webpack_require__.t = function(value, mode) { | |
| /******/ if(mode & 1) value = __webpack_require__(value); | |
| /******/ if(mode & 8) return value; | |
| /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | |
| /******/ var ns = Object.create(null); | |
| /******/ __webpack_require__.r(ns); | |
| /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | |
| /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | |
| /******/ return ns; | |
| /******/ }; | |
| /******/ | |
| /******/ // getDefaultExport function for compatibility with non-harmony modules | |
| /******/ __webpack_require__.n = function(module) { | |
| /******/ var getter = module && module.__esModule ? | |
| /******/ function getDefault() { return module['default']; } : | |
| /******/ function getModuleExports() { return module; }; | |
| /******/ __webpack_require__.d(getter, 'a', getter); | |
| /******/ return getter; | |
| /******/ }; | |
| /******/ | |
| /******/ // Object.prototype.hasOwnProperty.call | |
| /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | |
| /******/ | |
| /******/ // __webpack_public_path__ | |
| /******/ __webpack_require__.p = "/dist/"; | |
| /******/ | |
| /******/ | |
| /******/ // Load entry module and return exports | |
| /******/ return __webpack_require__(__webpack_require__.s = 64); | |
| /******/ }) | |
| /************************************************************************/ | |
| /******/ ({ | |
| /***/ 0: | |
| /***/ (function(module, __webpack_exports__, __webpack_require__) { | |
| ; | |
| /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); | |
| /* globals __VUE_SSR_CONTEXT__ */ | |
| // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). | |
| // This module is a runtime utility for cleaner component module output and will | |
| // be included in the final webpack user bundle. | |
| function normalizeComponent ( | |
| scriptExports, | |
| render, | |
| staticRenderFns, | |
| functionalTemplate, | |
| injectStyles, | |
| scopeId, | |
| moduleIdentifier, /* server only */ | |
| shadowMode /* vue-cli only */ | |
| ) { | |
| // Vue.extend constructor export interop | |
| var options = typeof scriptExports === 'function' | |
| ? scriptExports.options | |
| : scriptExports | |
| // render functions | |
| if (render) { | |
| options.render = render | |
| options.staticRenderFns = staticRenderFns | |
| options._compiled = true | |
| } | |
| // functional template | |
| if (functionalTemplate) { | |
| options.functional = true | |
| } | |
| // scopedId | |
| if (scopeId) { | |
| options._scopeId = 'data-v-' + scopeId | |
| } | |
| var hook | |
| if (moduleIdentifier) { // server build | |
| hook = function (context) { | |
| // 2.3 injection | |
| context = | |
| context || // cached call | |
| (this.$vnode && this.$vnode.ssrContext) || // stateful | |
| (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional | |
| // 2.2 with runInNewContext: true | |
| if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { | |
| context = __VUE_SSR_CONTEXT__ | |
| } | |
| // inject component styles | |
| if (injectStyles) { | |
| injectStyles.call(this, context) | |
| } | |
| // register component module identifier for async chunk inferrence | |
| if (context && context._registeredComponents) { | |
| context._registeredComponents.add(moduleIdentifier) | |
| } | |
| } | |
| // used by ssr in case component is cached and beforeCreate | |
| // never gets called | |
| options._ssrRegister = hook | |
| } else if (injectStyles) { | |
| hook = shadowMode | |
| ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } | |
| : injectStyles | |
| } | |
| if (hook) { | |
| if (options.functional) { | |
| // for template-only hot-reload because in that case the render fn doesn't | |
| // go through the normalizer | |
| options._injectStyles = hook | |
| // register for functioal component in vue file | |
| var originalRender = options.render | |
| options.render = function renderWithStyleInjection (h, context) { | |
| hook.call(context) | |
| return originalRender(h, context) | |
| } | |
| } else { | |
| // inject component registration as beforeCreate hook | |
| var existing = options.beforeCreate | |
| options.beforeCreate = existing | |
| ? [].concat(existing, hook) | |
| : [hook] | |
| } | |
| } | |
| return { | |
| exports: scriptExports, | |
| options: options | |
| } | |
| } | |
| /***/ }), | |
| /***/ 10: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/input"); | |
| /***/ }), | |
| /***/ 11: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/mixins/migrating"); | |
| /***/ }), | |
| /***/ 12: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/utils/clickoutside"); | |
| /***/ }), | |
| /***/ 15: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/scrollbar"); | |
| /***/ }), | |
| /***/ 17: | |
| /***/ (function(module, exports) { | |
| module.exports = require("throttle-debounce/debounce"); | |
| /***/ }), | |
| /***/ 22: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/mixins/focus"); | |
| /***/ }), | |
| /***/ 3: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/utils/util"); | |
| /***/ }), | |
| /***/ 4: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/mixins/emitter"); | |
| /***/ }), | |
| /***/ 5: | |
| /***/ (function(module, exports) { | |
| module.exports = require("element-ui/lib/utils/vue-popper"); | |
| /***/ }), | |
| /***/ 64: | |
| /***/ (function(module, __webpack_exports__, __webpack_require__) { | |
| ; | |
| __webpack_require__.r(__webpack_exports__); | |
| // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6& | |
| var render = function() { | |
| var _vm = this | |
| var _h = _vm.$createElement | |
| var _c = _vm._self._c || _h | |
| return _c( | |
| "div", | |
| { | |
| directives: [ | |
| { | |
| name: "clickoutside", | |
| rawName: "v-clickoutside", | |
| value: _vm.close, | |
| expression: "close" | |
| } | |
| ], | |
| staticClass: "el-autocomplete", | |
| attrs: { | |
| "aria-haspopup": "listbox", | |
| role: "combobox", | |
| "aria-expanded": _vm.suggestionVisible, | |
| "aria-owns": _vm.id | |
| } | |
| }, | |
| [ | |
| _c( | |
| "el-input", | |
| _vm._b( | |
| { | |
| ref: "input", | |
| on: { | |
| input: _vm.handleInput, | |
| change: _vm.handleChange, | |
| focus: _vm.handleFocus, | |
| blur: _vm.handleBlur, | |
| clear: _vm.handleClear | |
| }, | |
| nativeOn: { | |
| keydown: [ | |
| function($event) { | |
| if ( | |
| !("button" in $event) && | |
| _vm._k($event.keyCode, "up", 38, $event.key, [ | |
| "Up", | |
| "ArrowUp" | |
| ]) | |
| ) { | |
| return null | |
| } | |
| $event.preventDefault() | |
| _vm.highlight(_vm.highlightedIndex - 1) | |
| }, | |
| function($event) { | |
| if ( | |
| !("button" in $event) && | |
| _vm._k($event.keyCode, "down", 40, $event.key, [ | |
| "Down", | |
| "ArrowDown" | |
| ]) | |
| ) { | |
| return null | |
| } | |
| $event.preventDefault() | |
| _vm.highlight(_vm.highlightedIndex + 1) | |
| }, | |
| function($event) { | |
| if ( | |
| !("button" in $event) && | |
| _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") | |
| ) { | |
| return null | |
| } | |
| return _vm.handleKeyEnter($event) | |
| }, | |
| function($event) { | |
| if ( | |
| !("button" in $event) && | |
| _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") | |
| ) { | |
| return null | |
| } | |
| return _vm.close($event) | |
| } | |
| ] | |
| } | |
| }, | |
| "el-input", | |
| [_vm.$props, _vm.$attrs], | |
| false | |
| ), | |
| [ | |
| _vm.$slots.prepend | |
| ? _c("template", { slot: "prepend" }, [_vm._t("prepend")], 2) | |
| : _vm._e(), | |
| _vm.$slots.append | |
| ? _c("template", { slot: "append" }, [_vm._t("append")], 2) | |
| : _vm._e(), | |
| _vm.$slots.prefix | |
| ? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2) | |
| : _vm._e(), | |
| _vm.$slots.suffix | |
| ? _c("template", { slot: "suffix" }, [_vm._t("suffix")], 2) | |
| : _vm._e() | |
| ], | |
| 2 | |
| ), | |
| _c( | |
| "el-autocomplete-suggestions", | |
| { | |
| ref: "suggestions", | |
| class: [_vm.popperClass ? _vm.popperClass : ""], | |
| attrs: { | |
| "visible-arrow": "", | |
| "popper-options": _vm.popperOptions, | |
| "append-to-body": _vm.popperAppendToBody, | |
| placement: _vm.placement, | |
| id: _vm.id | |
| } | |
| }, | |
| _vm._l(_vm.suggestions, function(item, index) { | |
| return _c( | |
| "li", | |
| { | |
| key: index, | |
| class: { highlighted: _vm.highlightedIndex === index }, | |
| attrs: { | |
| id: _vm.id + "-item-" + index, | |
| role: "option", | |
| "aria-selected": _vm.highlightedIndex === index | |
| }, | |
| on: { | |
| click: function($event) { | |
| _vm.select(item) | |
| } | |
| } | |
| }, | |
| [ | |
| _vm._t( | |
| "default", | |
| [ | |
| _vm._v("\n " + _vm._s(item[_vm.valueKey]) + "\n ") | |
| ], | |
| { item: item } | |
| ) | |
| ], | |
| 2 | |
| ) | |
| }), | |
| 0 | |
| ) | |
| ], | |
| 1 | |
| ) | |
| } | |
| var staticRenderFns = [] | |
| render._withStripped = true | |
| // CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6& | |
| // EXTERNAL MODULE: external "throttle-debounce/debounce" | |
| var debounce_ = __webpack_require__(17); | |
| var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); | |
| // EXTERNAL MODULE: external "element-ui/lib/input" | |
| var input_ = __webpack_require__(10); | |
| var input_default = /*#__PURE__*/__webpack_require__.n(input_); | |
| // EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" | |
| var clickoutside_ = __webpack_require__(12); | |
| var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); | |
| // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0& | |
| var autocomplete_suggestionsvue_type_template_id_cd10dcf0_render = function() { | |
| var _vm = this | |
| var _h = _vm.$createElement | |
| var _c = _vm._self._c || _h | |
| return _c( | |
| "transition", | |
| { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.doDestroy } }, | |
| [ | |
| _c( | |
| "div", | |
| { | |
| directives: [ | |
| { | |
| name: "show", | |
| rawName: "v-show", | |
| value: _vm.showPopper, | |
| expression: "showPopper" | |
| } | |
| ], | |
| staticClass: "el-autocomplete-suggestion el-popper", | |
| class: { | |
| "is-loading": !_vm.parent.hideLoading && _vm.parent.loading | |
| }, | |
| style: { width: _vm.dropdownWidth }, | |
| attrs: { role: "region" } | |
| }, | |
| [ | |
| _c( | |
| "el-scrollbar", | |
| { | |
| attrs: { | |
| tag: "ul", | |
| "wrap-class": "el-autocomplete-suggestion__wrap", | |
| "view-class": "el-autocomplete-suggestion__list" | |
| } | |
| }, | |
| [ | |
| !_vm.parent.hideLoading && _vm.parent.loading | |
| ? _c("li", [_c("i", { staticClass: "el-icon-loading" })]) | |
| : _vm._t("default") | |
| ], | |
| 2 | |
| ) | |
| ], | |
| 1 | |
| ) | |
| ] | |
| ) | |
| } | |
| var autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns = [] | |
| autocomplete_suggestionsvue_type_template_id_cd10dcf0_render._withStripped = true | |
| // CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0& | |
| // EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" | |
| var vue_popper_ = __webpack_require__(5); | |
| var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); | |
| // EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" | |
| var emitter_ = __webpack_require__(4); | |
| var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); | |
| // EXTERNAL MODULE: external "element-ui/lib/scrollbar" | |
| var scrollbar_ = __webpack_require__(15); | |
| var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); | |
| // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js& | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| /* harmony default export */ var autocomplete_suggestionsvue_type_script_lang_js_ = ({ | |
| components: { ElScrollbar: scrollbar_default.a }, | |
| mixins: [vue_popper_default.a, emitter_default.a], | |
| componentName: 'ElAutocompleteSuggestions', | |
| data: function data() { | |
| return { | |
| parent: this.$parent, | |
| dropdownWidth: '' | |
| }; | |
| }, | |
| props: { | |
| options: { | |
| default: function _default() { | |
| return { | |
| gpuAcceleration: false | |
| }; | |
| } | |
| }, | |
| id: String | |
| }, | |
| methods: { | |
| select: function select(item) { | |
| this.dispatch('ElAutocomplete', 'item-click', item); | |
| } | |
| }, | |
| updated: function updated() { | |
| var _this = this; | |
| this.$nextTick(function (_) { | |
| _this.popperJS && _this.updatePopper(); | |
| }); | |
| }, | |
| mounted: function mounted() { | |
| this.$parent.popperElm = this.popperElm = this.$el; | |
| this.referenceElm = this.$parent.$refs.input.$refs.input || this.$parent.$refs.input.$refs.textarea; | |
| this.referenceList = this.$el.querySelector('.el-autocomplete-suggestion__list'); | |
| this.referenceList.setAttribute('role', 'listbox'); | |
| this.referenceList.setAttribute('id', this.id); | |
| }, | |
| created: function created() { | |
| var _this2 = this; | |
| this.$on('visible', function (val, inputWidth) { | |
| _this2.dropdownWidth = inputWidth + 'px'; | |
| _this2.showPopper = val; | |
| }); | |
| } | |
| }); | |
| // CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js& | |
| /* harmony default export */ var src_autocomplete_suggestionsvue_type_script_lang_js_ = (autocomplete_suggestionsvue_type_script_lang_js_); | |
| // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js | |
| var componentNormalizer = __webpack_require__(0); | |
| // CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue | |
| /* normalize component */ | |
| var component = Object(componentNormalizer["a" /* default */])( | |
| src_autocomplete_suggestionsvue_type_script_lang_js_, | |
| autocomplete_suggestionsvue_type_template_id_cd10dcf0_render, | |
| autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns, | |
| false, | |
| null, | |
| null, | |
| null | |
| ) | |
| /* hot reload */ | |
| if (false) { var api; } | |
| component.options.__file = "packages/autocomplete/src/autocomplete-suggestions.vue" | |
| /* harmony default export */ var autocomplete_suggestions = (component.exports); | |
| // EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" | |
| var migrating_ = __webpack_require__(11); | |
| var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); | |
| // EXTERNAL MODULE: external "element-ui/lib/utils/util" | |
| var util_ = __webpack_require__(3); | |
| // EXTERNAL MODULE: external "element-ui/lib/mixins/focus" | |
| var focus_ = __webpack_require__(22); | |
| var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); | |
| // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js& | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| // | |
| /* harmony default export */ var autocompletevue_type_script_lang_js_ = ({ | |
| name: 'ElAutocomplete', | |
| mixins: [emitter_default.a, focus_default()('input'), migrating_default.a], | |
| inheritAttrs: false, | |
| componentName: 'ElAutocomplete', | |
| components: { | |
| ElInput: input_default.a, | |
| ElAutocompleteSuggestions: autocomplete_suggestions | |
| }, | |
| directives: { Clickoutside: clickoutside_default.a }, | |
| props: { | |
| valueKey: { | |
| type: String, | |
| default: 'value' | |
| }, | |
| popperClass: String, | |
| popperOptions: Object, | |
| placeholder: String, | |
| clearable: { | |
| type: Boolean, | |
| default: false | |
| }, | |
| disabled: Boolean, | |
| name: String, | |
| size: String, | |
| value: String, | |
| maxlength: Number, | |
| minlength: Number, | |
| autofocus: Boolean, | |
| fetchSuggestions: Function, | |
| triggerOnFocus: { | |
| type: Boolean, | |
| default: true | |
| }, | |
| customItem: String, | |
| selectWhenUnmatched: { | |
| type: Boolean, | |
| default: false | |
| }, | |
| prefixIcon: String, | |
| suffixIcon: String, | |
| label: String, | |
| debounce: { | |
| type: Number, | |
| default: 300 | |
| }, | |
| placement: { | |
| type: String, | |
| default: 'bottom-start' | |
| }, | |
| hideLoading: Boolean, | |
| popperAppendToBody: { | |
| type: Boolean, | |
| default: true | |
| }, | |
| highlightFirstItem: { | |
| type: Boolean, | |
| default: false | |
| } | |
| }, | |
| data: function data() { | |
| return { | |
| activated: false, | |
| suggestions: [], | |
| loading: false, | |
| highlightedIndex: -1, | |
| suggestionDisabled: false | |
| }; | |
| }, | |
| computed: { | |
| suggestionVisible: function suggestionVisible() { | |
| var suggestions = this.suggestions; | |
| var isValidData = Array.isArray(suggestions) && suggestions.length > 0; | |
| return (isValidData || this.loading) && this.activated; | |
| }, | |
| id: function id() { | |
| return 'el-autocomplete-' + Object(util_["generateId"])(); | |
| } | |
| }, | |
| watch: { | |
| suggestionVisible: function suggestionVisible(val) { | |
| var $input = this.getInput(); | |
| if ($input) { | |
| this.broadcast('ElAutocompleteSuggestions', 'visible', [val, $input.offsetWidth]); | |
| } | |
| } | |
| }, | |
| methods: { | |
| getMigratingConfig: function getMigratingConfig() { | |
| return { | |
| props: { | |
| 'custom-item': 'custom-item is removed, use scoped slot instead.', | |
| 'props': 'props is removed, use value-key instead.' | |
| } | |
| }; | |
| }, | |
| getData: function getData(queryString) { | |
| var _this = this; | |
| if (this.suggestionDisabled) { | |
| return; | |
| } | |
| this.loading = true; | |
| this.fetchSuggestions(queryString, function (suggestions) { | |
| _this.loading = false; | |
| if (_this.suggestionDisabled) { | |
| return; | |
| } | |
| if (Array.isArray(suggestions)) { | |
| _this.suggestions = suggestions; | |
| _this.highlightedIndex = _this.highlightFirstItem ? 0 : -1; | |
| } else { | |
| console.error('[Element Error][Autocomplete]autocomplete suggestions must be an array'); | |
| } | |
| }); | |
| }, | |
| handleInput: function handleInput(value) { | |
| this.$emit('input', value); | |
| this.suggestionDisabled = false; | |
| if (!this.triggerOnFocus && !value) { | |
| this.suggestionDisabled = true; | |
| this.suggestions = []; | |
| return; | |
| } | |
| this.debouncedGetData(value); | |
| }, | |
| handleChange: function handleChange(value) { | |
| this.$emit('change', value); | |
| }, | |
| handleFocus: function handleFocus(event) { | |
| this.activated = true; | |
| this.$emit('focus', event); | |
| if (this.triggerOnFocus) { | |
| this.debouncedGetData(this.value); | |
| } | |
| }, | |
| handleBlur: function handleBlur(event) { | |
| this.$emit('blur', event); | |
| }, | |
| handleClear: function handleClear() { | |
| this.activated = false; | |
| this.$emit('clear'); | |
| }, | |
| close: function close(e) { | |
| this.activated = false; | |
| }, | |
| handleKeyEnter: function handleKeyEnter(e) { | |
| var _this2 = this; | |
| if (this.suggestionVisible && this.highlightedIndex >= 0 && this.highlightedIndex < this.suggestions.length) { | |
| e.preventDefault(); | |
| this.select(this.suggestions[this.highlightedIndex]); | |
| } else if (this.selectWhenUnmatched) { | |
| this.$emit('select', { value: this.value }); | |
| this.$nextTick(function (_) { | |
| _this2.suggestions = []; | |
| _this2.highlightedIndex = -1; | |
| }); | |
| } | |
| }, | |
| select: function select(item) { | |
| var _this3 = this; | |
| this.$emit('input', item[this.valueKey]); | |
| this.$emit('select', item); | |
| this.$nextTick(function (_) { | |
| _this3.suggestions = []; | |
| _this3.highlightedIndex = -1; | |
| }); | |
| }, | |
| highlight: function highlight(index) { | |
| if (!this.suggestionVisible || this.loading) { | |
| return; | |
| } | |
| if (index < 0) { | |
| this.highlightedIndex = -1; | |
| return; | |
| } | |
| if (index >= this.suggestions.length) { | |
| index = this.suggestions.length - 1; | |
| } | |
| var suggestion = this.$refs.suggestions.$el.querySelector('.el-autocomplete-suggestion__wrap'); | |
| var suggestionList = suggestion.querySelectorAll('.el-autocomplete-suggestion__list li'); | |
| var highlightItem = suggestionList[index]; | |
| var scrollTop = suggestion.scrollTop; | |
| var offsetTop = highlightItem.offsetTop; | |
| if (offsetTop + highlightItem.scrollHeight > scrollTop + suggestion.clientHeight) { | |
| suggestion.scrollTop += highlightItem.scrollHeight; | |
| } | |
| if (offsetTop < scrollTop) { | |
| suggestion.scrollTop -= highlightItem.scrollHeight; | |
| } | |
| this.highlightedIndex = index; | |
| var $input = this.getInput(); | |
| $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex); | |
| }, | |
| getInput: function getInput() { | |
| return this.$refs.input.getInput(); | |
| } | |
| }, | |
| mounted: function mounted() { | |
| var _this4 = this; | |
| this.debouncedGetData = debounce_default()(this.debounce, this.getData); | |
| this.$on('item-click', function (item) { | |
| _this4.select(item); | |
| }); | |
| var $input = this.getInput(); | |
| $input.setAttribute('role', 'textbox'); | |
| $input.setAttribute('aria-autocomplete', 'list'); | |
| $input.setAttribute('aria-controls', 'id'); | |
| $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex); | |
| }, | |
| beforeDestroy: function beforeDestroy() { | |
| this.$refs.suggestions.$destroy(); | |
| } | |
| }); | |
| // CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js& | |
| /* harmony default export */ var src_autocompletevue_type_script_lang_js_ = (autocompletevue_type_script_lang_js_); | |
| // CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue | |
| /* normalize component */ | |
| var autocomplete_component = Object(componentNormalizer["a" /* default */])( | |
| src_autocompletevue_type_script_lang_js_, | |
| render, | |
| staticRenderFns, | |
| false, | |
| null, | |
| null, | |
| null | |
| ) | |
| /* hot reload */ | |
| if (false) { var autocomplete_api; } | |
| autocomplete_component.options.__file = "packages/autocomplete/src/autocomplete.vue" | |
| /* harmony default export */ var autocomplete = (autocomplete_component.exports); | |
| // CONCATENATED MODULE: ./packages/autocomplete/index.js | |
| /* istanbul ignore next */ | |
| autocomplete.install = function (Vue) { | |
| Vue.component(autocomplete.name, autocomplete); | |
| }; | |
| /* harmony default export */ var packages_autocomplete = __webpack_exports__["default"] = (autocomplete); | |
| /***/ }) | |
| /******/ }); |