kingdot
Version:
A UI Components Library For Vue
1,041 lines (961 loc) • 32.9 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 = "/dist/";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 218);
/******/ })
/************************************************************************/
/******/ ({
/***/ 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,
(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
}
}
/***/ }),
/***/ 218:
/***/ (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!./components/SelectV2/select.vue?vue&type=template&id=5b406798&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"kdSelect",staticClass:"kd-select",class:[{
'kd-select-disabled':_vm.disabled,
'kd-select-clear-hover': _vm.clearAll && !_vm.disabled,
'kd-select-fluid': _vm.fluid
}],style:({'width': _vm.inputWidth})},[_c('kd-tooltip',{ref:"kdDropdownTooltip",attrs:{"trigger":"click","placement":"bottom","disabled":_vm.disabled,"hide-destroy":_vm.hideDestroy,"width-limit":false,"content-class":_vm.tooltipClass},model:{value:(_vm.dropdownMenu),callback:function ($$v) {_vm.dropdownMenu=$$v},expression:"dropdownMenu"}},[_c('div',{ref:"kdSelectInput",staticClass:"kd-select-input",class:[{ 'kd-select-multiple':_vm.multiple },'kd-select-' + _vm.size],on:{"click":_vm.selectClick}},[_c('i',{staticClass:"kd-icon-arrow-down kd-select-arrow-icon",class:{'kd-select-arrow-icon-rotate':_vm.dropdownMenu}}),(!_vm.disabled)?_c('i',{staticClass:"kd-icon-close kd-select-clear-icon",on:{"click":function($event){$event.stopPropagation();return _vm.clear($event)}}}):_vm._e(),(_vm.multiple)?_c('div',{staticClass:"kd-select-tags"},[_c('span',{staticClass:"kd-select-tags-content"},[_vm._l(((_vm.collapseTags ? _vm.renderTagList : _vm.tagList)),function(item){return _c('span',{key:_vm.handleValueKey(item),staticClass:"kd-select-tags-item"},[_c('span',{staticClass:"kd-select-tag-label",attrs:{"title":_vm.handleLabelKey(item)}},[_vm._v(_vm._s(_vm.handleLabelKey(item)))]),(!_vm.disabled)?_c('span',{staticClass:"kd-select-tag-close kd-icon-close",on:{"click":function($event){$event.stopPropagation();return _vm.deleteTag(item)}}}):_vm._e()])}),(!_vm.dropdownMenu && _vm.collapseTags && _vm.collapseTagsTooltip && _vm.tagList.length > 1)?[_c('kd-tooltip',{attrs:{"can-hover":"","width-limit":false,"placement":"top-start"}},[(_vm.collapseTags && _vm.tagList.length > _vm.collapseTagCount)?_c('span',{staticClass:"kd-select-tags-item"},[_vm._v("+"+_vm._s(_vm.tagList.length - _vm.collapseTagCount))]):_vm._e(),_c('template',{slot:"content"},[_c('div',{staticClass:"kd-select-tag-tip kd-select-tags",style:({maxWidth: _vm.defaultWidth, maxHeight: '200px', overflow: 'auto'})},_vm._l((_vm.tagList),function(item){return _c('span',{key:_vm.handleValueKey(item),staticClass:"kd-select-tags-item"},[_c('span',{staticClass:"kd-select-tag-label",attrs:{"title":_vm.handleLabelKey(item)}},[_vm._v(_vm._s(_vm.handleLabelKey(item)))]),(!_vm.disabled)?_c('span',{staticClass:"kd-select-tag-close kd-icon-close",on:{"click":function($event){$event.stopPropagation();return _vm.deleteTag(item)}}}):_vm._e()])}),0)])],2)]:[(_vm.collapseTags && _vm.tagList.length > _vm.collapseTagCount)?_c('span',{staticClass:"kd-select-tags-item"},[_vm._v("+"+_vm._s(_vm.tagList.length - _vm.collapseTagCount))]):_vm._e()]],2),(_vm.multiple)?_c('input',{directives:[{name:"model",rawName:"v-model",value:(_vm.multipleSerach),expression:"multipleSerach"}],ref:"input",staticClass:"kd-select-input-wrap kd-select-input-inner",class:{'kd-select-input-disabled':_vm.disabled },attrs:{"readonly":!_vm.filterable,"type":"text","disabled":_vm.disabled,"placeholder":_vm.inputPlaceholder},domProps:{"value":(_vm.multipleSerach)},on:{"blur":_vm.handleBlur,"focus":_vm.multipleInputFocus,"input":[function($event){if($event.target.composing){ return; }_vm.multipleSerach=$event.target.value},_vm.handleInput]}}):_vm._e()]):_vm._e(),(!_vm.multiple)?_c('input',{directives:[{name:"model",rawName:"v-model",value:(_vm.inputLabel),expression:"inputLabel"}],ref:"input",staticClass:"kd-select-input-inner",class:{'kd-select-input-disabled':_vm.disabled },attrs:{"readonly":!_vm.filterable || !_vm.dropdownMenu,"type":"text","disabled":_vm.disabled,"placeholder":_vm.inputPlaceholder},domProps:{"value":(_vm.inputLabel)},on:{"input":[function($event){if($event.target.composing){ return; }_vm.inputLabel=$event.target.value},_vm.handleInput],"focus":_vm.handleFocus,"blur":_vm.handleBlur}}):_vm._e()]),_c('template',{slot:"content"},[_c('kd-select-dropdown',{attrs:{"data":_vm.innerData,"multiple":_vm.multiple,"default-width":_vm.defaultWidth,"dropdownMenu":_vm.dropdownMenu,"activeIcon":_vm.activeIcon,"valueKey":_vm.valueKey,"labelKey":_vm.labelKey,"optionDisabled":_vm.optionDisabledFn},on:{"setValue":_vm.setValue,"optionClick":_vm.optionClick},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:"value"}})],1)],2)],1)}
var staticRenderFns = []
// CONCATENATED MODULE: ./components/SelectV2/select.vue?vue&type=template&id=5b406798&
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/SelectV2/select-dropdown.vue?vue&type=template&id=7458fafa&
var select_dropdownvue_type_template_id_7458fafa_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"kdDropdown",staticClass:"kd-select-dropdown",style:({
width: _vm.defaultWidth
})},[(_vm.dropdownMenu)?_c('kd-virtual-list',{style:({
'height': (_vm.listHeight + "px"),
'overflow-y': 'auto'
}),attrs:{"data-key":_vm.dataKeyFn,"data-sources":_vm.data,"estimate-size":20,"data-component":_vm.itemComponent,"extra-props":{
parent: {value: _vm.value, multiple: _vm.multiple, setValue: _vm.setValue,optionClick: _vm.optionClick},
activeIcon: _vm.activeIcon,
valueKey: _vm.valueKey, labelKey: _vm.labelKey,
disabledFn: _vm.optionDisabled
}}}):_vm._e(),(_vm.data.length === 0)?_c('ul',[_c('li',{staticClass:"kd-select-no-data"},[_vm._v("无数据")])]):_vm._e()],1)}
var select_dropdownvue_type_template_id_7458fafa_staticRenderFns = []
// CONCATENATED MODULE: ./components/SelectV2/select-dropdown.vue?vue&type=template&id=7458fafa&
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/SelectV2/option.vue?vue&type=template&id=be74f6e8&
var optionvue_type_template_id_be74f6e8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:"kd-option",class:{'kd-option-active': _vm.active,'kd-option-disabled': !!_vm.source.disabled || _vm.disable},style:({'height': '32px'}),attrs:{"title":_vm.handleLabelKey(_vm.source)},on:{"click":function($event){$event.stopPropagation();return _vm.optionClick($event)}}},[(_vm.active && _vm.activeIcon)?_c('i',{staticClass:"kd-option-icon kd-icon-success"}):_vm._e(),_vm._t("default",[_vm._v("\n "+_vm._s(_vm.handleLabelKey(_vm.source))+"\n ")])],2)}
var optionvue_type_template_id_be74f6e8_staticRenderFns = []
// CONCATENATED MODULE: ./components/SelectV2/option.vue?vue&type=template&id=be74f6e8&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/SelectV2/option.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var optionvue_type_script_lang_js_ = ({
name: 'KdOption',
props: {
activeIcon: {
type: Boolean,
default: false
},
source: {
type: Object,
default: function _default() {
return {};
}
},
parent: {
type: Object,
default: function _default() {
return {};
}
},
valueKey: {
type: String,
default: 'value'
},
labelKey: {
type: String,
default: 'label'
},
disabledFn: {
type: Function
}
},
computed: {
active: function active() {
var _this = this;
// 初始化是否为选择状态
var parent = this.parent;
if (parent.multiple) {
var value = Array.isArray(parent.value) ? parent.value : [];
return value.some(function (item) {
return item === _this.handleValueKey(_this.source);
});
} else {
return parent.value === this.handleValueKey(this.source);
}
},
disable: function disable() {
return this.getDisabledStatus();
}
},
methods: {
handleValueKey: function handleValueKey(item) {
var value = typeof item === 'string' ? item : item[this.valueKey];
return value;
},
handleLabelKey: function handleLabelKey(item) {
var value = typeof item === 'string' ? item : item[this.labelKey];
return value;
},
optionClick: function optionClick() {
if (this.source.disabled || this.getDisabledStatus()) {
return;
}
var data = {
scope: this.source,
active: this.active
};
this.parent.setValue(data);
this.parent.optionClick(data);
},
getDisabledStatus: function getDisabledStatus() {
var callback = this.disabledFn;
var flag = false;
if (callback && typeof callback === 'function') {
flag = callback.call(this, this.source);
}
return flag;
}
}
});
// CONCATENATED MODULE: ./components/SelectV2/option.vue?vue&type=script&lang=js&
/* harmony default export */ var SelectV2_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(0);
// CONCATENATED MODULE: ./components/SelectV2/option.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
SelectV2_optionvue_type_script_lang_js_,
optionvue_type_template_id_be74f6e8_render,
optionvue_type_template_id_be74f6e8_staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var SelectV2_option = (component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/SelectV2/select-dropdown.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({
name: 'KdSelectDropdown',
props: {
// eslint-disable-next-line vue/require-prop-type-constructor
value: '',
data: {
type: Array,
default: function _default() {
return [];
}
},
multiple: {
type: Boolean,
default: false
},
defaultWidth: {
type: String,
default: ''
},
dropdownMenu: {
type: Boolean
},
activeIcon: {
type: Boolean,
default: false
},
valueKey: {
type: String,
default: 'value'
},
labelKey: {
type: String,
default: 'label'
},
optionDisabled: {
type: Function
}
},
data: function data() {
return {
// 每个option的渲染组件
itemComponent: SelectV2_option,
// 每个option高度
itemSize: 32,
// option list总高度
listHeight: 0
};
},
updated: function updated() {
if (this.data.length >= 9) {
this.listHeight = this.itemSize * 9;
} else {
this.listHeight = this.itemSize * this.data.length;
}
},
methods: {
setValue: function setValue(v) {
this.$emit('setValue', v);
},
optionClick: function optionClick(v) {
this.$emit('optionClick', v);
},
dataKeyFn: function dataKeyFn(data) {
var value = typeof data === 'string' ? data : data[this.valueKey];
return value;
}
}
});
// CONCATENATED MODULE: ./components/SelectV2/select-dropdown.vue?vue&type=script&lang=js&
/* harmony default export */ var SelectV2_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/SelectV2/select-dropdown.vue
/* normalize component */
var select_dropdown_component = Object(componentNormalizer["a" /* default */])(
SelectV2_select_dropdownvue_type_script_lang_js_,
select_dropdownvue_type_template_id_7458fafa_render,
select_dropdownvue_type_template_id_7458fafa_staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var select_dropdown = (select_dropdown_component.exports);
// EXTERNAL MODULE: ./src/mixin/lang.js + 2 modules
var lang = __webpack_require__(4);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/SelectV2/select.vue?vue&type=script&lang=js&
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var selectvue_type_script_lang_js_ = ({
name: 'KdSelectV2',
components: {
KdSelectDropdown: select_dropdown
},
mixins: [lang["a" /* default */]],
props: {
data: {
type: Array,
default: function _default() {
return [];
}
},
valueKey: {
type: String,
default: 'value'
},
labelKey: {
type: String,
default: 'label'
},
width: {
type: String,
default: ''
},
// eslint-disable-next-line vue/require-prop-type-constructor
value: null,
placeholder: {
type: String,
default: ''
},
filterable: {
type: Boolean,
default: false
},
filterMethod: {
type: Function
},
disabled: {
type: Boolean,
default: false
},
multiple: {
type: Boolean,
default: false
},
clearAll: {
type: Boolean,
default: false
},
size: {
type: String,
default: ''
},
hideDestroy: {
type: Boolean,
default: false
},
fluid: {
type: Boolean,
default: false
},
activeIcon: {
type: Boolean,
default: false
},
collapseTags: {
type: Boolean,
default: false
},
collapseTagCount: {
type: [String, Number],
default: 1
},
collapseTagsTooltip: {
type: Boolean,
default: false
},
optionDisabledFn: {
type: Function
}
},
data: function data() {
return {
inputLabel: '',
tagList: [],
inputPlaceholder: '',
dropdownMenu: false,
multipleSerach: '',
innerData: [],
selected: [],
defaultWidth: ''
};
},
computed: {
tooltipClass: function tooltipClass() {
return 'kd-dropdown-tooltip';
},
inputWidth: function inputWidth() {
var width = this.width;
if (width.indexOf('px') > -1 || width.indexOf('%') > -1) {
return width;
} else {
return width + 'px';
}
},
renderTagList: function renderTagList() {
return this.tagList.slice(0, this.collapseTagCount);
}
},
watch: {
data: {
immediate: true,
handler: function handler(v) {
this.innerData = v;
this.$nextTick(function () {
this.initData(this.selected);
});
}
},
value: {
immediate: true,
handler: function handler(v) {
var _this = this;
var val = v;
if (this.multiple && !Array.isArray(v)) {
val = [];
// eslint-disable-next-line no-console
console.error('select value should be Array while is multiple!');
}
this.selected = val;
this.$nextTick(function () {
_this.initData(val);
});
}
},
placeholder: {
immediate: true,
handler: function handler(v) {
if (this.multiple) {
this.inputPlaceholder = this.value.length > 0 ? '' : v;
} else {
this.inputPlaceholder = v;
}
}
},
dropdownMenu: {
handler: function handler(v, old) {
this.defaultWidth = this.$refs.kdSelect.clientWidth + 'px';
if (v) {
if (this.filterable && this.inputLabel && !this.multiple) {
this.inputPlaceholder = this.inputLabel;
this.inputLabel = '';
}
} else {
if (this.multiple) {
this.multipleSerach = '';
} else if (this.filterable) {
if (this.value !== null && this.value !== '' && this.value !== undefined) {
this.inputLabel = this.inputPlaceholder;
}
this.inputPlaceholder = this.placeholder;
}
}
this.optionFilter('');
}
}
},
mounted: function mounted() {
// console.log('xxxxxx2', this.$refs.kdSelect);
this.defaultWidth = this.$refs.kdSelect.clientWidth + 'px';
},
methods: {
handleValueKey: function handleValueKey(item) {
var value = typeof item === 'string' ? item : item[this.valueKey];
return value;
},
handleLabelKey: function handleLabelKey(item) {
var value = typeof item === 'string' ? item : item[this.labelKey];
return value;
},
initData: function initData(v) {
var _this2 = this;
if (this.multiple) {
// 多选初始化添加tags
var tagList = this.data.filter(function (item) {
return v.includes(_this2.handleValueKey(item));
});
this.selected = v;
this.tagList = tagList;
this.inputPlaceholder = v.length > 0 ? '' : this.placeholder;
} else {
// 获取label
var selectItem = this.data.find(function (item) {
return v === _this2.handleValueKey(item);
});
this.inputLabel = selectItem ? this.handleLabelKey(selectItem) : '';
this.inputPlaceholder = this.inputLabel || this.placeholder;
this.dropdownMenu = false;
}
},
handleInput: function handleInput() {
if (!this.multiple) {
this.optionFilter(this.inputLabel);
} else {
this.optionFilter(this.multipleSerach);
}
},
optionFilter: function optionFilter(v) {
var _this3 = this;
if (this.filterMethod && typeof this.filterMethod === 'function') {
this.innerData = this.data.filter(function (item) {
return _this3.filterMethod(v, item, _this3.labelKey);
});
} else {
this.innerData = this.data.filter(function (item) {
return _this3.handleLabelKey(item).toUpperCase().includes(v.toUpperCase());
});
}
},
selectClick: function selectClick(e) {
if (this.disabled) return;
if (this.filterable) {
this.$refs.input.focus();
}
},
setValue: function setValue(_ref) {
var scope = _ref.scope,
active = _ref.active;
var value = this.handleValueKey(scope);
if (value === this.value) {
this.dropdownMenu = false;
return;
}
if (this.multiple) {
if (active) {
this.deleteTag(scope);
return;
} else {
this.tagList.push(scope);
this.$emit('input', [].concat(_toConsumableArray(this.selected), [value]));
}
this.inputPlaceholder = this.tagList.length > 0 ? '' : this.placeholder;
this.$refs.kdDropdownTooltip.updatePopper();
this.$refs.input.focus();
} else {
this.inputPlaceholder = this.handleLabelKey(scope);
this.dropdownMenu = false;
this.$emit('input', value);
}
this.$emit('change', scope);
},
optionClick: function optionClick(data) {
this.$emit('optionClick', data);
},
deleteTag: function deleteTag(scope) {
var _this4 = this;
var value = this.handleValueKey(scope);
this.selected.forEach(function (item, index) {
if (item === value) {
_this4.selected.splice(index, 1);
}
});
this.tagList.forEach(function (item, index) {
if (_this4.handleValueKey(item) === value) {
_this4.tagList.splice(index, 1);
}
});
this.$emit('remove-tag', scope);
this.$emit('input', this.selected);
this.$refs.kdDropdownTooltip.updatePopper();
this.inputFocus();
this.$emit('change', scope);
if (this.tagList.length === 0) {
this.inputPlaceholder = this.placeholder;
this.inputLabel = this.inputPlaceholder;
}
},
inputFocus: function inputFocus() {
this.$refs.input.focus();
},
clear: function clear() {
var val = this.multiple ? [] : '';
this.$emit('input', val);
this.$emit('clear');
this.$emit('change', val);
this.tagList = [];
this.inputPlaceholder = this.placeholder;
this.inputLabel = this.inputPlaceholder;
},
handleFocus: function handleFocus() {
this.$emit('focus');
},
handleBlur: function handleBlur() {
this.$emit('blur');
},
multipleInputFocus: function multipleInputFocus() {
this.$emit('focus');
}
}
});
// CONCATENATED MODULE: ./components/SelectV2/select.vue?vue&type=script&lang=js&
/* harmony default export */ var SelectV2_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/SelectV2/select.vue
/* normalize component */
var select_component = Object(componentNormalizer["a" /* default */])(
SelectV2_selectvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var SelectV2_select = (select_component.exports);
// CONCATENATED MODULE: ./components/SelectV2/index.js
SelectV2_select.install = function (Vue) {
Vue.component(SelectV2_select.name, SelectV2_select);
};
/* harmony default export */ var SelectV2 = __webpack_exports__["default"] = (SelectV2_select);
/***/ }),
/***/ 4:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// CONCATENATED MODULE: ./src/lang/zh-CN/index.js
/* harmony default export */ var zh_CN = ({
button: {
confirm: '确定'
}
});
// CONCATENATED MODULE: ./src/lang/index.js
var defaultComponentWords = zh_CN;
var currentComponentWords = defaultComponentWords;
var lang_translate = function translate(path) {
if (i18nHandler) {
// 支持vue-i18n 改写组件语言
return i18nHandler.apply(this, arguments) || '';
}
var currentLang = currentComponentWords;
var array = path.split('.');
return currentLang[array[0]][array[1]];
};
var i18nHandler = void 0;
var i18n = function i18n(fn) {
i18nHandler = fn;
};
var use = function use(wordsMap) {
currentComponentWords = wordsMap || defaultComponentWords;
};
// CONCATENATED MODULE: ./src/mixin/lang.js
/* harmony default export */ var lang = __webpack_exports__["a"] = ({
methods: {
translate: function translate() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return lang_translate.apply(this, args);
}
}
});
/***/ })
/******/ })["default"];