UNPKG

kingdot

Version:

A UI Components Library For Vue

1,564 lines (1,446 loc) 57.9 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dist/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 220); /******/ }) /************************************************************************/ /******/ ({ /***/ 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 } } /***/ }), /***/ 10: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var src_mixin_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony default export */ __webpack_exports__["a"] = ({ name: 'KdButton', mixins: [src_mixin_lang_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]], props: { value: { type: [Number, String] }, type: { type: String, default: 'default' }, disabled: { type: Boolean, default: false }, icon: { type: String, default: '' }, loading: { type: Boolean, default: false }, size: { type: String, default: 'middle' }, shape: { type: String, default: '' }, hollow: { type: Boolean, default: false }, split: { type: Boolean, default: false }, nativeType: { type: String, default: 'button' }, authid: { type: String, default: '' }, clickDelay: { type: Boolean, default: false }, delayTime: { type: Number, default: 3000 }, href: { type: String, default: null }, target: { type: String, default: '_self' } }, data: function data() { return { isActive: false, disabledStatus: this.disabled, authAbled: true, delayDisable: false, link: null, linkTarget: '_self', isShow: true }; }, computed: { // 所有样式类 allClassList: function allClassList() { var allClassAry = ['kd-btn', 'kd-btn-' + this.type, this.shape ? 'kd-btn-' + this.shape : '', this.size ? 'kd-btn-' + this.size : '', { 'kd-btn-active': this.isActive, 'kd-btn-split': this.split, 'kd-btn-disabled': this.disabledStatus || !this.authAbled, 'kd-btn-hollow': this.hollow, 'kd-btn-loading': this.loading }]; return allClassAry; }, enableStatus: function enableStatus() { if (this.authid) { return this.$KD && this.$KD.getEnabledStatus ? this.$KD.getEnabledStatus(this.authid) : true; } else { return true; } }, btnShowStatus: function btnShowStatus() { return this.$KD && this.$KD.setBtnEnableType ? this.$KD.setBtnEnableType() === 'disabled' : true; } }, watch: { disabled: { immediate: true, handler: function handler(v) { this.checkAuth(); this.handleHerf(); this.disabledStatus = v; } }, authid: function authid() { var _this = this; this.$nextTick(function () { _this.checkAuth(); }); }, href: { immediate: true, handler: function handler(v) { this.link = v; this.handleHerf(); } }, target: { immediate: true, handler: function handler(v) { this.linkTarget = v; this.handleHerf(); } } }, mounted: function mounted() { this.initActive(); }, methods: { checkAuth: function checkAuth() { if (!this.authid) return; if (this.enableStatus) { this.isShow = true; this.authAbled = !this.disabled; } else { if (this.btnShowStatus) { this.authAbled = false; this.isShow = true; } else { this.isShow = false; } } }, handleHerf: function handleHerf() { if (!this.authAbled || this.disabled) { this.link = null; this.linkTarget = '_self'; this.disabledStatus = true; } else { this.linkTarget = this.target; if (this.$KD && this.$KD.setButtonLink) { this.link = this.$KD.setButtonLink(this.href); } } }, initActive: function initActive() { var _this2 = this; var parent = this.$parent; if (!parent) return; if (parent.$options._componentTag === 'kd-button-group') { if (parent.checkType === 'radio') { if (parent.value === this.value) this.isActive = true; } else if (parent.checkType === 'checkbox') { parent.value.forEach(function (item) { if (item === _this2.value) _this2.isActive = true; }); } if (parent.disabledStatus) this.disabledStatus = true; } }, // 点击事件 handleClick: function handleClick(e) { var _this3 = this; if (!this.authAbled || this.disabled || this.loading) { return; } this.$emit('click', e); if (this.clickDelay) { this.disabledStatus = true; window.setTimeout(function () { _this3.disabledStatus = false; }, this.delayTime); } var parent = this.$parent; if (!parent) return; if (parent.$options._componentTag === 'kd-button-group') { this.$parent.emit(this.value, this.isActive); } }, active: function active() { this.isActive = true; }, showLoading: function showLoading() { this.loading = true; this.disabled = true; }, hideLoading: function hideLoading() { this.loading = false; this.disabled = false; } }, render: function render(h, ctx) { if (this.isShow) { if (this.type !== 'text') { return h( 'button', { 'class': this.allClassList, attrs: { type: this.nativeType }, on: { 'click': this.handleClick } }, [this.loading ? h( 'span', { 'class': ['kd-btn-loading-icon', { 'kd-icon-left': this.$slots.default }] }, [h( 'svg', { attrs: { viewBox: '0 0 120 120' } }, [h('circle', { attrs: { cx: '60', cy: '60', r: '57' }, 'class': 'kd-spin-circle' })] )] ) : '', this.icon ? h('i', { 'class': this.icon }) : '', this.$slots.default ? h( 'span', { 'class': [{ 'kd-icon-right': this.icon && this.$slots.default[0].text }] }, [this.$slots.default] ) : ''] ); } else { return h( 'a', { attrs: { href: this.link, target: this.linkTarget }, 'class': this.allClassList, on: { 'click': this.handleClick } }, [this.$slots.default] ); } } } }); /***/ }), /***/ 220: /***/ (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/Transfer/transfer.vue?vue&type=template&id=5228e1a0& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"kd-transfer"},[_c('transfer-panel',{ref:"sourcePanel",attrs:{"data":_vm.sourceData,"title":_vm.leftTitle,"select-all":_vm.selectAll,"show-filter":_vm.showFilter,"filter-method":_vm.filterMethod,"placeholder":_vm.leftPlaceholder,"disabled":_vm.disabled,"data-key":_vm.dataKey,"virtual-scroll":_vm.virtualScroll},on:{"checkChange":_vm.sourceCheckChange}},[_c('template',{slot:"children-label"},[_vm._t("default")],2),_c('template',{slot:"panel-bottom"},[_vm._t("left-bottom")],2)],2),_c('div',{staticClass:"kd-transfer-btn-wrap",class:{'kd-transfer-btn-vertical': !_vm.buttonLevel}},[_c('kd-button',{attrs:{"disabled":_vm.toTargetDisabled || _vm.disabled,"type":"primary","shape":_vm.buttonTexts[0]?'':'circle',"icon":"kd-icon-arrow-left"},on:{"click":_vm.toSourceClick}},[_vm._v(_vm._s(_vm.buttonTexts[0]))]),(!_vm.buttonTexts[1])?_c('kd-button',{attrs:{"disabled":_vm.toSourceDisabled || _vm.disabled,"type":"primary","shape":'circle',"icon":"kd-icon-arrow-right"},on:{"click":_vm.toTargetClick}}):_c('kd-button',{attrs:{"disabled":_vm.toSourceDisabled,"type":"primary"},on:{"click":_vm.toTargetClick}},[_vm._v("\n "+_vm._s(_vm.buttonTexts[1])),_c('i',{staticClass:"kdicon kd-icon-right kd-icon-arrow-right"})])],1),_c('transfer-panel',{ref:"targetPanel",attrs:{"data":_vm.targetData,"title":_vm.rightTitle,"select-all":_vm.selectAll,"show-filter":_vm.showFilter,"placeholder":_vm.rightPlaceholder,"filter-method":_vm.filterMethod,"data-key":_vm.dataKey,"disabled":_vm.disabled,"virtual-scroll":_vm.virtualScroll},on:{"checkChange":_vm.targetCheckChange}},[_c('template',{slot:"children-label"},[_vm._t("default")],2),_c('template',{slot:"panel-bottom"},[_vm._t("right-bottom")],2)],2)],1)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/Transfer/transfer.vue?vue&type=template&id=5228e1a0& // EXTERNAL MODULE: ./components/Button/index.js var Button = __webpack_require__(40); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/Transfer/transfer-panel.vue?vue&type=template&id=21ff2ed2& var transfer_panelvue_type_template_id_21ff2ed2_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"kd-transfer-panel"},[_c('div',{staticClass:"kd-transfer-panel-row"},[(_vm.selectAll)?_c('kd-checkbox',{attrs:{"disabled":_vm.disabled},on:{"change":_vm.inputChange},model:{value:(_vm.allChecked),callback:function ($$v) {_vm.allChecked=$$v},expression:"allChecked"}},[_c('div',[_c('span',[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:"kd-transfer-panel-count"},[_vm._v(_vm._s(_vm.checkedList.length)+"/"+_vm._s(_vm.panelData.length))])])]):_vm._e()],1),_c('div',{staticClass:"kd-transfer-content"},[(_vm.showFilter)?_c('div',{staticClass:"kd-transfer-filter"},[_c('kd-input',{staticClass:"kd-transfer-search",attrs:{"disabled":_vm.disabled,"name":"serach","placeholder":_vm.placeholder},on:{"input":_vm.handleChange},model:{value:(_vm.serachText),callback:function ($$v) {_vm.serachText=$$v},expression:"serachText"}})],1):_vm._e(),(!_vm.virtualScroll)?_c('div',{staticClass:"kd-transfer-content-wrap"},[_c('p',{directives:[{name:"show",rawName:"v-show",value:(_vm.panelData.length <= 0),expression:"panelData.length <= 0"}],staticClass:"kd-transfer-content-nonedata"},[_vm._v("无数据")]),_c('ul',{directives:[{name:"show",rawName:"v-show",value:(_vm.panelData.length > 0),expression:"panelData.length > 0"}]},_vm._l((_vm.panelData),function(item,index){return _c('li',{key:item[_vm.dataKey.key],staticClass:"kd-transfer-content-item",class:{'kd-transfer-active':item.checked}},[_c('kd-checkbox',{attrs:{"disabled":item.disabled},on:{"change":function($event){return _vm.itemCheckboxChange(item,index)}},model:{value:(item.checked),callback:function ($$v) {_vm.$set(item, "checked", $$v)},expression:"item.checked"}}),_c('div',{staticClass:"kd-transfer-content-temp",on:{"click":function($event){return _vm.itemHandleClick(item,index)}}},[_c('content-label',{staticClass:"kd-transfer-content-label",class:{'kd-transfer-label-disabled':item.disabled},attrs:{"scope":item,"data-key":_vm.dataKey}})],1)],1)}),0)]):_vm._e(),(_vm.virtualScroll)?_c('div',{staticClass:"kd-transfer-content-wrap"},[_c('p',{directives:[{name:"show",rawName:"v-show",value:(_vm.panelData.length <= 0),expression:"panelData.length <= 0"}],staticClass:"kd-transfer-content-nonedata"},[_vm._v("无数据")]),_c('ul',{directives:[{name:"show",rawName:"v-show",value:(_vm.panelData.length > 0),expression:"panelData.length > 0"}],ref:"list",staticStyle:{"height":"100%"}},[_c('kd-virtual-list',{staticClass:"kd-transfer-content-virtual",attrs:{"data-key":_vm.dataKey.key,"data-sources":_vm.panelData,"estimate-size":30},scopedSlots:_vm._u([{key:"item",fn:function(ref){ var item = ref.item; var index = ref.index; return [_c('li',{key:item[_vm.dataKey.key],ref:"contentItem",staticClass:"kd-transfer-content-item",class:{'kd-transfer-active':item.checked}},[_c('kd-checkbox',{key:_vm.keyValue,attrs:{"disabled":item.disabled},on:{"change":function($event){return _vm.itemCheckboxChange(item,index)}},model:{value:(item.checked),callback:function ($$v) {_vm.$set(item, "checked", $$v)},expression:"item.checked"}}),_c('div',{staticClass:"kd-transfer-content-temp",on:{"click":function($event){return _vm.itemHandleClick(item,index)}}},[_c('content-label',{staticClass:"kd-transfer-content-label",class:{'kd-transfer-label-disabled':item.disabled},attrs:{"scope":item,"virtualscrolls":_vm.virtualScroll,"data-key":_vm.dataKey}})],1)],1)]}}],null,false,1338228670)})],1)]):_vm._e()]),(_vm.$slots['panel-bottom'])?_c('div',{staticClass:"kd-transfer-panel-footer"},[_vm._t("panel-bottom")],2):_vm._e()])} var transfer_panelvue_type_template_id_21ff2ed2_staticRenderFns = [] // CONCATENATED MODULE: ./components/Transfer/transfer-panel.vue?vue&type=template&id=21ff2ed2& // EXTERNAL MODULE: ./components/Input/index.js var Input = __webpack_require__(26); // EXTERNAL MODULE: ./components/Checkbox/index.js var Checkbox = __webpack_require__(61); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/Transfer/transfer-panel.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var transfer_panelvue_type_script_lang_js_ = ({ name: 'TransferPanel', components: { KdInput: Input["default"], KdCheckbox: Checkbox["default"], contentLabel: { props: { scope: Object, dataKey: Object, virtualscrolls: Boolean }, render: function render(h) { // slot自定义数据项内容 var transfer = this.virtualscrolls ? this.$parent.$parent.$parent.$parent : this.$parent.$parent; var childrenLabel = transfer.$scopedSlots.default; return childrenLabel ? transfer.$scopedSlots.default(this.scope, this.dataKey) : h('span', [this.scope[this.dataKey.label]]); } } }, props: { virtualScroll: { type: Boolean, defautl: false }, dataKey: { type: Object, default: function _default() { return { key: 'key', label: 'label', disabled: 'disabled', checked: 'checked' }; } }, disabled: { type: Boolean, defautl: false }, data: { type: Array, default: function _default() { return []; } }, showFilter: { type: Boolean, default: false }, filterMethod: { type: Function }, title: { type: [String, Number], default: '' }, placeholder: { type: String, default: '请输入搜索内容' }, selectAll: { type: Boolean, default: true } }, data: function data() { return { keyValue: null, panelData: [], serachText: '', allChecked: false, timer: null }; }, computed: { checkedList: function checkedList() { return this.panelData.filter(function (item) { return !item.disabled && item.checked; }); }, checkedListNone: { cache: false, get: function get() { return this.data.filter(function (item) { return item.checked == false || !item.checked; }); } }, isCheckedAll: function isCheckedAll() { return this.panelData.length > 0 && this.panelData.every(function (i) { return i.checked || i.disabled; }); } }, watch: { // panelData初始化数据 data: { handler: function handler() { this.handleChanges(); }, immediate: true }, disabled: { immediate: true, handler: function handler(v) { if (v) { this.panelData.forEach(function (item) { item.disabled = true; }); } } }, isCheckedAll: { immediate: true, handler: function handler(v) { this.allChecked = !!v; } } }, methods: { handleChanges: function handleChanges() { var _this = this; // 初始化 this.panelData = this.data.filter(function (item) { if (_this.filterMethod) { var result = _this.filterMethod(item, _this.serachText); return result; } else { return item[_this.dataKey.label].indexOf(_this.serachText) > -1; } }); }, handleChange: function handleChange() { var _this2 = this; // 是否执行自定义过滤 if (this.virtualScroll == true) { if (this.timer !== null) clearTimeout(this.timer); this.timer = setTimeout(function () { _this2.panelData = _this2.data.filter(function (item) { if (_this2.filterMethod) { var result = _this2.filterMethod(item, _this2.serachText); return result; } else { return item[_this2.dataKey.label].indexOf(_this2.serachText) > -1; } }); }, 500); } else { this.panelData = this.data.filter(function (item) { if (_this2.filterMethod) { var result = _this2.filterMethod(item, _this2.serachText); return result; } else { return item[_this2.dataKey.label].indexOf(_this2.serachText) > -1; } }); } }, // 顶部checked值改变 inputChange: function inputChange() { var _this3 = this; var allSelect = []; this.panelData.forEach(function (item, index) { if (!item.disabled) { if (_this3.allChecked === true && item.checked === false) { _this3.keyValue = item[_this3.dataKey.label] + '_' + _this3.allChecked; } else { _this3.keyValue = index + '_' + _this3.allChecked; } allSelect.push(item[_this3.dataKey.key]); item.checked = _this3.allChecked; _this3.$set(_this3.panelData, index, item); } }); this.$emit('checkChange', this.checkedList, this.checkedListNone, allSelect); }, // 内容input改变 itemInputChange: function itemInputChange(item) { var changeKeys = [item[this.dataKey.key]]; this.$emit('checkChange', this.checkedList, this.checkedListNone, changeKeys); }, // 内容一行的点击 事件 itemHandleClick: function itemHandleClick(data, index) { var _this4 = this; if (data.disabled) return; this.$nextTick(function () { _this4.keyValue = data[_this4.dataKey.label] + '_' + !data.checked; data.checked = !data.checked; _this4.$set(_this4.panelData, index, data); _this4.data.map(function (item, indexs) { if (item[_this4.dataKey.label] == data[_this4.dataKey.label]) { _this4.$set(_this4.data, indexs, data); } }); _this4.itemInputChange(data); }); }, itemCheckboxChange: function itemCheckboxChange(data, index) { var _this5 = this; this.$set(this.panelData, index, data); this.data.map(function (item, indexs) { if (item[_this5.dataKey.label] == data[_this5.dataKey.label]) { _this5.$set(_this5.data, indexs, data); } }); this.itemInputChange(data); }, // 获取当前点击的数据 getSelectedData: function getSelectedData() { var _this6 = this; var data = []; this.data.forEach(function (item) { if (item.checked === true && !item.disabled) { item.checked = false; data.push(item[_this6.dataKey.key]); } }); return data; } } }); // CONCATENATED MODULE: ./components/Transfer/transfer-panel.vue?vue&type=script&lang=js& /* harmony default export */ var Transfer_transfer_panelvue_type_script_lang_js_ = (transfer_panelvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./components/Transfer/transfer-panel.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( Transfer_transfer_panelvue_type_script_lang_js_, transfer_panelvue_type_template_id_21ff2ed2_render, transfer_panelvue_type_template_id_21ff2ed2_staticRenderFns, false, null, null, null ) /* harmony default export */ var transfer_panel = (component.exports); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/Transfer/transfer.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var transfervue_type_script_lang_js_ = ({ name: 'KdTransfer', components: { TransferPanel: transfer_panel, KdButton: Button["default"] }, props: { virtualScroll: { type: Boolean, defautl: false }, dataKey: { type: Object, default: function _default() { return { key: 'key', label: 'label' }; } }, disabled: { type: Boolean, defautl: false }, value: { type: Array, default: function _default() { return []; } }, data: { type: Array, default: function _default() { return []; } }, showFilter: { type: Boolean, default: false }, filterPlaceholder: { type: Array, default: function _default() { return ['请输入搜索内容', '请输入搜索内容']; } }, filterMethod: { type: Function }, buttonTexts: { type: Array, default: function _default() { return []; } }, titles: { type: Array, default: function _default() { return ['source', 'target']; } }, buttonLevel: { type: Boolean, default: false }, selectedKeys: { type: Array, default: function _default() { return []; } }, selectAll: { type: Boolean, default: true } }, data: function data() { return { leftcheck: [], leftcheckedData: [], rightcheck: [], rightcheckedData: [], // 左侧初始化选中checkbox toTargetDisabled: true, toSourceDisabled: true }; }, computed: { leftTitle: function leftTitle() { return this.titles[0]; }, rightTitle: function rightTitle() { return this.titles[1]; }, leftPlaceholder: function leftPlaceholder() { return this.filterPlaceholder[0] || '请输入搜索内容'; }, rightPlaceholder: function rightPlaceholder() { return this.filterPlaceholder[1] || '请输入搜索内容'; }, // 左侧初始化数据 sourceData: function sourceData() { return this.leftcheckedData; }, targetData: function targetData() { return this.rightcheckedData; } }, watch: { data: { immediate: true, handler: function handler(v) { var _this = this; this.leftcheckedData = this.data.filter(function (item) { return _this.value.indexOf(item[_this.dataKey.key]) === -1; }); this.rightcheckedData = this.data.filter(function (item) { return _this.value.indexOf(item[_this.dataKey.key]) > -1; }); } }, // 初始化所有选中的key selectedKeys: { immediate: true, handler: function handler(v) { var _this2 = this; this.data.forEach(function (item) { if (!item.checked) { if (v.indexOf(item[_this2.dataKey.key]) > -1 && !item.disabled) { item.checked = true; _this2.toSourceDisabled = false; } else { item.checked = false; } } }); this.leftcheck = this.sourceData.filter(function (item) { return !item.checked; }); this.rightcheck = this.data.filter(function (item) { return !item.disabled && item.checked; }); } } }, methods: { // 左侧选中状态检查 sourceCheckChange: function sourceCheckChange(checkedData, checkedNoneData, currentKey) { this.leftcheck = checkedNoneData; this.rightcheck = checkedData; this.toSourceDisabled = checkedData.length === 0; this.$emit('checkChange', 'left', checkedData); }, // 右侧选中状态检查 targetCheckChange: function targetCheckChange(checkedData, checkedNoneData, currentKey) { this.leftcheck = checkedData; this.rightcheck = checkedNoneData; this.toTargetDisabled = checkedData.length === 0; this.$emit('checkChange', 'right', checkedData); }, // 点击到左侧按钮 toSourceClick: function toSourceClick() { var _this3 = this; this.toTargetDisabled = true; var selectedData = this.$refs.targetPanel.getSelectedData(); this.leftcheck.map(function (item) { _this3.leftcheckedData.push(item); }); this.value.length = 0; this.rightcheckedData = this.rightcheck; this.rightcheckedData.map(function (item) { _this3.value.push(item[_this3.dataKey.key]); }); this.$emit('change', 'left', selectedData, this.value); }, toTargetClick: function toTargetClick() { var _this4 = this; this.leftcheckedData = this.leftcheck; this.rightcheck.map(function (item) { _this4.rightcheckedData.push(item); }); this.toSourceDisabled = true; var selectedData = this.$refs.sourcePanel.getSelectedData(); selectedData.map(function (item) { _this4.value.push(item); }); this.$emit('change', 'right', selectedData, this.value); }, leftItemClick: function leftItemClick(data, index) { this.$refs.sourcePanel.itemHandleClick(data, index); }, rightItemClick: function rightItemClick(data, index) { this.$refs.targetPanel.itemHandleClick(data, index); }, rightCheckboxChange: function rightCheckboxChange(data) { this.$refs.targetPanel.itemInputChange(data); } } }); // CONCATENATED MODULE: ./components/Transfer/transfer.vue?vue&type=script&lang=js& /* harmony default export */ var Transfer_transfervue_type_script_lang_js_ = (transfervue_type_script_lang_js_); // CONCATENATED MODULE: ./components/Transfer/transfer.vue /* normalize component */ var transfer_component = Object(componentNormalizer["a" /* default */])( Transfer_transfervue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var transfer = (transfer_component.exports); // CONCATENATED MODULE: ./components/Transfer/index.js transfer.install = function (Vue) { Vue.component(transfer.name, transfer); }; /* harmony default export */ var Transfer = __webpack_exports__["default"] = (transfer); /***/ }), /***/ 26: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _input_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); _input_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) { Vue.component(_input_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _input_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); }; /* harmony default export */ __webpack_exports__["default"] = (_input_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); /***/ }), /***/ 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); } } }); /***/ }), /***/ 40: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _button_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); _button_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) { Vue.component(_button_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _button_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); }; /* harmony default export */ __webpack_exports__["default"] = (_button_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); /***/ }), /***/ 6: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/Input/input.vue?vue&type=template&id=a7898d5a& var render = function () { var _obj; var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[ _vm.type === 'textarea' ? 'kd-textarea' : 'kd-input', 'kd-input-' + _vm.size, ( _obj = { 'kd-input-disabled': _vm.disabled, 'kd-input-group': _vm.$slots.prepend || _vm.$slots.append, 'kd-with-prefix': _vm.$slots.prefix, 'kd-with-suffix': _vm.$slots.suffix || _vm.success || _vm.warning || _vm.error || _vm.clearable, 'kd-input-fluid': _vm.fluid }, _obj['kd-input-status-' + (_vm.status === 'error' ? 'err' : _vm.status)] = _vm.success || _vm.warning || _vm.error, _obj['kd-textarea-show-count'] = _vm.showCount, _obj['kd-is-exceed'] = _vm.isExceed, _obj['kd-textarea-resize-vertical'] = _vm.type === 'textarea' && _vm.resize === 'vertical', _obj ) ],style:({width: parseInt(_vm.width) + 'px'})},[(_vm.$slots.prepend)?_c('div',{staticClass:"kd-input-prepend"},[_vm._t("prepend")],2):_vm._e(),_c('div',{staticClass:"kd-input-wrapper"},[(_vm.$slots.prefix)?_c('div',{staticClass:"kd-input-prefix"},[_vm._t("prefix")],2):_vm._e(),((_vm.type)==='checkbox'&&(_vm.type !== 'textarea'))?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.innerValue),expression:"innerValue"}],ref:"input",staticClass:"kd-input-inner",attrs:{"readonly":_vm.readonly,"disabled":_vm.disabled,"tabindex":_vm.tabindex,"maxlength":_vm.maxlength,"type":"checkbox"},domProps:{"checked":Array.isArray(_vm.innerValue)?_vm._i(_vm.innerValue,null)>-1:(_vm.innerValue)},on:{"focus":_vm.focusHandler,"change":[function($event){var $$a=_vm.innerValue,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.innerValue=$$a.concat([$$v]))}else{$$i>-1&&(_vm.innerValue=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.innerValue=$$c}},_vm.changeHandler],"blur":_vm.blurHandler,"keydown":_vm.keydownHandler,"keyup":_vm.keyupHandler}},'input',_vm.$attrs,false)):((_vm.type)==='radio'&&(_vm.type !== 'textarea'))?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.innerValue),expression:"innerValue"}],ref:"input",staticClass:"kd-input-inner",attrs:{"readonly":_vm.readonly,"disabled":_vm.disabled,"tabindex":_vm.tabindex,"maxlength":_vm.maxlength,"type":"radio"},domProps:{"checked":_vm._q(_vm.innerValue,null)},on:{"focus":_vm.focusHandler,"change":[function($event){_vm.innerValue=null},_vm.changeHandler],"blur":_vm.blurHandler,"keydown":_vm.keydownHandler,"keyup":_vm.keyupHandler}},'input',_vm.$attrs,false)):(_vm.type !== 'textarea')?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.innerValue),expression:"innerValue"}],ref:"input",staticClass:"kd-input-inner",attrs:{"readonly":_vm.readonly,"disabled":_vm.disabled,"tabindex":_vm.tabindex,"maxlength":_vm.maxlength,"type":_vm.type},domProps:{"value":(_vm.innerValue)},on:{"focus":_vm.focusHandler,"change":_vm.changeHandler,"blur":_vm.blurHandler,"keydown":_vm.keydownHandler,"keyup":_vm.keyupHandler,"input":function($event){if($event.target.composing){ return; }_vm.innerValue=$event.target.value}}},'input',_vm.$attrs,false)):_c('textarea',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.innerValue),expression:"innerValue"}],ref:"textarea",staticClass:"kd-input-inner",style:(_vm.textareaStyle),attrs:{"type":_vm.type,"readonly":_vm.readonly,"disabled":_vm.disabled,"rows":_vm.rows,"maxlength":_vm.maxlength,"tabindex":_vm.tabindex},domProps:{"value":(_vm.innerValue)},on:{"focus":_vm.focusHandler,"change":_vm.changeHandler,"blur":_vm.blurHandler,"keydown":_vm.keydownHandler,"keyup":_vm.keyupHandler,"input":function($event){if($event.target.composing){ return; }_vm.innerValue=$event.target.value}}},'textarea',_vm.$attrs,false)),(_vm.$slots.suffix || _vm.clearable || _vm.success || _vm.warning || _vm.error)?_c('div',{staticClass:"kd-input-suffix"},[_vm._t("suffix"),(_vm.success || _vm.warning || _vm.error)?_c('i',{class:{ 'kd-icon-success-solid': _vm.success, 'kd-icon-warning-solid': _vm.warning, 'kd-icon-error-solid': _vm.error }}):(_vm.showClearable)?_c('i',{staticClass:"kd-icon-error-solid kd-input-clearable",class:{'kd-input-show': _vm.value},on:{"click":function($event){$event.stopPropagation();return _vm.clear($event)}}}):_vm._e()],2):_vm._e(),(_vm.isShowCount)?_c('span',{staticClass:"kd-textarea-count"},[_vm._v("\n "+_vm._s(_vm.textLength)+"/"+_vm._s(_vm.limit)+"\n ")]):_vm._e()]),(_vm.$slots.append)?_c('div',{staticClass:"kd-input-append"},[_vm._t("append")],2):_vm._e()])} var staticRenderFns = [] // CONCATENATED MODULE: ./components/Input/input.vue?vue&type=template&id=a7898d5a& // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/Input/input.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var inputvue_type_script_lang_js_ = ({ name: 'KdInput', inheritAttrs: false, props: { tabindex: { type: String }, value: { type: [Number, String] }, width: { type: [Number, String] }, type: { type: String, default: 'text' }, readonly: { type: Boolean, default: false }, disabled: { type: Boolean, default: false }, size: { type: String, default: 'default' }, status: { type: String }, clearable: { type: Boolean, default: false }, fluid: { type: Boolean, default: false }, resize: { type: String }, rows: { type: [Number, String], default: 3 }, showCount: { type: Boolean, default: false }, lengthLimit: { type: Boolean, default: false }, maxVerticalResizeHeight: { type: [Number, String], default: 200 } }, data: function data() { return { innerValue: '', maxlength: '', currentTextareaStyle: {} }; }, computed: { textareaStyle: function textareaStyle() { return Object.assign({}, this.currentTextareaStyle, { resize: this.resize, width: parseInt(this.width) + 'px' }, this.resize === 'vertical' ? { maxHeight: this.maxVerticalResizeHeight + 'px' } : {}); }, success: function success() { return this.status === 'success'; }, error: function error() { return this.status === 'error'; }, warning: function warning() { return this.status === 'warning'; }, showClearable: function showClearable() { return this.clearable && !this.readonly && !this.disabled && this.innerValue && this.type !== 'textarea'; }, isShowCount: function isShowCount() { return this.showCount && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.disabled && !this.readonly; }, textLength: function textLength() { if (typeof this.value === 'number') { return String(this.value).length; } return (this.value || '').length; }, limit: function limit() { return this.$attrs.maxlength; }, isExceed: function isExceed() { return this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.disabled && !this.readonly && this.textLength > this.limit; } }, watch: { value: function value(v) { this.innerValue = v; }, innerValue: function innerValue(v) { if (v === this.value) return; this.$emit('input', v); } }, created: function created() { this.innerValue = this.value; if (this.$attrs.maxlength) { this.maxlength = this.$attrs.maxlength; } else if (this.lengthLimit) { this.maxlength = 512; } }, methods: { getInputElem: function getInputElem() {