ten-design-vue
Version:
ten-vue
465 lines (410 loc) • 14.4 kB
JavaScript
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 = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 4);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
module.exports = require("./options");
/***/ }),
/* 1 */
/***/ (function(module, exports) {
module.exports = require("./option");
/***/ }),
/* 2 */
/***/ (function(module, exports) {
module.exports = require("../vnodes");
/***/ }),
/* 3 */
/***/ (function(module, exports) {
module.exports = require("../render-cell");
/***/ }),
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__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!./src/components/cascader-panel/cascader-menu.vue?vue&type=template&id=29ba4c78&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"ten-cascader-menu"},[(_vm.title)?_c('h5',{staticClass:"ten-cascader-menu__title"},[_vm._v("\n "+_vm._s(_vm.title)+"\n ")]):_vm._e(),_c('ten-options',{ref:"options",attrs:{"show-checkbox":_vm._showCheckbox,"show-radio":_vm._showRadio,"empty":_vm.options.length === 0,"loading":_vm.loading}},[_vm._l((_vm.options),function(model){return _c('ten-option',{key:model._key,ref:"optionItems",refInFor:true,attrs:{"show-checkbox":_vm.shouldMultipleCheck(model),"active":_vm.isExpanded(model),"selected":_vm.isSelected(model),"disabled":model.data.disabled,"indeterminate":model.status.selected === 2,"suffix-icon":_vm.getSuffixIcon(model),"loading":model.loading},on:{"optionFocus":function($event){return _vm.onItemFocus(model)},"mouseover":function($event){return _vm.onItemMouseover(model)},"optionClick":function($event){return _vm.onItemClick(model)},"select":function($event){return _vm.onItemSelect(model)},"optionKeyCommand":function (type) { return _vm.onOptionKeyCommand(model, type); }}},[_c('render-cell',{attrs:{"render":_vm.getRenderOptionFunction(model)}})],1)}),_c('v-nodes',{attrs:{"slot":"emptyTip","vnodes":_vm._renderEmptyTip},slot:"emptyTip"})],2)],1)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/components/cascader-panel/cascader-menu.vue?vue&type=template&id=29ba4c78&
// EXTERNAL MODULE: external "./options"
var external_options_ = __webpack_require__(0);
var external_options_default = /*#__PURE__*/__webpack_require__.n(external_options_);
// EXTERNAL MODULE: external "./option"
var external_option_ = __webpack_require__(1);
var external_option_default = /*#__PURE__*/__webpack_require__.n(external_option_);
// EXTERNAL MODULE: external "../vnodes"
var external_vnodes_ = __webpack_require__(2);
var external_vnodes_default = /*#__PURE__*/__webpack_require__.n(external_vnodes_);
// EXTERNAL MODULE: external "../render-cell"
var external_render_cell_ = __webpack_require__(3);
var external_render_cell_default = /*#__PURE__*/__webpack_require__.n(external_render_cell_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/cascader-panel/cascader-menu.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var cascader_menuvue_type_script_lang_js_name = 'ten-cascader-menu';
/* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({
name: cascader_menuvue_type_script_lang_js_name,
components: {
TenOptions: external_options_default.a,
TenOption: external_option_default.a,
VNodes: external_vnodes_default.a,
RenderCell: external_render_cell_default.a
},
inject: ['tenCascaderPanel'],
props: {
options: Array,
// treeNodeModels
title: String,
index: {
type: Number,
default: 0
},
isFilterMode: Boolean,
renderLabel: Function,
loading: Boolean
},
computed: {
_multiple: function _multiple() {
return this.tenCascaderPanel.multiple;
},
_showCheckbox: function _showCheckbox() {
return this.tenCascaderPanel.multiple;
},
_showRadio: function _showRadio() {
return this.tenCascaderPanel.independent && !this.isFilterMode;
},
_renderEmptyTip: function _renderEmptyTip() {
return this.tenCascaderPanel.renderEmptyTip();
}
},
methods: {
isExpanded: function isExpanded(model) {
return this.tenCascaderPanel.expandedNodes.indexOf(model) > -1;
},
isSelected: function isSelected(model) {
if (this._multiple || this.tenCascaderPanel.independent) {
return model.selected === 1;
}
return model.isLeaf && model.selected === 1;
},
getLabel: function getLabel(model) {
if (this.renderLabel) {
return this.renderLabel(model);
}
return model.data[this.tenCascaderPanel.optionLabel];
},
getRenderOptionFunction: function getRenderOptionFunction(model) {
var _this = this;
return function (h) {
return _this.tenCascaderPanel.renderOptionContent(h, model);
};
},
getSuffixIcon: function getSuffixIcon(model) {
if (this.isFilterMode) {
return '';
}
if (!model.isLeaf) {
return model.loading ? 'loading_gradient' : 'right';
}
return '';
},
select: function select(model) {
if (model.data.disabled) {
return;
} // eslint-disable-next-line
var selected = this.tenCascaderPanel.multiple ? model.status.selected === 1 ? 0 : 1 : 1;
this.tenCascaderPanel.onNodeSelect(model, selected);
},
expand: function expand(model) {
if (model.data.disabled) {
return;
}
if (this.isFilterMode) {
return;
}
this.tenCascaderPanel.onNodeExpand(model, this.index);
},
focus: function focus(index) {
var focusIndex;
if (typeof index !== 'undefined') {
focusIndex = index;
} else if (this.$refs.options.focusIndex === -1) {
focusIndex = 0;
}
this.$refs.options.focus(focusIndex);
},
blur: function blur() {
this.$refs.options.blur();
},
onItemFocus: function onItemFocus(model) {
this.expand(model);
},
onItemClick: function onItemClick(model) {
if (this.tenCascaderPanel.expandTrigger === 'click') {
this.expand(model);
}
if (model.isLeaf || this.isFilterMode) {
this.select(model);
}
},
onItemMouseover: function onItemMouseover(model) {
if (this.tenCascaderPanel.expandTrigger === 'hover') {
this.expand(model);
}
},
onItemSelect: function onItemSelect(model) {
this.select(model);
if (!model.isLeaf) {
this.expand(model);
}
},
onOptionKeyCommand: function onOptionKeyCommand(model, type) {
switch (type) {
case 'enter':
if (model.isLeaf || this._multiple) {
this.select(model);
}
break;
case 'left':
this.$emit('menuBlur', 'left');
break;
case 'right':
this.$emit('menuBlur', 'right');
break;
}
},
shouldMultipleCheck: function shouldMultipleCheck(model) {
if (!this._multiple) return false;
var onlyLeafSelectable = this.tenCascaderPanel.onlyLeafSelectable;
return onlyLeafSelectable ? model.isLeaf : true;
}
}
});
// CONCATENATED MODULE: ./src/components/cascader-panel/cascader-menu.vue?vue&type=script&lang=js&
/* harmony default export */ var cascader_panel_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
/* 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,
(options.functional ? this.parent : 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 functional 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
}
}
// CONCATENATED MODULE: ./src/components/cascader-panel/cascader-menu.vue
/* normalize component */
var component = normalizeComponent(
cascader_panel_cascader_menuvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var cascader_menu = __webpack_exports__["default"] = (component.exports);
/***/ })
/******/ ]);