cy-element-ui 1.1.6 → 1.1.7
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/lib/alert.js +420 -0
- package/lib/aside.js +277 -0
- package/lib/autocomplete.js +952 -0
- package/lib/avatar.js +363 -0
- package/lib/backtop.js +404 -0
- package/lib/badge.js +334 -0
- package/lib/breadcrumb-item.js +322 -0
- package/lib/breadcrumb.js +293 -0
- package/lib/button-group.js +262 -0
- package/lib/button.js +357 -0
- package/lib/calendar.js +933 -0
- package/lib/card.js +297 -0
- package/lib/carousel-item.js +434 -0
- package/lib/carousel.js +707 -0
- package/lib/cascader-panel.js +1558 -0
- package/lib/cascader.js +1439 -0
- package/lib/checkbox-button.js +583 -0
- package/lib/checkbox-group.js +313 -0
- package/lib/checkbox.js +627 -0
- package/lib/col.js +177 -0
- package/lib/collapse-item.js +497 -0
- package/lib/collapse.js +329 -0
- package/lib/color-picker.js +1943 -0
- package/lib/container.js +288 -0
- package/lib/date-picker.js +6336 -0
- package/lib/descriptions-item.js +140 -0
- package/lib/descriptions.js +457 -0
- package/lib/dialog.js +598 -0
- package/lib/directives/mousewheel.js +26 -0
- package/lib/directives/repeat-click.js +33 -0
- package/lib/divider.js +313 -0
- package/lib/drawer.js +592 -0
- package/lib/dropdown-item.js +316 -0
- package/lib/dropdown-menu.js +351 -0
- package/lib/dropdown.js +643 -0
- package/lib/element-ui.common.js +44659 -0
- package/lib/empty.js +730 -0
- package/lib/footer.js +277 -0
- package/lib/form-item.js +826 -0
- package/lib/form.js +466 -0
- package/lib/header.js +277 -0
- package/lib/icon.js +265 -0
- package/lib/image.js +1138 -0
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +301 -0
- package/lib/input-number.js +757 -0
- package/lib/input.js +998 -0
- package/lib/link.js +332 -0
- package/lib/loading.js +631 -0
- package/lib/locale/format.js +56 -0
- package/lib/locale/index.js +63 -0
- package/lib/locale/lang/en.js +126 -0
- package/lib/locale/lang/zh-CN.js +126 -0
- package/lib/locale/lang/zh-TW.js +126 -0
- package/lib/main.js +264 -0
- package/lib/menu-item-group.js +308 -0
- package/lib/menu-item.js +491 -0
- package/lib/menu.js +865 -0
- package/lib/message-box.js +1192 -0
- package/lib/message.js +548 -0
- package/lib/mixins/emitter.js +36 -0
- package/lib/mixins/focus.js +15 -0
- package/lib/mixins/locale.js +17 -0
- package/lib/mixins/migrating.js +69 -0
- package/lib/notification.js +615 -0
- package/lib/option-group.js +344 -0
- package/lib/option.js +474 -0
- package/lib/page-header.js +319 -0
- package/lib/pagination.js +950 -0
- package/lib/popconfirm.js +457 -0
- package/lib/popover.js +617 -0
- package/lib/progress.js +595 -0
- package/lib/radio-button.js +463 -0
- package/lib/radio-group.js +391 -0
- package/lib/radio.js +497 -0
- package/lib/rate.js +670 -0
- package/lib/result.js +578 -0
- package/lib/row.js +149 -0
- package/lib/scrollbar.js +423 -0
- package/lib/select.js +2167 -0
- package/lib/skeleton-item.js +342 -0
- package/lib/skeleton.js +372 -0
- package/lib/slider.js +1199 -0
- package/lib/spinner.js +301 -0
- package/lib/statistic.js +533 -0
- package/lib/step.js +522 -0
- package/lib/steps.js +342 -0
- package/lib/submenu.js +701 -0
- package/lib/switch.js +554 -0
- package/lib/tab-pane.js +332 -0
- package/lib/tabDialog.js +1184 -0
- package/lib/table-column.js +952 -0
- package/lib/table.js +5011 -0
- package/lib/tabs.js +920 -0
- package/lib/tag.js +304 -0
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/tabDialog.css +1 -0
- package/lib/time-picker.js +2967 -0
- package/lib/time-select.js +1765 -0
- package/lib/timeline-item.js +371 -0
- package/lib/timeline.js +275 -0
- package/lib/tooltip.js +425 -0
- package/lib/transfer.js +1102 -0
- package/lib/transitions/collapse-transition.js +91 -0
- package/lib/tree.js +2263 -0
- package/lib/treeSelect.js +746 -0
- package/lib/umd/locale/en.js +142 -0
- package/lib/umd/locale/zh-CN.js +142 -0
- package/lib/umd/locale/zh-TW.js +142 -0
- package/lib/upload.js +1390 -0
- package/lib/utils/after-leave.js +35 -0
- package/lib/utils/aria-dialog.js +104 -0
- package/lib/utils/aria-utils.js +126 -0
- package/lib/utils/clickoutside.js +79 -0
- package/lib/utils/date-util.js +310 -0
- package/lib/utils/date.js +369 -0
- package/lib/utils/dom.js +234 -0
- package/lib/utils/lodash.js +9421 -0
- package/lib/utils/menu/aria-menubar.js +24 -0
- package/lib/utils/menu/aria-menuitem.js +62 -0
- package/lib/utils/menu/aria-submenu.js +69 -0
- package/lib/utils/merge.js +21 -0
- package/lib/utils/popper.js +1261 -0
- package/lib/utils/popup/index.js +233 -0
- package/lib/utils/popup/popup-manager.js +205 -0
- package/lib/utils/resize-event.js +59 -0
- package/lib/utils/scroll-into-view.js +38 -0
- package/lib/utils/scrollbar-width.js +39 -0
- package/lib/utils/shared.js +12 -0
- package/lib/utils/types.js +52 -0
- package/lib/utils/util.js +272 -0
- package/lib/utils/vdom.js +13 -0
- package/lib/utils/vue-popper.js +202 -0
- package/package.json +1 -1
- package/packages/tabDialog/index.js +23 -0
- package/packages/tabDialog/src/dialog/drag.js +63 -0
- package/packages/tabDialog/src/dialog/dragHeight.js +34 -0
- package/packages/tabDialog/src/dialog/dragWidth.js +30 -0
- package/packages/tabDialog/src/main.vue +277 -0
- package/packages/theme-chalk/src/index.scss +1 -0
- package/packages/theme-chalk/src/tabDialog.scss +43 -0
- package/src/index.js +7 -4
package/lib/select.js
ADDED
|
@@ -0,0 +1,2167 @@
|
|
|
1
|
+
module.exports =
|
|
2
|
+
/******/ (function(modules) { // webpackBootstrap
|
|
3
|
+
/******/ // The module cache
|
|
4
|
+
/******/ var installedModules = {};
|
|
5
|
+
/******/
|
|
6
|
+
/******/ // The require function
|
|
7
|
+
/******/ function __webpack_require__(moduleId) {
|
|
8
|
+
/******/
|
|
9
|
+
/******/ // Check if module is in cache
|
|
10
|
+
/******/ if(installedModules[moduleId]) {
|
|
11
|
+
/******/ return installedModules[moduleId].exports;
|
|
12
|
+
/******/ }
|
|
13
|
+
/******/ // Create a new module (and put it into the cache)
|
|
14
|
+
/******/ var module = installedModules[moduleId] = {
|
|
15
|
+
/******/ i: moduleId,
|
|
16
|
+
/******/ l: false,
|
|
17
|
+
/******/ exports: {}
|
|
18
|
+
/******/ };
|
|
19
|
+
/******/
|
|
20
|
+
/******/ // Execute the module function
|
|
21
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
22
|
+
/******/
|
|
23
|
+
/******/ // Flag the module as loaded
|
|
24
|
+
/******/ module.l = true;
|
|
25
|
+
/******/
|
|
26
|
+
/******/ // Return the exports of the module
|
|
27
|
+
/******/ return module.exports;
|
|
28
|
+
/******/ }
|
|
29
|
+
/******/
|
|
30
|
+
/******/
|
|
31
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
32
|
+
/******/ __webpack_require__.m = modules;
|
|
33
|
+
/******/
|
|
34
|
+
/******/ // expose the module cache
|
|
35
|
+
/******/ __webpack_require__.c = installedModules;
|
|
36
|
+
/******/
|
|
37
|
+
/******/ // define getter function for harmony exports
|
|
38
|
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
39
|
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
40
|
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
41
|
+
/******/ }
|
|
42
|
+
/******/ };
|
|
43
|
+
/******/
|
|
44
|
+
/******/ // define __esModule on exports
|
|
45
|
+
/******/ __webpack_require__.r = function(exports) {
|
|
46
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
47
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
48
|
+
/******/ }
|
|
49
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
50
|
+
/******/ };
|
|
51
|
+
/******/
|
|
52
|
+
/******/ // create a fake namespace object
|
|
53
|
+
/******/ // mode & 1: value is a module id, require it
|
|
54
|
+
/******/ // mode & 2: merge all properties of value into the ns
|
|
55
|
+
/******/ // mode & 4: return value when already ns object
|
|
56
|
+
/******/ // mode & 8|1: behave like require
|
|
57
|
+
/******/ __webpack_require__.t = function(value, mode) {
|
|
58
|
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
59
|
+
/******/ if(mode & 8) return value;
|
|
60
|
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
61
|
+
/******/ var ns = Object.create(null);
|
|
62
|
+
/******/ __webpack_require__.r(ns);
|
|
63
|
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
64
|
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
65
|
+
/******/ return ns;
|
|
66
|
+
/******/ };
|
|
67
|
+
/******/
|
|
68
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
69
|
+
/******/ __webpack_require__.n = function(module) {
|
|
70
|
+
/******/ var getter = module && module.__esModule ?
|
|
71
|
+
/******/ function getDefault() { return module['default']; } :
|
|
72
|
+
/******/ function getModuleExports() { return module; };
|
|
73
|
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
74
|
+
/******/ return getter;
|
|
75
|
+
/******/ };
|
|
76
|
+
/******/
|
|
77
|
+
/******/ // Object.prototype.hasOwnProperty.call
|
|
78
|
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
79
|
+
/******/
|
|
80
|
+
/******/ // __webpack_public_path__
|
|
81
|
+
/******/ __webpack_require__.p = "/dist/";
|
|
82
|
+
/******/
|
|
83
|
+
/******/
|
|
84
|
+
/******/ // Load entry module and return exports
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 63);
|
|
86
|
+
/******/ })
|
|
87
|
+
/************************************************************************/
|
|
88
|
+
/******/ ({
|
|
89
|
+
|
|
90
|
+
/***/ 0:
|
|
91
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
92
|
+
|
|
93
|
+
"use strict";
|
|
94
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
|
|
95
|
+
/* globals __VUE_SSR_CONTEXT__ */
|
|
96
|
+
|
|
97
|
+
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
98
|
+
// This module is a runtime utility for cleaner component module output and will
|
|
99
|
+
// be included in the final webpack user bundle.
|
|
100
|
+
|
|
101
|
+
function normalizeComponent(
|
|
102
|
+
scriptExports,
|
|
103
|
+
render,
|
|
104
|
+
staticRenderFns,
|
|
105
|
+
functionalTemplate,
|
|
106
|
+
injectStyles,
|
|
107
|
+
scopeId,
|
|
108
|
+
moduleIdentifier /* server only */,
|
|
109
|
+
shadowMode /* vue-cli only */
|
|
110
|
+
) {
|
|
111
|
+
// Vue.extend constructor export interop
|
|
112
|
+
var options =
|
|
113
|
+
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
114
|
+
|
|
115
|
+
// render functions
|
|
116
|
+
if (render) {
|
|
117
|
+
options.render = render
|
|
118
|
+
options.staticRenderFns = staticRenderFns
|
|
119
|
+
options._compiled = true
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// functional template
|
|
123
|
+
if (functionalTemplate) {
|
|
124
|
+
options.functional = true
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// scopedId
|
|
128
|
+
if (scopeId) {
|
|
129
|
+
options._scopeId = 'data-v-' + scopeId
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
var hook
|
|
133
|
+
if (moduleIdentifier) {
|
|
134
|
+
// server build
|
|
135
|
+
hook = function (context) {
|
|
136
|
+
// 2.3 injection
|
|
137
|
+
context =
|
|
138
|
+
context || // cached call
|
|
139
|
+
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
140
|
+
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
141
|
+
// 2.2 with runInNewContext: true
|
|
142
|
+
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
143
|
+
context = __VUE_SSR_CONTEXT__
|
|
144
|
+
}
|
|
145
|
+
// inject component styles
|
|
146
|
+
if (injectStyles) {
|
|
147
|
+
injectStyles.call(this, context)
|
|
148
|
+
}
|
|
149
|
+
// register component module identifier for async chunk inferrence
|
|
150
|
+
if (context && context._registeredComponents) {
|
|
151
|
+
context._registeredComponents.add(moduleIdentifier)
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// used by ssr in case component is cached and beforeCreate
|
|
155
|
+
// never gets called
|
|
156
|
+
options._ssrRegister = hook
|
|
157
|
+
} else if (injectStyles) {
|
|
158
|
+
hook = shadowMode
|
|
159
|
+
? function () {
|
|
160
|
+
injectStyles.call(
|
|
161
|
+
this,
|
|
162
|
+
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
163
|
+
)
|
|
164
|
+
}
|
|
165
|
+
: injectStyles
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (hook) {
|
|
169
|
+
if (options.functional) {
|
|
170
|
+
// for template-only hot-reload because in that case the render fn doesn't
|
|
171
|
+
// go through the normalizer
|
|
172
|
+
options._injectStyles = hook
|
|
173
|
+
// register for functional component in vue file
|
|
174
|
+
var originalRender = options.render
|
|
175
|
+
options.render = function renderWithStyleInjection(h, context) {
|
|
176
|
+
hook.call(context)
|
|
177
|
+
return originalRender(h, context)
|
|
178
|
+
}
|
|
179
|
+
} else {
|
|
180
|
+
// inject component registration as beforeCreate hook
|
|
181
|
+
var existing = options.beforeCreate
|
|
182
|
+
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return {
|
|
187
|
+
exports: scriptExports,
|
|
188
|
+
options: options
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
/***/ }),
|
|
194
|
+
|
|
195
|
+
/***/ 11:
|
|
196
|
+
/***/ (function(module, exports) {
|
|
197
|
+
|
|
198
|
+
module.exports = require("element-ui/lib/input");
|
|
199
|
+
|
|
200
|
+
/***/ }),
|
|
201
|
+
|
|
202
|
+
/***/ 12:
|
|
203
|
+
/***/ (function(module, exports) {
|
|
204
|
+
|
|
205
|
+
module.exports = require("element-ui/lib/utils/clickoutside");
|
|
206
|
+
|
|
207
|
+
/***/ }),
|
|
208
|
+
|
|
209
|
+
/***/ 16:
|
|
210
|
+
/***/ (function(module, exports) {
|
|
211
|
+
|
|
212
|
+
module.exports = require("element-ui/lib/scrollbar");
|
|
213
|
+
|
|
214
|
+
/***/ }),
|
|
215
|
+
|
|
216
|
+
/***/ 17:
|
|
217
|
+
/***/ (function(module, exports) {
|
|
218
|
+
|
|
219
|
+
module.exports = require("element-ui/lib/utils/resize-event");
|
|
220
|
+
|
|
221
|
+
/***/ }),
|
|
222
|
+
|
|
223
|
+
/***/ 19:
|
|
224
|
+
/***/ (function(module, exports) {
|
|
225
|
+
|
|
226
|
+
module.exports = require("throttle-debounce/debounce");
|
|
227
|
+
|
|
228
|
+
/***/ }),
|
|
229
|
+
|
|
230
|
+
/***/ 21:
|
|
231
|
+
/***/ (function(module, exports) {
|
|
232
|
+
|
|
233
|
+
module.exports = require("element-ui/lib/utils/shared");
|
|
234
|
+
|
|
235
|
+
/***/ }),
|
|
236
|
+
|
|
237
|
+
/***/ 22:
|
|
238
|
+
/***/ (function(module, exports) {
|
|
239
|
+
|
|
240
|
+
module.exports = require("element-ui/lib/mixins/focus");
|
|
241
|
+
|
|
242
|
+
/***/ }),
|
|
243
|
+
|
|
244
|
+
/***/ 3:
|
|
245
|
+
/***/ (function(module, exports) {
|
|
246
|
+
|
|
247
|
+
module.exports = require("element-ui/lib/utils/util");
|
|
248
|
+
|
|
249
|
+
/***/ }),
|
|
250
|
+
|
|
251
|
+
/***/ 31:
|
|
252
|
+
/***/ (function(module, exports) {
|
|
253
|
+
|
|
254
|
+
module.exports = require("element-ui/lib/utils/scroll-into-view");
|
|
255
|
+
|
|
256
|
+
/***/ }),
|
|
257
|
+
|
|
258
|
+
/***/ 33:
|
|
259
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
260
|
+
|
|
261
|
+
"use strict";
|
|
262
|
+
|
|
263
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=97998eb4
|
|
264
|
+
var render = function () {
|
|
265
|
+
var _vm = this
|
|
266
|
+
var _h = _vm.$createElement
|
|
267
|
+
var _c = _vm._self._c || _h
|
|
268
|
+
return _c(
|
|
269
|
+
"li",
|
|
270
|
+
{
|
|
271
|
+
directives: [
|
|
272
|
+
{
|
|
273
|
+
name: "show",
|
|
274
|
+
rawName: "v-show",
|
|
275
|
+
value: _vm.visible,
|
|
276
|
+
expression: "visible",
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
staticClass: "el-select-dropdown__item",
|
|
280
|
+
class: {
|
|
281
|
+
selected: _vm.itemSelected,
|
|
282
|
+
"is-disabled": _vm.disabled || _vm.groupDisabled || _vm.limitReached,
|
|
283
|
+
hover: _vm.hover,
|
|
284
|
+
},
|
|
285
|
+
on: {
|
|
286
|
+
mouseenter: _vm.hoverItem,
|
|
287
|
+
click: function ($event) {
|
|
288
|
+
$event.stopPropagation()
|
|
289
|
+
return _vm.selectOptionClick($event)
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
[_vm._t("default", [_c("span", [_vm._v(_vm._s(_vm.currentLabel))])])],
|
|
294
|
+
2
|
|
295
|
+
)
|
|
296
|
+
}
|
|
297
|
+
var staticRenderFns = []
|
|
298
|
+
render._withStripped = true
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=97998eb4
|
|
302
|
+
|
|
303
|
+
// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter"
|
|
304
|
+
var emitter_ = __webpack_require__(4);
|
|
305
|
+
var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
|
|
306
|
+
|
|
307
|
+
// EXTERNAL MODULE: external "element-ui/lib/utils/util"
|
|
308
|
+
var util_ = __webpack_require__(3);
|
|
309
|
+
|
|
310
|
+
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js
|
|
311
|
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
312
|
+
|
|
313
|
+
//
|
|
314
|
+
//
|
|
315
|
+
//
|
|
316
|
+
//
|
|
317
|
+
//
|
|
318
|
+
//
|
|
319
|
+
//
|
|
320
|
+
//
|
|
321
|
+
//
|
|
322
|
+
//
|
|
323
|
+
//
|
|
324
|
+
//
|
|
325
|
+
//
|
|
326
|
+
//
|
|
327
|
+
//
|
|
328
|
+
//
|
|
329
|
+
//
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
/* harmony default export */ var optionvue_type_script_lang_js = ({
|
|
335
|
+
mixins: [emitter_default.a],
|
|
336
|
+
|
|
337
|
+
name: 'ElOption',
|
|
338
|
+
|
|
339
|
+
componentName: 'ElOption',
|
|
340
|
+
|
|
341
|
+
inject: ['select'],
|
|
342
|
+
|
|
343
|
+
props: {
|
|
344
|
+
value: {
|
|
345
|
+
required: true
|
|
346
|
+
},
|
|
347
|
+
label: [String, Number],
|
|
348
|
+
created: Boolean,
|
|
349
|
+
disabled: {
|
|
350
|
+
type: Boolean,
|
|
351
|
+
default: false
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
|
|
355
|
+
data: function data() {
|
|
356
|
+
return {
|
|
357
|
+
index: -1,
|
|
358
|
+
groupDisabled: false,
|
|
359
|
+
visible: true,
|
|
360
|
+
hitState: false,
|
|
361
|
+
hover: false
|
|
362
|
+
};
|
|
363
|
+
},
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
computed: {
|
|
367
|
+
isObject: function isObject() {
|
|
368
|
+
return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';
|
|
369
|
+
},
|
|
370
|
+
currentLabel: function currentLabel() {
|
|
371
|
+
return this.label || (this.isObject ? '' : this.value);
|
|
372
|
+
},
|
|
373
|
+
currentValue: function currentValue() {
|
|
374
|
+
return this.value || this.label || '';
|
|
375
|
+
},
|
|
376
|
+
itemSelected: function itemSelected() {
|
|
377
|
+
if (!this.select.multiple) {
|
|
378
|
+
return this.isEqual(this.value, this.select.value);
|
|
379
|
+
} else {
|
|
380
|
+
return this.contains(this.select.value, this.value);
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
limitReached: function limitReached() {
|
|
384
|
+
if (this.select.multiple) {
|
|
385
|
+
return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;
|
|
386
|
+
} else {
|
|
387
|
+
return false;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
|
|
392
|
+
watch: {
|
|
393
|
+
currentLabel: function currentLabel() {
|
|
394
|
+
if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');
|
|
395
|
+
},
|
|
396
|
+
value: function value(val, oldVal) {
|
|
397
|
+
var _select = this.select,
|
|
398
|
+
remote = _select.remote,
|
|
399
|
+
valueKey = _select.valueKey;
|
|
400
|
+
|
|
401
|
+
if (!this.created && !remote) {
|
|
402
|
+
if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
405
|
+
this.dispatch('ElSelect', 'setSelected');
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
|
|
410
|
+
methods: {
|
|
411
|
+
isEqual: function isEqual(a, b) {
|
|
412
|
+
if (!this.isObject) {
|
|
413
|
+
return a === b;
|
|
414
|
+
} else {
|
|
415
|
+
var valueKey = this.select.valueKey;
|
|
416
|
+
return Object(util_["getValueByPath"])(a, valueKey) === Object(util_["getValueByPath"])(b, valueKey);
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
contains: function contains() {
|
|
420
|
+
var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
421
|
+
var target = arguments[1];
|
|
422
|
+
|
|
423
|
+
if (!this.isObject) {
|
|
424
|
+
return arr && arr.indexOf(target) > -1;
|
|
425
|
+
} else {
|
|
426
|
+
var valueKey = this.select.valueKey;
|
|
427
|
+
return arr && arr.some(function (item) {
|
|
428
|
+
return Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(target, valueKey);
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
},
|
|
432
|
+
handleGroupDisabled: function handleGroupDisabled(val) {
|
|
433
|
+
this.groupDisabled = val;
|
|
434
|
+
},
|
|
435
|
+
hoverItem: function hoverItem() {
|
|
436
|
+
if (!this.disabled && !this.groupDisabled) {
|
|
437
|
+
this.select.hoverIndex = this.select.options.indexOf(this);
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
selectOptionClick: function selectOptionClick() {
|
|
441
|
+
if (this.disabled !== true && this.groupDisabled !== true) {
|
|
442
|
+
this.dispatch('ElSelect', 'handleOptionClick', [this, true]);
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
queryChange: function queryChange(query) {
|
|
446
|
+
this.visible = new RegExp(Object(util_["escapeRegexpString"])(query), 'i').test(this.currentLabel) || this.created;
|
|
447
|
+
if (!this.visible) {
|
|
448
|
+
this.select.filteredOptionsCount--;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
|
|
453
|
+
created: function created() {
|
|
454
|
+
this.select.options.push(this);
|
|
455
|
+
this.select.cachedOptions.push(this);
|
|
456
|
+
this.select.optionsCount++;
|
|
457
|
+
this.select.filteredOptionsCount++;
|
|
458
|
+
|
|
459
|
+
this.$on('queryChange', this.queryChange);
|
|
460
|
+
this.$on('handleGroupDisabled', this.handleGroupDisabled);
|
|
461
|
+
},
|
|
462
|
+
beforeDestroy: function beforeDestroy() {
|
|
463
|
+
var _select2 = this.select,
|
|
464
|
+
selected = _select2.selected,
|
|
465
|
+
multiple = _select2.multiple;
|
|
466
|
+
|
|
467
|
+
var selectedOptions = multiple ? selected : [selected];
|
|
468
|
+
var index = this.select.cachedOptions.indexOf(this);
|
|
469
|
+
var selectedIndex = selectedOptions.indexOf(this);
|
|
470
|
+
|
|
471
|
+
// if option is not selected, remove it from cache
|
|
472
|
+
if (index > -1 && selectedIndex < 0) {
|
|
473
|
+
this.select.cachedOptions.splice(index, 1);
|
|
474
|
+
}
|
|
475
|
+
this.select.onOptionDestroy(this.select.options.indexOf(this));
|
|
476
|
+
}
|
|
477
|
+
});
|
|
478
|
+
// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js
|
|
479
|
+
/* harmony default export */ var src_optionvue_type_script_lang_js = (optionvue_type_script_lang_js);
|
|
480
|
+
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
481
|
+
var componentNormalizer = __webpack_require__(0);
|
|
482
|
+
|
|
483
|
+
// CONCATENATED MODULE: ./packages/select/src/option.vue
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
/* normalize component */
|
|
490
|
+
|
|
491
|
+
var component = Object(componentNormalizer["a" /* default */])(
|
|
492
|
+
src_optionvue_type_script_lang_js,
|
|
493
|
+
render,
|
|
494
|
+
staticRenderFns,
|
|
495
|
+
false,
|
|
496
|
+
null,
|
|
497
|
+
null,
|
|
498
|
+
null
|
|
499
|
+
|
|
500
|
+
)
|
|
501
|
+
|
|
502
|
+
/* harmony default export */ var src_option = __webpack_exports__["a"] = (component.exports);
|
|
503
|
+
|
|
504
|
+
/***/ }),
|
|
505
|
+
|
|
506
|
+
/***/ 38:
|
|
507
|
+
/***/ (function(module, exports) {
|
|
508
|
+
|
|
509
|
+
module.exports = require("element-ui/lib/tag");
|
|
510
|
+
|
|
511
|
+
/***/ }),
|
|
512
|
+
|
|
513
|
+
/***/ 4:
|
|
514
|
+
/***/ (function(module, exports) {
|
|
515
|
+
|
|
516
|
+
module.exports = require("element-ui/lib/mixins/emitter");
|
|
517
|
+
|
|
518
|
+
/***/ }),
|
|
519
|
+
|
|
520
|
+
/***/ 5:
|
|
521
|
+
/***/ (function(module, exports) {
|
|
522
|
+
|
|
523
|
+
module.exports = require("element-ui/lib/utils/vue-popper");
|
|
524
|
+
|
|
525
|
+
/***/ }),
|
|
526
|
+
|
|
527
|
+
/***/ 6:
|
|
528
|
+
/***/ (function(module, exports) {
|
|
529
|
+
|
|
530
|
+
module.exports = require("element-ui/lib/mixins/locale");
|
|
531
|
+
|
|
532
|
+
/***/ }),
|
|
533
|
+
|
|
534
|
+
/***/ 63:
|
|
535
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
536
|
+
|
|
537
|
+
"use strict";
|
|
538
|
+
// ESM COMPAT FLAG
|
|
539
|
+
__webpack_require__.r(__webpack_exports__);
|
|
540
|
+
|
|
541
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=6398edf2
|
|
542
|
+
var render = function () {
|
|
543
|
+
var _vm = this
|
|
544
|
+
var _h = _vm.$createElement
|
|
545
|
+
var _c = _vm._self._c || _h
|
|
546
|
+
return _c(
|
|
547
|
+
"div",
|
|
548
|
+
{
|
|
549
|
+
directives: [
|
|
550
|
+
{
|
|
551
|
+
name: "clickoutside",
|
|
552
|
+
rawName: "v-clickoutside",
|
|
553
|
+
value: _vm.handleClose,
|
|
554
|
+
expression: "handleClose",
|
|
555
|
+
},
|
|
556
|
+
],
|
|
557
|
+
staticClass: "el-select",
|
|
558
|
+
class: [_vm.selectSize ? "el-select--" + _vm.selectSize : ""],
|
|
559
|
+
on: {
|
|
560
|
+
click: function ($event) {
|
|
561
|
+
$event.stopPropagation()
|
|
562
|
+
return _vm.toggleMenu($event)
|
|
563
|
+
},
|
|
564
|
+
},
|
|
565
|
+
},
|
|
566
|
+
[
|
|
567
|
+
_vm.multiple
|
|
568
|
+
? _c(
|
|
569
|
+
"div",
|
|
570
|
+
{
|
|
571
|
+
ref: "tags",
|
|
572
|
+
staticClass: "el-select__tags",
|
|
573
|
+
style: { "max-width": _vm.inputWidth - 32 + "px", width: "100%" },
|
|
574
|
+
},
|
|
575
|
+
[
|
|
576
|
+
_vm.collapseTags && _vm.selected.length
|
|
577
|
+
? _c(
|
|
578
|
+
"span",
|
|
579
|
+
[
|
|
580
|
+
_c(
|
|
581
|
+
"el-tag",
|
|
582
|
+
{
|
|
583
|
+
attrs: {
|
|
584
|
+
closable: !_vm.selectDisabled,
|
|
585
|
+
size: _vm.collapseTagSize,
|
|
586
|
+
hit: _vm.selected[0].hitState,
|
|
587
|
+
type: "info",
|
|
588
|
+
"disable-transitions": "",
|
|
589
|
+
},
|
|
590
|
+
on: {
|
|
591
|
+
close: function ($event) {
|
|
592
|
+
_vm.deleteTag($event, _vm.selected[0])
|
|
593
|
+
},
|
|
594
|
+
},
|
|
595
|
+
},
|
|
596
|
+
[
|
|
597
|
+
_c("span", { staticClass: "el-select__tags-text" }, [
|
|
598
|
+
_vm._v(_vm._s(_vm.selected[0].currentLabel)),
|
|
599
|
+
]),
|
|
600
|
+
]
|
|
601
|
+
),
|
|
602
|
+
_vm.selected.length > 1
|
|
603
|
+
? _c(
|
|
604
|
+
"el-tag",
|
|
605
|
+
{
|
|
606
|
+
attrs: {
|
|
607
|
+
closable: false,
|
|
608
|
+
size: _vm.collapseTagSize,
|
|
609
|
+
type: "info",
|
|
610
|
+
"disable-transitions": "",
|
|
611
|
+
},
|
|
612
|
+
},
|
|
613
|
+
[
|
|
614
|
+
_c(
|
|
615
|
+
"span",
|
|
616
|
+
{ staticClass: "el-select__tags-text" },
|
|
617
|
+
[_vm._v("+ " + _vm._s(_vm.selected.length - 1))]
|
|
618
|
+
),
|
|
619
|
+
]
|
|
620
|
+
)
|
|
621
|
+
: _vm._e(),
|
|
622
|
+
],
|
|
623
|
+
1
|
|
624
|
+
)
|
|
625
|
+
: _vm._e(),
|
|
626
|
+
!_vm.collapseTags
|
|
627
|
+
? _c(
|
|
628
|
+
"transition-group",
|
|
629
|
+
{ on: { "after-leave": _vm.resetInputHeight } },
|
|
630
|
+
_vm._l(_vm.selected, function (item) {
|
|
631
|
+
return _c(
|
|
632
|
+
"el-tag",
|
|
633
|
+
{
|
|
634
|
+
key: _vm.getValueKey(item),
|
|
635
|
+
attrs: {
|
|
636
|
+
closable: !_vm.selectDisabled,
|
|
637
|
+
size: _vm.collapseTagSize,
|
|
638
|
+
hit: item.hitState,
|
|
639
|
+
type: "info",
|
|
640
|
+
"disable-transitions": "",
|
|
641
|
+
},
|
|
642
|
+
on: {
|
|
643
|
+
close: function ($event) {
|
|
644
|
+
_vm.deleteTag($event, item)
|
|
645
|
+
},
|
|
646
|
+
},
|
|
647
|
+
},
|
|
648
|
+
[
|
|
649
|
+
_c("span", { staticClass: "el-select__tags-text" }, [
|
|
650
|
+
_vm._v(_vm._s(item.currentLabel)),
|
|
651
|
+
]),
|
|
652
|
+
]
|
|
653
|
+
)
|
|
654
|
+
}),
|
|
655
|
+
1
|
|
656
|
+
)
|
|
657
|
+
: _vm._e(),
|
|
658
|
+
_vm.filterable
|
|
659
|
+
? _c("input", {
|
|
660
|
+
directives: [
|
|
661
|
+
{
|
|
662
|
+
name: "model",
|
|
663
|
+
rawName: "v-model",
|
|
664
|
+
value: _vm.query,
|
|
665
|
+
expression: "query",
|
|
666
|
+
},
|
|
667
|
+
],
|
|
668
|
+
ref: "input",
|
|
669
|
+
staticClass: "el-select__input",
|
|
670
|
+
class: [_vm.selectSize ? "is-" + _vm.selectSize : ""],
|
|
671
|
+
style: {
|
|
672
|
+
"flex-grow": "1",
|
|
673
|
+
width: _vm.inputLength / (_vm.inputWidth - 32) + "%",
|
|
674
|
+
"max-width": _vm.inputWidth - 42 + "px",
|
|
675
|
+
},
|
|
676
|
+
attrs: {
|
|
677
|
+
type: "text",
|
|
678
|
+
disabled: _vm.selectDisabled,
|
|
679
|
+
autocomplete: _vm.autoComplete || _vm.autocomplete,
|
|
680
|
+
},
|
|
681
|
+
domProps: { value: _vm.query },
|
|
682
|
+
on: {
|
|
683
|
+
focus: _vm.handleFocus,
|
|
684
|
+
blur: function ($event) {
|
|
685
|
+
_vm.softFocus = false
|
|
686
|
+
},
|
|
687
|
+
keyup: _vm.managePlaceholder,
|
|
688
|
+
keydown: [
|
|
689
|
+
_vm.resetInputState,
|
|
690
|
+
function ($event) {
|
|
691
|
+
if (
|
|
692
|
+
!("button" in $event) &&
|
|
693
|
+
_vm._k($event.keyCode, "down", 40, $event.key, [
|
|
694
|
+
"Down",
|
|
695
|
+
"ArrowDown",
|
|
696
|
+
])
|
|
697
|
+
) {
|
|
698
|
+
return null
|
|
699
|
+
}
|
|
700
|
+
$event.preventDefault()
|
|
701
|
+
_vm.handleNavigate("next")
|
|
702
|
+
},
|
|
703
|
+
function ($event) {
|
|
704
|
+
if (
|
|
705
|
+
!("button" in $event) &&
|
|
706
|
+
_vm._k($event.keyCode, "up", 38, $event.key, [
|
|
707
|
+
"Up",
|
|
708
|
+
"ArrowUp",
|
|
709
|
+
])
|
|
710
|
+
) {
|
|
711
|
+
return null
|
|
712
|
+
}
|
|
713
|
+
$event.preventDefault()
|
|
714
|
+
_vm.handleNavigate("prev")
|
|
715
|
+
},
|
|
716
|
+
function ($event) {
|
|
717
|
+
if (
|
|
718
|
+
!("button" in $event) &&
|
|
719
|
+
_vm._k(
|
|
720
|
+
$event.keyCode,
|
|
721
|
+
"enter",
|
|
722
|
+
13,
|
|
723
|
+
$event.key,
|
|
724
|
+
"Enter"
|
|
725
|
+
)
|
|
726
|
+
) {
|
|
727
|
+
return null
|
|
728
|
+
}
|
|
729
|
+
$event.preventDefault()
|
|
730
|
+
return _vm.selectOption($event)
|
|
731
|
+
},
|
|
732
|
+
function ($event) {
|
|
733
|
+
if (
|
|
734
|
+
!("button" in $event) &&
|
|
735
|
+
_vm._k($event.keyCode, "esc", 27, $event.key, [
|
|
736
|
+
"Esc",
|
|
737
|
+
"Escape",
|
|
738
|
+
])
|
|
739
|
+
) {
|
|
740
|
+
return null
|
|
741
|
+
}
|
|
742
|
+
$event.stopPropagation()
|
|
743
|
+
$event.preventDefault()
|
|
744
|
+
_vm.visible = false
|
|
745
|
+
},
|
|
746
|
+
function ($event) {
|
|
747
|
+
if (
|
|
748
|
+
!("button" in $event) &&
|
|
749
|
+
_vm._k(
|
|
750
|
+
$event.keyCode,
|
|
751
|
+
"delete",
|
|
752
|
+
[8, 46],
|
|
753
|
+
$event.key,
|
|
754
|
+
["Backspace", "Delete", "Del"]
|
|
755
|
+
)
|
|
756
|
+
) {
|
|
757
|
+
return null
|
|
758
|
+
}
|
|
759
|
+
return _vm.deletePrevTag($event)
|
|
760
|
+
},
|
|
761
|
+
function ($event) {
|
|
762
|
+
if (
|
|
763
|
+
!("button" in $event) &&
|
|
764
|
+
_vm._k($event.keyCode, "tab", 9, $event.key, "Tab")
|
|
765
|
+
) {
|
|
766
|
+
return null
|
|
767
|
+
}
|
|
768
|
+
_vm.visible = false
|
|
769
|
+
},
|
|
770
|
+
],
|
|
771
|
+
compositionstart: _vm.handleComposition,
|
|
772
|
+
compositionupdate: _vm.handleComposition,
|
|
773
|
+
compositionend: _vm.handleComposition,
|
|
774
|
+
input: [
|
|
775
|
+
function ($event) {
|
|
776
|
+
if ($event.target.composing) {
|
|
777
|
+
return
|
|
778
|
+
}
|
|
779
|
+
_vm.query = $event.target.value
|
|
780
|
+
},
|
|
781
|
+
_vm.debouncedQueryChange,
|
|
782
|
+
],
|
|
783
|
+
},
|
|
784
|
+
})
|
|
785
|
+
: _vm._e(),
|
|
786
|
+
],
|
|
787
|
+
1
|
|
788
|
+
)
|
|
789
|
+
: _vm._e(),
|
|
790
|
+
_c(
|
|
791
|
+
"el-input",
|
|
792
|
+
{
|
|
793
|
+
ref: "reference",
|
|
794
|
+
class: { "is-focus": _vm.visible },
|
|
795
|
+
attrs: {
|
|
796
|
+
type: "text",
|
|
797
|
+
placeholder: _vm.currentPlaceholder,
|
|
798
|
+
name: _vm.name,
|
|
799
|
+
id: _vm.id,
|
|
800
|
+
autocomplete: _vm.autoComplete || _vm.autocomplete,
|
|
801
|
+
size: _vm.selectSize,
|
|
802
|
+
disabled: _vm.selectDisabled,
|
|
803
|
+
readonly: _vm.readonly,
|
|
804
|
+
"validate-event": false,
|
|
805
|
+
tabindex: _vm.multiple && _vm.filterable ? "-1" : null,
|
|
806
|
+
},
|
|
807
|
+
on: {
|
|
808
|
+
focus: _vm.handleFocus,
|
|
809
|
+
blur: _vm.handleBlur,
|
|
810
|
+
input: _vm.debouncedOnInputChange,
|
|
811
|
+
compositionstart: _vm.handleComposition,
|
|
812
|
+
compositionupdate: _vm.handleComposition,
|
|
813
|
+
compositionend: _vm.handleComposition,
|
|
814
|
+
},
|
|
815
|
+
nativeOn: {
|
|
816
|
+
keydown: [
|
|
817
|
+
function ($event) {
|
|
818
|
+
if (
|
|
819
|
+
!("button" in $event) &&
|
|
820
|
+
_vm._k($event.keyCode, "down", 40, $event.key, [
|
|
821
|
+
"Down",
|
|
822
|
+
"ArrowDown",
|
|
823
|
+
])
|
|
824
|
+
) {
|
|
825
|
+
return null
|
|
826
|
+
}
|
|
827
|
+
$event.stopPropagation()
|
|
828
|
+
$event.preventDefault()
|
|
829
|
+
_vm.handleNavigate("next")
|
|
830
|
+
},
|
|
831
|
+
function ($event) {
|
|
832
|
+
if (
|
|
833
|
+
!("button" in $event) &&
|
|
834
|
+
_vm._k($event.keyCode, "up", 38, $event.key, [
|
|
835
|
+
"Up",
|
|
836
|
+
"ArrowUp",
|
|
837
|
+
])
|
|
838
|
+
) {
|
|
839
|
+
return null
|
|
840
|
+
}
|
|
841
|
+
$event.stopPropagation()
|
|
842
|
+
$event.preventDefault()
|
|
843
|
+
_vm.handleNavigate("prev")
|
|
844
|
+
},
|
|
845
|
+
function ($event) {
|
|
846
|
+
if (
|
|
847
|
+
!("button" in $event) &&
|
|
848
|
+
_vm._k($event.keyCode, "enter", 13, $event.key, "Enter")
|
|
849
|
+
) {
|
|
850
|
+
return null
|
|
851
|
+
}
|
|
852
|
+
$event.preventDefault()
|
|
853
|
+
return _vm.selectOption($event)
|
|
854
|
+
},
|
|
855
|
+
function ($event) {
|
|
856
|
+
if (
|
|
857
|
+
!("button" in $event) &&
|
|
858
|
+
_vm._k($event.keyCode, "esc", 27, $event.key, [
|
|
859
|
+
"Esc",
|
|
860
|
+
"Escape",
|
|
861
|
+
])
|
|
862
|
+
) {
|
|
863
|
+
return null
|
|
864
|
+
}
|
|
865
|
+
$event.stopPropagation()
|
|
866
|
+
$event.preventDefault()
|
|
867
|
+
_vm.visible = false
|
|
868
|
+
},
|
|
869
|
+
function ($event) {
|
|
870
|
+
if (
|
|
871
|
+
!("button" in $event) &&
|
|
872
|
+
_vm._k($event.keyCode, "tab", 9, $event.key, "Tab")
|
|
873
|
+
) {
|
|
874
|
+
return null
|
|
875
|
+
}
|
|
876
|
+
_vm.visible = false
|
|
877
|
+
},
|
|
878
|
+
],
|
|
879
|
+
mouseenter: function ($event) {
|
|
880
|
+
_vm.inputHovering = true
|
|
881
|
+
},
|
|
882
|
+
mouseleave: function ($event) {
|
|
883
|
+
_vm.inputHovering = false
|
|
884
|
+
},
|
|
885
|
+
},
|
|
886
|
+
model: {
|
|
887
|
+
value: _vm.selectedLabel,
|
|
888
|
+
callback: function ($$v) {
|
|
889
|
+
_vm.selectedLabel = $$v
|
|
890
|
+
},
|
|
891
|
+
expression: "selectedLabel",
|
|
892
|
+
},
|
|
893
|
+
},
|
|
894
|
+
[
|
|
895
|
+
_vm.$slots.prefix
|
|
896
|
+
? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2)
|
|
897
|
+
: _vm._e(),
|
|
898
|
+
_c("template", { slot: "suffix" }, [
|
|
899
|
+
_c("i", {
|
|
900
|
+
directives: [
|
|
901
|
+
{
|
|
902
|
+
name: "show",
|
|
903
|
+
rawName: "v-show",
|
|
904
|
+
value: !_vm.showClose,
|
|
905
|
+
expression: "!showClose",
|
|
906
|
+
},
|
|
907
|
+
],
|
|
908
|
+
class: [
|
|
909
|
+
"el-select__caret",
|
|
910
|
+
"el-input__icon",
|
|
911
|
+
"el-icon-" + _vm.iconClass,
|
|
912
|
+
],
|
|
913
|
+
}),
|
|
914
|
+
_vm.showClose
|
|
915
|
+
? _c("i", {
|
|
916
|
+
staticClass:
|
|
917
|
+
"el-select__caret el-input__icon el-icon-circle-close",
|
|
918
|
+
on: { click: _vm.handleClearClick },
|
|
919
|
+
})
|
|
920
|
+
: _vm._e(),
|
|
921
|
+
]),
|
|
922
|
+
],
|
|
923
|
+
2
|
|
924
|
+
),
|
|
925
|
+
_c(
|
|
926
|
+
"transition",
|
|
927
|
+
{
|
|
928
|
+
attrs: { name: "el-zoom-in-top" },
|
|
929
|
+
on: {
|
|
930
|
+
"before-enter": _vm.handleMenuEnter,
|
|
931
|
+
"after-leave": _vm.doDestroy,
|
|
932
|
+
},
|
|
933
|
+
},
|
|
934
|
+
[
|
|
935
|
+
_c(
|
|
936
|
+
"el-select-menu",
|
|
937
|
+
{
|
|
938
|
+
directives: [
|
|
939
|
+
{
|
|
940
|
+
name: "show",
|
|
941
|
+
rawName: "v-show",
|
|
942
|
+
value: _vm.visible && _vm.emptyText !== false,
|
|
943
|
+
expression: "visible && emptyText !== false",
|
|
944
|
+
},
|
|
945
|
+
],
|
|
946
|
+
ref: "popper",
|
|
947
|
+
attrs: { "append-to-body": _vm.popperAppendToBody },
|
|
948
|
+
},
|
|
949
|
+
[
|
|
950
|
+
_c(
|
|
951
|
+
"el-scrollbar",
|
|
952
|
+
{
|
|
953
|
+
directives: [
|
|
954
|
+
{
|
|
955
|
+
name: "show",
|
|
956
|
+
rawName: "v-show",
|
|
957
|
+
value: _vm.options.length > 0 && !_vm.loading,
|
|
958
|
+
expression: "options.length > 0 && !loading",
|
|
959
|
+
},
|
|
960
|
+
],
|
|
961
|
+
ref: "scrollbar",
|
|
962
|
+
class: {
|
|
963
|
+
"is-empty":
|
|
964
|
+
!_vm.allowCreate &&
|
|
965
|
+
_vm.query &&
|
|
966
|
+
_vm.filteredOptionsCount === 0,
|
|
967
|
+
},
|
|
968
|
+
attrs: {
|
|
969
|
+
tag: "ul",
|
|
970
|
+
"wrap-class": "el-select-dropdown__wrap",
|
|
971
|
+
"view-class": "el-select-dropdown__list",
|
|
972
|
+
},
|
|
973
|
+
},
|
|
974
|
+
[
|
|
975
|
+
_vm.showNewOption
|
|
976
|
+
? _c("el-option", {
|
|
977
|
+
attrs: { value: _vm.query, created: "" },
|
|
978
|
+
})
|
|
979
|
+
: _vm._e(),
|
|
980
|
+
_vm._t("default"),
|
|
981
|
+
],
|
|
982
|
+
2
|
|
983
|
+
),
|
|
984
|
+
_vm.emptyText &&
|
|
985
|
+
(!_vm.allowCreate ||
|
|
986
|
+
_vm.loading ||
|
|
987
|
+
(_vm.allowCreate && _vm.options.length === 0))
|
|
988
|
+
? [
|
|
989
|
+
_vm.$slots.empty
|
|
990
|
+
? _vm._t("empty")
|
|
991
|
+
: _c("p", { staticClass: "el-select-dropdown__empty" }, [
|
|
992
|
+
_vm._v(
|
|
993
|
+
"\n " +
|
|
994
|
+
_vm._s(_vm.emptyText) +
|
|
995
|
+
"\n "
|
|
996
|
+
),
|
|
997
|
+
]),
|
|
998
|
+
]
|
|
999
|
+
: _vm._e(),
|
|
1000
|
+
],
|
|
1001
|
+
2
|
|
1002
|
+
),
|
|
1003
|
+
],
|
|
1004
|
+
1
|
|
1005
|
+
),
|
|
1006
|
+
],
|
|
1007
|
+
1
|
|
1008
|
+
)
|
|
1009
|
+
}
|
|
1010
|
+
var staticRenderFns = []
|
|
1011
|
+
render._withStripped = true
|
|
1012
|
+
|
|
1013
|
+
|
|
1014
|
+
// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=6398edf2
|
|
1015
|
+
|
|
1016
|
+
// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter"
|
|
1017
|
+
var emitter_ = __webpack_require__(4);
|
|
1018
|
+
var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
|
|
1019
|
+
|
|
1020
|
+
// EXTERNAL MODULE: external "element-ui/lib/mixins/focus"
|
|
1021
|
+
var focus_ = __webpack_require__(22);
|
|
1022
|
+
var focus_default = /*#__PURE__*/__webpack_require__.n(focus_);
|
|
1023
|
+
|
|
1024
|
+
// EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
|
|
1025
|
+
var locale_ = __webpack_require__(6);
|
|
1026
|
+
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
|
|
1027
|
+
|
|
1028
|
+
// EXTERNAL MODULE: external "element-ui/lib/input"
|
|
1029
|
+
var input_ = __webpack_require__(11);
|
|
1030
|
+
var input_default = /*#__PURE__*/__webpack_require__.n(input_);
|
|
1031
|
+
|
|
1032
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=6f750d4a
|
|
1033
|
+
var select_dropdownvue_type_template_id_6f750d4a_render = function () {
|
|
1034
|
+
var _vm = this
|
|
1035
|
+
var _h = _vm.$createElement
|
|
1036
|
+
var _c = _vm._self._c || _h
|
|
1037
|
+
return _c(
|
|
1038
|
+
"div",
|
|
1039
|
+
{
|
|
1040
|
+
staticClass: "el-select-dropdown el-popper",
|
|
1041
|
+
class: [{ "is-multiple": _vm.$parent.multiple }, _vm.popperClass],
|
|
1042
|
+
style: { minWidth: _vm.minWidth },
|
|
1043
|
+
},
|
|
1044
|
+
[_vm._t("default")],
|
|
1045
|
+
2
|
|
1046
|
+
)
|
|
1047
|
+
}
|
|
1048
|
+
var select_dropdownvue_type_template_id_6f750d4a_staticRenderFns = []
|
|
1049
|
+
select_dropdownvue_type_template_id_6f750d4a_render._withStripped = true
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=6f750d4a
|
|
1053
|
+
|
|
1054
|
+
// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper"
|
|
1055
|
+
var vue_popper_ = __webpack_require__(5);
|
|
1056
|
+
var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);
|
|
1057
|
+
|
|
1058
|
+
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js
|
|
1059
|
+
//
|
|
1060
|
+
//
|
|
1061
|
+
//
|
|
1062
|
+
//
|
|
1063
|
+
//
|
|
1064
|
+
//
|
|
1065
|
+
//
|
|
1066
|
+
//
|
|
1067
|
+
//
|
|
1068
|
+
|
|
1069
|
+
|
|
1070
|
+
|
|
1071
|
+
/* harmony default export */ var select_dropdownvue_type_script_lang_js = ({
|
|
1072
|
+
name: 'ElSelectDropdown',
|
|
1073
|
+
|
|
1074
|
+
componentName: 'ElSelectDropdown',
|
|
1075
|
+
|
|
1076
|
+
mixins: [vue_popper_default.a],
|
|
1077
|
+
|
|
1078
|
+
props: {
|
|
1079
|
+
placement: {
|
|
1080
|
+
default: 'bottom-start'
|
|
1081
|
+
},
|
|
1082
|
+
|
|
1083
|
+
boundariesPadding: {
|
|
1084
|
+
default: 0
|
|
1085
|
+
},
|
|
1086
|
+
|
|
1087
|
+
popperOptions: {
|
|
1088
|
+
default: function _default() {
|
|
1089
|
+
return {
|
|
1090
|
+
gpuAcceleration: false
|
|
1091
|
+
};
|
|
1092
|
+
}
|
|
1093
|
+
},
|
|
1094
|
+
|
|
1095
|
+
visibleArrow: {
|
|
1096
|
+
default: true
|
|
1097
|
+
},
|
|
1098
|
+
|
|
1099
|
+
appendToBody: {
|
|
1100
|
+
type: Boolean,
|
|
1101
|
+
default: true
|
|
1102
|
+
}
|
|
1103
|
+
},
|
|
1104
|
+
|
|
1105
|
+
data: function data() {
|
|
1106
|
+
return {
|
|
1107
|
+
minWidth: ''
|
|
1108
|
+
};
|
|
1109
|
+
},
|
|
1110
|
+
|
|
1111
|
+
|
|
1112
|
+
computed: {
|
|
1113
|
+
popperClass: function popperClass() {
|
|
1114
|
+
return this.$parent.popperClass;
|
|
1115
|
+
}
|
|
1116
|
+
},
|
|
1117
|
+
|
|
1118
|
+
watch: {
|
|
1119
|
+
'$parent.inputWidth': function $parentInputWidth() {
|
|
1120
|
+
this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px';
|
|
1121
|
+
}
|
|
1122
|
+
},
|
|
1123
|
+
|
|
1124
|
+
mounted: function mounted() {
|
|
1125
|
+
var _this = this;
|
|
1126
|
+
|
|
1127
|
+
this.referenceElm = this.$parent.$refs.reference.$el;
|
|
1128
|
+
this.$parent.popperElm = this.popperElm = this.$el;
|
|
1129
|
+
this.$on('updatePopper', function () {
|
|
1130
|
+
if (_this.$parent.visible) _this.updatePopper();
|
|
1131
|
+
});
|
|
1132
|
+
this.$on('destroyPopper', this.destroyPopper);
|
|
1133
|
+
}
|
|
1134
|
+
});
|
|
1135
|
+
// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js
|
|
1136
|
+
/* harmony default export */ var src_select_dropdownvue_type_script_lang_js = (select_dropdownvue_type_script_lang_js);
|
|
1137
|
+
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
1138
|
+
var componentNormalizer = __webpack_require__(0);
|
|
1139
|
+
|
|
1140
|
+
// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue
|
|
1141
|
+
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
/* normalize component */
|
|
1147
|
+
|
|
1148
|
+
var component = Object(componentNormalizer["a" /* default */])(
|
|
1149
|
+
src_select_dropdownvue_type_script_lang_js,
|
|
1150
|
+
select_dropdownvue_type_template_id_6f750d4a_render,
|
|
1151
|
+
select_dropdownvue_type_template_id_6f750d4a_staticRenderFns,
|
|
1152
|
+
false,
|
|
1153
|
+
null,
|
|
1154
|
+
null,
|
|
1155
|
+
null
|
|
1156
|
+
|
|
1157
|
+
)
|
|
1158
|
+
|
|
1159
|
+
/* harmony default export */ var select_dropdown = (component.exports);
|
|
1160
|
+
// EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules
|
|
1161
|
+
var src_option = __webpack_require__(33);
|
|
1162
|
+
|
|
1163
|
+
// EXTERNAL MODULE: external "element-ui/lib/tag"
|
|
1164
|
+
var tag_ = __webpack_require__(38);
|
|
1165
|
+
var tag_default = /*#__PURE__*/__webpack_require__.n(tag_);
|
|
1166
|
+
|
|
1167
|
+
// EXTERNAL MODULE: external "element-ui/lib/scrollbar"
|
|
1168
|
+
var scrollbar_ = __webpack_require__(16);
|
|
1169
|
+
var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);
|
|
1170
|
+
|
|
1171
|
+
// EXTERNAL MODULE: external "throttle-debounce/debounce"
|
|
1172
|
+
var debounce_ = __webpack_require__(19);
|
|
1173
|
+
var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);
|
|
1174
|
+
|
|
1175
|
+
// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside"
|
|
1176
|
+
var clickoutside_ = __webpack_require__(12);
|
|
1177
|
+
var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
|
|
1178
|
+
|
|
1179
|
+
// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event"
|
|
1180
|
+
var resize_event_ = __webpack_require__(17);
|
|
1181
|
+
|
|
1182
|
+
// EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view"
|
|
1183
|
+
var scroll_into_view_ = __webpack_require__(31);
|
|
1184
|
+
var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);
|
|
1185
|
+
|
|
1186
|
+
// EXTERNAL MODULE: external "element-ui/lib/utils/util"
|
|
1187
|
+
var util_ = __webpack_require__(3);
|
|
1188
|
+
|
|
1189
|
+
// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js
|
|
1190
|
+
/* harmony default export */ var navigation_mixin = ({
|
|
1191
|
+
data: function data() {
|
|
1192
|
+
return {
|
|
1193
|
+
hoverOption: -1
|
|
1194
|
+
};
|
|
1195
|
+
},
|
|
1196
|
+
|
|
1197
|
+
|
|
1198
|
+
computed: {
|
|
1199
|
+
optionsAllDisabled: function optionsAllDisabled() {
|
|
1200
|
+
return this.options.filter(function (option) {
|
|
1201
|
+
return option.visible;
|
|
1202
|
+
}).every(function (option) {
|
|
1203
|
+
return option.disabled;
|
|
1204
|
+
});
|
|
1205
|
+
}
|
|
1206
|
+
},
|
|
1207
|
+
|
|
1208
|
+
watch: {
|
|
1209
|
+
hoverIndex: function hoverIndex(val) {
|
|
1210
|
+
var _this = this;
|
|
1211
|
+
|
|
1212
|
+
if (typeof val === 'number' && val > -1) {
|
|
1213
|
+
this.hoverOption = this.options[val] || {};
|
|
1214
|
+
}
|
|
1215
|
+
this.options.forEach(function (option) {
|
|
1216
|
+
option.hover = _this.hoverOption === option;
|
|
1217
|
+
});
|
|
1218
|
+
}
|
|
1219
|
+
},
|
|
1220
|
+
|
|
1221
|
+
methods: {
|
|
1222
|
+
navigateOptions: function navigateOptions(direction) {
|
|
1223
|
+
var _this2 = this;
|
|
1224
|
+
|
|
1225
|
+
if (!this.visible) {
|
|
1226
|
+
this.visible = true;
|
|
1227
|
+
return;
|
|
1228
|
+
}
|
|
1229
|
+
if (this.options.length === 0 || this.filteredOptionsCount === 0) return;
|
|
1230
|
+
if (!this.optionsAllDisabled) {
|
|
1231
|
+
if (direction === 'next') {
|
|
1232
|
+
this.hoverIndex++;
|
|
1233
|
+
if (this.hoverIndex === this.options.length) {
|
|
1234
|
+
this.hoverIndex = 0;
|
|
1235
|
+
}
|
|
1236
|
+
} else if (direction === 'prev') {
|
|
1237
|
+
this.hoverIndex--;
|
|
1238
|
+
if (this.hoverIndex < 0) {
|
|
1239
|
+
this.hoverIndex = this.options.length - 1;
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
var option = this.options[this.hoverIndex];
|
|
1243
|
+
if (option.disabled === true || option.groupDisabled === true || !option.visible) {
|
|
1244
|
+
this.navigateOptions(direction);
|
|
1245
|
+
}
|
|
1246
|
+
this.$nextTick(function () {
|
|
1247
|
+
return _this2.scrollToOption(_this2.hoverOption);
|
|
1248
|
+
});
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
});
|
|
1253
|
+
// EXTERNAL MODULE: external "element-ui/lib/utils/shared"
|
|
1254
|
+
var shared_ = __webpack_require__(21);
|
|
1255
|
+
|
|
1256
|
+
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js
|
|
1257
|
+
//
|
|
1258
|
+
//
|
|
1259
|
+
//
|
|
1260
|
+
//
|
|
1261
|
+
//
|
|
1262
|
+
//
|
|
1263
|
+
//
|
|
1264
|
+
//
|
|
1265
|
+
//
|
|
1266
|
+
//
|
|
1267
|
+
//
|
|
1268
|
+
//
|
|
1269
|
+
//
|
|
1270
|
+
//
|
|
1271
|
+
//
|
|
1272
|
+
//
|
|
1273
|
+
//
|
|
1274
|
+
//
|
|
1275
|
+
//
|
|
1276
|
+
//
|
|
1277
|
+
//
|
|
1278
|
+
//
|
|
1279
|
+
//
|
|
1280
|
+
//
|
|
1281
|
+
//
|
|
1282
|
+
//
|
|
1283
|
+
//
|
|
1284
|
+
//
|
|
1285
|
+
//
|
|
1286
|
+
//
|
|
1287
|
+
//
|
|
1288
|
+
//
|
|
1289
|
+
//
|
|
1290
|
+
//
|
|
1291
|
+
//
|
|
1292
|
+
//
|
|
1293
|
+
//
|
|
1294
|
+
//
|
|
1295
|
+
//
|
|
1296
|
+
//
|
|
1297
|
+
//
|
|
1298
|
+
//
|
|
1299
|
+
//
|
|
1300
|
+
//
|
|
1301
|
+
//
|
|
1302
|
+
//
|
|
1303
|
+
//
|
|
1304
|
+
//
|
|
1305
|
+
//
|
|
1306
|
+
//
|
|
1307
|
+
//
|
|
1308
|
+
//
|
|
1309
|
+
//
|
|
1310
|
+
//
|
|
1311
|
+
//
|
|
1312
|
+
//
|
|
1313
|
+
//
|
|
1314
|
+
//
|
|
1315
|
+
//
|
|
1316
|
+
//
|
|
1317
|
+
//
|
|
1318
|
+
//
|
|
1319
|
+
//
|
|
1320
|
+
//
|
|
1321
|
+
//
|
|
1322
|
+
//
|
|
1323
|
+
//
|
|
1324
|
+
//
|
|
1325
|
+
//
|
|
1326
|
+
//
|
|
1327
|
+
//
|
|
1328
|
+
//
|
|
1329
|
+
//
|
|
1330
|
+
//
|
|
1331
|
+
//
|
|
1332
|
+
//
|
|
1333
|
+
//
|
|
1334
|
+
//
|
|
1335
|
+
//
|
|
1336
|
+
//
|
|
1337
|
+
//
|
|
1338
|
+
//
|
|
1339
|
+
//
|
|
1340
|
+
//
|
|
1341
|
+
//
|
|
1342
|
+
//
|
|
1343
|
+
//
|
|
1344
|
+
//
|
|
1345
|
+
//
|
|
1346
|
+
//
|
|
1347
|
+
//
|
|
1348
|
+
//
|
|
1349
|
+
//
|
|
1350
|
+
//
|
|
1351
|
+
//
|
|
1352
|
+
//
|
|
1353
|
+
//
|
|
1354
|
+
//
|
|
1355
|
+
//
|
|
1356
|
+
//
|
|
1357
|
+
//
|
|
1358
|
+
//
|
|
1359
|
+
//
|
|
1360
|
+
//
|
|
1361
|
+
//
|
|
1362
|
+
//
|
|
1363
|
+
//
|
|
1364
|
+
//
|
|
1365
|
+
//
|
|
1366
|
+
//
|
|
1367
|
+
//
|
|
1368
|
+
//
|
|
1369
|
+
//
|
|
1370
|
+
//
|
|
1371
|
+
//
|
|
1372
|
+
//
|
|
1373
|
+
//
|
|
1374
|
+
//
|
|
1375
|
+
//
|
|
1376
|
+
//
|
|
1377
|
+
//
|
|
1378
|
+
//
|
|
1379
|
+
//
|
|
1380
|
+
//
|
|
1381
|
+
//
|
|
1382
|
+
//
|
|
1383
|
+
//
|
|
1384
|
+
//
|
|
1385
|
+
//
|
|
1386
|
+
//
|
|
1387
|
+
//
|
|
1388
|
+
//
|
|
1389
|
+
//
|
|
1390
|
+
//
|
|
1391
|
+
//
|
|
1392
|
+
//
|
|
1393
|
+
//
|
|
1394
|
+
|
|
1395
|
+
|
|
1396
|
+
|
|
1397
|
+
|
|
1398
|
+
|
|
1399
|
+
|
|
1400
|
+
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
|
|
1404
|
+
|
|
1405
|
+
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
|
|
1409
|
+
|
|
1410
|
+
|
|
1411
|
+
/* harmony default export */ var selectvue_type_script_lang_js = ({
|
|
1412
|
+
mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin],
|
|
1413
|
+
|
|
1414
|
+
name: 'ElSelect',
|
|
1415
|
+
|
|
1416
|
+
componentName: 'ElSelect',
|
|
1417
|
+
|
|
1418
|
+
inject: {
|
|
1419
|
+
elForm: {
|
|
1420
|
+
default: ''
|
|
1421
|
+
},
|
|
1422
|
+
|
|
1423
|
+
elFormItem: {
|
|
1424
|
+
default: ''
|
|
1425
|
+
}
|
|
1426
|
+
},
|
|
1427
|
+
|
|
1428
|
+
provide: function provide() {
|
|
1429
|
+
return {
|
|
1430
|
+
'select': this
|
|
1431
|
+
};
|
|
1432
|
+
},
|
|
1433
|
+
|
|
1434
|
+
|
|
1435
|
+
computed: {
|
|
1436
|
+
_elFormItemSize: function _elFormItemSize() {
|
|
1437
|
+
return (this.elFormItem || {}).elFormItemSize;
|
|
1438
|
+
},
|
|
1439
|
+
readonly: function readonly() {
|
|
1440
|
+
return !this.filterable || this.multiple || !Object(util_["isIE"])() && !Object(util_["isEdge"])() && !this.visible;
|
|
1441
|
+
},
|
|
1442
|
+
showClose: function showClose() {
|
|
1443
|
+
var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== '';
|
|
1444
|
+
var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue;
|
|
1445
|
+
return criteria;
|
|
1446
|
+
},
|
|
1447
|
+
iconClass: function iconClass() {
|
|
1448
|
+
return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up';
|
|
1449
|
+
},
|
|
1450
|
+
debounce: function debounce() {
|
|
1451
|
+
return this.remote ? 300 : 0;
|
|
1452
|
+
},
|
|
1453
|
+
emptyText: function emptyText() {
|
|
1454
|
+
if (this.loading) {
|
|
1455
|
+
return this.loadingText || this.t('el.select.loading');
|
|
1456
|
+
} else {
|
|
1457
|
+
if (this.remote && this.query === '' && this.options.length === 0) return false;
|
|
1458
|
+
if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {
|
|
1459
|
+
return this.noMatchText || this.t('el.select.noMatch');
|
|
1460
|
+
}
|
|
1461
|
+
if (this.options.length === 0) {
|
|
1462
|
+
return this.noDataText || this.t('el.select.noData');
|
|
1463
|
+
}
|
|
1464
|
+
}
|
|
1465
|
+
return null;
|
|
1466
|
+
},
|
|
1467
|
+
showNewOption: function showNewOption() {
|
|
1468
|
+
var _this = this;
|
|
1469
|
+
|
|
1470
|
+
var hasExistingOption = this.options.filter(function (option) {
|
|
1471
|
+
return !option.created;
|
|
1472
|
+
}).some(function (option) {
|
|
1473
|
+
return option.currentLabel === _this.query;
|
|
1474
|
+
});
|
|
1475
|
+
return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption;
|
|
1476
|
+
},
|
|
1477
|
+
selectSize: function selectSize() {
|
|
1478
|
+
return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;
|
|
1479
|
+
},
|
|
1480
|
+
selectDisabled: function selectDisabled() {
|
|
1481
|
+
return this.disabled || (this.elForm || {}).disabled;
|
|
1482
|
+
},
|
|
1483
|
+
collapseTagSize: function collapseTagSize() {
|
|
1484
|
+
return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small';
|
|
1485
|
+
},
|
|
1486
|
+
propPlaceholder: function propPlaceholder() {
|
|
1487
|
+
return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder');
|
|
1488
|
+
}
|
|
1489
|
+
},
|
|
1490
|
+
|
|
1491
|
+
components: {
|
|
1492
|
+
ElInput: input_default.a,
|
|
1493
|
+
ElSelectMenu: select_dropdown,
|
|
1494
|
+
ElOption: src_option["a" /* default */],
|
|
1495
|
+
ElTag: tag_default.a,
|
|
1496
|
+
ElScrollbar: scrollbar_default.a
|
|
1497
|
+
},
|
|
1498
|
+
|
|
1499
|
+
directives: { Clickoutside: clickoutside_default.a },
|
|
1500
|
+
|
|
1501
|
+
props: {
|
|
1502
|
+
name: String,
|
|
1503
|
+
id: String,
|
|
1504
|
+
value: {
|
|
1505
|
+
required: true
|
|
1506
|
+
},
|
|
1507
|
+
autocomplete: {
|
|
1508
|
+
type: String,
|
|
1509
|
+
default: 'off'
|
|
1510
|
+
},
|
|
1511
|
+
/** @Deprecated in next major version */
|
|
1512
|
+
autoComplete: {
|
|
1513
|
+
type: String,
|
|
1514
|
+
validator: function validator(val) {
|
|
1515
|
+
false && false;
|
|
1516
|
+
return true;
|
|
1517
|
+
}
|
|
1518
|
+
},
|
|
1519
|
+
automaticDropdown: Boolean,
|
|
1520
|
+
size: String,
|
|
1521
|
+
disabled: Boolean,
|
|
1522
|
+
clearable: Boolean,
|
|
1523
|
+
filterable: Boolean,
|
|
1524
|
+
allowCreate: Boolean,
|
|
1525
|
+
loading: Boolean,
|
|
1526
|
+
popperClass: String,
|
|
1527
|
+
remote: Boolean,
|
|
1528
|
+
loadingText: String,
|
|
1529
|
+
noMatchText: String,
|
|
1530
|
+
noDataText: String,
|
|
1531
|
+
remoteMethod: Function,
|
|
1532
|
+
filterMethod: Function,
|
|
1533
|
+
multiple: Boolean,
|
|
1534
|
+
multipleLimit: {
|
|
1535
|
+
type: Number,
|
|
1536
|
+
default: 0
|
|
1537
|
+
},
|
|
1538
|
+
placeholder: {
|
|
1539
|
+
type: String,
|
|
1540
|
+
required: false
|
|
1541
|
+
},
|
|
1542
|
+
defaultFirstOption: Boolean,
|
|
1543
|
+
reserveKeyword: Boolean,
|
|
1544
|
+
valueKey: {
|
|
1545
|
+
type: String,
|
|
1546
|
+
default: 'value'
|
|
1547
|
+
},
|
|
1548
|
+
collapseTags: Boolean,
|
|
1549
|
+
popperAppendToBody: {
|
|
1550
|
+
type: Boolean,
|
|
1551
|
+
default: true
|
|
1552
|
+
}
|
|
1553
|
+
},
|
|
1554
|
+
|
|
1555
|
+
data: function data() {
|
|
1556
|
+
return {
|
|
1557
|
+
options: [],
|
|
1558
|
+
cachedOptions: [],
|
|
1559
|
+
createdLabel: null,
|
|
1560
|
+
createdSelected: false,
|
|
1561
|
+
selected: this.multiple ? [] : {},
|
|
1562
|
+
inputLength: 20,
|
|
1563
|
+
inputWidth: 0,
|
|
1564
|
+
initialInputHeight: 0,
|
|
1565
|
+
cachedPlaceHolder: '',
|
|
1566
|
+
optionsCount: 0,
|
|
1567
|
+
filteredOptionsCount: 0,
|
|
1568
|
+
visible: false,
|
|
1569
|
+
softFocus: false,
|
|
1570
|
+
selectedLabel: '',
|
|
1571
|
+
hoverIndex: -1,
|
|
1572
|
+
query: '',
|
|
1573
|
+
previousQuery: null,
|
|
1574
|
+
inputHovering: false,
|
|
1575
|
+
currentPlaceholder: '',
|
|
1576
|
+
menuVisibleOnFocus: false,
|
|
1577
|
+
isOnComposition: false,
|
|
1578
|
+
isSilentBlur: false
|
|
1579
|
+
};
|
|
1580
|
+
},
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
watch: {
|
|
1584
|
+
selectDisabled: function selectDisabled() {
|
|
1585
|
+
var _this2 = this;
|
|
1586
|
+
|
|
1587
|
+
this.$nextTick(function () {
|
|
1588
|
+
_this2.resetInputHeight();
|
|
1589
|
+
});
|
|
1590
|
+
},
|
|
1591
|
+
propPlaceholder: function propPlaceholder(val) {
|
|
1592
|
+
this.cachedPlaceHolder = this.currentPlaceholder = val;
|
|
1593
|
+
},
|
|
1594
|
+
value: function value(val, oldVal) {
|
|
1595
|
+
if (this.multiple) {
|
|
1596
|
+
this.resetInputHeight();
|
|
1597
|
+
if (val && val.length > 0 || this.$refs.input && this.query !== '') {
|
|
1598
|
+
this.currentPlaceholder = '';
|
|
1599
|
+
} else {
|
|
1600
|
+
this.currentPlaceholder = this.cachedPlaceHolder;
|
|
1601
|
+
}
|
|
1602
|
+
if (this.filterable && !this.reserveKeyword) {
|
|
1603
|
+
this.query = '';
|
|
1604
|
+
this.handleQueryChange(this.query);
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1607
|
+
this.setSelected();
|
|
1608
|
+
if (this.filterable && !this.multiple) {
|
|
1609
|
+
this.inputLength = 20;
|
|
1610
|
+
}
|
|
1611
|
+
if (!Object(util_["valueEquals"])(val, oldVal)) {
|
|
1612
|
+
this.dispatch('ElFormItem', 'el.form.change', val);
|
|
1613
|
+
}
|
|
1614
|
+
},
|
|
1615
|
+
visible: function visible(val) {
|
|
1616
|
+
var _this3 = this;
|
|
1617
|
+
|
|
1618
|
+
if (!val) {
|
|
1619
|
+
this.broadcast('ElSelectDropdown', 'destroyPopper');
|
|
1620
|
+
if (this.$refs.input) {
|
|
1621
|
+
this.$refs.input.blur();
|
|
1622
|
+
}
|
|
1623
|
+
this.query = '';
|
|
1624
|
+
this.previousQuery = null;
|
|
1625
|
+
this.selectedLabel = '';
|
|
1626
|
+
this.inputLength = 20;
|
|
1627
|
+
this.menuVisibleOnFocus = false;
|
|
1628
|
+
this.resetHoverIndex();
|
|
1629
|
+
this.$nextTick(function () {
|
|
1630
|
+
if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) {
|
|
1631
|
+
_this3.currentPlaceholder = _this3.cachedPlaceHolder;
|
|
1632
|
+
}
|
|
1633
|
+
});
|
|
1634
|
+
if (!this.multiple) {
|
|
1635
|
+
if (this.selected) {
|
|
1636
|
+
if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) {
|
|
1637
|
+
this.selectedLabel = this.createdLabel;
|
|
1638
|
+
} else {
|
|
1639
|
+
this.selectedLabel = this.selected.currentLabel;
|
|
1640
|
+
}
|
|
1641
|
+
if (this.filterable) this.query = this.selectedLabel;
|
|
1642
|
+
}
|
|
1643
|
+
|
|
1644
|
+
if (this.filterable) {
|
|
1645
|
+
this.currentPlaceholder = this.cachedPlaceHolder;
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
} else {
|
|
1649
|
+
this.broadcast('ElSelectDropdown', 'updatePopper');
|
|
1650
|
+
if (this.filterable) {
|
|
1651
|
+
this.query = this.remote ? '' : this.selectedLabel;
|
|
1652
|
+
this.handleQueryChange(this.query);
|
|
1653
|
+
if (this.multiple) {
|
|
1654
|
+
this.$refs.input.focus();
|
|
1655
|
+
} else {
|
|
1656
|
+
if (!this.remote) {
|
|
1657
|
+
this.broadcast('ElOption', 'queryChange', '');
|
|
1658
|
+
this.broadcast('ElOptionGroup', 'queryChange');
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
if (this.selectedLabel) {
|
|
1662
|
+
this.currentPlaceholder = this.selectedLabel;
|
|
1663
|
+
this.selectedLabel = '';
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
this.$emit('visible-change', val);
|
|
1669
|
+
},
|
|
1670
|
+
options: function options() {
|
|
1671
|
+
var _this4 = this;
|
|
1672
|
+
|
|
1673
|
+
if (this.$isServer) return;
|
|
1674
|
+
this.$nextTick(function () {
|
|
1675
|
+
_this4.broadcast('ElSelectDropdown', 'updatePopper');
|
|
1676
|
+
});
|
|
1677
|
+
if (this.multiple) {
|
|
1678
|
+
this.resetInputHeight();
|
|
1679
|
+
}
|
|
1680
|
+
var inputs = this.$el.querySelectorAll('input');
|
|
1681
|
+
if ([].indexOf.call(inputs, document.activeElement) === -1) {
|
|
1682
|
+
this.setSelected();
|
|
1683
|
+
}
|
|
1684
|
+
if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {
|
|
1685
|
+
this.checkDefaultFirstOption();
|
|
1686
|
+
}
|
|
1687
|
+
}
|
|
1688
|
+
},
|
|
1689
|
+
|
|
1690
|
+
methods: {
|
|
1691
|
+
handleNavigate: function handleNavigate(direction) {
|
|
1692
|
+
if (this.isOnComposition) return;
|
|
1693
|
+
|
|
1694
|
+
this.navigateOptions(direction);
|
|
1695
|
+
},
|
|
1696
|
+
handleComposition: function handleComposition(event) {
|
|
1697
|
+
var _this5 = this;
|
|
1698
|
+
|
|
1699
|
+
var text = event.target.value;
|
|
1700
|
+
if (event.type === 'compositionend') {
|
|
1701
|
+
this.isOnComposition = false;
|
|
1702
|
+
this.$nextTick(function (_) {
|
|
1703
|
+
return _this5.handleQueryChange(text);
|
|
1704
|
+
});
|
|
1705
|
+
} else {
|
|
1706
|
+
var lastCharacter = text[text.length - 1] || '';
|
|
1707
|
+
this.isOnComposition = !Object(shared_["isKorean"])(lastCharacter);
|
|
1708
|
+
}
|
|
1709
|
+
},
|
|
1710
|
+
handleQueryChange: function handleQueryChange(val) {
|
|
1711
|
+
var _this6 = this;
|
|
1712
|
+
|
|
1713
|
+
if (this.previousQuery === val || this.isOnComposition) return;
|
|
1714
|
+
if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {
|
|
1715
|
+
this.previousQuery = val;
|
|
1716
|
+
return;
|
|
1717
|
+
}
|
|
1718
|
+
this.previousQuery = val;
|
|
1719
|
+
this.$nextTick(function () {
|
|
1720
|
+
if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper');
|
|
1721
|
+
});
|
|
1722
|
+
this.hoverIndex = -1;
|
|
1723
|
+
if (this.multiple && this.filterable) {
|
|
1724
|
+
this.$nextTick(function () {
|
|
1725
|
+
var length = _this6.$refs.input.value.length * 15 + 20;
|
|
1726
|
+
_this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length;
|
|
1727
|
+
_this6.managePlaceholder();
|
|
1728
|
+
_this6.resetInputHeight();
|
|
1729
|
+
});
|
|
1730
|
+
}
|
|
1731
|
+
if (this.remote && typeof this.remoteMethod === 'function') {
|
|
1732
|
+
this.hoverIndex = -1;
|
|
1733
|
+
this.remoteMethod(val);
|
|
1734
|
+
} else if (typeof this.filterMethod === 'function') {
|
|
1735
|
+
this.filterMethod(val);
|
|
1736
|
+
this.broadcast('ElOptionGroup', 'queryChange');
|
|
1737
|
+
} else {
|
|
1738
|
+
this.filteredOptionsCount = this.optionsCount;
|
|
1739
|
+
this.broadcast('ElOption', 'queryChange', val);
|
|
1740
|
+
this.broadcast('ElOptionGroup', 'queryChange');
|
|
1741
|
+
}
|
|
1742
|
+
if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {
|
|
1743
|
+
this.checkDefaultFirstOption();
|
|
1744
|
+
}
|
|
1745
|
+
},
|
|
1746
|
+
scrollToOption: function scrollToOption(option) {
|
|
1747
|
+
var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el;
|
|
1748
|
+
if (this.$refs.popper && target) {
|
|
1749
|
+
var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');
|
|
1750
|
+
scroll_into_view_default()(menu, target);
|
|
1751
|
+
}
|
|
1752
|
+
this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();
|
|
1753
|
+
},
|
|
1754
|
+
handleMenuEnter: function handleMenuEnter() {
|
|
1755
|
+
var _this7 = this;
|
|
1756
|
+
|
|
1757
|
+
this.$nextTick(function () {
|
|
1758
|
+
return _this7.scrollToOption(_this7.selected);
|
|
1759
|
+
});
|
|
1760
|
+
},
|
|
1761
|
+
emitChange: function emitChange(val) {
|
|
1762
|
+
if (!Object(util_["valueEquals"])(this.value, val)) {
|
|
1763
|
+
this.$emit('change', val);
|
|
1764
|
+
}
|
|
1765
|
+
},
|
|
1766
|
+
getOption: function getOption(value) {
|
|
1767
|
+
var option = void 0;
|
|
1768
|
+
var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';
|
|
1769
|
+
var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]';
|
|
1770
|
+
var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]';
|
|
1771
|
+
|
|
1772
|
+
for (var i = this.cachedOptions.length - 1; i >= 0; i--) {
|
|
1773
|
+
var cachedOption = this.cachedOptions[i];
|
|
1774
|
+
var isEqual = isObject ? Object(util_["getValueByPath"])(cachedOption.value, this.valueKey) === Object(util_["getValueByPath"])(value, this.valueKey) : cachedOption.value === value;
|
|
1775
|
+
if (isEqual) {
|
|
1776
|
+
option = cachedOption;
|
|
1777
|
+
break;
|
|
1778
|
+
}
|
|
1779
|
+
}
|
|
1780
|
+
if (option) return option;
|
|
1781
|
+
var label = !isObject && !isNull && !isUndefined ? String(value) : '';
|
|
1782
|
+
var newOption = {
|
|
1783
|
+
value: value,
|
|
1784
|
+
currentLabel: label
|
|
1785
|
+
};
|
|
1786
|
+
if (this.multiple) {
|
|
1787
|
+
newOption.hitState = false;
|
|
1788
|
+
}
|
|
1789
|
+
return newOption;
|
|
1790
|
+
},
|
|
1791
|
+
setSelected: function setSelected() {
|
|
1792
|
+
var _this8 = this;
|
|
1793
|
+
|
|
1794
|
+
if (!this.multiple) {
|
|
1795
|
+
var option = this.getOption(this.value);
|
|
1796
|
+
if (option.created) {
|
|
1797
|
+
this.createdLabel = option.currentLabel;
|
|
1798
|
+
this.createdSelected = true;
|
|
1799
|
+
} else {
|
|
1800
|
+
this.createdSelected = false;
|
|
1801
|
+
}
|
|
1802
|
+
this.selectedLabel = option.currentLabel;
|
|
1803
|
+
this.selected = option;
|
|
1804
|
+
if (this.filterable) this.query = this.selectedLabel;
|
|
1805
|
+
return;
|
|
1806
|
+
}
|
|
1807
|
+
var result = [];
|
|
1808
|
+
if (Array.isArray(this.value)) {
|
|
1809
|
+
this.value.forEach(function (value) {
|
|
1810
|
+
result.push(_this8.getOption(value));
|
|
1811
|
+
});
|
|
1812
|
+
}
|
|
1813
|
+
this.selected = result;
|
|
1814
|
+
this.$nextTick(function () {
|
|
1815
|
+
_this8.resetInputHeight();
|
|
1816
|
+
});
|
|
1817
|
+
},
|
|
1818
|
+
handleFocus: function handleFocus(event) {
|
|
1819
|
+
if (!this.softFocus) {
|
|
1820
|
+
if (this.automaticDropdown || this.filterable) {
|
|
1821
|
+
if (this.filterable && !this.visible) {
|
|
1822
|
+
this.menuVisibleOnFocus = true;
|
|
1823
|
+
}
|
|
1824
|
+
this.visible = true;
|
|
1825
|
+
}
|
|
1826
|
+
this.$emit('focus', event);
|
|
1827
|
+
} else {
|
|
1828
|
+
this.softFocus = false;
|
|
1829
|
+
}
|
|
1830
|
+
},
|
|
1831
|
+
blur: function blur() {
|
|
1832
|
+
this.visible = false;
|
|
1833
|
+
this.$refs.reference.blur();
|
|
1834
|
+
},
|
|
1835
|
+
handleBlur: function handleBlur(event) {
|
|
1836
|
+
var _this9 = this;
|
|
1837
|
+
|
|
1838
|
+
setTimeout(function () {
|
|
1839
|
+
if (_this9.isSilentBlur) {
|
|
1840
|
+
_this9.isSilentBlur = false;
|
|
1841
|
+
} else {
|
|
1842
|
+
_this9.$emit('blur', event);
|
|
1843
|
+
}
|
|
1844
|
+
}, 50);
|
|
1845
|
+
this.softFocus = false;
|
|
1846
|
+
},
|
|
1847
|
+
handleClearClick: function handleClearClick(event) {
|
|
1848
|
+
this.deleteSelected(event);
|
|
1849
|
+
},
|
|
1850
|
+
doDestroy: function doDestroy() {
|
|
1851
|
+
this.$refs.popper && this.$refs.popper.doDestroy();
|
|
1852
|
+
},
|
|
1853
|
+
handleClose: function handleClose() {
|
|
1854
|
+
this.visible = false;
|
|
1855
|
+
},
|
|
1856
|
+
toggleLastOptionHitState: function toggleLastOptionHitState(hit) {
|
|
1857
|
+
if (!Array.isArray(this.selected)) return;
|
|
1858
|
+
var option = this.selected[this.selected.length - 1];
|
|
1859
|
+
if (!option) return;
|
|
1860
|
+
|
|
1861
|
+
if (hit === true || hit === false) {
|
|
1862
|
+
option.hitState = hit;
|
|
1863
|
+
return hit;
|
|
1864
|
+
}
|
|
1865
|
+
|
|
1866
|
+
option.hitState = !option.hitState;
|
|
1867
|
+
return option.hitState;
|
|
1868
|
+
},
|
|
1869
|
+
deletePrevTag: function deletePrevTag(e) {
|
|
1870
|
+
if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) {
|
|
1871
|
+
var value = this.value.slice();
|
|
1872
|
+
value.pop();
|
|
1873
|
+
this.$emit('input', value);
|
|
1874
|
+
this.emitChange(value);
|
|
1875
|
+
}
|
|
1876
|
+
},
|
|
1877
|
+
managePlaceholder: function managePlaceholder() {
|
|
1878
|
+
if (this.currentPlaceholder !== '') {
|
|
1879
|
+
this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder;
|
|
1880
|
+
}
|
|
1881
|
+
},
|
|
1882
|
+
resetInputState: function resetInputState(e) {
|
|
1883
|
+
if (e.keyCode !== 8) this.toggleLastOptionHitState(false);
|
|
1884
|
+
this.inputLength = this.$refs.input.value.length * 15 + 20;
|
|
1885
|
+
this.resetInputHeight();
|
|
1886
|
+
},
|
|
1887
|
+
resetInputHeight: function resetInputHeight() {
|
|
1888
|
+
var _this10 = this;
|
|
1889
|
+
|
|
1890
|
+
if (this.collapseTags && !this.filterable) return;
|
|
1891
|
+
this.$nextTick(function () {
|
|
1892
|
+
if (!_this10.$refs.reference) return;
|
|
1893
|
+
var inputChildNodes = _this10.$refs.reference.$el.childNodes;
|
|
1894
|
+
var input = [].filter.call(inputChildNodes, function (item) {
|
|
1895
|
+
return item.tagName === 'INPUT';
|
|
1896
|
+
})[0];
|
|
1897
|
+
var tags = _this10.$refs.tags;
|
|
1898
|
+
var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0;
|
|
1899
|
+
var sizeInMap = _this10.initialInputHeight || 40;
|
|
1900
|
+
input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px';
|
|
1901
|
+
if (_this10.visible && _this10.emptyText !== false) {
|
|
1902
|
+
_this10.broadcast('ElSelectDropdown', 'updatePopper');
|
|
1903
|
+
}
|
|
1904
|
+
});
|
|
1905
|
+
},
|
|
1906
|
+
resetHoverIndex: function resetHoverIndex() {
|
|
1907
|
+
var _this11 = this;
|
|
1908
|
+
|
|
1909
|
+
setTimeout(function () {
|
|
1910
|
+
if (!_this11.multiple) {
|
|
1911
|
+
_this11.hoverIndex = _this11.options.indexOf(_this11.selected);
|
|
1912
|
+
} else {
|
|
1913
|
+
if (_this11.selected.length > 0) {
|
|
1914
|
+
_this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) {
|
|
1915
|
+
return _this11.options.indexOf(item);
|
|
1916
|
+
}));
|
|
1917
|
+
} else {
|
|
1918
|
+
_this11.hoverIndex = -1;
|
|
1919
|
+
}
|
|
1920
|
+
}
|
|
1921
|
+
}, 300);
|
|
1922
|
+
},
|
|
1923
|
+
handleOptionSelect: function handleOptionSelect(option, byClick) {
|
|
1924
|
+
var _this12 = this;
|
|
1925
|
+
|
|
1926
|
+
if (this.multiple) {
|
|
1927
|
+
var value = (this.value || []).slice();
|
|
1928
|
+
var optionIndex = this.getValueIndex(value, option.value);
|
|
1929
|
+
if (optionIndex > -1) {
|
|
1930
|
+
value.splice(optionIndex, 1);
|
|
1931
|
+
} else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {
|
|
1932
|
+
value.push(option.value);
|
|
1933
|
+
}
|
|
1934
|
+
this.$emit('input', value);
|
|
1935
|
+
this.emitChange(value);
|
|
1936
|
+
if (option.created) {
|
|
1937
|
+
this.query = '';
|
|
1938
|
+
this.handleQueryChange('');
|
|
1939
|
+
this.inputLength = 20;
|
|
1940
|
+
}
|
|
1941
|
+
if (this.filterable) this.$refs.input.focus();
|
|
1942
|
+
} else {
|
|
1943
|
+
this.$emit('input', option.value);
|
|
1944
|
+
this.emitChange(option.value);
|
|
1945
|
+
this.visible = false;
|
|
1946
|
+
}
|
|
1947
|
+
this.isSilentBlur = byClick;
|
|
1948
|
+
this.setSoftFocus();
|
|
1949
|
+
if (this.visible) return;
|
|
1950
|
+
this.$nextTick(function () {
|
|
1951
|
+
_this12.scrollToOption(option);
|
|
1952
|
+
});
|
|
1953
|
+
},
|
|
1954
|
+
setSoftFocus: function setSoftFocus() {
|
|
1955
|
+
this.softFocus = true;
|
|
1956
|
+
var input = this.$refs.input || this.$refs.reference;
|
|
1957
|
+
if (input) {
|
|
1958
|
+
input.focus();
|
|
1959
|
+
}
|
|
1960
|
+
},
|
|
1961
|
+
getValueIndex: function getValueIndex() {
|
|
1962
|
+
var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
1963
|
+
var value = arguments[1];
|
|
1964
|
+
|
|
1965
|
+
var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';
|
|
1966
|
+
if (!isObject) {
|
|
1967
|
+
return arr.indexOf(value);
|
|
1968
|
+
} else {
|
|
1969
|
+
var valueKey = this.valueKey;
|
|
1970
|
+
var index = -1;
|
|
1971
|
+
arr.some(function (item, i) {
|
|
1972
|
+
if (Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(value, valueKey)) {
|
|
1973
|
+
index = i;
|
|
1974
|
+
return true;
|
|
1975
|
+
}
|
|
1976
|
+
return false;
|
|
1977
|
+
});
|
|
1978
|
+
return index;
|
|
1979
|
+
}
|
|
1980
|
+
},
|
|
1981
|
+
toggleMenu: function toggleMenu() {
|
|
1982
|
+
if (!this.selectDisabled) {
|
|
1983
|
+
if (this.menuVisibleOnFocus) {
|
|
1984
|
+
this.menuVisibleOnFocus = false;
|
|
1985
|
+
} else {
|
|
1986
|
+
this.visible = !this.visible;
|
|
1987
|
+
}
|
|
1988
|
+
if (this.visible) {
|
|
1989
|
+
(this.$refs.input || this.$refs.reference).focus();
|
|
1990
|
+
}
|
|
1991
|
+
}
|
|
1992
|
+
},
|
|
1993
|
+
selectOption: function selectOption() {
|
|
1994
|
+
if (!this.visible) {
|
|
1995
|
+
this.toggleMenu();
|
|
1996
|
+
} else {
|
|
1997
|
+
if (this.options[this.hoverIndex]) {
|
|
1998
|
+
this.handleOptionSelect(this.options[this.hoverIndex]);
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
2001
|
+
},
|
|
2002
|
+
deleteSelected: function deleteSelected(event) {
|
|
2003
|
+
event.stopPropagation();
|
|
2004
|
+
var value = this.multiple ? [] : '';
|
|
2005
|
+
this.$emit('input', value);
|
|
2006
|
+
this.emitChange(value);
|
|
2007
|
+
this.visible = false;
|
|
2008
|
+
this.$emit('clear');
|
|
2009
|
+
},
|
|
2010
|
+
deleteTag: function deleteTag(event, tag) {
|
|
2011
|
+
var index = this.selected.indexOf(tag);
|
|
2012
|
+
if (index > -1 && !this.selectDisabled) {
|
|
2013
|
+
var value = this.value.slice();
|
|
2014
|
+
value.splice(index, 1);
|
|
2015
|
+
this.$emit('input', value);
|
|
2016
|
+
this.emitChange(value);
|
|
2017
|
+
this.$emit('remove-tag', tag.value);
|
|
2018
|
+
}
|
|
2019
|
+
event.stopPropagation();
|
|
2020
|
+
},
|
|
2021
|
+
onInputChange: function onInputChange() {
|
|
2022
|
+
if (this.filterable && this.query !== this.selectedLabel) {
|
|
2023
|
+
this.query = this.selectedLabel;
|
|
2024
|
+
this.handleQueryChange(this.query);
|
|
2025
|
+
}
|
|
2026
|
+
},
|
|
2027
|
+
onOptionDestroy: function onOptionDestroy(index) {
|
|
2028
|
+
if (index > -1) {
|
|
2029
|
+
this.optionsCount--;
|
|
2030
|
+
this.filteredOptionsCount--;
|
|
2031
|
+
this.options.splice(index, 1);
|
|
2032
|
+
}
|
|
2033
|
+
},
|
|
2034
|
+
resetInputWidth: function resetInputWidth() {
|
|
2035
|
+
this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width;
|
|
2036
|
+
},
|
|
2037
|
+
handleResize: function handleResize() {
|
|
2038
|
+
this.resetInputWidth();
|
|
2039
|
+
if (this.multiple) this.resetInputHeight();
|
|
2040
|
+
},
|
|
2041
|
+
checkDefaultFirstOption: function checkDefaultFirstOption() {
|
|
2042
|
+
this.hoverIndex = -1;
|
|
2043
|
+
// highlight the created option
|
|
2044
|
+
var hasCreated = false;
|
|
2045
|
+
for (var i = this.options.length - 1; i >= 0; i--) {
|
|
2046
|
+
if (this.options[i].created) {
|
|
2047
|
+
hasCreated = true;
|
|
2048
|
+
this.hoverIndex = i;
|
|
2049
|
+
break;
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
2052
|
+
if (hasCreated) return;
|
|
2053
|
+
for (var _i = 0; _i !== this.options.length; ++_i) {
|
|
2054
|
+
var option = this.options[_i];
|
|
2055
|
+
if (this.query) {
|
|
2056
|
+
// highlight first options that passes the filter
|
|
2057
|
+
if (!option.disabled && !option.groupDisabled && option.visible) {
|
|
2058
|
+
this.hoverIndex = _i;
|
|
2059
|
+
break;
|
|
2060
|
+
}
|
|
2061
|
+
} else {
|
|
2062
|
+
// highlight currently selected option
|
|
2063
|
+
if (option.itemSelected) {
|
|
2064
|
+
this.hoverIndex = _i;
|
|
2065
|
+
break;
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
},
|
|
2070
|
+
getValueKey: function getValueKey(item) {
|
|
2071
|
+
if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') {
|
|
2072
|
+
return item.value;
|
|
2073
|
+
} else {
|
|
2074
|
+
return Object(util_["getValueByPath"])(item.value, this.valueKey);
|
|
2075
|
+
}
|
|
2076
|
+
}
|
|
2077
|
+
},
|
|
2078
|
+
|
|
2079
|
+
created: function created() {
|
|
2080
|
+
var _this13 = this;
|
|
2081
|
+
|
|
2082
|
+
this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder;
|
|
2083
|
+
if (this.multiple && !Array.isArray(this.value)) {
|
|
2084
|
+
this.$emit('input', []);
|
|
2085
|
+
}
|
|
2086
|
+
if (!this.multiple && Array.isArray(this.value)) {
|
|
2087
|
+
this.$emit('input', '');
|
|
2088
|
+
}
|
|
2089
|
+
|
|
2090
|
+
this.debouncedOnInputChange = debounce_default()(this.debounce, function () {
|
|
2091
|
+
_this13.onInputChange();
|
|
2092
|
+
});
|
|
2093
|
+
|
|
2094
|
+
this.debouncedQueryChange = debounce_default()(this.debounce, function (e) {
|
|
2095
|
+
_this13.handleQueryChange(e.target.value);
|
|
2096
|
+
});
|
|
2097
|
+
|
|
2098
|
+
this.$on('handleOptionClick', this.handleOptionSelect);
|
|
2099
|
+
this.$on('setSelected', this.setSelected);
|
|
2100
|
+
},
|
|
2101
|
+
mounted: function mounted() {
|
|
2102
|
+
var _this14 = this;
|
|
2103
|
+
|
|
2104
|
+
if (this.multiple && Array.isArray(this.value) && this.value.length > 0) {
|
|
2105
|
+
this.currentPlaceholder = '';
|
|
2106
|
+
}
|
|
2107
|
+
Object(resize_event_["addResizeListener"])(this.$el, this.handleResize);
|
|
2108
|
+
|
|
2109
|
+
var reference = this.$refs.reference;
|
|
2110
|
+
if (reference && reference.$el) {
|
|
2111
|
+
var sizeMap = {
|
|
2112
|
+
medium: 36,
|
|
2113
|
+
small: 32,
|
|
2114
|
+
mini: 28
|
|
2115
|
+
};
|
|
2116
|
+
var input = reference.$el.querySelector('input');
|
|
2117
|
+
this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize];
|
|
2118
|
+
}
|
|
2119
|
+
if (this.remote && this.multiple) {
|
|
2120
|
+
this.resetInputHeight();
|
|
2121
|
+
}
|
|
2122
|
+
this.$nextTick(function () {
|
|
2123
|
+
if (reference && reference.$el) {
|
|
2124
|
+
_this14.inputWidth = reference.$el.getBoundingClientRect().width;
|
|
2125
|
+
}
|
|
2126
|
+
});
|
|
2127
|
+
this.setSelected();
|
|
2128
|
+
},
|
|
2129
|
+
beforeDestroy: function beforeDestroy() {
|
|
2130
|
+
if (this.$el && this.handleResize) Object(resize_event_["removeResizeListener"])(this.$el, this.handleResize);
|
|
2131
|
+
}
|
|
2132
|
+
});
|
|
2133
|
+
// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js
|
|
2134
|
+
/* harmony default export */ var src_selectvue_type_script_lang_js = (selectvue_type_script_lang_js);
|
|
2135
|
+
// CONCATENATED MODULE: ./packages/select/src/select.vue
|
|
2136
|
+
|
|
2137
|
+
|
|
2138
|
+
|
|
2139
|
+
|
|
2140
|
+
|
|
2141
|
+
/* normalize component */
|
|
2142
|
+
|
|
2143
|
+
var select_component = Object(componentNormalizer["a" /* default */])(
|
|
2144
|
+
src_selectvue_type_script_lang_js,
|
|
2145
|
+
render,
|
|
2146
|
+
staticRenderFns,
|
|
2147
|
+
false,
|
|
2148
|
+
null,
|
|
2149
|
+
null,
|
|
2150
|
+
null
|
|
2151
|
+
|
|
2152
|
+
)
|
|
2153
|
+
|
|
2154
|
+
/* harmony default export */ var src_select = (select_component.exports);
|
|
2155
|
+
// CONCATENATED MODULE: ./packages/select/index.js
|
|
2156
|
+
|
|
2157
|
+
|
|
2158
|
+
/* istanbul ignore next */
|
|
2159
|
+
src_select.install = function (Vue) {
|
|
2160
|
+
Vue.component(src_select.name, src_select);
|
|
2161
|
+
};
|
|
2162
|
+
|
|
2163
|
+
/* harmony default export */ var packages_select = __webpack_exports__["default"] = (src_select);
|
|
2164
|
+
|
|
2165
|
+
/***/ })
|
|
2166
|
+
|
|
2167
|
+
/******/ });
|