kingdot
Version:
A UI Components Library For Vue
1,604 lines (1,405 loc) • 117 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 = 215);
/******/ })
/************************************************************************/
/******/ ({
/***/ 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");
/***/ }),
/***/ 215:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _table_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64);
_table_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) {
Vue.component(_table_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _table_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);
};
/* harmony default export */ __webpack_exports__["default"] = (_table_vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);
/***/ }),
/***/ 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;
store.checkboxSingle(data.originData, v);
}
}
}) : h("kd-radio", {
attrs: {
trueValue: true,
value: data.checked,
disabled: data.disabled
},
on: {
"change": function change(v) {
store.checkedRadio(data, v);
}
}
});
},
_slotHeader: true,
_slotColumn: true,
checked: true,
fixedLeft: true,
fixedRight: false
};
var expandWith = 30;
this.expandData = {
width: expandWith,
autoColumnWidth: expandWith,
deviation: 0,
renderColumnFn: function renderColumnFn(h, _ref3) {
var data = _ref3.data,
store = _ref3.store;
return h("i", {
"class": ["kd-table-btn", "kd-icon-arrow-down", {
"kd-table-show-btn": data.showExpand
}],
on: {
"click": function click(v) {
store.showMore(data);
}
}
});
},
_slotHeader: false,
_slotColumn: true,
fixedLeft: true,
fixedRight: false
};
this.states = {
//head列
columns: [],
//数据
data: null,
//是否全选
_isCheckAll: false,
//是否显示checkbox
showCheckbox: true,
checkboxIndeterminate: false,
_columns: [],
//table外围总宽度
layoutWidth: "",
//左侧固定宽度
fixedLeftWidth: "",
//右侧固定宽度
fixedRightWidth: "",
//右侧固定偏移量
marginfixedRightWidth: "",
//左侧固定的列
fixedColumns: [],
//是否有左侧固定列
hasFiexLeft: false,
//是否有右侧固定列
hasFiexRight: false,
//右侧固定的列
rightFixedColumns: [],
//是否所有的列都设置了宽度
isAllColumnSetWidth: false,
//未设置宽度的列的个数
_unPropsColumnWidthCount: 0,
//设置宽度的列的个数
_propsColumnWidthCount: 0,
//设置了列的宽度的总值
_propsColumnWidthSum: 0,
//计算未设置宽度的列的值
_autoColumnWidth: 0,
//table外围container宽度
_outInputLayoutWidth: 0,
//table总宽度
_layoutWidth: 0,
_columnMinWidth: columnMinWidth,
//disabled方法
disableRow: null,
//是否存储每次选中
stored: false,
//存储选中的数据
_innerCheckedData: [],
//data唯一标识
_keyStr: '',
//排序升序 key
_sortAsc: '',
//排序降序 key
_sortDesc: '',
//存储那个key在排序
_sortProps: '',
//存储是否在排序
_sortIsAsc: '',
expand: null
};
this.selectCallback = initState.selectCallback || null;
//覆盖states里属性
for (var prop in initState) {
if (initState.hasOwnProperty(prop) && this.states.hasOwnProperty(prop)) {
this.states[prop] = initState[prop];
}
}
};
TableStore.prototype.mutation = {
//插入head列
insertColumn: function insertColumn(column, index) {
var _columns = this.states._columns;
if (index < _columns.length) {
_columns.splice(index, 0, column);
} else {
_columns.push(column);
}
this.table.updateColumnData();
this._render();
},
//删除head列
deleteColumn: function deleteColumn(key) {
var _colums = Object.assign([], this.states._columns);
var index = _colums.findIndex(function (item) {
return item.key === key;
});
_colums.splice(index, 1);
this.states._columns = _colums;
this.table.updateColumnData();
this._render();
},
//插入expand数据
insertExpand: function insertExpand(v) {
this.states.expand = v;
},
//更新data数据
updateData: function updateData(v) {
var data = store_parseData(v, this.states.disableRow, this.states._innerCheckedData, this.states._keyStr, this.states.stored);
this.states.data = data;
this.checkboxStatus();
}
};
//操作
TableStore.prototype.commit = function () {
var args = Object.assign([], arguments);
var actionName = args.splice(0, 1);
if (this.mutation[actionName]) this.mutation[actionName].apply(this, args);
};
//渲染
TableStore.prototype._render = function () {
this.update();
};
TableStore.prototype.update = function () {
var states = this.states;
//筛选出需要显示的
var _columns = states._columns.filter(function (item) {
return item.isShow;
}) || [];
var setColumns = [];
var setFixedColumns = [];
var setFixedRightColumns = [];
//设置列宽的个数
var setWidthCount = 0;
//设置了宽度的列的宽度总值
var setWidth = 0;
//隐藏的列的个数
var hidenColumnsCount = 0;
//合并表头时的无宽度的children
var childrenCount = 0;
var allLength = 0;
//筛选列
_columns.forEach(function (item) {
if (!item.isShow) hidenColumnsCount++;
//if (!item.width) return;
// se