123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563 |
- 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 = 60);
- /******/ })
- /************************************************************************/
- /******/ ({
- /***/ 0:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- /* 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
- }
- }
- /***/ }),
- /***/ 15:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/scrollbar");
- /***/ }),
- /***/ 18:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/checkbox");
- /***/ }),
- /***/ 21:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/utils/shared");
- /***/ }),
- /***/ 26:
- /***/ (function(module, exports) {
- module.exports = require("babel-helper-vue-jsx-merge-props");
- /***/ }),
- /***/ 3:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/utils/util");
- /***/ }),
- /***/ 31:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/utils/scroll-into-view");
- /***/ }),
- /***/ 40:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/utils/aria-utils");
- /***/ }),
- /***/ 51:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/radio");
- /***/ }),
- /***/ 6:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/mixins/locale");
- /***/ }),
- /***/ 60:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __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/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&
- var cascader_panelvue_type_template_id_34932346_render = function() {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c(
- "div",
- {
- class: ["el-cascader-panel", _vm.border && "is-bordered"],
- on: { keydown: _vm.handleKeyDown }
- },
- _vm._l(_vm.menus, function(menu, index) {
- return _c("cascader-menu", {
- key: index,
- ref: "menu",
- refInFor: true,
- attrs: { index: index, nodes: menu }
- })
- }),
- 1
- )
- }
- var staticRenderFns = []
- cascader_panelvue_type_template_id_34932346_render._withStripped = true
- // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&
- // EXTERNAL MODULE: external "babel-helper-vue-jsx-merge-props"
- var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26);
- var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);
- // EXTERNAL MODULE: external "element-ui/lib/scrollbar"
- var scrollbar_ = __webpack_require__(15);
- var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);
- // EXTERNAL MODULE: external "element-ui/lib/checkbox"
- var checkbox_ = __webpack_require__(18);
- var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
- // EXTERNAL MODULE: external "element-ui/lib/radio"
- var radio_ = __webpack_require__(51);
- var radio_default = /*#__PURE__*/__webpack_require__.n(radio_);
- // EXTERNAL MODULE: external "element-ui/lib/utils/util"
- var util_ = __webpack_require__(3);
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&
- var stopPropagation = function stopPropagation(e) {
- return e.stopPropagation();
- };
- /* harmony default export */ var cascader_nodevue_type_script_lang_js_ = ({
- inject: ['panel'],
- components: {
- ElCheckbox: checkbox_default.a,
- ElRadio: radio_default.a
- },
- props: {
- node: {
- required: true
- },
- nodeId: String
- },
- computed: {
- config: function config() {
- return this.panel.config;
- },
- isLeaf: function isLeaf() {
- return this.node.isLeaf;
- },
- isDisabled: function isDisabled() {
- return this.node.isDisabled;
- },
- checkedValue: function checkedValue() {
- return this.panel.checkedValue;
- },
- isChecked: function isChecked() {
- return this.node.isSameNode(this.checkedValue);
- },
- inActivePath: function inActivePath() {
- return this.isInPath(this.panel.activePath);
- },
- inCheckedPath: function inCheckedPath() {
- var _this = this;
- if (!this.config.checkStrictly) return false;
- return this.panel.checkedNodePaths.some(function (checkedPath) {
- return _this.isInPath(checkedPath);
- });
- },
- value: function value() {
- return this.node.getValueByOption();
- }
- },
- methods: {
- handleExpand: function handleExpand() {
- var _this2 = this;
- var panel = this.panel,
- node = this.node,
- isDisabled = this.isDisabled,
- config = this.config;
- var multiple = config.multiple,
- checkStrictly = config.checkStrictly;
- if (!checkStrictly && isDisabled || node.loading) return;
- if (config.lazy && !node.loaded) {
- panel.lazyLoad(node, function () {
- // do not use cached leaf value here, invoke this.isLeaf to get new value.
- var isLeaf = _this2.isLeaf;
- if (!isLeaf) _this2.handleExpand();
- if (multiple) {
- // if leaf sync checked state, else clear checked state
- var checked = isLeaf ? node.checked : false;
- _this2.handleMultiCheckChange(checked);
- }
- });
- } else {
- panel.handleExpand(node);
- }
- },
- handleCheckChange: function handleCheckChange() {
- var panel = this.panel,
- value = this.value,
- node = this.node;
- panel.handleCheckChange(value);
- panel.handleExpand(node);
- },
- handleMultiCheckChange: function handleMultiCheckChange(checked) {
- this.node.doCheck(checked);
- this.panel.calculateMultiCheckedValue();
- },
- isInPath: function isInPath(pathNodes) {
- var node = this.node;
- var selectedPathNode = pathNodes[node.level - 1] || {};
- return selectedPathNode.uid === node.uid;
- },
- renderPrefix: function renderPrefix(h) {
- var isLeaf = this.isLeaf,
- isChecked = this.isChecked,
- config = this.config;
- var checkStrictly = config.checkStrictly,
- multiple = config.multiple;
- if (multiple) {
- return this.renderCheckbox(h);
- } else if (checkStrictly) {
- return this.renderRadio(h);
- } else if (isLeaf && isChecked) {
- return this.renderCheckIcon(h);
- }
- return null;
- },
- renderPostfix: function renderPostfix(h) {
- var node = this.node,
- isLeaf = this.isLeaf;
- if (node.loading) {
- return this.renderLoadingIcon(h);
- } else if (!isLeaf) {
- return this.renderExpandIcon(h);
- }
- return null;
- },
- renderCheckbox: function renderCheckbox(h) {
- var node = this.node,
- config = this.config,
- isDisabled = this.isDisabled;
- var events = {
- on: { change: this.handleMultiCheckChange },
- nativeOn: {}
- };
- if (config.checkStrictly) {
- // when every node is selectable, click event should not trigger expand event.
- events.nativeOn.click = stopPropagation;
- }
- return h('el-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{
- attrs: {
- value: node.checked,
- indeterminate: node.indeterminate,
- disabled: isDisabled
- }
- }, events]));
- },
- renderRadio: function renderRadio(h) {
- var checkedValue = this.checkedValue,
- value = this.value,
- isDisabled = this.isDisabled;
- // to keep same reference if value cause radio's checked state is calculated by reference comparision;
- if (Object(util_["isEqual"])(value, checkedValue)) {
- value = checkedValue;
- }
- return h(
- 'el-radio',
- {
- attrs: {
- value: checkedValue,
- label: value,
- disabled: isDisabled
- },
- on: {
- 'change': this.handleCheckChange
- },
- nativeOn: {
- 'click': stopPropagation
- }
- },
- [h('span')]
- );
- },
- renderCheckIcon: function renderCheckIcon(h) {
- return h('i', { 'class': 'el-icon-check el-cascader-node__prefix' });
- },
- renderLoadingIcon: function renderLoadingIcon(h) {
- return h('i', { 'class': 'el-icon-loading el-cascader-node__postfix' });
- },
- renderExpandIcon: function renderExpandIcon(h) {
- return h('i', { 'class': 'el-icon-arrow-right el-cascader-node__postfix' });
- },
- renderContent: function renderContent(h) {
- var panel = this.panel,
- node = this.node;
- var render = panel.renderLabelFn;
- var vnode = render ? render({ node: node, data: node.data }) : null;
- return h(
- 'span',
- { 'class': 'el-cascader-node__label' },
- [vnode || node.label]
- );
- }
- },
- render: function render(h) {
- var _this3 = this;
- var inActivePath = this.inActivePath,
- inCheckedPath = this.inCheckedPath,
- isChecked = this.isChecked,
- isLeaf = this.isLeaf,
- isDisabled = this.isDisabled,
- config = this.config,
- nodeId = this.nodeId;
- var expandTrigger = config.expandTrigger,
- checkStrictly = config.checkStrictly,
- multiple = config.multiple;
- var disabled = !checkStrictly && isDisabled;
- var events = { on: {} };
- if (expandTrigger === 'click') {
- events.on.click = this.handleExpand;
- } else {
- events.on.mouseenter = function (e) {
- _this3.handleExpand();
- _this3.$emit('expand', e);
- };
- events.on.focus = function (e) {
- _this3.handleExpand();
- _this3.$emit('expand', e);
- };
- }
- if (isLeaf && !isDisabled && !checkStrictly && !multiple) {
- events.on.click = this.handleCheckChange;
- }
- return h(
- 'li',
- external_babel_helper_vue_jsx_merge_props_default()([{
- attrs: {
- role: 'menuitem',
- id: nodeId,
- 'aria-expanded': inActivePath,
- tabindex: disabled ? null : -1
- },
- 'class': {
- 'el-cascader-node': true,
- 'is-selectable': checkStrictly,
- 'in-active-path': inActivePath,
- 'in-checked-path': inCheckedPath,
- 'is-active': isChecked,
- 'is-disabled': disabled
- }
- }, events]),
- [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)]
- );
- }
- });
- // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&
- /* harmony default export */ var src_cascader_nodevue_type_script_lang_js_ = (cascader_nodevue_type_script_lang_js_);
- // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
- var componentNormalizer = __webpack_require__(0);
- // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue
- var cascader_node_render, cascader_node_staticRenderFns
- /* normalize component */
- var component = Object(componentNormalizer["a" /* default */])(
- src_cascader_nodevue_type_script_lang_js_,
- cascader_node_render,
- cascader_node_staticRenderFns,
- false,
- null,
- null,
- null
-
- )
- /* hot reload */
- if (false) { var api; }
- component.options.__file = "packages/cascader-panel/src/cascader-node.vue"
- /* harmony default export */ var cascader_node = (component.exports);
- // EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
- var locale_ = __webpack_require__(6);
- var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&
- /* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({
- name: 'ElCascaderMenu',
- mixins: [locale_default.a],
- inject: ['panel'],
- components: {
- ElScrollbar: scrollbar_default.a,
- CascaderNode: cascader_node
- },
- props: {
- nodes: {
- type: Array,
- required: true
- },
- index: Number
- },
- data: function data() {
- return {
- activeNode: null,
- hoverTimer: null,
- id: Object(util_["generateId"])()
- };
- },
- computed: {
- isEmpty: function isEmpty() {
- return !this.nodes.length;
- },
- menuId: function menuId() {
- return 'cascader-menu-' + this.id + '-' + this.index;
- }
- },
- methods: {
- handleExpand: function handleExpand(e) {
- this.activeNode = e.target;
- },
- handleMouseMove: function handleMouseMove(e) {
- var activeNode = this.activeNode,
- hoverTimer = this.hoverTimer;
- var hoverZone = this.$refs.hoverZone;
- if (!activeNode || !hoverZone) return;
- if (activeNode.contains(e.target)) {
- clearTimeout(hoverTimer);
- var _$el$getBoundingClien = this.$el.getBoundingClientRect(),
- left = _$el$getBoundingClien.left;
- var startX = e.clientX - left;
- var _$el = this.$el,
- offsetWidth = _$el.offsetWidth,
- offsetHeight = _$el.offsetHeight;
- var top = activeNode.offsetTop;
- var bottom = top + activeNode.offsetHeight;
- hoverZone.innerHTML = '\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + top + ' L' + offsetWidth + ' 0 V' + top + ' Z" />\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + bottom + ' L' + offsetWidth + ' ' + offsetHeight + ' V' + bottom + ' Z" />\n ';
- } else if (!hoverTimer) {
- this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold);
- }
- },
- clearHoverZone: function clearHoverZone() {
- var hoverZone = this.$refs.hoverZone;
- if (!hoverZone) return;
- hoverZone.innerHTML = '';
- },
- renderEmptyText: function renderEmptyText(h) {
- return h(
- 'div',
- { 'class': 'el-cascader-menu__empty-text' },
- [this.t('el.cascader.noData')]
- );
- },
- renderNodeList: function renderNodeList(h) {
- var menuId = this.menuId;
- var isHoverMenu = this.panel.isHoverMenu;
- var events = { on: {} };
- if (isHoverMenu) {
- events.on.expand = this.handleExpand;
- }
- var nodes = this.nodes.map(function (node, index) {
- var hasChildren = node.hasChildren;
- return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{
- key: node.uid,
- attrs: { node: node,
- 'node-id': menuId + '-' + index,
- 'aria-haspopup': hasChildren,
- 'aria-owns': hasChildren ? menuId : null
- }
- }, events]));
- });
- return [].concat(nodes, [isHoverMenu ? h('svg', { ref: 'hoverZone', 'class': 'el-cascader-menu__hover-zone' }) : null]);
- }
- },
- render: function render(h) {
- var isEmpty = this.isEmpty,
- menuId = this.menuId;
- var events = { nativeOn: {} };
- // optimize hover to expand experience (#8010)
- if (this.panel.isHoverMenu) {
- events.nativeOn.mousemove = this.handleMouseMove;
- // events.nativeOn.mouseleave = this.clearHoverZone;
- }
- return h(
- 'el-scrollbar',
- external_babel_helper_vue_jsx_merge_props_default()([{
- attrs: {
- tag: 'ul',
- role: 'menu',
- id: menuId,
- 'wrap-class': 'el-cascader-menu__wrap',
- 'view-class': {
- 'el-cascader-menu__list': true,
- 'is-empty': isEmpty
- }
- },
- 'class': 'el-cascader-menu' }, events]),
- [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)]
- );
- }
- });
- // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&
- /* harmony default export */ var src_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_);
- // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue
- var cascader_menu_render, cascader_menu_staticRenderFns
- /* normalize component */
- var cascader_menu_component = Object(componentNormalizer["a" /* default */])(
- src_cascader_menuvue_type_script_lang_js_,
- cascader_menu_render,
- cascader_menu_staticRenderFns,
- false,
- null,
- null,
- null
-
- )
- /* hot reload */
- if (false) { var cascader_menu_api; }
- cascader_menu_component.options.__file = "packages/cascader-panel/src/cascader-menu.vue"
- /* harmony default export */ var cascader_menu = (cascader_menu_component.exports);
- // EXTERNAL MODULE: external "element-ui/lib/utils/shared"
- var shared_ = __webpack_require__(21);
- // CONCATENATED MODULE: ./packages/cascader-panel/src/node.js
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- var uid = 0;
- var node_Node = function () {
- function Node(data, config, parentNode) {
- _classCallCheck(this, Node);
- this.data = data;
- this.config = config;
- this.parent = parentNode || null;
- this.level = !this.parent ? 1 : this.parent.level + 1;
- this.uid = uid++;
- this.initState();
- this.initChildren();
- }
- Node.prototype.initState = function initState() {
- var _config = this.config,
- valueKey = _config.value,
- labelKey = _config.label;
- this.value = this.data[valueKey];
- this.label = this.data[labelKey];
- this.pathNodes = this.calculatePathNodes();
- this.path = this.pathNodes.map(function (node) {
- return node.value;
- });
- this.pathLabels = this.pathNodes.map(function (node) {
- return node.label;
- });
- // lazy load
- this.loading = false;
- this.loaded = false;
- };
- Node.prototype.initChildren = function initChildren() {
- var _this = this;
- var config = this.config;
- var childrenKey = config.children;
- var childrenData = this.data[childrenKey];
- this.hasChildren = Array.isArray(childrenData);
- this.children = (childrenData || []).map(function (child) {
- return new Node(child, config, _this);
- });
- };
- Node.prototype.calculatePathNodes = function calculatePathNodes() {
- var nodes = [this];
- var parent = this.parent;
- while (parent) {
- nodes.unshift(parent);
- parent = parent.parent;
- }
- return nodes;
- };
- Node.prototype.getPath = function getPath() {
- return this.path;
- };
- Node.prototype.getValue = function getValue() {
- return this.value;
- };
- Node.prototype.getValueByOption = function getValueByOption() {
- return this.config.emitPath ? this.getPath() : this.getValue();
- };
- Node.prototype.getText = function getText(allLevels, separator) {
- return allLevels ? this.pathLabels.join(separator) : this.label;
- };
- Node.prototype.isSameNode = function isSameNode(checkedValue) {
- var value = this.getValueByOption();
- return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) {
- return Object(util_["isEqual"])(val, value);
- }) : Object(util_["isEqual"])(checkedValue, value);
- };
- Node.prototype.broadcast = function broadcast(event) {
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
- var handlerName = 'onParent' + Object(util_["capitalize"])(event);
- this.children.forEach(function (child) {
- if (child) {
- // bottom up
- child.broadcast.apply(child, [event].concat(args));
- child[handlerName] && child[handlerName].apply(child, args);
- }
- });
- };
- Node.prototype.emit = function emit(event) {
- var parent = this.parent;
- var handlerName = 'onChild' + Object(util_["capitalize"])(event);
- if (parent) {
- for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
- args[_key2 - 1] = arguments[_key2];
- }
- parent[handlerName] && parent[handlerName].apply(parent, args);
- parent.emit.apply(parent, [event].concat(args));
- }
- };
- Node.prototype.onParentCheck = function onParentCheck(checked) {
- if (!this.isDisabled) {
- this.setCheckState(checked);
- }
- };
- Node.prototype.onChildCheck = function onChildCheck() {
- var children = this.children;
- var validChildren = children.filter(function (child) {
- return !child.isDisabled;
- });
- var checked = validChildren.length ? validChildren.every(function (child) {
- return child.checked;
- }) : false;
- this.setCheckState(checked);
- };
- Node.prototype.setCheckState = function setCheckState(checked) {
- var totalNum = this.children.length;
- var checkedNum = this.children.reduce(function (c, p) {
- var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0;
- return c + num;
- }, 0);
- this.checked = checked;
- this.indeterminate = checkedNum !== totalNum && checkedNum > 0;
- };
- Node.prototype.syncCheckState = function syncCheckState(checkedValue) {
- var value = this.getValueByOption();
- var checked = this.isSameNode(checkedValue, value);
- this.doCheck(checked);
- };
- Node.prototype.doCheck = function doCheck(checked) {
- if (this.checked !== checked) {
- if (this.config.checkStrictly) {
- this.checked = checked;
- } else {
- // bottom up to unify the calculation of the indeterminate state
- this.broadcast('check', checked);
- this.setCheckState(checked);
- this.emit('check');
- }
- }
- };
- _createClass(Node, [{
- key: 'isDisabled',
- get: function get() {
- var data = this.data,
- parent = this.parent,
- config = this.config;
- var disabledKey = config.disabled;
- var checkStrictly = config.checkStrictly;
- return data[disabledKey] || !checkStrictly && parent && parent.isDisabled;
- }
- }, {
- key: 'isLeaf',
- get: function get() {
- var data = this.data,
- loaded = this.loaded,
- hasChildren = this.hasChildren,
- children = this.children;
- var _config2 = this.config,
- lazy = _config2.lazy,
- leafKey = _config2.leaf;
- if (lazy) {
- var isLeaf = Object(shared_["isDef"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false;
- this.hasChildren = !isLeaf;
- return isLeaf;
- }
- return !hasChildren;
- }
- }]);
- return Node;
- }();
- /* harmony default export */ var src_node = (node_Node);
- // CONCATENATED MODULE: ./packages/cascader-panel/src/store.js
- function store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- var flatNodes = function flatNodes(data, leafOnly) {
- return data.reduce(function (res, node) {
- if (node.isLeaf) {
- res.push(node);
- } else {
- !leafOnly && res.push(node);
- res = res.concat(flatNodes(node.children, leafOnly));
- }
- return res;
- }, []);
- };
- var store_Store = function () {
- function Store(data, config) {
- store_classCallCheck(this, Store);
- this.config = config;
- this.initNodes(data);
- }
- Store.prototype.initNodes = function initNodes(data) {
- var _this = this;
- data = Object(util_["coerceTruthyValueToArray"])(data);
- this.nodes = data.map(function (nodeData) {
- return new src_node(nodeData, _this.config);
- });
- this.flattedNodes = this.getFlattedNodes(false, false);
- this.leafNodes = this.getFlattedNodes(true, false);
- };
- Store.prototype.appendNode = function appendNode(nodeData, parentNode) {
- var node = new src_node(nodeData, this.config, parentNode);
- var children = parentNode ? parentNode.children : this.nodes;
- children.push(node);
- };
- Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) {
- var _this2 = this;
- nodeDataList = Object(util_["coerceTruthyValueToArray"])(nodeDataList);
- nodeDataList.forEach(function (nodeData) {
- return _this2.appendNode(nodeData, parentNode);
- });
- };
- Store.prototype.getNodes = function getNodes() {
- return this.nodes;
- };
- Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) {
- var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
- var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes;
- return cached ? cachedNodes : flatNodes(this.nodes, leafOnly);
- };
- Store.prototype.getNodeByValue = function getNodeByValue(value) {
- var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) {
- return Object(util_["valueEquals"])(node.path, value) || node.value === value;
- });
- return nodes && nodes.length ? nodes[0] : null;
- };
- return Store;
- }();
- /* harmony default export */ var src_store = (store_Store);
- // EXTERNAL MODULE: external "element-ui/lib/utils/merge"
- var merge_ = __webpack_require__(9);
- var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);
- // EXTERNAL MODULE: external "element-ui/lib/utils/aria-utils"
- var aria_utils_ = __webpack_require__(40);
- var aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_);
- // EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view"
- var scroll_into_view_ = __webpack_require__(31);
- var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- var KeyCode = aria_utils_default.a.keys;
- var DefaultProps = {
- expandTrigger: 'click', // or hover
- multiple: false,
- checkStrictly: false, // whether all nodes can be selected
- emitPath: true, // wether to emit an array of all levels value in which node is located
- lazy: false,
- lazyLoad: util_["noop"],
- value: 'value',
- label: 'label',
- children: 'children',
- leaf: 'leaf',
- disabled: 'disabled',
- hoverThreshold: 500
- };
- var cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) {
- return !el.getAttribute('aria-owns');
- };
- var getSibling = function getSibling(el, distance) {
- var parentNode = el.parentNode;
- if (parentNode) {
- var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex="-1"]');
- var index = Array.prototype.indexOf.call(siblings, el);
- return siblings[index + distance] || null;
- }
- return null;
- };
- var getMenuIndex = function getMenuIndex(el, distance) {
- if (!el) return;
- var pieces = el.id.split('-');
- return Number(pieces[pieces.length - 2]);
- };
- var focusNode = function focusNode(el) {
- if (!el) return;
- el.focus();
- !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click();
- };
- var checkNode = function checkNode(el) {
- if (!el) return;
- var input = el.querySelector('input');
- if (input) {
- input.click();
- } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) {
- el.click();
- }
- };
- /* harmony default export */ var cascader_panelvue_type_script_lang_js_ = ({
- name: 'ElCascaderPanel',
- components: {
- CascaderMenu: cascader_menu
- },
- props: {
- value: {},
- options: Array,
- props: Object,
- border: {
- type: Boolean,
- default: true
- },
- renderLabel: Function
- },
- provide: function provide() {
- return {
- panel: this
- };
- },
- data: function data() {
- return {
- checkedValue: null,
- checkedNodePaths: [],
- store: [],
- menus: [],
- activePath: [],
- loadCount: 0
- };
- },
- computed: {
- config: function config() {
- return merge_default()(_extends({}, DefaultProps), this.props || {});
- },
- multiple: function multiple() {
- return this.config.multiple;
- },
- checkStrictly: function checkStrictly() {
- return this.config.checkStrictly;
- },
- leafOnly: function leafOnly() {
- return !this.checkStrictly;
- },
- isHoverMenu: function isHoverMenu() {
- return this.config.expandTrigger === 'hover';
- },
- renderLabelFn: function renderLabelFn() {
- return this.renderLabel || this.$scopedSlots.default;
- }
- },
- watch: {
- value: function value() {
- this.syncCheckedValue();
- this.checkStrictly && this.calculateCheckedNodePaths();
- },
- options: {
- handler: function handler() {
- this.initStore();
- },
- immediate: true,
- deep: true
- },
- checkedValue: function checkedValue(val) {
- if (!Object(util_["isEqual"])(val, this.value)) {
- this.checkStrictly && this.calculateCheckedNodePaths();
- this.$emit('input', val);
- this.$emit('change', val);
- }
- }
- },
- mounted: function mounted() {
- if (!this.isEmptyValue(this.value)) {
- this.syncCheckedValue();
- }
- },
- methods: {
- initStore: function initStore() {
- var config = this.config,
- options = this.options;
- if (config.lazy && Object(util_["isEmpty"])(options)) {
- this.lazyLoad();
- } else {
- this.store = new src_store(options, config);
- this.menus = [this.store.getNodes()];
- this.syncMenuState();
- }
- },
- syncCheckedValue: function syncCheckedValue() {
- var value = this.value,
- checkedValue = this.checkedValue;
- if (!Object(util_["isEqual"])(value, checkedValue)) {
- this.activePath = [];
- this.checkedValue = value;
- this.syncMenuState();
- }
- },
- syncMenuState: function syncMenuState() {
- var multiple = this.multiple,
- checkStrictly = this.checkStrictly;
- this.syncActivePath();
- multiple && this.syncMultiCheckState();
- checkStrictly && this.calculateCheckedNodePaths();
- this.$nextTick(this.scrollIntoView);
- },
- syncMultiCheckState: function syncMultiCheckState() {
- var _this = this;
- var nodes = this.getFlattedNodes(this.leafOnly);
- nodes.forEach(function (node) {
- node.syncCheckState(_this.checkedValue);
- });
- },
- isEmptyValue: function isEmptyValue(val) {
- var multiple = this.multiple,
- config = this.config;
- var emitPath = config.emitPath;
- if (multiple || emitPath) {
- return Object(util_["isEmpty"])(val);
- }
- return false;
- },
- syncActivePath: function syncActivePath() {
- var _this2 = this;
- var store = this.store,
- multiple = this.multiple,
- activePath = this.activePath,
- checkedValue = this.checkedValue;
- if (!Object(util_["isEmpty"])(activePath)) {
- var nodes = activePath.map(function (node) {
- return _this2.getNodeByValue(node.getValue());
- });
- this.expandNodes(nodes);
- } else if (!this.isEmptyValue(checkedValue)) {
- var value = multiple ? checkedValue[0] : checkedValue;
- var checkedNode = this.getNodeByValue(value) || {};
- var _nodes = (checkedNode.pathNodes || []).slice(0, -1);
- this.expandNodes(_nodes);
- } else {
- this.activePath = [];
- this.menus = [store.getNodes()];
- }
- },
- expandNodes: function expandNodes(nodes) {
- var _this3 = this;
- nodes.forEach(function (node) {
- return _this3.handleExpand(node, true /* silent */);
- });
- },
- calculateCheckedNodePaths: function calculateCheckedNodePaths() {
- var _this4 = this;
- var checkedValue = this.checkedValue,
- multiple = this.multiple;
- var checkedValues = multiple ? Object(util_["coerceTruthyValueToArray"])(checkedValue) : [checkedValue];
- this.checkedNodePaths = checkedValues.map(function (v) {
- var checkedNode = _this4.getNodeByValue(v);
- return checkedNode ? checkedNode.pathNodes : [];
- });
- },
- handleKeyDown: function handleKeyDown(e) {
- var target = e.target,
- keyCode = e.keyCode;
- switch (keyCode) {
- case KeyCode.up:
- var prev = getSibling(target, -1);
- focusNode(prev);
- break;
- case KeyCode.down:
- var next = getSibling(target, 1);
- focusNode(next);
- break;
- case KeyCode.left:
- var preMenu = this.$refs.menu[getMenuIndex(target) - 1];
- if (preMenu) {
- var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded="true"]');
- focusNode(expandedNode);
- }
- break;
- case KeyCode.right:
- var nextMenu = this.$refs.menu[getMenuIndex(target) + 1];
- if (nextMenu) {
- var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex="-1"]');
- focusNode(firstNode);
- }
- break;
- case KeyCode.enter:
- checkNode(target);
- break;
- case KeyCode.esc:
- case KeyCode.tab:
- this.$emit('close');
- break;
- default:
- return;
- }
- },
- handleExpand: function handleExpand(node, silent) {
- var activePath = this.activePath;
- var level = node.level;
- var path = activePath.slice(0, level - 1);
- var menus = this.menus.slice(0, level);
- if (!node.isLeaf) {
- path.push(node);
- menus.push(node.children);
- }
- this.activePath = path;
- this.menus = menus;
- if (!silent) {
- var pathValues = path.map(function (node) {
- return node.getValue();
- });
- var activePathValues = activePath.map(function (node) {
- return node.getValue();
- });
- if (!Object(util_["valueEquals"])(pathValues, activePathValues)) {
- this.$emit('active-item-change', pathValues); // Deprecated
- this.$emit('expand-change', pathValues);
- }
- }
- },
- handleCheckChange: function handleCheckChange(value) {
- this.checkedValue = value;
- },
- lazyLoad: function lazyLoad(node, onFullfiled) {
- var _this5 = this;
- var config = this.config;
- if (!node) {
- node = node || { root: true, level: 0 };
- this.store = new src_store([], config);
- this.menus = [this.store.getNodes()];
- }
- node.loading = true;
- var resolve = function resolve(dataList) {
- var parent = node.root ? null : node;
- dataList && dataList.length && _this5.store.appendNodes(dataList, parent);
- node.loading = false;
- node.loaded = true;
- // dispose default value on lazy load mode
- if (Array.isArray(_this5.checkedValue)) {
- var nodeValue = _this5.checkedValue[_this5.loadCount++];
- var valueKey = _this5.config.value;
- var leafKey = _this5.config.leaf;
- if (Array.isArray(dataList) && dataList.filter(function (item) {
- return item[valueKey] === nodeValue;
- }).length > 0) {
- var checkedNode = _this5.store.getNodeByValue(nodeValue);
- if (!checkedNode.data[leafKey]) {
- _this5.lazyLoad(checkedNode, function () {
- _this5.handleExpand(checkedNode);
- });
- }
- if (_this5.loadCount === _this5.checkedValue.length) {
- _this5.$parent.computePresentText();
- }
- }
- }
- onFullfiled && onFullfiled(dataList);
- };
- config.lazyLoad(node, resolve);
- },
- /**
- * public methods
- */
- calculateMultiCheckedValue: function calculateMultiCheckedValue() {
- this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) {
- return node.getValueByOption();
- });
- },
- scrollIntoView: function scrollIntoView() {
- if (this.$isServer) return;
- var menus = this.$refs.menu || [];
- menus.forEach(function (menu) {
- var menuElement = menu.$el;
- if (menuElement) {
- var container = menuElement.querySelector('.el-scrollbar__wrap');
- var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path');
- scroll_into_view_default()(container, activeNode);
- }
- });
- },
- getNodeByValue: function getNodeByValue(val) {
- return this.store.getNodeByValue(val);
- },
- getFlattedNodes: function getFlattedNodes(leafOnly) {
- var cached = !this.config.lazy;
- return this.store.getFlattedNodes(leafOnly, cached);
- },
- getCheckedNodes: function getCheckedNodes(leafOnly) {
- var checkedValue = this.checkedValue,
- multiple = this.multiple;
- if (multiple) {
- var nodes = this.getFlattedNodes(leafOnly);
- return nodes.filter(function (node) {
- return node.checked;
- });
- } else {
- return this.isEmptyValue(checkedValue) ? [] : [this.getNodeByValue(checkedValue)];
- }
- },
- clearCheckedNodes: function clearCheckedNodes() {
- var config = this.config,
- leafOnly = this.leafOnly;
- var multiple = config.multiple,
- emitPath = config.emitPath;
- if (multiple) {
- this.getCheckedNodes(leafOnly).filter(function (node) {
- return !node.isDisabled;
- }).forEach(function (node) {
- return node.doCheck(false);
- });
- this.calculateMultiCheckedValue();
- } else {
- this.checkedValue = emitPath ? [] : null;
- }
- }
- }
- });
- // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&
- /* harmony default export */ var src_cascader_panelvue_type_script_lang_js_ = (cascader_panelvue_type_script_lang_js_);
- // CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue
- /* normalize component */
- var cascader_panel_component = Object(componentNormalizer["a" /* default */])(
- src_cascader_panelvue_type_script_lang_js_,
- cascader_panelvue_type_template_id_34932346_render,
- staticRenderFns,
- false,
- null,
- null,
- null
-
- )
- /* hot reload */
- if (false) { var cascader_panel_api; }
- cascader_panel_component.options.__file = "packages/cascader-panel/src/cascader-panel.vue"
- /* harmony default export */ var cascader_panel = (cascader_panel_component.exports);
- // CONCATENATED MODULE: ./packages/cascader-panel/index.js
- /* istanbul ignore next */
- cascader_panel.install = function (Vue) {
- Vue.component(cascader_panel.name, cascader_panel);
- };
- /* harmony default export */ var packages_cascader_panel = __webpack_exports__["default"] = (cascader_panel);
- /***/ }),
- /***/ 9:
- /***/ (function(module, exports) {
- module.exports = require("element-ui/lib/utils/merge");
- /***/ })
- /******/ });
|