UNPKG

kingdot

Version:

A UI Components Library For Vue

1,590 lines (1,384 loc) 122 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 = 269); /******/ }) /************************************************************************/ /******/ ({ /***/ 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 } } /***/ }), /***/ 11: /***/ (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/Dropdown/dropdown-item.vue?vue&type=template&id=4dedb17a& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"dropdownItem",staticClass:"kd-dropdown-item",class:{'kd-dropdown-dividedline-item':_vm.dividedLine,'kd-dropdown-disabled-item':_vm.disabled},on:{"click":_vm.handleClick}},[_vm._t("default")],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/Dropdown/dropdown-item.vue?vue&type=template&id=4dedb17a& // EXTERNAL MODULE: ./src/mixin/lang.js + 2 modules var lang = __webpack_require__(4); // EXTERNAL MODULE: ./src/mixin/bus.js var bus = __webpack_require__(7); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/Dropdown/dropdown-item.vue?vue&type=script&lang=js& // // // // // // // // // // // /* harmony default export */ var dropdown_itemvue_type_script_lang_js_ = ({ name: 'KdDropdownItem', mixins: [lang["a" /* default */]], props: { disabled: { type: Boolean, default: false }, clickHide: { type: Boolean, default: true }, dividedLine: { type: Boolean, default: false }, value: { type: [String, Number, Object], default: '' } }, methods: { handleClick: function handleClick(e) { e.stopPropagation(); if (this.disabled) return; bus["a" /* default */].$emit('item-click'); this.$emit('click', this.value); } } }); // CONCATENATED MODULE: ./components/Dropdown/dropdown-item.vue?vue&type=script&lang=js& /* harmony default export */ var Dropdown_dropdown_itemvue_type_script_lang_js_ = (dropdown_itemvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./components/Dropdown/dropdown-item.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( Dropdown_dropdown_itemvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var dropdown_item = __webpack_exports__["a"] = (component.exports); /***/ }), /***/ 12: /***/ (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/Dropdown/dropdown-menu.vue?vue&type=template&id=6d53603a& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"kd-dropdown-menu"},[_vm._t("default")],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/Dropdown/dropdown-menu.vue?vue&type=template&id=6d53603a& // 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/Dropdown/dropdown-menu.vue?vue&type=script&lang=js& // // // // // // /* harmony default export */ var dropdown_menuvue_type_script_lang_js_ = ({ name: 'KdDropdownMenu', mixins: [lang["a" /* default */]] }); // CONCATENATED MODULE: ./components/Dropdown/dropdown-menu.vue?vue&type=script&lang=js& /* harmony default export */ var Dropdown_dropdown_menuvue_type_script_lang_js_ = (dropdown_menuvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./components/Dropdown/dropdown-menu.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( Dropdown_dropdown_menuvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var dropdown_menu = __webpack_exports__["a"] = (component.exports); /***/ }), /***/ 16: /***/ (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/Dropdown/dropdown.vue?vue&type=template&id=0e5e2a0c& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"dropdown",staticClass:"kd-dropdown"},[_c('kd-tooltip',{attrs:{"trigger":_vm.trigger,"placement":_vm.placement,"disabled":_vm.disabled,"showArrow":_vm.showArrow,"can-hover":"","width-limit":false,"hide-destroy":_vm.hideDestroy,"content-class":_vm.dropdownClass},model:{value:(_vm.isShowMenu),callback:function ($$v) {_vm.isShowMenu=$$v},expression:"isShowMenu"}},[(!_vm.splitButton)?_c('div',[_vm._t("default")],2):_c('kd-button-group',[_c('kd-button',{attrs:{"size":_vm.size,"type":"primary"},on:{"click":_vm.onClick}},[_vm._t("default")],2),_c('kd-button',{ref:"trigger",attrs:{"size":_vm.size,"type":"primary","split":"","icon":"kd-icon-arrow-down"}})],1),_c('template',{slot:"content"},[_vm._t("dropdown")],2)],2)],1)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/Dropdown/dropdown.vue?vue&type=template&id=0e5e2a0c& // EXTERNAL MODULE: ./src/mixin/bus.js var bus = __webpack_require__(7); // 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/Dropdown/dropdown.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var dropdownvue_type_script_lang_js_ = ({ name: 'KdDropdown', mixins: [lang["a" /* default */]], props: { trigger: { type: String, default: 'hover' }, showArrow: { type: Boolean, default: true }, splitButton: { type: Boolean, default: false }, clickHide: { type: Boolean, default: true }, placement: { type: String, default: 'bottom' }, type: { type: String, default: 'default' }, disabled: { type: Boolean, default: false }, size: { type: String, default: '' }, contentClass: { type: String, default: '' }, hideDestroy: { type: Boolean, default: false } }, data: function data() { return { isShowMenu: false }; }, computed: { dropdownClass: function dropdownClass() { return 'kd-dropdown-tooltip ' + this.contentClass; } }, watch: { isShowMenu: function isShowMenu(v) { this.$emit('menu-change', v); } }, mounted: function mounted() { bus["a" /* default */].$on('item-click', this.itemClick); }, beforeDestroy: function beforeDestroy() { bus["a" /* default */].$off('item-click', this.itemClick); }, methods: { // 左侧菜单点击回调事件 onClick: function onClick(e) { e.stopPropagation(); this.$emit('click', e); }, // 菜单项点击事件 itemClick: function itemClick() { if (this.clickHide) { this.isShowMenu = false; } } } }); // CONCATENATED MODULE: ./components/Dropdown/dropdown.vue?vue&type=script&lang=js& /* harmony default export */ var Dropdown_dropdownvue_type_script_lang_js_ = (dropdownvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./components/Dropdown/dropdown.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( Dropdown_dropdownvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var dropdown = __webpack_exports__["a"] = (component.exports); /***/ }), /***/ 2: /***/ (function(module, exports) { module.exports = require("vue"); /***/ }), /***/ 269: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: ./src/utils/utils.js + 1 modules var utils = __webpack_require__(3); // CONCATENATED MODULE: ./components/Table/TableColumn.js var defaults = { title: "", props: "", width: "", renderColumnFn: null, renderColumnHeaderFn: null, isShow: true, checked: true, defaultShow: true }; //遍历数据 var getColumnData = function getColumnData(props, table) { var scopeDefault = Object.assign({}, defaults); for (var keyStr in props) { props.hasOwnProperty(keyStr) && (scopeDefault[keyStr] = props[keyStr]); } scopeDefault.fixedLeft = props.fixed === true; scopeDefault.fixedRight = props.fixed === "right"; // 设置默认是否显示,配合columnFilter使用 if (table.$props.columnFilter) { scopeDefault.isShow = props.defaultShow; } //td拖拽偏移量 scopeDefault.deviation = 0; var unshiftFlag = scopeDefault.group.some(function (item) { if (item.value == 'all') { return true; } }); if (scopeDefault.group.length > 0 && !unshiftFlag) { scopeDefault.group.unshift({ value: "all", label: "全部" }); } return scopeDefault; }; /* harmony default export */ var TableColumn = ({ name: 'kd-table-column', props: { width: { type: [Number, String] }, title: String, props: String, fixed: [Boolean, String], //是否可以排序 sortable: { type: Boolean, default: false }, //筛选分组 group: { default: function _default() { return []; } }, //筛选回调 filter: { type: Function, default: null }, //类型,expand为展开模块 type: { type: String, default: 'default' }, defaultShow: { type: Boolean, default: true } }, data: function data() { var idStr = Object(utils["g" /* ulid */])(); return { key: idStr }; }, computed: { table: function table() { return this.$parent; } }, mounted: function mounted() { var _this = this; // console.log(this.$slots.default); var children = null; //获取children,为了实现合并表头 if (this.$slots.default) { children = this.getChildren(this.$slots.default); } // console.log(children) var propsData = Object.assign({ key: this.key, children: children }, this.$props); //是否插槽 if (this.$vnode.data.scopedSlots) { if (this.$vnode.data.scopedSlots.default) { propsData._slotColumn = true; propsData.renderColumnFn = function (h, data) { return _this.$vnode.data.scopedSlots.default(data); }; } if (this.$vnode.data.scopedSlots.header) { propsData._slotColumnHeader = true; propsData.renderColumnHeaderFn = function (h, data) { return _this.$vnode.data.scopedSlots.header(data); }; } // this.$vnode.data.scopedSlots.default && // ((propsData._slotColumn = true), // (propsData.renderColumnFn = (h, data) => // this.$vnode.data.scopedSlots.default(data))); } this.data = getColumnData(propsData, this.table); //区分tablecolumn的类型,如果是default if (this.data.type === 'default') { //获取index var columnIndex = [].indexOf.call(this.$parent.$refs.hiddenColumns.children, this.$el); //在store中存储数据 this.table.store.commit("insertColumn", this.data, columnIndex); } else { this.table.store.commit("insertExpand", this.data); } }, methods: { getChildren: function getChildren(data) { var _this2 = this; var children = []; data.map(function (item) { if (item.componentOptions && item.componentOptions.propsData) { var propsData = Object.assign({}, item.componentOptions.propsData); // 如果没有props 且有插槽 if (!item.componentOptions.propsData.props && item.data.scopedSlots && item.data.scopedSlots.default) { propsData._slotColumn = true; propsData.renderColumnFn = function (h, data) { return item.data.scopedSlots.default(data); }; } if (item.componentOptions.children) { propsData.children = _this2.getChildren(item.componentOptions.children); } children.push(propsData); } }); return children; } }, destroyed: function destroyed() { this.table.store.commit("deleteColumn", this.key); }, render: function render() { var h = arguments[0]; return h("div"); } }); // EXTERNAL MODULE: ./components/Table/table.vue + 8 modules var table = __webpack_require__(64); // CONCATENATED MODULE: ./components/TableColumn/index.js TableColumn.install = function (Vue) { Vue.component(TableColumn.name, TableColumn); }; /* harmony default export */ var components_TableColumn = __webpack_exports__["default"] = (TableColumn); /***/ }), /***/ 27: /***/ (function(module, exports) { /***/ }), /***/ 3: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, "g", function() { return /* binding */ utils_ulid; }); __webpack_require__.d(__webpack_exports__, "f", function() { return /* binding */ mouseDragBegin; }); __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ animationFrame; }); __webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ isIe; }); __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ isEmpty; }); __webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ isFunction; }); __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ arrayEquals; }); // UNUSED EXPORTS: isNumber, _$, getElementInScroll, getScrollbarWidth, getStyle, stopPropagation // CONCATENATED MODULE: ./node_modules/ulid/dist/index.esm.js function createError(message) { var err = new Error(message); err.source = "ulid"; return err; } // These values should NEVER change. If // they do, we're no longer making ulids! var ENCODING = "0123456789ABCDEFGHJKMNPQRSTVWXYZ"; // Crockford's Base32 var ENCODING_LEN = ENCODING.length; var TIME_MAX = Math.pow(2, 48) - 1; var TIME_LEN = 10; var RANDOM_LEN = 16; function replaceCharAt(str, index, char) { if (index > str.length - 1) { return str; } return str.substr(0, index) + char + str.substr(index + 1); } function incrementBase32(str) { var done = undefined; var index = str.length; var char = void 0; var charIndex = void 0; var maxCharIndex = ENCODING_LEN - 1; while (!done && index-- >= 0) { char = str[index]; charIndex = ENCODING.indexOf(char); if (charIndex === -1) { throw createError("incorrectly encoded string"); } if (charIndex === maxCharIndex) { str = replaceCharAt(str, index, ENCODING[0]); continue; } done = replaceCharAt(str, index, ENCODING[charIndex + 1]); } if (typeof done === "string") { return done; } throw createError("cannot increment this string"); } function randomChar(prng) { var rand = Math.floor(prng() * ENCODING_LEN); if (rand === ENCODING_LEN) { rand = ENCODING_LEN - 1; } return ENCODING.charAt(rand); } function encodeTime(now, len) { if (isNaN(now)) { throw new Error(now + " must be a number"); } if (now > TIME_MAX) { throw createError("cannot encode time greater than " + TIME_MAX); } if (now < 0) { throw createError("time must be positive"); } if (Number.isInteger(now) === false) { throw createError("time must be an integer"); } var mod = void 0; var str = ""; for (; len > 0; len--) { mod = now % ENCODING_LEN; str = ENCODING.charAt(mod) + str; now = (now - mod) / ENCODING_LEN; } return str; } function encodeRandom(len, prng) { var str = ""; for (; len > 0; len--) { str = randomChar(prng) + str; } return str; } function decodeTime(id) { if (id.length !== TIME_LEN + RANDOM_LEN) { throw createError("malformed ulid"); } var time = id.substr(0, TIME_LEN).split("").reverse().reduce(function (carry, char, index) { var encodingIndex = ENCODING.indexOf(char); if (encodingIndex === -1) { throw createError("invalid character found: " + char); } return carry += encodingIndex * Math.pow(ENCODING_LEN, index); }, 0); if (time > TIME_MAX) { throw createError("malformed ulid, timestamp too large"); } return time; } function detectPrng() { var allowInsecure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var root = arguments[1]; if (!root) { root = typeof window !== "undefined" ? window : null; } var browserCrypto = root && (root.crypto || root.msCrypto); if (browserCrypto) { return function () { var buffer = new Uint8Array(1); browserCrypto.getRandomValues(buffer); return buffer[0] / 0xff; }; } else { try { var nodeCrypto = __webpack_require__(27); return function () { return nodeCrypto.randomBytes(1).readUInt8() / 0xff; }; } catch (e) {} } if (allowInsecure) { try { console.error("secure crypto unusable, falling back to insecure Math.random()!"); } catch (e) {} return function () { return Math.random(); }; } throw createError("secure crypto unusable, insecure Math.random not allowed"); } function factory(currPrng) { if (!currPrng) { currPrng = detectPrng(); } return function ulid(seedTime) { if (isNaN(seedTime)) { seedTime = Date.now(); } return encodeTime(seedTime, TIME_LEN) + encodeRandom(RANDOM_LEN, currPrng); }; } function monotonicFactory(currPrng) { if (!currPrng) { currPrng = detectPrng(); } var lastTime = 0; var lastRandom = void 0; return function ulid(seedTime) { if (isNaN(seedTime)) { seedTime = Date.now(); } if (seedTime <= lastTime) { var incrementedRandom = lastRandom = incrementBase32(lastRandom); return encodeTime(lastTime, TIME_LEN) + incrementedRandom; } lastTime = seedTime; var newRandom = lastRandom = encodeRandom(RANDOM_LEN, currPrng); return encodeTime(seedTime, TIME_LEN) + newRandom; }; } var ulid = factory(); // CONCATENATED MODULE: ./src/utils/utils.js var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var utils_ulid = function () { var crypto = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto if (!crypto || !crypto.getRandomValues) { return factory(Math.random); } else { return factory(); } }(); function isNullOrUndefined(o) { return o === null || o === undefined; } function isNumber(o) { return typeof o === 'number'; } var pathMap = {}; var i18n = {}; var hasOwn = Object.prototype.hasOwnProperty; var charCodeOfDot = '.'.charCodeAt(0); var rePropName = RegExp( // Match anything that isn't a dot or bracket. '[^.[\\]]+' + '|' + // Or match property names within brackets. '\\[(?:' + // Match a non-string expression. "([^\"'].*)" + '|' + // Or match strings (supports escaping characters). "([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2" + ')\\]' + '|' + // Or match "" as the space between consecutive dots or empty brackets. '(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))', 'g'); // eslint-disable-next-line no-useless-escape var valueRegexp = /\{([^\}\s]+)\}/g; function castPath(path) { if (typeof path !== 'string') return path; if (pathMap[path]) return pathMap[path]; var result = []; if (path.charCodeAt(0) === charCodeOfDot) { result.push(''); } path.replace(rePropName, function (match, expression, quote, subString) { var key = match; if (quote) { // eslint-disable-next-line no-undef key = subString.replace(reEscapeChar, '$1'); } else if (expression) { key = expression; } result.push(key); }); pathMap[path] = result; return result; } function get(object, path, defaultValue) { if (hasOwn.call(object, path)) return object[path]; path = castPath(path); var index = 0; var length = path.length; while (!isNullOrUndefined(object) && index < length) { object = object[path[index++]]; } return index && index === length && object !== undefined ? object : defaultValue; } function _$(key, data) { var value = get(i18n, key); if (isNullOrUndefined(value)) { value = key; } if (data) { value = value.replace(valueRegexp, function (nouse, variable) { var suffix = void 0; var index = variable.indexOf(':'); if (index > 0) { suffix = variable.substr(0, index); suffix = suffix.split('|'); variable = variable.substr(index + 1); variable = get(data, variable); if (variable > 1) { return suffix.length > 1 ? suffix[1] : suffix[0]; } else { return suffix.length > 1 ? suffix[0] : ''; } } else { variable = get(data, variable); return isNullOrUndefined(variable) ? nouse : variable; } }); } return value; } function getElementInScroll(e, eqValue) { if (typeof eqValue !== 'number') { eqValue = eqValue.offsetHeight; } var data = e.getBoundingClientRect(); var clientHeight = document.body.clientHeight; var selfHeight = e.offsetHeight; var result = void 0; if (clientHeight - data.y - selfHeight - eqValue > 0) { result = true; } else if (data.y - eqValue > 0) { result = false; } else { result = true; } return result; } var _scrollbarWdith = null; var _getScrollbarWidth = function _getScrollbarWidth() { var odiv = document.createElement('div'); // 创建一个div var styles = { width: '100px', height: '100px', overflowY: 'scroll' // 让他有滚动条 }; var i; var scrollbarWidth; for (i in styles) { odiv.style[i] = styles[i]; }odiv.setAttribute('id', 'tet_scroll'); document.body.appendChild(odiv); // 把div添加到body中 scrollbarWidth = odiv.offsetWidth - odiv.clientWidth; // 相减 _removeNode(odiv); // 移除创建的div return scrollbarWidth; // 返回滚动条宽度 }; function _removeNode(node) { node.remove ? node.remove() : node.parentElement.removeChild(node); } function getScrollbarWidth() { if (!_scrollbarWdith) { _scrollbarWdith = _getScrollbarWidth(); } return _scrollbarWdith; } function getStyle(obj, attr, getNumber) { var _result; if (obj.currentStyle) { _result = obj.currentStyle[attr]; } else { _result = document.defaultView.getComputedStyle(obj, null)[attr]; } return getNumber ? Number.parseInt(_result) : _result; } var windowPaddingMin = 1; function mouseDragBegin(_ref, dragFn, endFn) { var x = _ref.x, y = _ref.y, target = _ref.target; var outBraking = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; var startPosition = { x: x, y: y }; var prePosition = { x: x, y: y }; var _target$getClientRect = target.getClientRects()[0], top = _target$getClientRect.top, left = _target$getClientRect.left, width = _target$getClientRect.width, height = _target$getClientRect.height; var _document$body = document.body, offsetHeight = _document$body.offsetHeight, offsetWidth = _document$body.offsetWidth; var minLeft = (outBraking.left || windowPaddingMin) + (startPosition.x - left); var minTop = (outBraking.top || windowPaddingMin) + (startPosition.y - top); var maxTop = offsetHeight - height; var maxLeft = offsetWidth - (outBraking.right || windowPaddingMin) - (width - (startPosition.x - left)); var mouseMove = function mouseMove(e) { e = window.event || e; var _x, _y; if (minLeft > e.x) { _x = minLeft; } else if (e.x > maxLeft) { _x = maxLeft; } else { _x = e.x; } if (e.y < minTop) { _y = minTop; } else if (e.y > maxTop) { _y = maxTop; } else { _y = e.y; } prePosition = { x: _x, y: _y }; dragFn(startPosition, prePosition); e.preventDefault(); }; var mouseUp = function mouseUp() { endFn && endFn(startPosition, prePosition); document.removeEventListener('mousemove', mouseMove); document.removeEventListener('mouseup', mouseUp); }; document.addEventListener('mousemove', mouseMove); document.addEventListener('mouseup', mouseUp); } var _requestAnimationFrame = window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout; function animationFrame(fn) { return _requestAnimationFrame(fn); } function stopPropagation(event) { window.event ? window.event.cancelBubble = true : event.stopPropagation(); } var userAgent = navigator.userAgent; // 取得浏览器的userAgent字符串 // eslint-disable-next-line no-unused-vars var isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; function isIe() { var result = false; var userAgent = navigator.userAgent; // 取得浏览器的userAgent字符串 var isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; // 判断是否IE<11浏览器 var isEdge = userAgent.indexOf('Edge') > -1 && !isIE; // 判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1; if (isIE || isEdge || isIE11) { result = true; } else { result = false; } return result; } function isEmpty(val) { // val 为 null、undefined 时 if (val == null) return true; if (typeof val === 'number') return isNaN(val); if (typeof val === 'boolean' || val instanceof RegExp) return false; if (typeof val === 'string') return val.trim().length === 0; if ((typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object') { if (Object.prototype.toString.call(val) === '[object Array]') return !val.length; if (Object.prototype.toString.call(val) === '[object Object]') return !Object.keys(val).length; } return false; } function isFunction(fn) { return fn && Object.toString.call(fn) === '[object Function]'; } function arrayEquals(arr1, arr2) { if (!(arr1 || arr2)) return false; if (arr1.length !== arr2.length) return false; for (var i = 0; i < arr1.length; i++) { if (arr1[i] instanceof Array && arr2[i] instanceof Array) { return arrayEquals(arr1[i], arr2[i]); } else { if (arr1[i] !== arr2[i]) return false; } } return true; } /***/ }), /***/ 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); } } }); /***/ }), /***/ 41: /***/ (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/Radio/radio.vue?vue&type=template&id=fc87b304& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{class:[ 'kd-radio', { 'kd-radio-checked': _vm.checked, 'kd-radio-disabled': _vm.disabled, 'kd-radio-type': _vm.showType } ]},[_c('span',{staticClass:"kd-radio-wrapper"},[_c('input',{ref:"input",staticClass:"kd-radio-input",attrs:{"type":"radio","disabled":_vm.disabled,"tabindex":"-1"},domProps:{"value":_vm.radioValue},on:{"click":_vm.clickSelf}})]),_c('span',{staticClass:"kd-radio-text"},[_vm._t("default")],2)])} var staticRenderFns = [] // CONCATENATED MODULE: ./components/Radio/radio.vue?vue&type=template&id=fc87b304& // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/Radio/radio.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var radiovue_type_script_lang_js_ = ({ name: 'KdRadio', props: { // 排列类型 type: { type: String, default: 'horizontal' }, // 是否禁用 disabled: { type: Boolean, default: false }, // 正确的值 trueValue: { type: [Boolean, String, Number], default: true }, // 传入的值 value: { type: [Boolean, String, Number], default: '' } }, data: function data() { return { radioValue: '' }; }, computed: { // 是否选中 checked: function checked() { return this.trueValue === this.radioValue; }, // 展示类型 showType: function showType() { return this.type === 'vertical'; } }, watch: { value: { immediate: true, handler: function handler(v, r) { this.radioValue = v; } }, radioValue: function radioValue(v, r) { this.$emit('input', v); } }, methods: { // 点击事件 clickSelf: function clickSelf() { if (this.disabled) return; this.$emit('input', this.trueValue); this.$emit('change', this.trueValue); } } }); // CONCATENATED MODULE: ./components/Radio/radio.vue?vue&type=script&lang=js& /* harmony default export */ var Radio_radiovue_type_script_lang_js_ = (radiovue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./components/Radio/radio.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( Radio_radiovue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var Radio_radio = __webpack_exports__["a"] = (component.exports); /***/ }), /***/ 62: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Dropdown_dropdown_item_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); _Dropdown_dropdown_item_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) { Vue.component(_Dropdown_dropdown_item_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _Dropdown_dropdown_item_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); }; /* harmony default export */ __webpack_exports__["default"] = (_Dropdown_dropdown_item_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); /***/ }), /***/ 63: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Dropdown_dropdown_menu_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); _Dropdown_dropdown_menu_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) { Vue.component(_Dropdown_dropdown_menu_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _Dropdown_dropdown_menu_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); }; /* harmony default export */ __webpack_exports__["default"] = (_Dropdown_dropdown_menu_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); /***/ }), /***/ 64: /***/ (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/Table/table.vue?vue&type=template&id=5e197028&scoped=true& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'kd-table': true, 'kd-table-border': _vm.border }},[_c('div',{ref:"hiddenColumns",staticClass:"kd-hidden-columns"},[_vm._t("default")],2),(_vm.columnFilter)?_c('kd-dropdown',{staticClass:"kd-table-column-content",attrs:{"trigger":"hover","clickHide":false,"stype":"","type":"text"}},[_c('div',{staticClass:"kd-table-column-btn-outer"},[_c('span',{staticClass:"kd-icon-em-xitongshezhi"})]),_c('kd-dropdown-menu',{attrs:{"slot":"dropdown"},slot:"dropdown"},_vm._l((_vm.store.states._columns),function(columnItem){return _c('kd-dropdown-item',{key:columnItem.key,attrs:{"value":columnItem.title}},[_c('kd-checkbox',{attrs:{"value":true},on:{"change":_vm.setSelectColumn},model:{value:(_vm.showColumns[columnItem.key]),callback:function ($$v) {_vm.$set(_vm.showColumns, columnItem.key, $$v)},expression:"showColumns[columnItem.key]"}}),_vm._v("\n "+_vm._s(columnItem.title)+"\n ")],1)}),1)],1):_vm._e(),_c('div',{ref:"mainTable",class:{ 'kd-table-main': true, 'kd-table-no-fixed': !_vm.hasFiexLeft && !_vm.hasFiexRight && !_vm.spanMethod }},[_c('table-header',{ref:"mainHeader",style:({ width: _vm.bodyWidthUnit }),attrs:{"store":_vm.store,"width":_vm.tableWidth}}),_c('table-body',{ref:"tableBody",style:({ width: _vm.bodyWidthUnit, maxHeight: _vm.tableBodyHeight }),attrs:{"store":_vm.store,"width":_vm.tableWidth,"treeProps":_vm.treeProps,"hover-index":_vm.hoverIndex},on:{"setHover":_vm.setHover}})],1),(_vm.hasFiexLeft)?_c('div',{ref:"fixedLeftTable",staticClass:"kd-table-fixed ks-fixed-left",class:{ 'box-shadow-left': _vm.scrollX > 0 },style:({ width: _vm.tableFixedWidth })},[_c('table-header',{ref:"fixedLeftHeader",attrs:{"width":_vm.tableWidth,"store":_vm.store}}),_c('table-body',{ref:"fixedLeftBody",style:({maxHeight: _vm.tableBodyHeight }),attrs:{"store":_vm.store,"width":_vm.tableWidth,"treeProps":_vm.treeProps,"hover-index":_vm.hoverIndex},on:{"setHover":_vm.setHover}})],1):_vm._e(),(_vm.hasFiexRight)?_c('div',{ref:"fixedRightTable",staticClass:"kd-table-fixed ks-fixed-right",class:{ 'box-shadow-right': _vm.tableWidthNumber - _vm.bodyWidth - _vm.scrollX > 0 },style:({ width: _vm.tableRightFixedWidth })},[_c('table-header',{ref:"fixedRighttHeader",attrs:{"width":_vm.tableWidth,"margin-left":_vm.marginfixedRightWidth,"store":_vm.store}}),_c('table-body',{ref:"fixedRightBody",style:({maxHeight: _vm.tableBodyHeight }),attrs:{"store":_vm.store,"margin-left":_vm.marginfixedRightWidth,"width":_vm.tableWidth,"treeProps":_vm.treeProps,"hover-index":_vm.hoverIndex},on:{"setHover":_vm.setHover}})],1):_vm._e(),(!_vm.isIe)?_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.isShowScroll),expression:"isShowScroll"}],ref:"scrollBar",staticClass:"kd-table-overflow-x",style:({ width: _vm.bodyWidthUnit, height: _vm.scrollRegionHeight, transform: _vm.scrollMarginTop > 0 ? ("translateY(-" + _vm.scrollMarginTop + "px)") : '', opacity: _vm.scrollMarginTop > 0 && _vm.scrollBarStatus ? 0 : 1 })},[_c('div',{staticClass:"bar",style:({ width: _vm.scrollRegionWidth, marginLeft: _vm.barScrollX + 'px' }),on:{"mousedown":_vm.barMouseDown}})]):_vm._e(),(_vm.moveLeft != 0)?_c('div',{staticClass:"kd-table-move-line",style:({ left: this.moveLeft + 'px' })}):_vm._e()],1)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/Table/table.vue?vue&type=template&id=5e197028&scoped=true& // EXTERNAL MODULE: ./src/utils/utils.js + 1 modules var utils = __webpack_require__(3); // CONCATENATED MODULE: ./components/Table/store.js //列最小宽度 var columnMinWidth = 100; //对比数据唯一标识,是否在存储数据中包含该条数据 var uniqProcess = function uniqProcess(rowData, transactionData, key) { var result = false; var index = -1; transactionData.forEach(function (item, _index) { if (result) return false; result = item[key] === rowData[key]; if (result) { index = _index; } }); return { result: result, index: index }; }; //遍历数据,增加一些参数 var store_parseData = function parseData(data, disableRow, transactionData, key, stored) { var outData = []; data.forEach(function (item, index) { item.__index__ = index; var _checked = item.checked; if (stored) { var _uniqProcess = uniqProcess(item, transactionData, key), result = _uniqProcess.result; _checked = result; } outData.push({ originData: item, checked: _checked, showExpand: false, showTree: item.showTree || false, key: Object(utils["g" /* ulid */])(), disabled: disableRow(item, index) }); }); return outData; }; //获取对应的value值。支持"a", "a.b", "a.b.c" function getRealyProps(data, propsArray) { if (!data) return ""; if (propsArray.length > 1) { var _data = data[propsArray[0]]; propsArray.shift(); return getRealyProps(_data, propsArray); } else { return data[propsArray[0]]; } } //处理a.b 排序 function sortBy(attr, rev) { if (rev == undefined) { rev = 1; } else { rev = rev ? 1 : -1; } attr = attr.split('.'); return function (a, b) { a = getRealyProps(a, Object.assign([], attr)); b = getRealyProps(b, Object.assign([], attr)); if (a < b) { return rev * -1; } else if (a > b) { return rev * 1; } return 0; }; } function mapHasChildrenColumn(item, hasWidthFn, hasNoWidthFn, hasPropsFn) { if (item.props || item.renderColumnFn) { if (item.width) { hasWidthFn && hasWidthFn(item.width); } else { hasNoWidthFn && hasNoWidthFn(); } hasPropsFn && hasPropsFn(); } if (item.children && item.children.length) { item.children.map(function (inner) { mapHasChildrenColumn(inner, hasWidthFn, hasNoWidthFn, hasPropsFn); }); } } var TableStore = function TableStore(table) { var initState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; this.table = table; var checkboxWidth = 34; this.checkboxData = { width: checkboxWidth, autoColumnWidth: checkboxWidth, deviation: 0, native: true, renderHeaderFn: function renderHeaderFn(h, _ref) { var self = _ref.self, data = _ref.data, store = _ref.store; return !initState.isRadio ? h("kd-checkbox", { attrs: { trueValue: true, indeterminate: store.states.checkboxIndeterminate, value: store.states._isCheckAll }, on: { "change": function change(v) { store.states._isCheckAll = v; store.checkboxAllAction(v); } } }) : ""; }, renderColumnFn: function renderColumnFn(h, _ref2) { var data = _ref2.data, store = _ref2.store; //判断是否有key,children没有key,不显示checkbox if (!data.key) { return ''; } return !initState.isRadio ? h("kd-checkbox", { attrs: { trueValue: true, value: data.checked, disabled: data.disabled }, on: { "change": function change(v) { data.checked = v;