Last active
November 30, 2021 16:10
-
-
Save EstebanFuentealba/5cd4bff6dd9124fa667e34c74d5b9942 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function webpackUniversalModuleDefinition(root, factory) { | |
if(typeof exports === 'object' && typeof module === 'object') | |
module.exports = factory(require("vue"), require("xe-utils")); | |
else if(typeof define === 'function' && define.amd) | |
define([, "xe-utils"], factory); | |
else if(typeof exports === 'object') | |
exports["VXETable"] = factory(require("vue"), require("xe-utils")); | |
else | |
root["VXETable"] = factory(root["Vue"], root["XEUtils"]); | |
})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_f0af__) { | |
return /******/ (function(modules) { // webpackBootstrap | |
/******/ // The module cache | |
/******/ var installedModules = {}; | |
/******/ | |
/******/ // The require function | |
/******/ function __webpack_require__(moduleId) { | |
/******/ | |
/******/ // Check if module is in cache | |
/******/ if(installedModules[moduleId]) { | |
/******/ return installedModules[moduleId].exports; | |
/******/ } | |
/******/ // Create a new module (and put it into the cache) | |
/******/ var module = installedModules[moduleId] = { | |
/******/ i: moduleId, | |
/******/ l: false, | |
/******/ exports: {} | |
/******/ }; | |
/******/ | |
/******/ // Execute the module function | |
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | |
/******/ | |
/******/ // Flag the module as loaded | |
/******/ module.l = true; | |
/******/ | |
/******/ // Return the exports of the module | |
/******/ return module.exports; | |
/******/ } | |
/******/ | |
/******/ | |
/******/ // expose the modules object (__webpack_modules__) | |
/******/ __webpack_require__.m = modules; | |
/******/ | |
/******/ // expose the module cache | |
/******/ __webpack_require__.c = installedModules; | |
/******/ | |
/******/ // define getter function for harmony exports | |
/******/ __webpack_require__.d = function(exports, name, getter) { | |
/******/ if(!__webpack_require__.o(exports, name)) { | |
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | |
/******/ } | |
/******/ }; | |
/******/ | |
/******/ // define __esModule on exports | |
/******/ __webpack_require__.r = function(exports) { | |
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | |
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | |
/******/ } | |
/******/ Object.defineProperty(exports, '__esModule', { value: true }); | |
/******/ }; | |
/******/ | |
/******/ // create a fake namespace object | |
/******/ // mode & 1: value is a module id, require it | |
/******/ // mode & 2: merge all properties of value into the ns | |
/******/ // mode & 4: return value when already ns object | |
/******/ // mode & 8|1: behave like require | |
/******/ __webpack_require__.t = function(value, mode) { | |
/******/ if(mode & 1) value = __webpack_require__(value); | |
/******/ if(mode & 8) return value; | |
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | |
/******/ var ns = Object.create(null); | |
/******/ __webpack_require__.r(ns); | |
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | |
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | |
/******/ return ns; | |
/******/ }; | |
/******/ | |
/******/ // getDefaultExport function for compatibility with non-harmony modules | |
/******/ __webpack_require__.n = function(module) { | |
/******/ var getter = module && module.__esModule ? | |
/******/ function getDefault() { return module['default']; } : | |
/******/ function getModuleExports() { return module; }; | |
/******/ __webpack_require__.d(getter, 'a', getter); | |
/******/ return getter; | |
/******/ }; | |
/******/ | |
/******/ // Object.prototype.hasOwnProperty.call | |
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | |
/******/ | |
/******/ // __webpack_public_path__ | |
/******/ __webpack_require__.p = ""; | |
/******/ | |
/******/ | |
/******/ // Load entry module and return exports | |
/******/ return __webpack_require__(__webpack_require__.s = "fb15"); | |
/******/ }) | |
/************************************************************************/ | |
/******/ ({ | |
/***/ "00ee": | |
/***/ (function(module, exports, __webpack_require__) { | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var TO_STRING_TAG = wellKnownSymbol('toStringTag'); | |
var test = {}; | |
test[TO_STRING_TAG] = 'z'; | |
module.exports = String(test) === '[object z]'; | |
/***/ }), | |
/***/ "0366": | |
/***/ (function(module, exports, __webpack_require__) { | |
var aCallable = __webpack_require__("59ed"); | |
// optional / simple context binding | |
module.exports = function (fn, that, length) { | |
aCallable(fn); | |
if (that === undefined) return fn; | |
switch (length) { | |
case 0: return function () { | |
return fn.call(that); | |
}; | |
case 1: return function (a) { | |
return fn.call(that, a); | |
}; | |
case 2: return function (a, b) { | |
return fn.call(that, a, b); | |
}; | |
case 3: return function (a, b, c) { | |
return fn.call(that, a, b, c); | |
}; | |
} | |
return function (/* ...args */) { | |
return fn.apply(that, arguments); | |
}; | |
}; | |
/***/ }), | |
/***/ "04d1": | |
/***/ (function(module, exports, __webpack_require__) { | |
var userAgent = __webpack_require__("342f"); | |
var firefox = userAgent.match(/firefox\/(\d+)/i); | |
module.exports = !!firefox && +firefox[1]; | |
/***/ }), | |
/***/ "057f": | |
/***/ (function(module, exports, __webpack_require__) { | |
/* eslint-disable es/no-object-getownpropertynames -- safe */ | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var $getOwnPropertyNames = __webpack_require__("241c").f; | |
var toString = {}.toString; | |
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames | |
? Object.getOwnPropertyNames(window) : []; | |
var getWindowNames = function (it) { | |
try { | |
return $getOwnPropertyNames(it); | |
} catch (error) { | |
return windowNames.slice(); | |
} | |
}; | |
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window | |
module.exports.f = function getOwnPropertyNames(it) { | |
return windowNames && toString.call(it) == '[object Window]' | |
? getWindowNames(it) | |
: $getOwnPropertyNames(toIndexedObject(it)); | |
}; | |
/***/ }), | |
/***/ "06cf": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var propertyIsEnumerableModule = __webpack_require__("d1e7"); | |
var createPropertyDescriptor = __webpack_require__("5c6c"); | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var toPropertyKey = __webpack_require__("a04b"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var IE8_DOM_DEFINE = __webpack_require__("0cfb"); | |
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe | |
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; | |
// `Object.getOwnPropertyDescriptor` method | |
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor | |
exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { | |
O = toIndexedObject(O); | |
P = toPropertyKey(P); | |
if (IE8_DOM_DEFINE) try { | |
return $getOwnPropertyDescriptor(O, P); | |
} catch (error) { /* empty */ } | |
if (hasOwn(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); | |
}; | |
/***/ }), | |
/***/ "07fa": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toLength = __webpack_require__("50c4"); | |
// `LengthOfArrayLike` abstract operation | |
// https://tc39.es/ecma262/#sec-lengthofarraylike | |
module.exports = function (obj) { | |
return toLength(obj.length); | |
}; | |
/***/ }), | |
/***/ "0b42": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isArray = __webpack_require__("e8b5"); | |
var isConstructor = __webpack_require__("68ee"); | |
var isObject = __webpack_require__("861d"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var SPECIES = wellKnownSymbol('species'); | |
// a part of `ArraySpeciesCreate` abstract operation | |
// https://tc39.es/ecma262/#sec-arrayspeciescreate | |
module.exports = function (originalArray) { | |
var C; | |
if (isArray(originalArray)) { | |
C = originalArray.constructor; | |
// cross-realm fallback | |
if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined; | |
else if (isObject(C)) { | |
C = C[SPECIES]; | |
if (C === null) C = undefined; | |
} | |
} return C === undefined ? Array : C; | |
}; | |
/***/ }), | |
/***/ "0cb2": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toObject = __webpack_require__("7b0b"); | |
var floor = Math.floor; | |
var replace = ''.replace; | |
var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; | |
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; | |
// `GetSubstitution` abstract operation | |
// https://tc39.es/ecma262/#sec-getsubstitution | |
module.exports = function (matched, str, position, captures, namedCaptures, replacement) { | |
var tailPos = position + matched.length; | |
var m = captures.length; | |
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; | |
if (namedCaptures !== undefined) { | |
namedCaptures = toObject(namedCaptures); | |
symbols = SUBSTITUTION_SYMBOLS; | |
} | |
return replace.call(replacement, symbols, function (match, ch) { | |
var capture; | |
switch (ch.charAt(0)) { | |
case '$': return '$'; | |
case '&': return matched; | |
case '`': return str.slice(0, position); | |
case "'": return str.slice(tailPos); | |
case '<': | |
capture = namedCaptures[ch.slice(1, -1)]; | |
break; | |
default: // \d\d? | |
var n = +ch; | |
if (n === 0) return match; | |
if (n > m) { | |
var f = floor(n / 10); | |
if (f === 0) return match; | |
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); | |
return match; | |
} | |
capture = captures[n - 1]; | |
} | |
return capture === undefined ? '' : capture; | |
}); | |
}; | |
/***/ }), | |
/***/ "0ccb": | |
/***/ (function(module, exports, __webpack_require__) { | |
// https://github.com/tc39/proposal-string-pad-start-end | |
var toLength = __webpack_require__("50c4"); | |
var toString = __webpack_require__("577e"); | |
var repeat = __webpack_require__("1148"); | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var ceil = Math.ceil; | |
// `String.prototype.{ padStart, padEnd }` methods implementation | |
var createMethod = function (IS_END) { | |
return function ($this, maxLength, fillString) { | |
var S = toString(requireObjectCoercible($this)); | |
var intMaxLength = toLength(maxLength); | |
var stringLength = S.length; | |
var fillStr = fillString === undefined ? ' ' : toString(fillString); | |
var fillLen, stringFiller; | |
if (intMaxLength <= stringLength || fillStr == '') return S; | |
fillLen = intMaxLength - stringLength; | |
stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); | |
if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); | |
return IS_END ? S + stringFiller : stringFiller + S; | |
}; | |
}; | |
module.exports = { | |
// `String.prototype.padStart` method | |
// https://tc39.es/ecma262/#sec-string.prototype.padstart | |
start: createMethod(false), | |
// `String.prototype.padEnd` method | |
// https://tc39.es/ecma262/#sec-string.prototype.padend | |
end: createMethod(true) | |
}; | |
/***/ }), | |
/***/ "0cfb": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var fails = __webpack_require__("d039"); | |
var createElement = __webpack_require__("cc12"); | |
// Thank's IE8 for his funny defineProperty | |
module.exports = !DESCRIPTORS && !fails(function () { | |
// eslint-disable-next-line es/no-object-defineproperty -- requied for testing | |
return Object.defineProperty(createElement('div'), 'a', { | |
get: function () { return 7; } | |
}).a != 7; | |
}); | |
/***/ }), | |
/***/ "0d3b": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var IS_PURE = __webpack_require__("c430"); | |
var ITERATOR = wellKnownSymbol('iterator'); | |
module.exports = !fails(function () { | |
var url = new URL('b?a=1&b=2&c=3', 'http://a'); | |
var searchParams = url.searchParams; | |
var result = ''; | |
url.pathname = 'c%20d'; | |
searchParams.forEach(function (value, key) { | |
searchParams['delete']('b'); | |
result += key + value; | |
}); | |
return (IS_PURE && !url.toJSON) | |
|| !searchParams.sort | |
|| url.href !== 'http://a/c%20d?a=1&c=3' | |
|| searchParams.get('c') !== '3' | |
|| String(new URLSearchParams('?a=1')) !== 'a=1' | |
|| !searchParams[ITERATOR] | |
// throws in Edge | |
|| new URL('https://a@b').username !== 'a' | |
|| new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' | |
// not punycoded in Edge | |
|| new URL('http://тест').host !== 'xn--e1aybc' | |
// not escaped in Chrome 62- | |
|| new URL('http://a#б').hash !== '#%D0%B1' | |
// fails in Chrome 66- | |
|| result !== 'a1c3' | |
// throws in Safari | |
|| new URL('http://x', undefined).host !== 'x'; | |
}); | |
/***/ }), | |
/***/ "0d51": | |
/***/ (function(module, exports) { | |
module.exports = function (argument) { | |
try { | |
return String(argument); | |
} catch (error) { | |
return 'Object'; | |
} | |
}; | |
/***/ }), | |
/***/ "107c": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
var global = __webpack_require__("da84"); | |
// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError | |
var $RegExp = global.RegExp; | |
module.exports = fails(function () { | |
var re = $RegExp('(?<a>b)', 'g'); | |
return re.exec('b').groups.a !== 'b' || | |
'b'.replace(re, '$<a>c') !== 'bc'; | |
}); | |
/***/ }), | |
/***/ "1148": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var toIntegerOrInfinity = __webpack_require__("5926"); | |
var toString = __webpack_require__("577e"); | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
// `String.prototype.repeat` method implementation | |
// https://tc39.es/ecma262/#sec-string.prototype.repeat | |
module.exports = function repeat(count) { | |
var str = toString(requireObjectCoercible(this)); | |
var result = ''; | |
var n = toIntegerOrInfinity(count); | |
if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); | |
for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; | |
return result; | |
}; | |
/***/ }), | |
/***/ "1276": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var fixRegExpWellKnownSymbolLogic = __webpack_require__("d784"); | |
var isRegExp = __webpack_require__("44e7"); | |
var anObject = __webpack_require__("825a"); | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var speciesConstructor = __webpack_require__("4840"); | |
var advanceStringIndex = __webpack_require__("8aa5"); | |
var toLength = __webpack_require__("50c4"); | |
var toString = __webpack_require__("577e"); | |
var getMethod = __webpack_require__("dc4a"); | |
var callRegExpExec = __webpack_require__("14c3"); | |
var regexpExec = __webpack_require__("9263"); | |
var stickyHelpers = __webpack_require__("9f7f"); | |
var fails = __webpack_require__("d039"); | |
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; | |
var arrayPush = [].push; | |
var min = Math.min; | |
var MAX_UINT32 = 0xFFFFFFFF; | |
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec | |
// Weex JS has frozen built-in prototypes, so use try / catch wrapper | |
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { | |
// eslint-disable-next-line regexp/no-empty-group -- required for testing | |
var re = /(?:)/; | |
var originalExec = re.exec; | |
re.exec = function () { return originalExec.apply(this, arguments); }; | |
var result = 'ab'.split(re); | |
return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; | |
}); | |
// @@split logic | |
fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { | |
var internalSplit; | |
if ( | |
'abbc'.split(/(b)*/)[1] == 'c' || | |
// eslint-disable-next-line regexp/no-empty-group -- required for testing | |
'test'.split(/(?:)/, -1).length != 4 || | |
'ab'.split(/(?:ab)*/).length != 2 || | |
'.'.split(/(.?)(.?)/).length != 4 || | |
// eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing | |
'.'.split(/()()/).length > 1 || | |
''.split(/.?/).length | |
) { | |
// based on es5-shim implementation, need to rework it | |
internalSplit = function (separator, limit) { | |
var string = toString(requireObjectCoercible(this)); | |
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; | |
if (lim === 0) return []; | |
if (separator === undefined) return [string]; | |
// If `separator` is not a regex, use native split | |
if (!isRegExp(separator)) { | |
return nativeSplit.call(string, separator, lim); | |
} | |
var output = []; | |
var flags = (separator.ignoreCase ? 'i' : '') + | |
(separator.multiline ? 'm' : '') + | |
(separator.unicode ? 'u' : '') + | |
(separator.sticky ? 'y' : ''); | |
var lastLastIndex = 0; | |
// Make `global` and avoid `lastIndex` issues by working with a copy | |
var separatorCopy = new RegExp(separator.source, flags + 'g'); | |
var match, lastIndex, lastLength; | |
while (match = regexpExec.call(separatorCopy, string)) { | |
lastIndex = separatorCopy.lastIndex; | |
if (lastIndex > lastLastIndex) { | |
output.push(string.slice(lastLastIndex, match.index)); | |
if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); | |
lastLength = match[0].length; | |
lastLastIndex = lastIndex; | |
if (output.length >= lim) break; | |
} | |
if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop | |
} | |
if (lastLastIndex === string.length) { | |
if (lastLength || !separatorCopy.test('')) output.push(''); | |
} else output.push(string.slice(lastLastIndex)); | |
return output.length > lim ? output.slice(0, lim) : output; | |
}; | |
// Chakra, V8 | |
} else if ('0'.split(undefined, 0).length) { | |
internalSplit = function (separator, limit) { | |
return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); | |
}; | |
} else internalSplit = nativeSplit; | |
return [ | |
// `String.prototype.split` method | |
// https://tc39.es/ecma262/#sec-string.prototype.split | |
function split(separator, limit) { | |
var O = requireObjectCoercible(this); | |
var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT); | |
return splitter | |
? splitter.call(separator, O, limit) | |
: internalSplit.call(toString(O), separator, limit); | |
}, | |
// `RegExp.prototype[@@split]` method | |
// https://tc39.es/ecma262/#sec-regexp.prototype-@@split | |
// | |
// NOTE: This cannot be properly polyfilled in engines that don't support | |
// the 'y' flag. | |
function (string, limit) { | |
var rx = anObject(this); | |
var S = toString(string); | |
var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); | |
if (res.done) return res.value; | |
var C = speciesConstructor(rx, RegExp); | |
var unicodeMatching = rx.unicode; | |
var flags = (rx.ignoreCase ? 'i' : '') + | |
(rx.multiline ? 'm' : '') + | |
(rx.unicode ? 'u' : '') + | |
(UNSUPPORTED_Y ? 'g' : 'y'); | |
// ^(? + rx + ) is needed, in combination with some S slicing, to | |
// simulate the 'y' flag. | |
var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); | |
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; | |
if (lim === 0) return []; | |
if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; | |
var p = 0; | |
var q = 0; | |
var A = []; | |
while (q < S.length) { | |
splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; | |
var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S); | |
var e; | |
if ( | |
z === null || | |
(e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p | |
) { | |
q = advanceStringIndex(S, q, unicodeMatching); | |
} else { | |
A.push(S.slice(p, q)); | |
if (A.length === lim) return A; | |
for (var i = 1; i <= z.length - 1; i++) { | |
A.push(z[i]); | |
if (A.length === lim) return A; | |
} | |
q = p = e; | |
} | |
} | |
A.push(S.slice(p)); | |
return A; | |
} | |
]; | |
}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); | |
/***/ }), | |
/***/ "14c3": | |
/***/ (function(module, exports, __webpack_require__) { | |
var anObject = __webpack_require__("825a"); | |
var isCallable = __webpack_require__("1626"); | |
var classof = __webpack_require__("c6b6"); | |
var regexpExec = __webpack_require__("9263"); | |
// `RegExpExec` abstract operation | |
// https://tc39.es/ecma262/#sec-regexpexec | |
module.exports = function (R, S) { | |
var exec = R.exec; | |
if (isCallable(exec)) { | |
var result = exec.call(R, S); | |
if (result !== null) anObject(result); | |
return result; | |
} | |
if (classof(R) === 'RegExp') return regexpExec.call(R, S); | |
throw TypeError('RegExp#exec called on incompatible receiver'); | |
}; | |
/***/ }), | |
/***/ "159b": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var DOMIterables = __webpack_require__("fdbc"); | |
var DOMTokenListPrototype = __webpack_require__("785a"); | |
var forEach = __webpack_require__("17c2"); | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var handlePrototype = function (CollectionPrototype) { | |
// some Chrome versions have non-configurable methods on DOMTokenList | |
if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { | |
createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); | |
} catch (error) { | |
CollectionPrototype.forEach = forEach; | |
} | |
}; | |
for (var COLLECTION_NAME in DOMIterables) { | |
if (DOMIterables[COLLECTION_NAME]) { | |
handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype); | |
} | |
} | |
handlePrototype(DOMTokenListPrototype); | |
/***/ }), | |
/***/ "1626": | |
/***/ (function(module, exports) { | |
// `IsCallable` abstract operation | |
// https://tc39.es/ecma262/#sec-iscallable | |
module.exports = function (argument) { | |
return typeof argument === 'function'; | |
}; | |
/***/ }), | |
/***/ "17c2": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $forEach = __webpack_require__("b727").forEach; | |
var arrayMethodIsStrict = __webpack_require__("a640"); | |
var STRICT_METHOD = arrayMethodIsStrict('forEach'); | |
// `Array.prototype.forEach` method implementation | |
// https://tc39.es/ecma262/#sec-array.prototype.foreach | |
module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { | |
return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); | |
// eslint-disable-next-line es/no-array-prototype-foreach -- safe | |
} : [].forEach; | |
/***/ }), | |
/***/ "19aa": | |
/***/ (function(module, exports) { | |
module.exports = function (it, Constructor, name) { | |
if (it instanceof Constructor) return it; | |
throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); | |
}; | |
/***/ }), | |
/***/ "1a2d": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toObject = __webpack_require__("7b0b"); | |
var hasOwnProperty = {}.hasOwnProperty; | |
// `HasOwnProperty` abstract operation | |
// https://tc39.es/ecma262/#sec-hasownproperty | |
module.exports = Object.hasOwn || function hasOwn(it, key) { | |
return hasOwnProperty.call(toObject(it), key); | |
}; | |
/***/ }), | |
/***/ "1a97": | |
/***/ (function(module, exports, __webpack_require__) { | |
// extracted by mini-css-extract-plugin | |
/***/ }), | |
/***/ "1be4": | |
/***/ (function(module, exports, __webpack_require__) { | |
var getBuiltIn = __webpack_require__("d066"); | |
module.exports = getBuiltIn('document', 'documentElement'); | |
/***/ }), | |
/***/ "1c7e": | |
/***/ (function(module, exports, __webpack_require__) { | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var ITERATOR = wellKnownSymbol('iterator'); | |
var SAFE_CLOSING = false; | |
try { | |
var called = 0; | |
var iteratorWithReturn = { | |
next: function () { | |
return { done: !!called++ }; | |
}, | |
'return': function () { | |
SAFE_CLOSING = true; | |
} | |
}; | |
iteratorWithReturn[ITERATOR] = function () { | |
return this; | |
}; | |
// eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing | |
Array.from(iteratorWithReturn, function () { throw 2; }); | |
} catch (error) { /* empty */ } | |
module.exports = function (exec, SKIP_CLOSING) { | |
if (!SKIP_CLOSING && !SAFE_CLOSING) return false; | |
var ITERATION_SUPPORT = false; | |
try { | |
var object = {}; | |
object[ITERATOR] = function () { | |
return { | |
next: function () { | |
return { done: ITERATION_SUPPORT = true }; | |
} | |
}; | |
}; | |
exec(object); | |
} catch (error) { /* empty */ } | |
return ITERATION_SUPPORT; | |
}; | |
/***/ }), | |
/***/ "1cdc": | |
/***/ (function(module, exports, __webpack_require__) { | |
var userAgent = __webpack_require__("342f"); | |
module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); | |
/***/ }), | |
/***/ "1d80": | |
/***/ (function(module, exports) { | |
// `RequireObjectCoercible` abstract operation | |
// https://tc39.es/ecma262/#sec-requireobjectcoercible | |
module.exports = function (it) { | |
if (it == undefined) throw TypeError("Can't call method on " + it); | |
return it; | |
}; | |
/***/ }), | |
/***/ "1dde": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var V8_VERSION = __webpack_require__("2d00"); | |
var SPECIES = wellKnownSymbol('species'); | |
module.exports = function (METHOD_NAME) { | |
// We can't use this feature detection in V8 since it causes | |
// deoptimization and serious performance degradation | |
// https://github.com/zloirock/core-js/issues/677 | |
return V8_VERSION >= 51 || !fails(function () { | |
var array = []; | |
var constructor = array.constructor = {}; | |
constructor[SPECIES] = function () { | |
return { foo: 1 }; | |
}; | |
return array[METHOD_NAME](Boolean).foo !== 1; | |
}); | |
}; | |
/***/ }), | |
/***/ "2266": | |
/***/ (function(module, exports, __webpack_require__) { | |
var anObject = __webpack_require__("825a"); | |
var isArrayIteratorMethod = __webpack_require__("e95a"); | |
var lengthOfArrayLike = __webpack_require__("07fa"); | |
var bind = __webpack_require__("0366"); | |
var getIterator = __webpack_require__("9a1f"); | |
var getIteratorMethod = __webpack_require__("35a1"); | |
var iteratorClose = __webpack_require__("2a62"); | |
var Result = function (stopped, result) { | |
this.stopped = stopped; | |
this.result = result; | |
}; | |
module.exports = function (iterable, unboundFunction, options) { | |
var that = options && options.that; | |
var AS_ENTRIES = !!(options && options.AS_ENTRIES); | |
var IS_ITERATOR = !!(options && options.IS_ITERATOR); | |
var INTERRUPTED = !!(options && options.INTERRUPTED); | |
var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); | |
var iterator, iterFn, index, length, result, next, step; | |
var stop = function (condition) { | |
if (iterator) iteratorClose(iterator, 'normal', condition); | |
return new Result(true, condition); | |
}; | |
var callFn = function (value) { | |
if (AS_ENTRIES) { | |
anObject(value); | |
return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); | |
} return INTERRUPTED ? fn(value, stop) : fn(value); | |
}; | |
if (IS_ITERATOR) { | |
iterator = iterable; | |
} else { | |
iterFn = getIteratorMethod(iterable); | |
if (!iterFn) throw TypeError(String(iterable) + ' is not iterable'); | |
// optimisation for array iterators | |
if (isArrayIteratorMethod(iterFn)) { | |
for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { | |
result = callFn(iterable[index]); | |
if (result && result instanceof Result) return result; | |
} return new Result(false); | |
} | |
iterator = getIterator(iterable, iterFn); | |
} | |
next = iterator.next; | |
while (!(step = next.call(iterator)).done) { | |
try { | |
result = callFn(step.value); | |
} catch (error) { | |
iteratorClose(iterator, 'throw', error); | |
} | |
if (typeof result == 'object' && result && result instanceof Result) return result; | |
} return new Result(false); | |
}; | |
/***/ }), | |
/***/ "23cb": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toIntegerOrInfinity = __webpack_require__("5926"); | |
var max = Math.max; | |
var min = Math.min; | |
// Helper for a popular repeating case of the spec: | |
// Let integer be ? ToInteger(index). | |
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). | |
module.exports = function (index, length) { | |
var integer = toIntegerOrInfinity(index); | |
return integer < 0 ? max(integer + length, 0) : min(integer, length); | |
}; | |
/***/ }), | |
/***/ "23e7": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var getOwnPropertyDescriptor = __webpack_require__("06cf").f; | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var redefine = __webpack_require__("6eeb"); | |
var setGlobal = __webpack_require__("ce4e"); | |
var copyConstructorProperties = __webpack_require__("e893"); | |
var isForced = __webpack_require__("94ca"); | |
/* | |
options.target - name of the target object | |
options.global - target is the global object | |
options.stat - export as static methods of target | |
options.proto - export as prototype methods of target | |
options.real - real prototype method for the `pure` version | |
options.forced - export even if the native feature is available | |
options.bind - bind methods to the target, required for the `pure` version | |
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version | |
options.unsafe - use the simple assignment of property instead of delete + defineProperty | |
options.sham - add a flag to not completely full polyfills | |
options.enumerable - export as enumerable property | |
options.noTargetGet - prevent calling a getter on target | |
options.name - the .name of the function if it does not match the key | |
*/ | |
module.exports = function (options, source) { | |
var TARGET = options.target; | |
var GLOBAL = options.global; | |
var STATIC = options.stat; | |
var FORCED, target, key, targetProperty, sourceProperty, descriptor; | |
if (GLOBAL) { | |
target = global; | |
} else if (STATIC) { | |
target = global[TARGET] || setGlobal(TARGET, {}); | |
} else { | |
target = (global[TARGET] || {}).prototype; | |
} | |
if (target) for (key in source) { | |
sourceProperty = source[key]; | |
if (options.noTargetGet) { | |
descriptor = getOwnPropertyDescriptor(target, key); | |
targetProperty = descriptor && descriptor.value; | |
} else targetProperty = target[key]; | |
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); | |
// contained in target | |
if (!FORCED && targetProperty !== undefined) { | |
if (typeof sourceProperty === typeof targetProperty) continue; | |
copyConstructorProperties(sourceProperty, targetProperty); | |
} | |
// add a flag to not completely full polyfills | |
if (options.sham || (targetProperty && targetProperty.sham)) { | |
createNonEnumerableProperty(sourceProperty, 'sham', true); | |
} | |
// extend global | |
redefine(target, key, sourceProperty, options); | |
} | |
}; | |
/***/ }), | |
/***/ "241c": | |
/***/ (function(module, exports, __webpack_require__) { | |
var internalObjectKeys = __webpack_require__("ca84"); | |
var enumBugKeys = __webpack_require__("7839"); | |
var hiddenKeys = enumBugKeys.concat('length', 'prototype'); | |
// `Object.getOwnPropertyNames` method | |
// https://tc39.es/ecma262/#sec-object.getownpropertynames | |
// eslint-disable-next-line es/no-object-getownpropertynames -- safe | |
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { | |
return internalObjectKeys(O, hiddenKeys); | |
}; | |
/***/ }), | |
/***/ "2532": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var notARegExp = __webpack_require__("5a34"); | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var toString = __webpack_require__("577e"); | |
var correctIsRegExpLogic = __webpack_require__("ab13"); | |
// `String.prototype.includes` method | |
// https://tc39.es/ecma262/#sec-string.prototype.includes | |
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { | |
includes: function includes(searchString /* , position = 0 */) { | |
return !!~toString(requireObjectCoercible(this)) | |
.indexOf(toString(notARegExp(searchString)), arguments.length > 1 ? arguments[1] : undefined); | |
} | |
}); | |
/***/ }), | |
/***/ "25f0": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var PROPER_FUNCTION_NAME = __webpack_require__("5e77").PROPER; | |
var redefine = __webpack_require__("6eeb"); | |
var anObject = __webpack_require__("825a"); | |
var $toString = __webpack_require__("577e"); | |
var fails = __webpack_require__("d039"); | |
var flags = __webpack_require__("ad6d"); | |
var TO_STRING = 'toString'; | |
var RegExpPrototype = RegExp.prototype; | |
var nativeToString = RegExpPrototype[TO_STRING]; | |
var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); | |
// FF44- RegExp#toString has a wrong name | |
var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING; | |
// `RegExp.prototype.toString` method | |
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring | |
if (NOT_GENERIC || INCORRECT_NAME) { | |
redefine(RegExp.prototype, TO_STRING, function toString() { | |
var R = anObject(this); | |
var p = $toString(R.source); | |
var rf = R.flags; | |
var f = $toString(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); | |
return '/' + p + '/' + f; | |
}, { unsafe: true }); | |
} | |
/***/ }), | |
/***/ "2626": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var getBuiltIn = __webpack_require__("d066"); | |
var definePropertyModule = __webpack_require__("9bf2"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var SPECIES = wellKnownSymbol('species'); | |
module.exports = function (CONSTRUCTOR_NAME) { | |
var Constructor = getBuiltIn(CONSTRUCTOR_NAME); | |
var defineProperty = definePropertyModule.f; | |
if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { | |
defineProperty(Constructor, SPECIES, { | |
configurable: true, | |
get: function () { return this; } | |
}); | |
} | |
}; | |
/***/ }), | |
/***/ "2a62": | |
/***/ (function(module, exports, __webpack_require__) { | |
var anObject = __webpack_require__("825a"); | |
var getMethod = __webpack_require__("dc4a"); | |
module.exports = function (iterator, kind, value) { | |
var innerResult, innerError; | |
anObject(iterator); | |
try { | |
innerResult = getMethod(iterator, 'return'); | |
if (!innerResult) { | |
if (kind === 'throw') throw value; | |
return value; | |
} | |
innerResult = innerResult.call(iterator); | |
} catch (error) { | |
innerError = true; | |
innerResult = error; | |
} | |
if (kind === 'throw') throw value; | |
if (innerError) throw innerResult; | |
anObject(innerResult); | |
return value; | |
}; | |
/***/ }), | |
/***/ "2b3d": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` | |
__webpack_require__("3ca3"); | |
var $ = __webpack_require__("23e7"); | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var USE_NATIVE_URL = __webpack_require__("0d3b"); | |
var global = __webpack_require__("da84"); | |
var defineProperties = __webpack_require__("37e8"); | |
var redefine = __webpack_require__("6eeb"); | |
var anInstance = __webpack_require__("19aa"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var assign = __webpack_require__("60da"); | |
var arrayFrom = __webpack_require__("4df4"); | |
var codeAt = __webpack_require__("6547").codeAt; | |
var toASCII = __webpack_require__("5fb2"); | |
var $toString = __webpack_require__("577e"); | |
var setToStringTag = __webpack_require__("d44e"); | |
var URLSearchParamsModule = __webpack_require__("9861"); | |
var InternalStateModule = __webpack_require__("69f3"); | |
var NativeURL = global.URL; | |
var URLSearchParams = URLSearchParamsModule.URLSearchParams; | |
var getInternalSearchParamsState = URLSearchParamsModule.getState; | |
var setInternalState = InternalStateModule.set; | |
var getInternalURLState = InternalStateModule.getterFor('URL'); | |
var floor = Math.floor; | |
var pow = Math.pow; | |
var INVALID_AUTHORITY = 'Invalid authority'; | |
var INVALID_SCHEME = 'Invalid scheme'; | |
var INVALID_HOST = 'Invalid host'; | |
var INVALID_PORT = 'Invalid port'; | |
var ALPHA = /[A-Za-z]/; | |
// eslint-disable-next-line regexp/no-obscure-range -- safe | |
var ALPHANUMERIC = /[\d+-.A-Za-z]/; | |
var DIGIT = /\d/; | |
var HEX_START = /^0x/i; | |
var OCT = /^[0-7]+$/; | |
var DEC = /^\d+$/; | |
var HEX = /^[\dA-Fa-f]+$/; | |
/* eslint-disable regexp/no-control-character -- safe */ | |
var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; | |
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; | |
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g; | |
var TAB_AND_NEW_LINE = /[\t\n\r]/g; | |
/* eslint-enable regexp/no-control-character -- safe */ | |
var EOF; | |
var parseHost = function (url, input) { | |
var result, codePoints, index; | |
if (input.charAt(0) == '[') { | |
if (input.charAt(input.length - 1) != ']') return INVALID_HOST; | |
result = parseIPv6(input.slice(1, -1)); | |
if (!result) return INVALID_HOST; | |
url.host = result; | |
// opaque host | |
} else if (!isSpecial(url)) { | |
if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; | |
result = ''; | |
codePoints = arrayFrom(input); | |
for (index = 0; index < codePoints.length; index++) { | |
result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); | |
} | |
url.host = result; | |
} else { | |
input = toASCII(input); | |
if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; | |
result = parseIPv4(input); | |
if (result === null) return INVALID_HOST; | |
url.host = result; | |
} | |
}; | |
var parseIPv4 = function (input) { | |
var parts = input.split('.'); | |
var partsLength, numbers, index, part, radix, number, ipv4; | |
if (parts.length && parts[parts.length - 1] == '') { | |
parts.pop(); | |
} | |
partsLength = parts.length; | |
if (partsLength > 4) return input; | |
numbers = []; | |
for (index = 0; index < partsLength; index++) { | |
part = parts[index]; | |
if (part == '') return input; | |
radix = 10; | |
if (part.length > 1 && part.charAt(0) == '0') { | |
radix = HEX_START.test(part) ? 16 : 8; | |
part = part.slice(radix == 8 ? 1 : 2); | |
} | |
if (part === '') { | |
number = 0; | |
} else { | |
if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; | |
number = parseInt(part, radix); | |
} | |
numbers.push(number); | |
} | |
for (index = 0; index < partsLength; index++) { | |
number = numbers[index]; | |
if (index == partsLength - 1) { | |
if (number >= pow(256, 5 - partsLength)) return null; | |
} else if (number > 255) return null; | |
} | |
ipv4 = numbers.pop(); | |
for (index = 0; index < numbers.length; index++) { | |
ipv4 += numbers[index] * pow(256, 3 - index); | |
} | |
return ipv4; | |
}; | |
// eslint-disable-next-line max-statements -- TODO | |
var parseIPv6 = function (input) { | |
var address = [0, 0, 0, 0, 0, 0, 0, 0]; | |
var pieceIndex = 0; | |
var compress = null; | |
var pointer = 0; | |
var value, length, numbersSeen, ipv4Piece, number, swaps, swap; | |
var chr = function () { | |
return input.charAt(pointer); | |
}; | |
if (chr() == ':') { | |
if (input.charAt(1) != ':') return; | |
pointer += 2; | |
pieceIndex++; | |
compress = pieceIndex; | |
} | |
while (chr()) { | |
if (pieceIndex == 8) return; | |
if (chr() == ':') { | |
if (compress !== null) return; | |
pointer++; | |
pieceIndex++; | |
compress = pieceIndex; | |
continue; | |
} | |
value = length = 0; | |
while (length < 4 && HEX.test(chr())) { | |
value = value * 16 + parseInt(chr(), 16); | |
pointer++; | |
length++; | |
} | |
if (chr() == '.') { | |
if (length == 0) return; | |
pointer -= length; | |
if (pieceIndex > 6) return; | |
numbersSeen = 0; | |
while (chr()) { | |
ipv4Piece = null; | |
if (numbersSeen > 0) { | |
if (chr() == '.' && numbersSeen < 4) pointer++; | |
else return; | |
} | |
if (!DIGIT.test(chr())) return; | |
while (DIGIT.test(chr())) { | |
number = parseInt(chr(), 10); | |
if (ipv4Piece === null) ipv4Piece = number; | |
else if (ipv4Piece == 0) return; | |
else ipv4Piece = ipv4Piece * 10 + number; | |
if (ipv4Piece > 255) return; | |
pointer++; | |
} | |
address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; | |
numbersSeen++; | |
if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; | |
} | |
if (numbersSeen != 4) return; | |
break; | |
} else if (chr() == ':') { | |
pointer++; | |
if (!chr()) return; | |
} else if (chr()) return; | |
address[pieceIndex++] = value; | |
} | |
if (compress !== null) { | |
swaps = pieceIndex - compress; | |
pieceIndex = 7; | |
while (pieceIndex != 0 && swaps > 0) { | |
swap = address[pieceIndex]; | |
address[pieceIndex--] = address[compress + swaps - 1]; | |
address[compress + --swaps] = swap; | |
} | |
} else if (pieceIndex != 8) return; | |
return address; | |
}; | |
var findLongestZeroSequence = function (ipv6) { | |
var maxIndex = null; | |
var maxLength = 1; | |
var currStart = null; | |
var currLength = 0; | |
var index = 0; | |
for (; index < 8; index++) { | |
if (ipv6[index] !== 0) { | |
if (currLength > maxLength) { | |
maxIndex = currStart; | |
maxLength = currLength; | |
} | |
currStart = null; | |
currLength = 0; | |
} else { | |
if (currStart === null) currStart = index; | |
++currLength; | |
} | |
} | |
if (currLength > maxLength) { | |
maxIndex = currStart; | |
maxLength = currLength; | |
} | |
return maxIndex; | |
}; | |
var serializeHost = function (host) { | |
var result, index, compress, ignore0; | |
// ipv4 | |
if (typeof host == 'number') { | |
result = []; | |
for (index = 0; index < 4; index++) { | |
result.unshift(host % 256); | |
host = floor(host / 256); | |
} return result.join('.'); | |
// ipv6 | |
} else if (typeof host == 'object') { | |
result = ''; | |
compress = findLongestZeroSequence(host); | |
for (index = 0; index < 8; index++) { | |
if (ignore0 && host[index] === 0) continue; | |
if (ignore0) ignore0 = false; | |
if (compress === index) { | |
result += index ? ':' : '::'; | |
ignore0 = true; | |
} else { | |
result += host[index].toString(16); | |
if (index < 7) result += ':'; | |
} | |
} | |
return '[' + result + ']'; | |
} return host; | |
}; | |
var C0ControlPercentEncodeSet = {}; | |
var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { | |
' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 | |
}); | |
var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { | |
'#': 1, '?': 1, '{': 1, '}': 1 | |
}); | |
var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { | |
'/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 | |
}); | |
var percentEncode = function (chr, set) { | |
var code = codeAt(chr, 0); | |
return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); | |
}; | |
var specialSchemes = { | |
ftp: 21, | |
file: null, | |
http: 80, | |
https: 443, | |
ws: 80, | |
wss: 443 | |
}; | |
var isSpecial = function (url) { | |
return hasOwn(specialSchemes, url.scheme); | |
}; | |
var includesCredentials = function (url) { | |
return url.username != '' || url.password != ''; | |
}; | |
var cannotHaveUsernamePasswordPort = function (url) { | |
return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; | |
}; | |
var isWindowsDriveLetter = function (string, normalized) { | |
var second; | |
return string.length == 2 && ALPHA.test(string.charAt(0)) | |
&& ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); | |
}; | |
var startsWithWindowsDriveLetter = function (string) { | |
var third; | |
return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( | |
string.length == 2 || | |
((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') | |
); | |
}; | |
var shortenURLsPath = function (url) { | |
var path = url.path; | |
var pathSize = path.length; | |
if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { | |
path.pop(); | |
} | |
}; | |
var isSingleDot = function (segment) { | |
return segment === '.' || segment.toLowerCase() === '%2e'; | |
}; | |
var isDoubleDot = function (segment) { | |
segment = segment.toLowerCase(); | |
return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; | |
}; | |
// States: | |
var SCHEME_START = {}; | |
var SCHEME = {}; | |
var NO_SCHEME = {}; | |
var SPECIAL_RELATIVE_OR_AUTHORITY = {}; | |
var PATH_OR_AUTHORITY = {}; | |
var RELATIVE = {}; | |
var RELATIVE_SLASH = {}; | |
var SPECIAL_AUTHORITY_SLASHES = {}; | |
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; | |
var AUTHORITY = {}; | |
var HOST = {}; | |
var HOSTNAME = {}; | |
var PORT = {}; | |
var FILE = {}; | |
var FILE_SLASH = {}; | |
var FILE_HOST = {}; | |
var PATH_START = {}; | |
var PATH = {}; | |
var CANNOT_BE_A_BASE_URL_PATH = {}; | |
var QUERY = {}; | |
var FRAGMENT = {}; | |
// eslint-disable-next-line max-statements -- TODO | |
var parseURL = function (url, input, stateOverride, base) { | |
var state = stateOverride || SCHEME_START; | |
var pointer = 0; | |
var buffer = ''; | |
var seenAt = false; | |
var seenBracket = false; | |
var seenPasswordToken = false; | |
var codePoints, chr, bufferCodePoints, failure; | |
if (!stateOverride) { | |
url.scheme = ''; | |
url.username = ''; | |
url.password = ''; | |
url.host = null; | |
url.port = null; | |
url.path = []; | |
url.query = null; | |
url.fragment = null; | |
url.cannotBeABaseURL = false; | |
input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); | |
} | |
input = input.replace(TAB_AND_NEW_LINE, ''); | |
codePoints = arrayFrom(input); | |
while (pointer <= codePoints.length) { | |
chr = codePoints[pointer]; | |
switch (state) { | |
case SCHEME_START: | |
if (chr && ALPHA.test(chr)) { | |
buffer += chr.toLowerCase(); | |
state = SCHEME; | |
} else if (!stateOverride) { | |
state = NO_SCHEME; | |
continue; | |
} else return INVALID_SCHEME; | |
break; | |
case SCHEME: | |
if (chr && (ALPHANUMERIC.test(chr) || chr == '+' || chr == '-' || chr == '.')) { | |
buffer += chr.toLowerCase(); | |
} else if (chr == ':') { | |
if (stateOverride && ( | |
(isSpecial(url) != hasOwn(specialSchemes, buffer)) || | |
(buffer == 'file' && (includesCredentials(url) || url.port !== null)) || | |
(url.scheme == 'file' && !url.host) | |
)) return; | |
url.scheme = buffer; | |
if (stateOverride) { | |
if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; | |
return; | |
} | |
buffer = ''; | |
if (url.scheme == 'file') { | |
state = FILE; | |
} else if (isSpecial(url) && base && base.scheme == url.scheme) { | |
state = SPECIAL_RELATIVE_OR_AUTHORITY; | |
} else if (isSpecial(url)) { | |
state = SPECIAL_AUTHORITY_SLASHES; | |
} else if (codePoints[pointer + 1] == '/') { | |
state = PATH_OR_AUTHORITY; | |
pointer++; | |
} else { | |
url.cannotBeABaseURL = true; | |
url.path.push(''); | |
state = CANNOT_BE_A_BASE_URL_PATH; | |
} | |
} else if (!stateOverride) { | |
buffer = ''; | |
state = NO_SCHEME; | |
pointer = 0; | |
continue; | |
} else return INVALID_SCHEME; | |
break; | |
case NO_SCHEME: | |
if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME; | |
if (base.cannotBeABaseURL && chr == '#') { | |
url.scheme = base.scheme; | |
url.path = base.path.slice(); | |
url.query = base.query; | |
url.fragment = ''; | |
url.cannotBeABaseURL = true; | |
state = FRAGMENT; | |
break; | |
} | |
state = base.scheme == 'file' ? FILE : RELATIVE; | |
continue; | |
case SPECIAL_RELATIVE_OR_AUTHORITY: | |
if (chr == '/' && codePoints[pointer + 1] == '/') { | |
state = SPECIAL_AUTHORITY_IGNORE_SLASHES; | |
pointer++; | |
} else { | |
state = RELATIVE; | |
continue; | |
} break; | |
case PATH_OR_AUTHORITY: | |
if (chr == '/') { | |
state = AUTHORITY; | |
break; | |
} else { | |
state = PATH; | |
continue; | |
} | |
case RELATIVE: | |
url.scheme = base.scheme; | |
if (chr == EOF) { | |
url.username = base.username; | |
url.password = base.password; | |
url.host = base.host; | |
url.port = base.port; | |
url.path = base.path.slice(); | |
url.query = base.query; | |
} else if (chr == '/' || (chr == '\\' && isSpecial(url))) { | |
state = RELATIVE_SLASH; | |
} else if (chr == '?') { | |
url.username = base.username; | |
url.password = base.password; | |
url.host = base.host; | |
url.port = base.port; | |
url.path = base.path.slice(); | |
url.query = ''; | |
state = QUERY; | |
} else if (chr == '#') { | |
url.username = base.username; | |
url.password = base.password; | |
url.host = base.host; | |
url.port = base.port; | |
url.path = base.path.slice(); | |
url.query = base.query; | |
url.fragment = ''; | |
state = FRAGMENT; | |
} else { | |
url.username = base.username; | |
url.password = base.password; | |
url.host = base.host; | |
url.port = base.port; | |
url.path = base.path.slice(); | |
url.path.pop(); | |
state = PATH; | |
continue; | |
} break; | |
case RELATIVE_SLASH: | |
if (isSpecial(url) && (chr == '/' || chr == '\\')) { | |
state = SPECIAL_AUTHORITY_IGNORE_SLASHES; | |
} else if (chr == '/') { | |
state = AUTHORITY; | |
} else { | |
url.username = base.username; | |
url.password = base.password; | |
url.host = base.host; | |
url.port = base.port; | |
state = PATH; | |
continue; | |
} break; | |
case SPECIAL_AUTHORITY_SLASHES: | |
state = SPECIAL_AUTHORITY_IGNORE_SLASHES; | |
if (chr != '/' || buffer.charAt(pointer + 1) != '/') continue; | |
pointer++; | |
break; | |
case SPECIAL_AUTHORITY_IGNORE_SLASHES: | |
if (chr != '/' && chr != '\\') { | |
state = AUTHORITY; | |
continue; | |
} break; | |
case AUTHORITY: | |
if (chr == '@') { | |
if (seenAt) buffer = '%40' + buffer; | |
seenAt = true; | |
bufferCodePoints = arrayFrom(buffer); | |
for (var i = 0; i < bufferCodePoints.length; i++) { | |
var codePoint = bufferCodePoints[i]; | |
if (codePoint == ':' && !seenPasswordToken) { | |
seenPasswordToken = true; | |
continue; | |
} | |
var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); | |
if (seenPasswordToken) url.password += encodedCodePoints; | |
else url.username += encodedCodePoints; | |
} | |
buffer = ''; | |
} else if ( | |
chr == EOF || chr == '/' || chr == '?' || chr == '#' || | |
(chr == '\\' && isSpecial(url)) | |
) { | |
if (seenAt && buffer == '') return INVALID_AUTHORITY; | |
pointer -= arrayFrom(buffer).length + 1; | |
buffer = ''; | |
state = HOST; | |
} else buffer += chr; | |
break; | |
case HOST: | |
case HOSTNAME: | |
if (stateOverride && url.scheme == 'file') { | |
state = FILE_HOST; | |
continue; | |
} else if (chr == ':' && !seenBracket) { | |
if (buffer == '') return INVALID_HOST; | |
failure = parseHost(url, buffer); | |
if (failure) return failure; | |
buffer = ''; | |
state = PORT; | |
if (stateOverride == HOSTNAME) return; | |
} else if ( | |
chr == EOF || chr == '/' || chr == '?' || chr == '#' || | |
(chr == '\\' && isSpecial(url)) | |
) { | |
if (isSpecial(url) && buffer == '') return INVALID_HOST; | |
if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; | |
failure = parseHost(url, buffer); | |
if (failure) return failure; | |
buffer = ''; | |
state = PATH_START; | |
if (stateOverride) return; | |
continue; | |
} else { | |
if (chr == '[') seenBracket = true; | |
else if (chr == ']') seenBracket = false; | |
buffer += chr; | |
} break; | |
case PORT: | |
if (DIGIT.test(chr)) { | |
buffer += chr; | |
} else if ( | |
chr == EOF || chr == '/' || chr == '?' || chr == '#' || | |
(chr == '\\' && isSpecial(url)) || | |
stateOverride | |
) { | |
if (buffer != '') { | |
var port = parseInt(buffer, 10); | |
if (port > 0xFFFF) return INVALID_PORT; | |
url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; | |
buffer = ''; | |
} | |
if (stateOverride) return; | |
state = PATH_START; | |
continue; | |
} else return INVALID_PORT; | |
break; | |
case FILE: | |
url.scheme = 'file'; | |
if (chr == '/' || chr == '\\') state = FILE_SLASH; | |
else if (base && base.scheme == 'file') { | |
if (chr == EOF) { | |
url.host = base.host; | |
url.path = base.path.slice(); | |
url.query = base.query; | |
} else if (chr == '?') { | |
url.host = base.host; | |
url.path = base.path.slice(); | |
url.query = ''; | |
state = QUERY; | |
} else if (chr == '#') { | |
url.host = base.host; | |
url.path = base.path.slice(); | |
url.query = base.query; | |
url.fragment = ''; | |
state = FRAGMENT; | |
} else { | |
if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { | |
url.host = base.host; | |
url.path = base.path.slice(); | |
shortenURLsPath(url); | |
} | |
state = PATH; | |
continue; | |
} | |
} else { | |
state = PATH; | |
continue; | |
} break; | |
case FILE_SLASH: | |
if (chr == '/' || chr == '\\') { | |
state = FILE_HOST; | |
break; | |
} | |
if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { | |
if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]); | |
else url.host = base.host; | |
} | |
state = PATH; | |
continue; | |
case FILE_HOST: | |
if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') { | |
if (!stateOverride && isWindowsDriveLetter(buffer)) { | |
state = PATH; | |
} else if (buffer == '') { | |
url.host = ''; | |
if (stateOverride) return; | |
state = PATH_START; | |
} else { | |
failure = parseHost(url, buffer); | |
if (failure) return failure; | |
if (url.host == 'localhost') url.host = ''; | |
if (stateOverride) return; | |
buffer = ''; | |
state = PATH_START; | |
} continue; | |
} else buffer += chr; | |
break; | |
case PATH_START: | |
if (isSpecial(url)) { | |
state = PATH; | |
if (chr != '/' && chr != '\\') continue; | |
} else if (!stateOverride && chr == '?') { | |
url.query = ''; | |
state = QUERY; | |
} else if (!stateOverride && chr == '#') { | |
url.fragment = ''; | |
state = FRAGMENT; | |
} else if (chr != EOF) { | |
state = PATH; | |
if (chr != '/') continue; | |
} break; | |
case PATH: | |
if ( | |
chr == EOF || chr == '/' || | |
(chr == '\\' && isSpecial(url)) || | |
(!stateOverride && (chr == '?' || chr == '#')) | |
) { | |
if (isDoubleDot(buffer)) { | |
shortenURLsPath(url); | |
if (chr != '/' && !(chr == '\\' && isSpecial(url))) { | |
url.path.push(''); | |
} | |
} else if (isSingleDot(buffer)) { | |
if (chr != '/' && !(chr == '\\' && isSpecial(url))) { | |
url.path.push(''); | |
} | |
} else { | |
if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { | |
if (url.host) url.host = ''; | |
buffer = buffer.charAt(0) + ':'; // normalize windows drive letter | |
} | |
url.path.push(buffer); | |
} | |
buffer = ''; | |
if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) { | |
while (url.path.length > 1 && url.path[0] === '') { | |
url.path.shift(); | |
} | |
} | |
if (chr == '?') { | |
url.query = ''; | |
state = QUERY; | |
} else if (chr == '#') { | |
url.fragment = ''; | |
state = FRAGMENT; | |
} | |
} else { | |
buffer += percentEncode(chr, pathPercentEncodeSet); | |
} break; | |
case CANNOT_BE_A_BASE_URL_PATH: | |
if (chr == '?') { | |
url.query = ''; | |
state = QUERY; | |
} else if (chr == '#') { | |
url.fragment = ''; | |
state = FRAGMENT; | |
} else if (chr != EOF) { | |
url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); | |
} break; | |
case QUERY: | |
if (!stateOverride && chr == '#') { | |
url.fragment = ''; | |
state = FRAGMENT; | |
} else if (chr != EOF) { | |
if (chr == "'" && isSpecial(url)) url.query += '%27'; | |
else if (chr == '#') url.query += '%23'; | |
else url.query += percentEncode(chr, C0ControlPercentEncodeSet); | |
} break; | |
case FRAGMENT: | |
if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); | |
break; | |
} | |
pointer++; | |
} | |
}; | |
// `URL` constructor | |
// https://url.spec.whatwg.org/#url-class | |
var URLConstructor = function URL(url /* , base */) { | |
var that = anInstance(this, URLConstructor, 'URL'); | |
var base = arguments.length > 1 ? arguments[1] : undefined; | |
var urlString = $toString(url); | |
var state = setInternalState(that, { type: 'URL' }); | |
var baseState, failure; | |
if (base !== undefined) { | |
if (base instanceof URLConstructor) baseState = getInternalURLState(base); | |
else { | |
failure = parseURL(baseState = {}, $toString(base)); | |
if (failure) throw TypeError(failure); | |
} | |
} | |
failure = parseURL(state, urlString, null, baseState); | |
if (failure) throw TypeError(failure); | |
var searchParams = state.searchParams = new URLSearchParams(); | |
var searchParamsState = getInternalSearchParamsState(searchParams); | |
searchParamsState.updateSearchParams(state.query); | |
searchParamsState.updateURL = function () { | |
state.query = String(searchParams) || null; | |
}; | |
if (!DESCRIPTORS) { | |
that.href = serializeURL.call(that); | |
that.origin = getOrigin.call(that); | |
that.protocol = getProtocol.call(that); | |
that.username = getUsername.call(that); | |
that.password = getPassword.call(that); | |
that.host = getHost.call(that); | |
that.hostname = getHostname.call(that); | |
that.port = getPort.call(that); | |
that.pathname = getPathname.call(that); | |
that.search = getSearch.call(that); | |
that.searchParams = getSearchParams.call(that); | |
that.hash = getHash.call(that); | |
} | |
}; | |
var URLPrototype = URLConstructor.prototype; | |
var serializeURL = function () { | |
var url = getInternalURLState(this); | |
var scheme = url.scheme; | |
var username = url.username; | |
var password = url.password; | |
var host = url.host; | |
var port = url.port; | |
var path = url.path; | |
var query = url.query; | |
var fragment = url.fragment; | |
var output = scheme + ':'; | |
if (host !== null) { | |
output += '//'; | |
if (includesCredentials(url)) { | |
output += username + (password ? ':' + password : '') + '@'; | |
} | |
output += serializeHost(host); | |
if (port !== null) output += ':' + port; | |
} else if (scheme == 'file') output += '//'; | |
output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; | |
if (query !== null) output += '?' + query; | |
if (fragment !== null) output += '#' + fragment; | |
return output; | |
}; | |
var getOrigin = function () { | |
var url = getInternalURLState(this); | |
var scheme = url.scheme; | |
var port = url.port; | |
if (scheme == 'blob') try { | |
return new URLConstructor(scheme.path[0]).origin; | |
} catch (error) { | |
return 'null'; | |
} | |
if (scheme == 'file' || !isSpecial(url)) return 'null'; | |
return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); | |
}; | |
var getProtocol = function () { | |
return getInternalURLState(this).scheme + ':'; | |
}; | |
var getUsername = function () { | |
return getInternalURLState(this).username; | |
}; | |
var getPassword = function () { | |
return getInternalURLState(this).password; | |
}; | |
var getHost = function () { | |
var url = getInternalURLState(this); | |
var host = url.host; | |
var port = url.port; | |
return host === null ? '' | |
: port === null ? serializeHost(host) | |
: serializeHost(host) + ':' + port; | |
}; | |
var getHostname = function () { | |
var host = getInternalURLState(this).host; | |
return host === null ? '' : serializeHost(host); | |
}; | |
var getPort = function () { | |
var port = getInternalURLState(this).port; | |
return port === null ? '' : String(port); | |
}; | |
var getPathname = function () { | |
var url = getInternalURLState(this); | |
var path = url.path; | |
return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; | |
}; | |
var getSearch = function () { | |
var query = getInternalURLState(this).query; | |
return query ? '?' + query : ''; | |
}; | |
var getSearchParams = function () { | |
return getInternalURLState(this).searchParams; | |
}; | |
var getHash = function () { | |
var fragment = getInternalURLState(this).fragment; | |
return fragment ? '#' + fragment : ''; | |
}; | |
var accessorDescriptor = function (getter, setter) { | |
return { get: getter, set: setter, configurable: true, enumerable: true }; | |
}; | |
if (DESCRIPTORS) { | |
defineProperties(URLPrototype, { | |
// `URL.prototype.href` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-href | |
href: accessorDescriptor(serializeURL, function (href) { | |
var url = getInternalURLState(this); | |
var urlString = $toString(href); | |
var failure = parseURL(url, urlString); | |
if (failure) throw TypeError(failure); | |
getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); | |
}), | |
// `URL.prototype.origin` getter | |
// https://url.spec.whatwg.org/#dom-url-origin | |
origin: accessorDescriptor(getOrigin), | |
// `URL.prototype.protocol` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-protocol | |
protocol: accessorDescriptor(getProtocol, function (protocol) { | |
var url = getInternalURLState(this); | |
parseURL(url, $toString(protocol) + ':', SCHEME_START); | |
}), | |
// `URL.prototype.username` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-username | |
username: accessorDescriptor(getUsername, function (username) { | |
var url = getInternalURLState(this); | |
var codePoints = arrayFrom($toString(username)); | |
if (cannotHaveUsernamePasswordPort(url)) return; | |
url.username = ''; | |
for (var i = 0; i < codePoints.length; i++) { | |
url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); | |
} | |
}), | |
// `URL.prototype.password` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-password | |
password: accessorDescriptor(getPassword, function (password) { | |
var url = getInternalURLState(this); | |
var codePoints = arrayFrom($toString(password)); | |
if (cannotHaveUsernamePasswordPort(url)) return; | |
url.password = ''; | |
for (var i = 0; i < codePoints.length; i++) { | |
url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); | |
} | |
}), | |
// `URL.prototype.host` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-host | |
host: accessorDescriptor(getHost, function (host) { | |
var url = getInternalURLState(this); | |
if (url.cannotBeABaseURL) return; | |
parseURL(url, $toString(host), HOST); | |
}), | |
// `URL.prototype.hostname` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-hostname | |
hostname: accessorDescriptor(getHostname, function (hostname) { | |
var url = getInternalURLState(this); | |
if (url.cannotBeABaseURL) return; | |
parseURL(url, $toString(hostname), HOSTNAME); | |
}), | |
// `URL.prototype.port` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-port | |
port: accessorDescriptor(getPort, function (port) { | |
var url = getInternalURLState(this); | |
if (cannotHaveUsernamePasswordPort(url)) return; | |
port = $toString(port); | |
if (port == '') url.port = null; | |
else parseURL(url, port, PORT); | |
}), | |
// `URL.prototype.pathname` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-pathname | |
pathname: accessorDescriptor(getPathname, function (pathname) { | |
var url = getInternalURLState(this); | |
if (url.cannotBeABaseURL) return; | |
url.path = []; | |
parseURL(url, $toString(pathname), PATH_START); | |
}), | |
// `URL.prototype.search` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-search | |
search: accessorDescriptor(getSearch, function (search) { | |
var url = getInternalURLState(this); | |
search = $toString(search); | |
if (search == '') { | |
url.query = null; | |
} else { | |
if ('?' == search.charAt(0)) search = search.slice(1); | |
url.query = ''; | |
parseURL(url, search, QUERY); | |
} | |
getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); | |
}), | |
// `URL.prototype.searchParams` getter | |
// https://url.spec.whatwg.org/#dom-url-searchparams | |
searchParams: accessorDescriptor(getSearchParams), | |
// `URL.prototype.hash` accessors pair | |
// https://url.spec.whatwg.org/#dom-url-hash | |
hash: accessorDescriptor(getHash, function (hash) { | |
var url = getInternalURLState(this); | |
hash = $toString(hash); | |
if (hash == '') { | |
url.fragment = null; | |
return; | |
} | |
if ('#' == hash.charAt(0)) hash = hash.slice(1); | |
url.fragment = ''; | |
parseURL(url, hash, FRAGMENT); | |
}) | |
}); | |
} | |
// `URL.prototype.toJSON` method | |
// https://url.spec.whatwg.org/#dom-url-tojson | |
redefine(URLPrototype, 'toJSON', function toJSON() { | |
return serializeURL.call(this); | |
}, { enumerable: true }); | |
// `URL.prototype.toString` method | |
// https://url.spec.whatwg.org/#URL-stringification-behavior | |
redefine(URLPrototype, 'toString', function toString() { | |
return serializeURL.call(this); | |
}, { enumerable: true }); | |
if (NativeURL) { | |
var nativeCreateObjectURL = NativeURL.createObjectURL; | |
var nativeRevokeObjectURL = NativeURL.revokeObjectURL; | |
// `URL.createObjectURL` method | |
// https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL | |
// eslint-disable-next-line no-unused-vars -- required for `.length` | |
if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { | |
return nativeCreateObjectURL.apply(NativeURL, arguments); | |
}); | |
// `URL.revokeObjectURL` method | |
// https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL | |
// eslint-disable-next-line no-unused-vars -- required for `.length` | |
if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { | |
return nativeRevokeObjectURL.apply(NativeURL, arguments); | |
}); | |
} | |
setToStringTag(URLConstructor, 'URL'); | |
$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { | |
URL: URLConstructor | |
}); | |
/***/ }), | |
/***/ "2cf4": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var isCallable = __webpack_require__("1626"); | |
var fails = __webpack_require__("d039"); | |
var bind = __webpack_require__("0366"); | |
var html = __webpack_require__("1be4"); | |
var createElement = __webpack_require__("cc12"); | |
var IS_IOS = __webpack_require__("1cdc"); | |
var IS_NODE = __webpack_require__("605d"); | |
var set = global.setImmediate; | |
var clear = global.clearImmediate; | |
var process = global.process; | |
var MessageChannel = global.MessageChannel; | |
var Dispatch = global.Dispatch; | |
var counter = 0; | |
var queue = {}; | |
var ONREADYSTATECHANGE = 'onreadystatechange'; | |
var location, defer, channel, port; | |
try { | |
// Deno throws a ReferenceError on `location` access without `--location` flag | |
location = global.location; | |
} catch (error) { /* empty */ } | |
var run = function (id) { | |
// eslint-disable-next-line no-prototype-builtins -- safe | |
if (queue.hasOwnProperty(id)) { | |
var fn = queue[id]; | |
delete queue[id]; | |
fn(); | |
} | |
}; | |
var runner = function (id) { | |
return function () { | |
run(id); | |
}; | |
}; | |
var listener = function (event) { | |
run(event.data); | |
}; | |
var post = function (id) { | |
// old engines have not location.origin | |
global.postMessage(String(id), location.protocol + '//' + location.host); | |
}; | |
// Node.js 0.9+ & IE10+ has setImmediate, otherwise: | |
if (!set || !clear) { | |
set = function setImmediate(fn) { | |
var args = []; | |
var argumentsLength = arguments.length; | |
var i = 1; | |
while (argumentsLength > i) args.push(arguments[i++]); | |
queue[++counter] = function () { | |
// eslint-disable-next-line no-new-func -- spec requirement | |
(isCallable(fn) ? fn : Function(fn)).apply(undefined, args); | |
}; | |
defer(counter); | |
return counter; | |
}; | |
clear = function clearImmediate(id) { | |
delete queue[id]; | |
}; | |
// Node.js 0.8- | |
if (IS_NODE) { | |
defer = function (id) { | |
process.nextTick(runner(id)); | |
}; | |
// Sphere (JS game engine) Dispatch API | |
} else if (Dispatch && Dispatch.now) { | |
defer = function (id) { | |
Dispatch.now(runner(id)); | |
}; | |
// Browsers with MessageChannel, includes WebWorkers | |
// except iOS - https://github.com/zloirock/core-js/issues/624 | |
} else if (MessageChannel && !IS_IOS) { | |
channel = new MessageChannel(); | |
port = channel.port2; | |
channel.port1.onmessage = listener; | |
defer = bind(port.postMessage, port, 1); | |
// Browsers with postMessage, skip WebWorkers | |
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object' | |
} else if ( | |
global.addEventListener && | |
isCallable(global.postMessage) && | |
!global.importScripts && | |
location && location.protocol !== 'file:' && | |
!fails(post) | |
) { | |
defer = post; | |
global.addEventListener('message', listener, false); | |
// IE8- | |
} else if (ONREADYSTATECHANGE in createElement('script')) { | |
defer = function (id) { | |
html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { | |
html.removeChild(this); | |
run(id); | |
}; | |
}; | |
// Rest old browsers | |
} else { | |
defer = function (id) { | |
setTimeout(runner(id), 0); | |
}; | |
} | |
} | |
module.exports = { | |
set: set, | |
clear: clear | |
}; | |
/***/ }), | |
/***/ "2d00": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var userAgent = __webpack_require__("342f"); | |
var process = global.process; | |
var Deno = global.Deno; | |
var versions = process && process.versions || Deno && Deno.version; | |
var v8 = versions && versions.v8; | |
var match, version; | |
if (v8) { | |
match = v8.split('.'); | |
version = match[0] < 4 ? 1 : match[0] + match[1]; | |
} else if (userAgent) { | |
match = userAgent.match(/Edge\/(\d+)/); | |
if (!match || match[1] >= 74) { | |
match = userAgent.match(/Chrome\/(\d+)/); | |
if (match) version = match[1]; | |
} | |
} | |
module.exports = version && +version; | |
/***/ }), | |
/***/ "342f": | |
/***/ (function(module, exports, __webpack_require__) { | |
var getBuiltIn = __webpack_require__("d066"); | |
module.exports = getBuiltIn('navigator', 'userAgent') || ''; | |
/***/ }), | |
/***/ "35a1": | |
/***/ (function(module, exports, __webpack_require__) { | |
var classof = __webpack_require__("f5df"); | |
var getMethod = __webpack_require__("dc4a"); | |
var Iterators = __webpack_require__("3f8c"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var ITERATOR = wellKnownSymbol('iterator'); | |
module.exports = function (it) { | |
if (it != undefined) return getMethod(it, ITERATOR) | |
|| getMethod(it, '@@iterator') | |
|| Iterators[classof(it)]; | |
}; | |
/***/ }), | |
/***/ "37e8": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var definePropertyModule = __webpack_require__("9bf2"); | |
var anObject = __webpack_require__("825a"); | |
var objectKeys = __webpack_require__("df75"); | |
// `Object.defineProperties` method | |
// https://tc39.es/ecma262/#sec-object.defineproperties | |
// eslint-disable-next-line es/no-object-defineproperties -- safe | |
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { | |
anObject(O); | |
var keys = objectKeys(Properties); | |
var length = keys.length; | |
var index = 0; | |
var key; | |
while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); | |
return O; | |
}; | |
/***/ }), | |
/***/ "38cf": | |
/***/ (function(module, exports, __webpack_require__) { | |
var $ = __webpack_require__("23e7"); | |
var repeat = __webpack_require__("1148"); | |
// `String.prototype.repeat` method | |
// https://tc39.es/ecma262/#sec-string.prototype.repeat | |
$({ target: 'String', proto: true }, { | |
repeat: repeat | |
}); | |
/***/ }), | |
/***/ "3bbe": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isCallable = __webpack_require__("1626"); | |
module.exports = function (argument) { | |
if (typeof argument === 'object' || isCallable(argument)) return argument; | |
throw TypeError("Can't set " + String(argument) + ' as a prototype'); | |
}; | |
/***/ }), | |
/***/ "3ca3": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var charAt = __webpack_require__("6547").charAt; | |
var toString = __webpack_require__("577e"); | |
var InternalStateModule = __webpack_require__("69f3"); | |
var defineIterator = __webpack_require__("7dd0"); | |
var STRING_ITERATOR = 'String Iterator'; | |
var setInternalState = InternalStateModule.set; | |
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); | |
// `String.prototype[@@iterator]` method | |
// https://tc39.es/ecma262/#sec-string.prototype-@@iterator | |
defineIterator(String, 'String', function (iterated) { | |
setInternalState(this, { | |
type: STRING_ITERATOR, | |
string: toString(iterated), | |
index: 0 | |
}); | |
// `%StringIteratorPrototype%.next` method | |
// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next | |
}, function next() { | |
var state = getInternalState(this); | |
var string = state.string; | |
var index = state.index; | |
var point; | |
if (index >= string.length) return { value: undefined, done: true }; | |
point = charAt(string, index); | |
state.index += point.length; | |
return { value: point, done: false }; | |
}); | |
/***/ }), | |
/***/ "3f8c": | |
/***/ (function(module, exports) { | |
module.exports = {}; | |
/***/ }), | |
/***/ "408a": | |
/***/ (function(module, exports) { | |
var valueOf = 1.0.valueOf; | |
// `thisNumberValue` abstract operation | |
// https://tc39.es/ecma262/#sec-thisnumbervalue | |
module.exports = function (value) { | |
return valueOf.call(value); | |
}; | |
/***/ }), | |
/***/ "428f": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
module.exports = global; | |
/***/ }), | |
/***/ "44ad": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
var classof = __webpack_require__("c6b6"); | |
var split = ''.split; | |
// fallback for non-array-like ES3 and non-enumerable old V8 strings | |
module.exports = fails(function () { | |
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 | |
// eslint-disable-next-line no-prototype-builtins -- safe | |
return !Object('z').propertyIsEnumerable(0); | |
}) ? function (it) { | |
return classof(it) == 'String' ? split.call(it, '') : Object(it); | |
} : Object; | |
/***/ }), | |
/***/ "44d2": | |
/***/ (function(module, exports, __webpack_require__) { | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var create = __webpack_require__("7c73"); | |
var definePropertyModule = __webpack_require__("9bf2"); | |
var UNSCOPABLES = wellKnownSymbol('unscopables'); | |
var ArrayPrototype = Array.prototype; | |
// Array.prototype[@@unscopables] | |
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables | |
if (ArrayPrototype[UNSCOPABLES] == undefined) { | |
definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { | |
configurable: true, | |
value: create(null) | |
}); | |
} | |
// add a key to Array.prototype[@@unscopables] | |
module.exports = function (key) { | |
ArrayPrototype[UNSCOPABLES][key] = true; | |
}; | |
/***/ }), | |
/***/ "44de": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
module.exports = function (a, b) { | |
var console = global.console; | |
if (console && console.error) { | |
arguments.length === 1 ? console.error(a) : console.error(a, b); | |
} | |
}; | |
/***/ }), | |
/***/ "44e7": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isObject = __webpack_require__("861d"); | |
var classof = __webpack_require__("c6b6"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var MATCH = wellKnownSymbol('match'); | |
// `IsRegExp` abstract operation | |
// https://tc39.es/ecma262/#sec-isregexp | |
module.exports = function (it) { | |
var isRegExp; | |
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); | |
}; | |
/***/ }), | |
/***/ "466d": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var fixRegExpWellKnownSymbolLogic = __webpack_require__("d784"); | |
var anObject = __webpack_require__("825a"); | |
var toLength = __webpack_require__("50c4"); | |
var toString = __webpack_require__("577e"); | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var getMethod = __webpack_require__("dc4a"); | |
var advanceStringIndex = __webpack_require__("8aa5"); | |
var regExpExec = __webpack_require__("14c3"); | |
// @@match logic | |
fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { | |
return [ | |
// `String.prototype.match` method | |
// https://tc39.es/ecma262/#sec-string.prototype.match | |
function match(regexp) { | |
var O = requireObjectCoercible(this); | |
var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH); | |
return matcher ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O)); | |
}, | |
// `RegExp.prototype[@@match]` method | |
// https://tc39.es/ecma262/#sec-regexp.prototype-@@match | |
function (string) { | |
var rx = anObject(this); | |
var S = toString(string); | |
var res = maybeCallNative(nativeMatch, rx, S); | |
if (res.done) return res.value; | |
if (!rx.global) return regExpExec(rx, S); | |
var fullUnicode = rx.unicode; | |
rx.lastIndex = 0; | |
var A = []; | |
var n = 0; | |
var result; | |
while ((result = regExpExec(rx, S)) !== null) { | |
var matchStr = toString(result[0]); | |
A[n] = matchStr; | |
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); | |
n++; | |
} | |
return n === 0 ? null : A; | |
} | |
]; | |
}); | |
/***/ }), | |
/***/ "4840": | |
/***/ (function(module, exports, __webpack_require__) { | |
var anObject = __webpack_require__("825a"); | |
var aConstructor = __webpack_require__("5087"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var SPECIES = wellKnownSymbol('species'); | |
// `SpeciesConstructor` abstract operation | |
// https://tc39.es/ecma262/#sec-speciesconstructor | |
module.exports = function (O, defaultConstructor) { | |
var C = anObject(O).constructor; | |
var S; | |
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S); | |
}; | |
/***/ }), | |
/***/ "485a": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isCallable = __webpack_require__("1626"); | |
var isObject = __webpack_require__("861d"); | |
// `OrdinaryToPrimitive` abstract operation | |
// https://tc39.es/ecma262/#sec-ordinarytoprimitive | |
module.exports = function (input, pref) { | |
var fn, val; | |
if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val; | |
if (isCallable(fn = input.valueOf) && !isObject(val = fn.call(input))) return val; | |
if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val; | |
throw TypeError("Can't convert object to primitive value"); | |
}; | |
/***/ }), | |
/***/ "4930": | |
/***/ (function(module, exports, __webpack_require__) { | |
/* eslint-disable es/no-symbol -- required for testing */ | |
var V8_VERSION = __webpack_require__("2d00"); | |
var fails = __webpack_require__("d039"); | |
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing | |
module.exports = !!Object.getOwnPropertySymbols && !fails(function () { | |
var symbol = Symbol(); | |
// Chrome 38 Symbol has incorrect toString conversion | |
// `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances | |
return !String(symbol) || !(Object(symbol) instanceof Symbol) || | |
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances | |
!Symbol.sham && V8_VERSION && V8_VERSION < 41; | |
}); | |
/***/ }), | |
/***/ "498a": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var $trim = __webpack_require__("58a8").trim; | |
var forcedStringTrimMethod = __webpack_require__("c8d2"); | |
// `String.prototype.trim` method | |
// https://tc39.es/ecma262/#sec-string.prototype.trim | |
$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { | |
trim: function trim() { | |
return $trim(this); | |
} | |
}); | |
/***/ }), | |
/***/ "4d63": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var global = __webpack_require__("da84"); | |
var isForced = __webpack_require__("94ca"); | |
var inheritIfRequired = __webpack_require__("7156"); | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var defineProperty = __webpack_require__("9bf2").f; | |
var getOwnPropertyNames = __webpack_require__("241c").f; | |
var isRegExp = __webpack_require__("44e7"); | |
var toString = __webpack_require__("577e"); | |
var getFlags = __webpack_require__("ad6d"); | |
var stickyHelpers = __webpack_require__("9f7f"); | |
var redefine = __webpack_require__("6eeb"); | |
var fails = __webpack_require__("d039"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var enforceInternalState = __webpack_require__("69f3").enforce; | |
var setSpecies = __webpack_require__("2626"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var UNSUPPORTED_DOT_ALL = __webpack_require__("fce3"); | |
var UNSUPPORTED_NCG = __webpack_require__("107c"); | |
var MATCH = wellKnownSymbol('match'); | |
var NativeRegExp = global.RegExp; | |
var RegExpPrototype = NativeRegExp.prototype; | |
// TODO: Use only propper RegExpIdentifierName | |
var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; | |
var re1 = /a/g; | |
var re2 = /a/g; | |
// "new" should create a new object, old webkit bug | |
var CORRECT_NEW = new NativeRegExp(re1) !== re1; | |
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; | |
var BASE_FORCED = DESCRIPTORS && | |
(!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { | |
re2[MATCH] = false; | |
// RegExp constructor can alter flags and IsRegExp works correct with @@match | |
return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; | |
})); | |
var handleDotAll = function (string) { | |
var length = string.length; | |
var index = 0; | |
var result = ''; | |
var brackets = false; | |
var chr; | |
for (; index <= length; index++) { | |
chr = string.charAt(index); | |
if (chr === '\\') { | |
result += chr + string.charAt(++index); | |
continue; | |
} | |
if (!brackets && chr === '.') { | |
result += '[\\s\\S]'; | |
} else { | |
if (chr === '[') { | |
brackets = true; | |
} else if (chr === ']') { | |
brackets = false; | |
} result += chr; | |
} | |
} return result; | |
}; | |
var handleNCG = function (string) { | |
var length = string.length; | |
var index = 0; | |
var result = ''; | |
var named = []; | |
var names = {}; | |
var brackets = false; | |
var ncg = false; | |
var groupid = 0; | |
var groupname = ''; | |
var chr; | |
for (; index <= length; index++) { | |
chr = string.charAt(index); | |
if (chr === '\\') { | |
chr = chr + string.charAt(++index); | |
} else if (chr === ']') { | |
brackets = false; | |
} else if (!brackets) switch (true) { | |
case chr === '[': | |
brackets = true; | |
break; | |
case chr === '(': | |
if (IS_NCG.test(string.slice(index + 1))) { | |
index += 2; | |
ncg = true; | |
} | |
result += chr; | |
groupid++; | |
continue; | |
case chr === '>' && ncg: | |
if (groupname === '' || hasOwn(names, groupname)) { | |
throw new SyntaxError('Invalid capture group name'); | |
} | |
names[groupname] = true; | |
named.push([groupname, groupid]); | |
ncg = false; | |
groupname = ''; | |
continue; | |
} | |
if (ncg) groupname += chr; | |
else result += chr; | |
} return [result, named]; | |
}; | |
// `RegExp` constructor | |
// https://tc39.es/ecma262/#sec-regexp-constructor | |
if (isForced('RegExp', BASE_FORCED)) { | |
var RegExpWrapper = function RegExp(pattern, flags) { | |
var thisIsRegExp = this instanceof RegExpWrapper; | |
var patternIsRegExp = isRegExp(pattern); | |
var flagsAreUndefined = flags === undefined; | |
var groups = []; | |
var rawPattern = pattern; | |
var rawFlags, dotAll, sticky, handled, result, state; | |
if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { | |
return pattern; | |
} | |
if (patternIsRegExp || pattern instanceof RegExpWrapper) { | |
pattern = pattern.source; | |
if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags.call(rawPattern); | |
} | |
pattern = pattern === undefined ? '' : toString(pattern); | |
flags = flags === undefined ? '' : toString(flags); | |
rawPattern = pattern; | |
if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { | |
dotAll = !!flags && flags.indexOf('s') > -1; | |
if (dotAll) flags = flags.replace(/s/g, ''); | |
} | |
rawFlags = flags; | |
if (UNSUPPORTED_Y && 'sticky' in re1) { | |
sticky = !!flags && flags.indexOf('y') > -1; | |
if (sticky) flags = flags.replace(/y/g, ''); | |
} | |
if (UNSUPPORTED_NCG) { | |
handled = handleNCG(pattern); | |
pattern = handled[0]; | |
groups = handled[1]; | |
} | |
result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); | |
if (dotAll || sticky || groups.length) { | |
state = enforceInternalState(result); | |
if (dotAll) { | |
state.dotAll = true; | |
state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); | |
} | |
if (sticky) state.sticky = true; | |
if (groups.length) state.groups = groups; | |
} | |
if (pattern !== rawPattern) try { | |
// fails in old engines, but we have no alternatives for unsupported regex syntax | |
createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); | |
} catch (error) { /* empty */ } | |
return result; | |
}; | |
var proxy = function (key) { | |
key in RegExpWrapper || defineProperty(RegExpWrapper, key, { | |
configurable: true, | |
get: function () { return NativeRegExp[key]; }, | |
set: function (it) { NativeRegExp[key] = it; } | |
}); | |
}; | |
for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { | |
proxy(keys[index++]); | |
} | |
RegExpPrototype.constructor = RegExpWrapper; | |
RegExpWrapper.prototype = RegExpPrototype; | |
redefine(global, 'RegExp', RegExpWrapper); | |
} | |
// https://tc39.es/ecma262/#sec-get-regexp-@@species | |
setSpecies('RegExp'); | |
/***/ }), | |
/***/ "4d64": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var toAbsoluteIndex = __webpack_require__("23cb"); | |
var lengthOfArrayLike = __webpack_require__("07fa"); | |
// `Array.prototype.{ indexOf, includes }` methods implementation | |
var createMethod = function (IS_INCLUDES) { | |
return function ($this, el, fromIndex) { | |
var O = toIndexedObject($this); | |
var length = lengthOfArrayLike(O); | |
var index = toAbsoluteIndex(fromIndex, length); | |
var value; | |
// Array#includes uses SameValueZero equality algorithm | |
// eslint-disable-next-line no-self-compare -- NaN check | |
if (IS_INCLUDES && el != el) while (length > index) { | |
value = O[index++]; | |
// eslint-disable-next-line no-self-compare -- NaN check | |
if (value != value) return true; | |
// Array#indexOf ignores holes, Array#includes - not | |
} else for (;length > index; index++) { | |
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; | |
} return !IS_INCLUDES && -1; | |
}; | |
}; | |
module.exports = { | |
// `Array.prototype.includes` method | |
// https://tc39.es/ecma262/#sec-array.prototype.includes | |
includes: createMethod(true), | |
// `Array.prototype.indexOf` method | |
// https://tc39.es/ecma262/#sec-array.prototype.indexof | |
indexOf: createMethod(false) | |
}; | |
/***/ }), | |
/***/ "4d90": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var $padStart = __webpack_require__("0ccb").start; | |
var WEBKIT_BUG = __webpack_require__("9a0c"); | |
// `String.prototype.padStart` method | |
// https://tc39.es/ecma262/#sec-string.prototype.padstart | |
$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { | |
padStart: function padStart(maxLength /* , fillString = ' ' */) { | |
return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); | |
} | |
}); | |
/***/ }), | |
/***/ "4de4": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var $filter = __webpack_require__("b727").filter; | |
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde"); | |
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); | |
// `Array.prototype.filter` method | |
// https://tc39.es/ecma262/#sec-array.prototype.filter | |
// with adding support of @@species | |
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { | |
filter: function filter(callbackfn /* , thisArg */) { | |
return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); | |
} | |
}); | |
/***/ }), | |
/***/ "4df4": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var bind = __webpack_require__("0366"); | |
var toObject = __webpack_require__("7b0b"); | |
var callWithSafeIterationClosing = __webpack_require__("9bdd"); | |
var isArrayIteratorMethod = __webpack_require__("e95a"); | |
var isConstructor = __webpack_require__("68ee"); | |
var lengthOfArrayLike = __webpack_require__("07fa"); | |
var createProperty = __webpack_require__("8418"); | |
var getIterator = __webpack_require__("9a1f"); | |
var getIteratorMethod = __webpack_require__("35a1"); | |
// `Array.from` method implementation | |
// https://tc39.es/ecma262/#sec-array.from | |
module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { | |
var O = toObject(arrayLike); | |
var IS_CONSTRUCTOR = isConstructor(this); | |
var argumentsLength = arguments.length; | |
var mapfn = argumentsLength > 1 ? arguments[1] : undefined; | |
var mapping = mapfn !== undefined; | |
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); | |
var iteratorMethod = getIteratorMethod(O); | |
var index = 0; | |
var length, result, step, iterator, next, value; | |
// if the target is not iterable or it's an array with the default iterator - use a simple case | |
if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) { | |
iterator = getIterator(O, iteratorMethod); | |
next = iterator.next; | |
result = IS_CONSTRUCTOR ? new this() : []; | |
for (;!(step = next.call(iterator)).done; index++) { | |
value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; | |
createProperty(result, index, value); | |
} | |
} else { | |
length = lengthOfArrayLike(O); | |
result = IS_CONSTRUCTOR ? new this(length) : Array(length); | |
for (;length > index; index++) { | |
value = mapping ? mapfn(O[index], index) : O[index]; | |
createProperty(result, index, value); | |
} | |
} | |
result.length = index; | |
return result; | |
}; | |
/***/ }), | |
/***/ "4e82": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var aCallable = __webpack_require__("59ed"); | |
var toObject = __webpack_require__("7b0b"); | |
var lengthOfArrayLike = __webpack_require__("07fa"); | |
var toString = __webpack_require__("577e"); | |
var fails = __webpack_require__("d039"); | |
var internalSort = __webpack_require__("addb"); | |
var arrayMethodIsStrict = __webpack_require__("a640"); | |
var FF = __webpack_require__("04d1"); | |
var IE_OR_EDGE = __webpack_require__("d998"); | |
var V8 = __webpack_require__("2d00"); | |
var WEBKIT = __webpack_require__("512c"); | |
var test = []; | |
var nativeSort = test.sort; | |
// IE8- | |
var FAILS_ON_UNDEFINED = fails(function () { | |
test.sort(undefined); | |
}); | |
// V8 bug | |
var FAILS_ON_NULL = fails(function () { | |
test.sort(null); | |
}); | |
// Old WebKit | |
var STRICT_METHOD = arrayMethodIsStrict('sort'); | |
var STABLE_SORT = !fails(function () { | |
// feature detection can be too slow, so check engines versions | |
if (V8) return V8 < 70; | |
if (FF && FF > 3) return; | |
if (IE_OR_EDGE) return true; | |
if (WEBKIT) return WEBKIT < 603; | |
var result = ''; | |
var code, chr, value, index; | |
// generate an array with more 512 elements (Chakra and old V8 fails only in this case) | |
for (code = 65; code < 76; code++) { | |
chr = String.fromCharCode(code); | |
switch (code) { | |
case 66: case 69: case 70: case 72: value = 3; break; | |
case 68: case 71: value = 4; break; | |
default: value = 2; | |
} | |
for (index = 0; index < 47; index++) { | |
test.push({ k: chr + index, v: value }); | |
} | |
} | |
test.sort(function (a, b) { return b.v - a.v; }); | |
for (index = 0; index < test.length; index++) { | |
chr = test[index].k.charAt(0); | |
if (result.charAt(result.length - 1) !== chr) result += chr; | |
} | |
return result !== 'DGBEFHACIJK'; | |
}); | |
var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; | |
var getSortCompare = function (comparefn) { | |
return function (x, y) { | |
if (y === undefined) return -1; | |
if (x === undefined) return 1; | |
if (comparefn !== undefined) return +comparefn(x, y) || 0; | |
return toString(x) > toString(y) ? 1 : -1; | |
}; | |
}; | |
// `Array.prototype.sort` method | |
// https://tc39.es/ecma262/#sec-array.prototype.sort | |
$({ target: 'Array', proto: true, forced: FORCED }, { | |
sort: function sort(comparefn) { | |
if (comparefn !== undefined) aCallable(comparefn); | |
var array = toObject(this); | |
if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn); | |
var items = []; | |
var arrayLength = lengthOfArrayLike(array); | |
var itemsLength, index; | |
for (index = 0; index < arrayLength; index++) { | |
if (index in array) items.push(array[index]); | |
} | |
items = internalSort(items, getSortCompare(comparefn)); | |
itemsLength = items.length; | |
index = 0; | |
while (index < itemsLength) array[index] = items[index++]; | |
while (index < arrayLength) delete array[index++]; | |
return array; | |
} | |
}); | |
/***/ }), | |
/***/ "4ec9": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var collection = __webpack_require__("6d61"); | |
var collectionStrong = __webpack_require__("6566"); | |
// `Map` constructor | |
// https://tc39.es/ecma262/#sec-map-objects | |
module.exports = collection('Map', function (init) { | |
return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; | |
}, collectionStrong); | |
/***/ }), | |
/***/ "5087": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isConstructor = __webpack_require__("68ee"); | |
var tryToString = __webpack_require__("0d51"); | |
// `Assert: IsConstructor(argument) is true` | |
module.exports = function (argument) { | |
if (isConstructor(argument)) return argument; | |
throw TypeError(tryToString(argument) + ' is not a constructor'); | |
}; | |
/***/ }), | |
/***/ "50c4": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toIntegerOrInfinity = __webpack_require__("5926"); | |
var min = Math.min; | |
// `ToLength` abstract operation | |
// https://tc39.es/ecma262/#sec-tolength | |
module.exports = function (argument) { | |
return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 | |
}; | |
/***/ }), | |
/***/ "512c": | |
/***/ (function(module, exports, __webpack_require__) { | |
var userAgent = __webpack_require__("342f"); | |
var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); | |
module.exports = !!webkit && +webkit[1]; | |
/***/ }), | |
/***/ "5319": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var fixRegExpWellKnownSymbolLogic = __webpack_require__("d784"); | |
var fails = __webpack_require__("d039"); | |
var anObject = __webpack_require__("825a"); | |
var isCallable = __webpack_require__("1626"); | |
var toIntegerOrInfinity = __webpack_require__("5926"); | |
var toLength = __webpack_require__("50c4"); | |
var toString = __webpack_require__("577e"); | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var advanceStringIndex = __webpack_require__("8aa5"); | |
var getMethod = __webpack_require__("dc4a"); | |
var getSubstitution = __webpack_require__("0cb2"); | |
var regExpExec = __webpack_require__("14c3"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var REPLACE = wellKnownSymbol('replace'); | |
var max = Math.max; | |
var min = Math.min; | |
var maybeToString = function (it) { | |
return it === undefined ? it : String(it); | |
}; | |
// IE <= 11 replaces $0 with the whole match, as if it was $& | |
// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 | |
var REPLACE_KEEPS_$0 = (function () { | |
// eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing | |
return 'a'.replace(/./, '$0') === '$0'; | |
})(); | |
// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string | |
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { | |
if (/./[REPLACE]) { | |
return /./[REPLACE]('a', '$0') === ''; | |
} | |
return false; | |
})(); | |
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { | |
var re = /./; | |
re.exec = function () { | |
var result = []; | |
result.groups = { a: '7' }; | |
return result; | |
}; | |
// eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive | |
return ''.replace(re, '$<a>') !== '7'; | |
}); | |
// @@replace logic | |
fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { | |
var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; | |
return [ | |
// `String.prototype.replace` method | |
// https://tc39.es/ecma262/#sec-string.prototype.replace | |
function replace(searchValue, replaceValue) { | |
var O = requireObjectCoercible(this); | |
var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE); | |
return replacer | |
? replacer.call(searchValue, O, replaceValue) | |
: nativeReplace.call(toString(O), searchValue, replaceValue); | |
}, | |
// `RegExp.prototype[@@replace]` method | |
// https://tc39.es/ecma262/#sec-regexp.prototype-@@replace | |
function (string, replaceValue) { | |
var rx = anObject(this); | |
var S = toString(string); | |
if ( | |
typeof replaceValue === 'string' && | |
replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 && | |
replaceValue.indexOf('$<') === -1 | |
) { | |
var res = maybeCallNative(nativeReplace, rx, S, replaceValue); | |
if (res.done) return res.value; | |
} | |
var functionalReplace = isCallable(replaceValue); | |
if (!functionalReplace) replaceValue = toString(replaceValue); | |
var global = rx.global; | |
if (global) { | |
var fullUnicode = rx.unicode; | |
rx.lastIndex = 0; | |
} | |
var results = []; | |
while (true) { | |
var result = regExpExec(rx, S); | |
if (result === null) break; | |
results.push(result); | |
if (!global) break; | |
var matchStr = toString(result[0]); | |
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); | |
} | |
var accumulatedResult = ''; | |
var nextSourcePosition = 0; | |
for (var i = 0; i < results.length; i++) { | |
result = results[i]; | |
var matched = toString(result[0]); | |
var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); | |
var captures = []; | |
// NOTE: This is equivalent to | |
// captures = result.slice(1).map(maybeToString) | |
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in | |
// the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and | |
// causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. | |
for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); | |
var namedCaptures = result.groups; | |
if (functionalReplace) { | |
var replacerArgs = [matched].concat(captures, position, S); | |
if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); | |
var replacement = toString(replaceValue.apply(undefined, replacerArgs)); | |
} else { | |
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); | |
} | |
if (position >= nextSourcePosition) { | |
accumulatedResult += S.slice(nextSourcePosition, position) + replacement; | |
nextSourcePosition = position + matched.length; | |
} | |
} | |
return accumulatedResult + S.slice(nextSourcePosition); | |
} | |
]; | |
}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); | |
/***/ }), | |
/***/ "5692": | |
/***/ (function(module, exports, __webpack_require__) { | |
var IS_PURE = __webpack_require__("c430"); | |
var store = __webpack_require__("c6cd"); | |
(module.exports = function (key, value) { | |
return store[key] || (store[key] = value !== undefined ? value : {}); | |
})('versions', []).push({ | |
version: '3.18.2', | |
mode: IS_PURE ? 'pure' : 'global', | |
copyright: '© 2021 Denis Pushkarev (zloirock.ru)' | |
}); | |
/***/ }), | |
/***/ "56ef": | |
/***/ (function(module, exports, __webpack_require__) { | |
var getBuiltIn = __webpack_require__("d066"); | |
var getOwnPropertyNamesModule = __webpack_require__("241c"); | |
var getOwnPropertySymbolsModule = __webpack_require__("7418"); | |
var anObject = __webpack_require__("825a"); | |
// all object keys, includes non-enumerable and symbols | |
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { | |
var keys = getOwnPropertyNamesModule.f(anObject(it)); | |
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; | |
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; | |
}; | |
/***/ }), | |
/***/ "577e": | |
/***/ (function(module, exports, __webpack_require__) { | |
var classof = __webpack_require__("f5df"); | |
module.exports = function (argument) { | |
if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); | |
return String(argument); | |
}; | |
/***/ }), | |
/***/ "5899": | |
/***/ (function(module, exports) { | |
// a string of all valid unicode whitespaces | |
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + | |
'\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; | |
/***/ }), | |
/***/ "58a8": | |
/***/ (function(module, exports, __webpack_require__) { | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var toString = __webpack_require__("577e"); | |
var whitespaces = __webpack_require__("5899"); | |
var whitespace = '[' + whitespaces + ']'; | |
var ltrim = RegExp('^' + whitespace + whitespace + '*'); | |
var rtrim = RegExp(whitespace + whitespace + '*$'); | |
// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation | |
var createMethod = function (TYPE) { | |
return function ($this) { | |
var string = toString(requireObjectCoercible($this)); | |
if (TYPE & 1) string = string.replace(ltrim, ''); | |
if (TYPE & 2) string = string.replace(rtrim, ''); | |
return string; | |
}; | |
}; | |
module.exports = { | |
// `String.prototype.{ trimLeft, trimStart }` methods | |
// https://tc39.es/ecma262/#sec-string.prototype.trimstart | |
start: createMethod(1), | |
// `String.prototype.{ trimRight, trimEnd }` methods | |
// https://tc39.es/ecma262/#sec-string.prototype.trimend | |
end: createMethod(2), | |
// `String.prototype.trim` method | |
// https://tc39.es/ecma262/#sec-string.prototype.trim | |
trim: createMethod(3) | |
}; | |
/***/ }), | |
/***/ "5926": | |
/***/ (function(module, exports) { | |
var ceil = Math.ceil; | |
var floor = Math.floor; | |
// `ToIntegerOrInfinity` abstract operation | |
// https://tc39.es/ecma262/#sec-tointegerorinfinity | |
module.exports = function (argument) { | |
var number = +argument; | |
// eslint-disable-next-line no-self-compare -- safe | |
return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number); | |
}; | |
/***/ }), | |
/***/ "59ed": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isCallable = __webpack_require__("1626"); | |
var tryToString = __webpack_require__("0d51"); | |
// `Assert: IsCallable(argument) is true` | |
module.exports = function (argument) { | |
if (isCallable(argument)) return argument; | |
throw TypeError(tryToString(argument) + ' is not a function'); | |
}; | |
/***/ }), | |
/***/ "5a34": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isRegExp = __webpack_require__("44e7"); | |
module.exports = function (it) { | |
if (isRegExp(it)) { | |
throw TypeError("The method doesn't accept regular expressions"); | |
} return it; | |
}; | |
/***/ }), | |
/***/ "5c6c": | |
/***/ (function(module, exports) { | |
module.exports = function (bitmap, value) { | |
return { | |
enumerable: !(bitmap & 1), | |
configurable: !(bitmap & 2), | |
writable: !(bitmap & 4), | |
value: value | |
}; | |
}; | |
/***/ }), | |
/***/ "5e77": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var FunctionPrototype = Function.prototype; | |
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe | |
var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; | |
var EXISTS = hasOwn(FunctionPrototype, 'name'); | |
// additional protection from minified / mangled / dropped function names | |
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; | |
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); | |
module.exports = { | |
EXISTS: EXISTS, | |
PROPER: PROPER, | |
CONFIGURABLE: CONFIGURABLE | |
}; | |
/***/ }), | |
/***/ "5fb2": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js | |
var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 | |
var base = 36; | |
var tMin = 1; | |
var tMax = 26; | |
var skew = 38; | |
var damp = 700; | |
var initialBias = 72; | |
var initialN = 128; // 0x80 | |
var delimiter = '-'; // '\x2D' | |
var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars | |
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators | |
var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; | |
var baseMinusTMin = base - tMin; | |
var floor = Math.floor; | |
var stringFromCharCode = String.fromCharCode; | |
/** | |
* Creates an array containing the numeric code points of each Unicode | |
* character in the string. While JavaScript uses UCS-2 internally, | |
* this function will convert a pair of surrogate halves (each of which | |
* UCS-2 exposes as separate characters) into a single code point, | |
* matching UTF-16. | |
*/ | |
var ucs2decode = function (string) { | |
var output = []; | |
var counter = 0; | |
var length = string.length; | |
while (counter < length) { | |
var value = string.charCodeAt(counter++); | |
if (value >= 0xD800 && value <= 0xDBFF && counter < length) { | |
// It's a high surrogate, and there is a next character. | |
var extra = string.charCodeAt(counter++); | |
if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. | |
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); | |
} else { | |
// It's an unmatched surrogate; only append this code unit, in case the | |
// next code unit is the high surrogate of a surrogate pair. | |
output.push(value); | |
counter--; | |
} | |
} else { | |
output.push(value); | |
} | |
} | |
return output; | |
}; | |
/** | |
* Converts a digit/integer into a basic code point. | |
*/ | |
var digitToBasic = function (digit) { | |
// 0..25 map to ASCII a..z or A..Z | |
// 26..35 map to ASCII 0..9 | |
return digit + 22 + 75 * (digit < 26); | |
}; | |
/** | |
* Bias adaptation function as per section 3.4 of RFC 3492. | |
* https://tools.ietf.org/html/rfc3492#section-3.4 | |
*/ | |
var adapt = function (delta, numPoints, firstTime) { | |
var k = 0; | |
delta = firstTime ? floor(delta / damp) : delta >> 1; | |
delta += floor(delta / numPoints); | |
for (; delta > baseMinusTMin * tMax >> 1; k += base) { | |
delta = floor(delta / baseMinusTMin); | |
} | |
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); | |
}; | |
/** | |
* Converts a string of Unicode symbols (e.g. a domain name label) to a | |
* Punycode string of ASCII-only symbols. | |
*/ | |
// eslint-disable-next-line max-statements -- TODO | |
var encode = function (input) { | |
var output = []; | |
// Convert the input in UCS-2 to an array of Unicode code points. | |
input = ucs2decode(input); | |
// Cache the length. | |
var inputLength = input.length; | |
// Initialize the state. | |
var n = initialN; | |
var delta = 0; | |
var bias = initialBias; | |
var i, currentValue; | |
// Handle the basic code points. | |
for (i = 0; i < input.length; i++) { | |
currentValue = input[i]; | |
if (currentValue < 0x80) { | |
output.push(stringFromCharCode(currentValue)); | |
} | |
} | |
var basicLength = output.length; // number of basic code points. | |
var handledCPCount = basicLength; // number of code points that have been handled; | |
// Finish the basic string with a delimiter unless it's empty. | |
if (basicLength) { | |
output.push(delimiter); | |
} | |
// Main encoding loop: | |
while (handledCPCount < inputLength) { | |
// All non-basic code points < n have been handled already. Find the next larger one: | |
var m = maxInt; | |
for (i = 0; i < input.length; i++) { | |
currentValue = input[i]; | |
if (currentValue >= n && currentValue < m) { | |
m = currentValue; | |
} | |
} | |
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. | |
var handledCPCountPlusOne = handledCPCount + 1; | |
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { | |
throw RangeError(OVERFLOW_ERROR); | |
} | |
delta += (m - n) * handledCPCountPlusOne; | |
n = m; | |
for (i = 0; i < input.length; i++) { | |
currentValue = input[i]; | |
if (currentValue < n && ++delta > maxInt) { | |
throw RangeError(OVERFLOW_ERROR); | |
} | |
if (currentValue == n) { | |
// Represent delta as a generalized variable-length integer. | |
var q = delta; | |
for (var k = base; /* no condition */; k += base) { | |
var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); | |
if (q < t) break; | |
var qMinusT = q - t; | |
var baseMinusT = base - t; | |
output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); | |
q = floor(qMinusT / baseMinusT); | |
} | |
output.push(stringFromCharCode(digitToBasic(q))); | |
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); | |
delta = 0; | |
++handledCPCount; | |
} | |
} | |
++delta; | |
++n; | |
} | |
return output.join(''); | |
}; | |
module.exports = function (input) { | |
var encoded = []; | |
var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); | |
var i, label; | |
for (i = 0; i < labels.length; i++) { | |
label = labels[i]; | |
encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); | |
} | |
return encoded.join('.'); | |
}; | |
/***/ }), | |
/***/ "605d": | |
/***/ (function(module, exports, __webpack_require__) { | |
var classof = __webpack_require__("c6b6"); | |
var global = __webpack_require__("da84"); | |
module.exports = classof(global.process) == 'process'; | |
/***/ }), | |
/***/ "6069": | |
/***/ (function(module, exports) { | |
module.exports = typeof window == 'object'; | |
/***/ }), | |
/***/ "60da": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var fails = __webpack_require__("d039"); | |
var objectKeys = __webpack_require__("df75"); | |
var getOwnPropertySymbolsModule = __webpack_require__("7418"); | |
var propertyIsEnumerableModule = __webpack_require__("d1e7"); | |
var toObject = __webpack_require__("7b0b"); | |
var IndexedObject = __webpack_require__("44ad"); | |
// eslint-disable-next-line es/no-object-assign -- safe | |
var $assign = Object.assign; | |
// eslint-disable-next-line es/no-object-defineproperty -- required for testing | |
var defineProperty = Object.defineProperty; | |
// `Object.assign` method | |
// https://tc39.es/ecma262/#sec-object.assign | |
module.exports = !$assign || fails(function () { | |
// should have correct order of operations (Edge bug) | |
if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { | |
enumerable: true, | |
get: function () { | |
defineProperty(this, 'b', { | |
value: 3, | |
enumerable: false | |
}); | |
} | |
}), { b: 2 })).b !== 1) return true; | |
// should work with symbols and should have deterministic property order (V8 bug) | |
var A = {}; | |
var B = {}; | |
// eslint-disable-next-line es/no-symbol -- safe | |
var symbol = Symbol(); | |
var alphabet = 'abcdefghijklmnopqrst'; | |
A[symbol] = 7; | |
alphabet.split('').forEach(function (chr) { B[chr] = chr; }); | |
return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet; | |
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` | |
var T = toObject(target); | |
var argumentsLength = arguments.length; | |
var index = 1; | |
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; | |
var propertyIsEnumerable = propertyIsEnumerableModule.f; | |
while (argumentsLength > index) { | |
var S = IndexedObject(arguments[index++]); | |
var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); | |
var length = keys.length; | |
var j = 0; | |
var key; | |
while (length > j) { | |
key = keys[j++]; | |
if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; | |
} | |
} return T; | |
} : $assign; | |
/***/ }), | |
/***/ "6547": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toIntegerOrInfinity = __webpack_require__("5926"); | |
var toString = __webpack_require__("577e"); | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var createMethod = function (CONVERT_TO_STRING) { | |
return function ($this, pos) { | |
var S = toString(requireObjectCoercible($this)); | |
var position = toIntegerOrInfinity(pos); | |
var size = S.length; | |
var first, second; | |
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; | |
first = S.charCodeAt(position); | |
return first < 0xD800 || first > 0xDBFF || position + 1 === size | |
|| (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF | |
? CONVERT_TO_STRING ? S.charAt(position) : first | |
: CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; | |
}; | |
}; | |
module.exports = { | |
// `String.prototype.codePointAt` method | |
// https://tc39.es/ecma262/#sec-string.prototype.codepointat | |
codeAt: createMethod(false), | |
// `String.prototype.at` method | |
// https://github.com/mathiasbynens/String.prototype.at | |
charAt: createMethod(true) | |
}; | |
/***/ }), | |
/***/ "6566": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var defineProperty = __webpack_require__("9bf2").f; | |
var create = __webpack_require__("7c73"); | |
var redefineAll = __webpack_require__("e2cc"); | |
var bind = __webpack_require__("0366"); | |
var anInstance = __webpack_require__("19aa"); | |
var iterate = __webpack_require__("2266"); | |
var defineIterator = __webpack_require__("7dd0"); | |
var setSpecies = __webpack_require__("2626"); | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var fastKey = __webpack_require__("f183").fastKey; | |
var InternalStateModule = __webpack_require__("69f3"); | |
var setInternalState = InternalStateModule.set; | |
var internalStateGetterFor = InternalStateModule.getterFor; | |
module.exports = { | |
getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { | |
var C = wrapper(function (that, iterable) { | |
anInstance(that, C, CONSTRUCTOR_NAME); | |
setInternalState(that, { | |
type: CONSTRUCTOR_NAME, | |
index: create(null), | |
first: undefined, | |
last: undefined, | |
size: 0 | |
}); | |
if (!DESCRIPTORS) that.size = 0; | |
if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); | |
}); | |
var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); | |
var define = function (that, key, value) { | |
var state = getInternalState(that); | |
var entry = getEntry(that, key); | |
var previous, index; | |
// change existing entry | |
if (entry) { | |
entry.value = value; | |
// create new entry | |
} else { | |
state.last = entry = { | |
index: index = fastKey(key, true), | |
key: key, | |
value: value, | |
previous: previous = state.last, | |
next: undefined, | |
removed: false | |
}; | |
if (!state.first) state.first = entry; | |
if (previous) previous.next = entry; | |
if (DESCRIPTORS) state.size++; | |
else that.size++; | |
// add to index | |
if (index !== 'F') state.index[index] = entry; | |
} return that; | |
}; | |
var getEntry = function (that, key) { | |
var state = getInternalState(that); | |
// fast case | |
var index = fastKey(key); | |
var entry; | |
if (index !== 'F') return state.index[index]; | |
// frozen object case | |
for (entry = state.first; entry; entry = entry.next) { | |
if (entry.key == key) return entry; | |
} | |
}; | |
redefineAll(C.prototype, { | |
// `{ Map, Set }.prototype.clear()` methods | |
// https://tc39.es/ecma262/#sec-map.prototype.clear | |
// https://tc39.es/ecma262/#sec-set.prototype.clear | |
clear: function clear() { | |
var that = this; | |
var state = getInternalState(that); | |
var data = state.index; | |
var entry = state.first; | |
while (entry) { | |
entry.removed = true; | |
if (entry.previous) entry.previous = entry.previous.next = undefined; | |
delete data[entry.index]; | |
entry = entry.next; | |
} | |
state.first = state.last = undefined; | |
if (DESCRIPTORS) state.size = 0; | |
else that.size = 0; | |
}, | |
// `{ Map, Set }.prototype.delete(key)` methods | |
// https://tc39.es/ecma262/#sec-map.prototype.delete | |
// https://tc39.es/ecma262/#sec-set.prototype.delete | |
'delete': function (key) { | |
var that = this; | |
var state = getInternalState(that); | |
var entry = getEntry(that, key); | |
if (entry) { | |
var next = entry.next; | |
var prev = entry.previous; | |
delete state.index[entry.index]; | |
entry.removed = true; | |
if (prev) prev.next = next; | |
if (next) next.previous = prev; | |
if (state.first == entry) state.first = next; | |
if (state.last == entry) state.last = prev; | |
if (DESCRIPTORS) state.size--; | |
else that.size--; | |
} return !!entry; | |
}, | |
// `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods | |
// https://tc39.es/ecma262/#sec-map.prototype.foreach | |
// https://tc39.es/ecma262/#sec-set.prototype.foreach | |
forEach: function forEach(callbackfn /* , that = undefined */) { | |
var state = getInternalState(this); | |
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); | |
var entry; | |
while (entry = entry ? entry.next : state.first) { | |
boundFunction(entry.value, entry.key, this); | |
// revert to the last existing entry | |
while (entry && entry.removed) entry = entry.previous; | |
} | |
}, | |
// `{ Map, Set}.prototype.has(key)` methods | |
// https://tc39.es/ecma262/#sec-map.prototype.has | |
// https://tc39.es/ecma262/#sec-set.prototype.has | |
has: function has(key) { | |
return !!getEntry(this, key); | |
} | |
}); | |
redefineAll(C.prototype, IS_MAP ? { | |
// `Map.prototype.get(key)` method | |
// https://tc39.es/ecma262/#sec-map.prototype.get | |
get: function get(key) { | |
var entry = getEntry(this, key); | |
return entry && entry.value; | |
}, | |
// `Map.prototype.set(key, value)` method | |
// https://tc39.es/ecma262/#sec-map.prototype.set | |
set: function set(key, value) { | |
return define(this, key === 0 ? 0 : key, value); | |
} | |
} : { | |
// `Set.prototype.add(value)` method | |
// https://tc39.es/ecma262/#sec-set.prototype.add | |
add: function add(value) { | |
return define(this, value = value === 0 ? 0 : value, value); | |
} | |
}); | |
if (DESCRIPTORS) defineProperty(C.prototype, 'size', { | |
get: function () { | |
return getInternalState(this).size; | |
} | |
}); | |
return C; | |
}, | |
setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { | |
var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; | |
var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); | |
var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); | |
// `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods | |
// https://tc39.es/ecma262/#sec-map.prototype.entries | |
// https://tc39.es/ecma262/#sec-map.prototype.keys | |
// https://tc39.es/ecma262/#sec-map.prototype.values | |
// https://tc39.es/ecma262/#sec-map.prototype-@@iterator | |
// https://tc39.es/ecma262/#sec-set.prototype.entries | |
// https://tc39.es/ecma262/#sec-set.prototype.keys | |
// https://tc39.es/ecma262/#sec-set.prototype.values | |
// https://tc39.es/ecma262/#sec-set.prototype-@@iterator | |
defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { | |
setInternalState(this, { | |
type: ITERATOR_NAME, | |
target: iterated, | |
state: getInternalCollectionState(iterated), | |
kind: kind, | |
last: undefined | |
}); | |
}, function () { | |
var state = getInternalIteratorState(this); | |
var kind = state.kind; | |
var entry = state.last; | |
// revert to the last existing entry | |
while (entry && entry.removed) entry = entry.previous; | |
// get next entry | |
if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { | |
// or finish the iteration | |
state.target = undefined; | |
return { value: undefined, done: true }; | |
} | |
// return step by kind | |
if (kind == 'keys') return { value: entry.key, done: false }; | |
if (kind == 'values') return { value: entry.value, done: false }; | |
return { value: [entry.key, entry.value], done: false }; | |
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true); | |
// `{ Map, Set }.prototype[@@species]` accessors | |
// https://tc39.es/ecma262/#sec-get-map-@@species | |
// https://tc39.es/ecma262/#sec-get-set-@@species | |
setSpecies(CONSTRUCTOR_NAME); | |
} | |
}; | |
/***/ }), | |
/***/ "65f0": | |
/***/ (function(module, exports, __webpack_require__) { | |
var arraySpeciesConstructor = __webpack_require__("0b42"); | |
// `ArraySpeciesCreate` abstract operation | |
// https://tc39.es/ecma262/#sec-arrayspeciescreate | |
module.exports = function (originalArray, length) { | |
return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); | |
}; | |
/***/ }), | |
/***/ "68ee": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
var isCallable = __webpack_require__("1626"); | |
var classof = __webpack_require__("f5df"); | |
var getBuiltIn = __webpack_require__("d066"); | |
var inspectSource = __webpack_require__("8925"); | |
var empty = []; | |
var construct = getBuiltIn('Reflect', 'construct'); | |
var constructorRegExp = /^\s*(?:class|function)\b/; | |
var exec = constructorRegExp.exec; | |
var INCORRECT_TO_STRING = !constructorRegExp.exec(function () { /* empty */ }); | |
var isConstructorModern = function (argument) { | |
if (!isCallable(argument)) return false; | |
try { | |
construct(Object, empty, argument); | |
return true; | |
} catch (error) { | |
return false; | |
} | |
}; | |
var isConstructorLegacy = function (argument) { | |
if (!isCallable(argument)) return false; | |
switch (classof(argument)) { | |
case 'AsyncFunction': | |
case 'GeneratorFunction': | |
case 'AsyncGeneratorFunction': return false; | |
// we can't check .prototype since constructors produced by .bind haven't it | |
} return INCORRECT_TO_STRING || !!exec.call(constructorRegExp, inspectSource(argument)); | |
}; | |
// `IsConstructor` abstract operation | |
// https://tc39.es/ecma262/#sec-isconstructor | |
module.exports = !construct || fails(function () { | |
var called; | |
return isConstructorModern(isConstructorModern.call) | |
|| !isConstructorModern(Object) | |
|| !isConstructorModern(function () { called = true; }) | |
|| called; | |
}) ? isConstructorLegacy : isConstructorModern; | |
/***/ }), | |
/***/ "69f3": | |
/***/ (function(module, exports, __webpack_require__) { | |
var NATIVE_WEAK_MAP = __webpack_require__("7f9a"); | |
var global = __webpack_require__("da84"); | |
var isObject = __webpack_require__("861d"); | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var shared = __webpack_require__("c6cd"); | |
var sharedKey = __webpack_require__("f772"); | |
var hiddenKeys = __webpack_require__("d012"); | |
var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; | |
var WeakMap = global.WeakMap; | |
var set, get, has; | |
var enforce = function (it) { | |
return has(it) ? get(it) : set(it, {}); | |
}; | |
var getterFor = function (TYPE) { | |
return function (it) { | |
var state; | |
if (!isObject(it) || (state = get(it)).type !== TYPE) { | |
throw TypeError('Incompatible receiver, ' + TYPE + ' required'); | |
} return state; | |
}; | |
}; | |
if (NATIVE_WEAK_MAP || shared.state) { | |
var store = shared.state || (shared.state = new WeakMap()); | |
var wmget = store.get; | |
var wmhas = store.has; | |
var wmset = store.set; | |
set = function (it, metadata) { | |
if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); | |
metadata.facade = it; | |
wmset.call(store, it, metadata); | |
return metadata; | |
}; | |
get = function (it) { | |
return wmget.call(store, it) || {}; | |
}; | |
has = function (it) { | |
return wmhas.call(store, it); | |
}; | |
} else { | |
var STATE = sharedKey('state'); | |
hiddenKeys[STATE] = true; | |
set = function (it, metadata) { | |
if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); | |
metadata.facade = it; | |
createNonEnumerableProperty(it, STATE, metadata); | |
return metadata; | |
}; | |
get = function (it) { | |
return hasOwn(it, STATE) ? it[STATE] : {}; | |
}; | |
has = function (it) { | |
return hasOwn(it, STATE); | |
}; | |
} | |
module.exports = { | |
set: set, | |
get: get, | |
has: has, | |
enforce: enforce, | |
getterFor: getterFor | |
}; | |
/***/ }), | |
/***/ "6d61": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var global = __webpack_require__("da84"); | |
var isForced = __webpack_require__("94ca"); | |
var redefine = __webpack_require__("6eeb"); | |
var InternalMetadataModule = __webpack_require__("f183"); | |
var iterate = __webpack_require__("2266"); | |
var anInstance = __webpack_require__("19aa"); | |
var isCallable = __webpack_require__("1626"); | |
var isObject = __webpack_require__("861d"); | |
var fails = __webpack_require__("d039"); | |
var checkCorrectnessOfIteration = __webpack_require__("1c7e"); | |
var setToStringTag = __webpack_require__("d44e"); | |
var inheritIfRequired = __webpack_require__("7156"); | |
module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { | |
var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; | |
var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; | |
var ADDER = IS_MAP ? 'set' : 'add'; | |
var NativeConstructor = global[CONSTRUCTOR_NAME]; | |
var NativePrototype = NativeConstructor && NativeConstructor.prototype; | |
var Constructor = NativeConstructor; | |
var exported = {}; | |
var fixMethod = function (KEY) { | |
var nativeMethod = NativePrototype[KEY]; | |
redefine(NativePrototype, KEY, | |
KEY == 'add' ? function add(value) { | |
nativeMethod.call(this, value === 0 ? 0 : value); | |
return this; | |
} : KEY == 'delete' ? function (key) { | |
return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); | |
} : KEY == 'get' ? function get(key) { | |
return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); | |
} : KEY == 'has' ? function has(key) { | |
return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); | |
} : function set(key, value) { | |
nativeMethod.call(this, key === 0 ? 0 : key, value); | |
return this; | |
} | |
); | |
}; | |
var REPLACE = isForced( | |
CONSTRUCTOR_NAME, | |
!isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { | |
new NativeConstructor().entries().next(); | |
})) | |
); | |
if (REPLACE) { | |
// create collection constructor | |
Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); | |
InternalMetadataModule.enable(); | |
} else if (isForced(CONSTRUCTOR_NAME, true)) { | |
var instance = new Constructor(); | |
// early implementations not supports chaining | |
var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; | |
// V8 ~ Chromium 40- weak-collections throws on primitives, but should return false | |
var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); | |
// most early implementations doesn't supports iterables, most modern - not close it correctly | |
// eslint-disable-next-line no-new -- required for testing | |
var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); | |
// for early implementations -0 and +0 not the same | |
var BUGGY_ZERO = !IS_WEAK && fails(function () { | |
// V8 ~ Chromium 42- fails only with 5+ elements | |
var $instance = new NativeConstructor(); | |
var index = 5; | |
while (index--) $instance[ADDER](index, index); | |
return !$instance.has(-0); | |
}); | |
if (!ACCEPT_ITERABLES) { | |
Constructor = wrapper(function (dummy, iterable) { | |
anInstance(dummy, Constructor, CONSTRUCTOR_NAME); | |
var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); | |
if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); | |
return that; | |
}); | |
Constructor.prototype = NativePrototype; | |
NativePrototype.constructor = Constructor; | |
} | |
if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { | |
fixMethod('delete'); | |
fixMethod('has'); | |
IS_MAP && fixMethod('get'); | |
} | |
if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); | |
// weak collections should not contains .clear method | |
if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; | |
} | |
exported[CONSTRUCTOR_NAME] = Constructor; | |
$({ global: true, forced: Constructor != NativeConstructor }, exported); | |
setToStringTag(Constructor, CONSTRUCTOR_NAME); | |
if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); | |
return Constructor; | |
}; | |
/***/ }), | |
/***/ "6eeb": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var isCallable = __webpack_require__("1626"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var setGlobal = __webpack_require__("ce4e"); | |
var inspectSource = __webpack_require__("8925"); | |
var InternalStateModule = __webpack_require__("69f3"); | |
var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; | |
var getInternalState = InternalStateModule.get; | |
var enforceInternalState = InternalStateModule.enforce; | |
var TEMPLATE = String(String).split('String'); | |
(module.exports = function (O, key, value, options) { | |
var unsafe = options ? !!options.unsafe : false; | |
var simple = options ? !!options.enumerable : false; | |
var noTargetGet = options ? !!options.noTargetGet : false; | |
var name = options && options.name !== undefined ? options.name : key; | |
var state; | |
if (isCallable(value)) { | |
if (String(name).slice(0, 7) === 'Symbol(') { | |
name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; | |
} | |
if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { | |
createNonEnumerableProperty(value, 'name', name); | |
} | |
state = enforceInternalState(value); | |
if (!state.source) { | |
state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); | |
} | |
} | |
if (O === global) { | |
if (simple) O[key] = value; | |
else setGlobal(key, value); | |
return; | |
} else if (!unsafe) { | |
delete O[key]; | |
} else if (!noTargetGet && O[key]) { | |
simple = true; | |
} | |
if (simple) O[key] = value; | |
else createNonEnumerableProperty(O, key, value); | |
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative | |
})(Function.prototype, 'toString', function toString() { | |
return isCallable(this) && getInternalState(this).source || inspectSource(this); | |
}); | |
/***/ }), | |
/***/ "7156": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isCallable = __webpack_require__("1626"); | |
var isObject = __webpack_require__("861d"); | |
var setPrototypeOf = __webpack_require__("d2bb"); | |
// makes subclassing work correct for wrapped built-ins | |
module.exports = function ($this, dummy, Wrapper) { | |
var NewTarget, NewTargetPrototype; | |
if ( | |
// it can work only with native `setPrototypeOf` | |
setPrototypeOf && | |
// we haven't completely correct pre-ES6 way for getting `new.target`, so use this | |
isCallable(NewTarget = dummy.constructor) && | |
NewTarget !== Wrapper && | |
isObject(NewTargetPrototype = NewTarget.prototype) && | |
NewTargetPrototype !== Wrapper.prototype | |
) setPrototypeOf($this, NewTargetPrototype); | |
return $this; | |
}; | |
/***/ }), | |
/***/ "7418": | |
/***/ (function(module, exports) { | |
// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe | |
exports.f = Object.getOwnPropertySymbols; | |
/***/ }), | |
/***/ "746f": | |
/***/ (function(module, exports, __webpack_require__) { | |
var path = __webpack_require__("428f"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var wrappedWellKnownSymbolModule = __webpack_require__("e538"); | |
var defineProperty = __webpack_require__("9bf2").f; | |
module.exports = function (NAME) { | |
var Symbol = path.Symbol || (path.Symbol = {}); | |
if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { | |
value: wrappedWellKnownSymbolModule.f(NAME) | |
}); | |
}; | |
/***/ }), | |
/***/ "7839": | |
/***/ (function(module, exports) { | |
// IE8- don't enum bug keys | |
module.exports = [ | |
'constructor', | |
'hasOwnProperty', | |
'isPrototypeOf', | |
'propertyIsEnumerable', | |
'toLocaleString', | |
'toString', | |
'valueOf' | |
]; | |
/***/ }), | |
/***/ "785a": | |
/***/ (function(module, exports, __webpack_require__) { | |
// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` | |
var documentCreateElement = __webpack_require__("cc12"); | |
var classList = documentCreateElement('span').classList; | |
var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; | |
module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; | |
/***/ }), | |
/***/ "7b0b": | |
/***/ (function(module, exports, __webpack_require__) { | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
// `ToObject` abstract operation | |
// https://tc39.es/ecma262/#sec-toobject | |
module.exports = function (argument) { | |
return Object(requireObjectCoercible(argument)); | |
}; | |
/***/ }), | |
/***/ "7c73": | |
/***/ (function(module, exports, __webpack_require__) { | |
/* global ActiveXObject -- old IE, WSH */ | |
var anObject = __webpack_require__("825a"); | |
var defineProperties = __webpack_require__("37e8"); | |
var enumBugKeys = __webpack_require__("7839"); | |
var hiddenKeys = __webpack_require__("d012"); | |
var html = __webpack_require__("1be4"); | |
var documentCreateElement = __webpack_require__("cc12"); | |
var sharedKey = __webpack_require__("f772"); | |
var GT = '>'; | |
var LT = '<'; | |
var PROTOTYPE = 'prototype'; | |
var SCRIPT = 'script'; | |
var IE_PROTO = sharedKey('IE_PROTO'); | |
var EmptyConstructor = function () { /* empty */ }; | |
var scriptTag = function (content) { | |
return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; | |
}; | |
// Create object with fake `null` prototype: use ActiveX Object with cleared prototype | |
var NullProtoObjectViaActiveX = function (activeXDocument) { | |
activeXDocument.write(scriptTag('')); | |
activeXDocument.close(); | |
var temp = activeXDocument.parentWindow.Object; | |
activeXDocument = null; // avoid memory leak | |
return temp; | |
}; | |
// Create object with fake `null` prototype: use iframe Object with cleared prototype | |
var NullProtoObjectViaIFrame = function () { | |
// Thrash, waste and sodomy: IE GC bug | |
var iframe = documentCreateElement('iframe'); | |
var JS = 'java' + SCRIPT + ':'; | |
var iframeDocument; | |
iframe.style.display = 'none'; | |
html.appendChild(iframe); | |
// https://github.com/zloirock/core-js/issues/475 | |
iframe.src = String(JS); | |
iframeDocument = iframe.contentWindow.document; | |
iframeDocument.open(); | |
iframeDocument.write(scriptTag('document.F=Object')); | |
iframeDocument.close(); | |
return iframeDocument.F; | |
}; | |
// Check for document.domain and active x support | |
// No need to use active x approach when document.domain is not set | |
// see https://github.com/es-shims/es5-shim/issues/150 | |
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 | |
// avoid IE GC bug | |
var activeXDocument; | |
var NullProtoObject = function () { | |
try { | |
activeXDocument = new ActiveXObject('htmlfile'); | |
} catch (error) { /* ignore */ } | |
NullProtoObject = typeof document != 'undefined' | |
? document.domain && activeXDocument | |
? NullProtoObjectViaActiveX(activeXDocument) // old IE | |
: NullProtoObjectViaIFrame() | |
: NullProtoObjectViaActiveX(activeXDocument); // WSH | |
var length = enumBugKeys.length; | |
while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; | |
return NullProtoObject(); | |
}; | |
hiddenKeys[IE_PROTO] = true; | |
// `Object.create` method | |
// https://tc39.es/ecma262/#sec-object.create | |
module.exports = Object.create || function create(O, Properties) { | |
var result; | |
if (O !== null) { | |
EmptyConstructor[PROTOTYPE] = anObject(O); | |
result = new EmptyConstructor(); | |
EmptyConstructor[PROTOTYPE] = null; | |
// add "__proto__" for Object.getPrototypeOf polyfill | |
result[IE_PROTO] = O; | |
} else result = NullProtoObject(); | |
return Properties === undefined ? result : defineProperties(result, Properties); | |
}; | |
/***/ }), | |
/***/ "7db0": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var $find = __webpack_require__("b727").find; | |
var addToUnscopables = __webpack_require__("44d2"); | |
var FIND = 'find'; | |
var SKIPS_HOLES = true; | |
// Shouldn't skip holes | |
if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); | |
// `Array.prototype.find` method | |
// https://tc39.es/ecma262/#sec-array.prototype.find | |
$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { | |
find: function find(callbackfn /* , that = undefined */) { | |
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); | |
} | |
}); | |
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables | |
addToUnscopables(FIND); | |
/***/ }), | |
/***/ "7dd0": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var IS_PURE = __webpack_require__("c430"); | |
var FunctionName = __webpack_require__("5e77"); | |
var isCallable = __webpack_require__("1626"); | |
var createIteratorConstructor = __webpack_require__("9ed3"); | |
var getPrototypeOf = __webpack_require__("e163"); | |
var setPrototypeOf = __webpack_require__("d2bb"); | |
var setToStringTag = __webpack_require__("d44e"); | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var redefine = __webpack_require__("6eeb"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var Iterators = __webpack_require__("3f8c"); | |
var IteratorsCore = __webpack_require__("ae93"); | |
var PROPER_FUNCTION_NAME = FunctionName.PROPER; | |
var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; | |
var IteratorPrototype = IteratorsCore.IteratorPrototype; | |
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; | |
var ITERATOR = wellKnownSymbol('iterator'); | |
var KEYS = 'keys'; | |
var VALUES = 'values'; | |
var ENTRIES = 'entries'; | |
var returnThis = function () { return this; }; | |
module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { | |
createIteratorConstructor(IteratorConstructor, NAME, next); | |
var getIterationMethod = function (KIND) { | |
if (KIND === DEFAULT && defaultIterator) return defaultIterator; | |
if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; | |
switch (KIND) { | |
case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; | |
case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; | |
case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; | |
} return function () { return new IteratorConstructor(this); }; | |
}; | |
var TO_STRING_TAG = NAME + ' Iterator'; | |
var INCORRECT_VALUES_NAME = false; | |
var IterablePrototype = Iterable.prototype; | |
var nativeIterator = IterablePrototype[ITERATOR] | |
|| IterablePrototype['@@iterator'] | |
|| DEFAULT && IterablePrototype[DEFAULT]; | |
var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); | |
var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; | |
var CurrentIteratorPrototype, methods, KEY; | |
// fix native | |
if (anyNativeIterator) { | |
CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); | |
if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { | |
if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { | |
if (setPrototypeOf) { | |
setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); | |
} else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { | |
redefine(CurrentIteratorPrototype, ITERATOR, returnThis); | |
} | |
} | |
// Set @@toStringTag to native iterators | |
setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); | |
if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; | |
} | |
} | |
// fix Array.prototype.{ values, @@iterator }.name in V8 / FF | |
if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { | |
if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { | |
createNonEnumerableProperty(IterablePrototype, 'name', VALUES); | |
} else { | |
INCORRECT_VALUES_NAME = true; | |
defaultIterator = function values() { return nativeIterator.call(this); }; | |
} | |
} | |
// export additional methods | |
if (DEFAULT) { | |
methods = { | |
values: getIterationMethod(VALUES), | |
keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), | |
entries: getIterationMethod(ENTRIES) | |
}; | |
if (FORCED) for (KEY in methods) { | |
if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { | |
redefine(IterablePrototype, KEY, methods[KEY]); | |
} | |
} else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); | |
} | |
// define iterator | |
if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { | |
redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); | |
} | |
Iterators[NAME] = defaultIterator; | |
return methods; | |
}; | |
/***/ }), | |
/***/ "7f9a": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var isCallable = __webpack_require__("1626"); | |
var inspectSource = __webpack_require__("8925"); | |
var WeakMap = global.WeakMap; | |
module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); | |
/***/ }), | |
/***/ "825a": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isObject = __webpack_require__("861d"); | |
// `Assert: Type(argument) is Object` | |
module.exports = function (argument) { | |
if (isObject(argument)) return argument; | |
throw TypeError(String(argument) + ' is not an object'); | |
}; | |
/***/ }), | |
/***/ "83ab": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
// Detect IE8's incomplete defineProperty implementation | |
module.exports = !fails(function () { | |
// eslint-disable-next-line es/no-object-defineproperty -- required for testing | |
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; | |
}); | |
/***/ }), | |
/***/ "8418": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var toPropertyKey = __webpack_require__("a04b"); | |
var definePropertyModule = __webpack_require__("9bf2"); | |
var createPropertyDescriptor = __webpack_require__("5c6c"); | |
module.exports = function (object, key, value) { | |
var propertyKey = toPropertyKey(key); | |
if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); | |
else object[propertyKey] = value; | |
}; | |
/***/ }), | |
/***/ "857a": | |
/***/ (function(module, exports, __webpack_require__) { | |
var requireObjectCoercible = __webpack_require__("1d80"); | |
var toString = __webpack_require__("577e"); | |
var quot = /"/g; | |
// `CreateHTML` abstract operation | |
// https://tc39.es/ecma262/#sec-createhtml | |
module.exports = function (string, tag, attribute, value) { | |
var S = toString(requireObjectCoercible(string)); | |
var p1 = '<' + tag; | |
if (attribute !== '') p1 += ' ' + attribute + '="' + toString(value).replace(quot, '"') + '"'; | |
return p1 + '>' + S + '</' + tag + '>'; | |
}; | |
/***/ }), | |
/***/ "861d": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isCallable = __webpack_require__("1626"); | |
module.exports = function (it) { | |
return typeof it === 'object' ? it !== null : isCallable(it); | |
}; | |
/***/ }), | |
/***/ "8875": | |
/***/ (function(module, exports, __webpack_require__) { | |
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller | |
// MIT license | |
// source: https://github.com/amiller-gh/currentScript-polyfill | |
// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505 | |
(function (root, factory) { | |
if (true) { | |
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), | |
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? | |
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), | |
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); | |
} else {} | |
}(typeof self !== 'undefined' ? self : this, function () { | |
function getCurrentScript () { | |
var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript') | |
// for chrome | |
if (!descriptor && 'currentScript' in document && document.currentScript) { | |
return document.currentScript | |
} | |
// for other browsers with native support for currentScript | |
if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) { | |
return document.currentScript | |
} | |
// IE 8-10 support script readyState | |
// IE 11+ & Firefox support stack trace | |
try { | |
throw new Error(); | |
} | |
catch (err) { | |
// Find the second match for the "at" string to get file src url from stack. | |
var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig, | |
ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig, | |
stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack), | |
scriptLocation = (stackDetails && stackDetails[1]) || false, | |
line = (stackDetails && stackDetails[2]) || false, | |
currentLocation = document.location.href.replace(document.location.hash, ''), | |
pageSource, | |
inlineScriptSourceRegExp, | |
inlineScriptSource, | |
scripts = document.getElementsByTagName('script'); // Live NodeList collection | |
if (scriptLocation === currentLocation) { | |
pageSource = document.documentElement.outerHTML; | |
inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*', 'i'); | |
inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim(); | |
} | |
for (var i = 0; i < scripts.length; i++) { | |
// If ready state is interactive, return the script tag | |
if (scripts[i].readyState === 'interactive') { | |
return scripts[i]; | |
} | |
// If src matches, return the script tag | |
if (scripts[i].src === scriptLocation) { | |
return scripts[i]; | |
} | |
// If inline source matches, return the script tag | |
if ( | |
scriptLocation === currentLocation && | |
scripts[i].innerHTML && | |
scripts[i].innerHTML.trim() === inlineScriptSource | |
) { | |
return scripts[i]; | |
} | |
} | |
// If no match, return null | |
return null; | |
} | |
}; | |
return getCurrentScript | |
})); | |
/***/ }), | |
/***/ "8925": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isCallable = __webpack_require__("1626"); | |
var store = __webpack_require__("c6cd"); | |
var functionToString = Function.toString; | |
// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper | |
if (!isCallable(store.inspectSource)) { | |
store.inspectSource = function (it) { | |
return functionToString.call(it); | |
}; | |
} | |
module.exports = store.inspectSource; | |
/***/ }), | |
/***/ "8aa5": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var charAt = __webpack_require__("6547").charAt; | |
// `AdvanceStringIndex` abstract operation | |
// https://tc39.es/ecma262/#sec-advancestringindex | |
module.exports = function (S, index, unicode) { | |
return index + (unicode ? charAt(S, index).length : 1); | |
}; | |
/***/ }), | |
/***/ "8bbf": | |
/***/ (function(module, exports) { | |
module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; | |
/***/ }), | |
/***/ "90e3": | |
/***/ (function(module, exports) { | |
var id = 0; | |
var postfix = Math.random(); | |
module.exports = function (key) { | |
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); | |
}; | |
/***/ }), | |
/***/ "9112": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var definePropertyModule = __webpack_require__("9bf2"); | |
var createPropertyDescriptor = __webpack_require__("5c6c"); | |
module.exports = DESCRIPTORS ? function (object, key, value) { | |
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); | |
} : function (object, key, value) { | |
object[key] = value; | |
return object; | |
}; | |
/***/ }), | |
/***/ "9263": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ | |
/* eslint-disable regexp/no-useless-quantifier -- testing */ | |
var toString = __webpack_require__("577e"); | |
var regexpFlags = __webpack_require__("ad6d"); | |
var stickyHelpers = __webpack_require__("9f7f"); | |
var shared = __webpack_require__("5692"); | |
var create = __webpack_require__("7c73"); | |
var getInternalState = __webpack_require__("69f3").get; | |
var UNSUPPORTED_DOT_ALL = __webpack_require__("fce3"); | |
var UNSUPPORTED_NCG = __webpack_require__("107c"); | |
var nativeExec = RegExp.prototype.exec; | |
var nativeReplace = shared('native-string-replace', String.prototype.replace); | |
var patchedExec = nativeExec; | |
var UPDATES_LAST_INDEX_WRONG = (function () { | |
var re1 = /a/; | |
var re2 = /b*/g; | |
nativeExec.call(re1, 'a'); | |
nativeExec.call(re2, 'a'); | |
return re1.lastIndex !== 0 || re2.lastIndex !== 0; | |
})(); | |
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; | |
// nonparticipating capturing group, copied from es5-shim's String#split patch. | |
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; | |
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; | |
if (PATCH) { | |
// eslint-disable-next-line max-statements -- TODO | |
patchedExec = function exec(string) { | |
var re = this; | |
var state = getInternalState(re); | |
var str = toString(string); | |
var raw = state.raw; | |
var result, reCopy, lastIndex, match, i, object, group; | |
if (raw) { | |
raw.lastIndex = re.lastIndex; | |
result = patchedExec.call(raw, str); | |
re.lastIndex = raw.lastIndex; | |
return result; | |
} | |
var groups = state.groups; | |
var sticky = UNSUPPORTED_Y && re.sticky; | |
var flags = regexpFlags.call(re); | |
var source = re.source; | |
var charsAdded = 0; | |
var strCopy = str; | |
if (sticky) { | |
flags = flags.replace('y', ''); | |
if (flags.indexOf('g') === -1) { | |
flags += 'g'; | |
} | |
strCopy = str.slice(re.lastIndex); | |
// Support anchored sticky behavior. | |
if (re.lastIndex > 0 && (!re.multiline || re.multiline && str.charAt(re.lastIndex - 1) !== '\n')) { | |
source = '(?: ' + source + ')'; | |
strCopy = ' ' + strCopy; | |
charsAdded++; | |
} | |
// ^(? + rx + ) is needed, in combination with some str slicing, to | |
// simulate the 'y' flag. | |
reCopy = new RegExp('^(?:' + source + ')', flags); | |
} | |
if (NPCG_INCLUDED) { | |
reCopy = new RegExp('^' + source + '$(?!\\s)', flags); | |
} | |
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; | |
match = nativeExec.call(sticky ? reCopy : re, strCopy); | |
if (sticky) { | |
if (match) { | |
match.input = match.input.slice(charsAdded); | |
match[0] = match[0].slice(charsAdded); | |
match.index = re.lastIndex; | |
re.lastIndex += match[0].length; | |
} else re.lastIndex = 0; | |
} else if (UPDATES_LAST_INDEX_WRONG && match) { | |
re.lastIndex = re.global ? match.index + match[0].length : lastIndex; | |
} | |
if (NPCG_INCLUDED && match && match.length > 1) { | |
// Fix browsers whose `exec` methods don't consistently return `undefined` | |
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ | |
nativeReplace.call(match[0], reCopy, function () { | |
for (i = 1; i < arguments.length - 2; i++) { | |
if (arguments[i] === undefined) match[i] = undefined; | |
} | |
}); | |
} | |
if (match && groups) { | |
match.groups = object = create(null); | |
for (i = 0; i < groups.length; i++) { | |
group = groups[i]; | |
object[group[0]] = match[group[1]]; | |
} | |
} | |
return match; | |
}; | |
} | |
module.exports = patchedExec; | |
/***/ }), | |
/***/ "94ca": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
var isCallable = __webpack_require__("1626"); | |
var replacement = /#|\.prototype\./; | |
var isForced = function (feature, detection) { | |
var value = data[normalize(feature)]; | |
return value == POLYFILL ? true | |
: value == NATIVE ? false | |
: isCallable(detection) ? fails(detection) | |
: !!detection; | |
}; | |
var normalize = isForced.normalize = function (string) { | |
return String(string).replace(replacement, '.').toLowerCase(); | |
}; | |
var data = isForced.data = {}; | |
var NATIVE = isForced.NATIVE = 'N'; | |
var POLYFILL = isForced.POLYFILL = 'P'; | |
module.exports = isForced; | |
/***/ }), | |
/***/ "9861": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` | |
__webpack_require__("e260"); | |
var $ = __webpack_require__("23e7"); | |
var getBuiltIn = __webpack_require__("d066"); | |
var USE_NATIVE_URL = __webpack_require__("0d3b"); | |
var redefine = __webpack_require__("6eeb"); | |
var redefineAll = __webpack_require__("e2cc"); | |
var setToStringTag = __webpack_require__("d44e"); | |
var createIteratorConstructor = __webpack_require__("9ed3"); | |
var InternalStateModule = __webpack_require__("69f3"); | |
var anInstance = __webpack_require__("19aa"); | |
var isCallable = __webpack_require__("1626"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var bind = __webpack_require__("0366"); | |
var classof = __webpack_require__("f5df"); | |
var anObject = __webpack_require__("825a"); | |
var isObject = __webpack_require__("861d"); | |
var $toString = __webpack_require__("577e"); | |
var create = __webpack_require__("7c73"); | |
var createPropertyDescriptor = __webpack_require__("5c6c"); | |
var getIterator = __webpack_require__("9a1f"); | |
var getIteratorMethod = __webpack_require__("35a1"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var nativeFetch = getBuiltIn('fetch'); | |
var NativeRequest = getBuiltIn('Request'); | |
var RequestPrototype = NativeRequest && NativeRequest.prototype; | |
var Headers = getBuiltIn('Headers'); | |
var ITERATOR = wellKnownSymbol('iterator'); | |
var URL_SEARCH_PARAMS = 'URLSearchParams'; | |
var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; | |
var setInternalState = InternalStateModule.set; | |
var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); | |
var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); | |
var plus = /\+/g; | |
var sequences = Array(4); | |
var percentSequence = function (bytes) { | |
return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); | |
}; | |
var percentDecode = function (sequence) { | |
try { | |
return decodeURIComponent(sequence); | |
} catch (error) { | |
return sequence; | |
} | |
}; | |
var deserialize = function (it) { | |
var result = it.replace(plus, ' '); | |
var bytes = 4; | |
try { | |
return decodeURIComponent(result); | |
} catch (error) { | |
while (bytes) { | |
result = result.replace(percentSequence(bytes--), percentDecode); | |
} | |
return result; | |
} | |
}; | |
var find = /[!'()~]|%20/g; | |
var replace = { | |
'!': '%21', | |
"'": '%27', | |
'(': '%28', | |
')': '%29', | |
'~': '%7E', | |
'%20': '+' | |
}; | |
var replacer = function (match) { | |
return replace[match]; | |
}; | |
var serialize = function (it) { | |
return encodeURIComponent(it).replace(find, replacer); | |
}; | |
var parseSearchParams = function (result, query) { | |
if (query) { | |
var attributes = query.split('&'); | |
var index = 0; | |
var attribute, entry; | |
while (index < attributes.length) { | |
attribute = attributes[index++]; | |
if (attribute.length) { | |
entry = attribute.split('='); | |
result.push({ | |
key: deserialize(entry.shift()), | |
value: deserialize(entry.join('=')) | |
}); | |
} | |
} | |
} | |
}; | |
var updateSearchParams = function (query) { | |
this.entries.length = 0; | |
parseSearchParams(this.entries, query); | |
}; | |
var validateArgumentsLength = function (passed, required) { | |
if (passed < required) throw TypeError('Not enough arguments'); | |
}; | |
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { | |
setInternalState(this, { | |
type: URL_SEARCH_PARAMS_ITERATOR, | |
iterator: getIterator(getInternalParamsState(params).entries), | |
kind: kind | |
}); | |
}, 'Iterator', function next() { | |
var state = getInternalIteratorState(this); | |
var kind = state.kind; | |
var step = state.iterator.next(); | |
var entry = step.value; | |
if (!step.done) { | |
step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; | |
} return step; | |
}); | |
// `URLSearchParams` constructor | |
// https://url.spec.whatwg.org/#interface-urlsearchparams | |
var URLSearchParamsConstructor = function URLSearchParams(/* init */) { | |
anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); | |
var init = arguments.length > 0 ? arguments[0] : undefined; | |
var that = this; | |
var entries = []; | |
var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; | |
setInternalState(that, { | |
type: URL_SEARCH_PARAMS, | |
entries: entries, | |
updateURL: function () { /* empty */ }, | |
updateSearchParams: updateSearchParams | |
}); | |
if (init !== undefined) { | |
if (isObject(init)) { | |
iteratorMethod = getIteratorMethod(init); | |
if (iteratorMethod) { | |
iterator = getIterator(init, iteratorMethod); | |
next = iterator.next; | |
while (!(step = next.call(iterator)).done) { | |
entryIterator = getIterator(anObject(step.value)); | |
entryNext = entryIterator.next; | |
if ( | |
(first = entryNext.call(entryIterator)).done || | |
(second = entryNext.call(entryIterator)).done || | |
!entryNext.call(entryIterator).done | |
) throw TypeError('Expected sequence with length 2'); | |
entries.push({ key: $toString(first.value), value: $toString(second.value) }); | |
} | |
} else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: $toString(init[key]) }); | |
} else { | |
parseSearchParams( | |
entries, | |
typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : $toString(init) | |
); | |
} | |
} | |
}; | |
var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; | |
redefineAll(URLSearchParamsPrototype, { | |
// `URLSearchParams.prototype.append` method | |
// https://url.spec.whatwg.org/#dom-urlsearchparams-append | |
append: function append(name, value) { | |
validateArgumentsLength(arguments.length, 2); | |
var state = getInternalParamsState(this); | |
state.entries.push({ key: $toString(name), value: $toString(value) }); | |
state.updateURL(); | |
}, | |
// `URLSearchParams.prototype.delete` method | |
// https://url.spec.whatwg.org/#dom-urlsearchparams-delete | |
'delete': function (name) { | |
validateArgumentsLength(arguments.length, 1); | |
var state = getInternalParamsState(this); | |
var entries = state.entries; | |
var key = $toString(name); | |
var index = 0; | |
while (index < entries.length) { | |
if (entries[index].key === key) entries.splice(index, 1); | |
else index++; | |
} | |
state.updateURL(); | |
}, | |
// `URLSearchParams.prototype.get` method | |
// https://url.spec.whatwg.org/#dom-urlsearchparams-get | |
get: function get(name) { | |
validateArgumentsLength(arguments.length, 1); | |
var entries = getInternalParamsState(this).entries; | |
var key = $toString(name); | |
var index = 0; | |
for (; index < entries.length; index++) { | |
if (entries[index].key === key) return entries[index].value; | |
} | |
return null; | |
}, | |
// `URLSearchParams.prototype.getAll` method | |
// https://url.spec.whatwg.org/#dom-urlsearchparams-getall | |
getAll: function getAll(name) { | |
validateArgumentsLength(arguments.length, 1); | |
var entries = getInternalParamsState(this).entries; | |
var key = $toString(name); | |
var result = []; | |
var index = 0; | |
for (; index < entries.length; index++) { | |
if (entries[index].key === key) result.push(entries[index].value); | |
} | |
return result; | |
}, | |
// `URLSearchParams.prototype.has` method | |
// https://url.spec.whatwg.org/#dom-urlsearchparams-has | |
has: function has(name) { | |
validateArgumentsLength(arguments.length, 1); | |
var entries = getInternalParamsState(this).entries; | |
var key = $toString(name); | |
var index = 0; | |
while (index < entries.length) { | |
if (entries[index++].key === key) return true; | |
} | |
return false; | |
}, | |
// `URLSearchParams.prototype.set` method | |
// https://url.spec.whatwg.org/#dom-urlsearchparams-set | |
set: function set(name, value) { | |
validateArgumentsLength(arguments.length, 1); | |
var state = getInternalParamsState(this); | |
var entries = state.entries; | |
var found = false; | |
var key = $toString(name); | |
var val = $toString(value); | |
var index = 0; | |
var entry; | |
for (; index < entries.length; index++) { | |
entry = entries[index]; | |
if (entry.key === key) { | |
if (found) entries.splice(index--, 1); | |
else { | |
found = true; | |
entry.value = val; | |
} | |
} | |
} | |
if (!found) entries.push({ key: key, value: val }); | |
state.updateURL(); | |
}, | |
// `URLSearchParams.prototype.sort` method | |
// https://url.spec.whatwg.org/#dom-urlsearchparams-sort | |
sort: function sort() { | |
var state = getInternalParamsState(this); | |
var entries = state.entries; | |
// Array#sort is not stable in some engines | |
var slice = entries.slice(); | |
var entry, entriesIndex, sliceIndex; | |
entries.length = 0; | |
for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { | |
entry = slice[sliceIndex]; | |
for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { | |
if (entries[entriesIndex].key > entry.key) { | |
entries.splice(entriesIndex, 0, entry); | |
break; | |
} | |
} | |
if (entriesIndex === sliceIndex) entries.push(entry); | |
} | |
state.updateURL(); | |
}, | |
// `URLSearchParams.prototype.forEach` method | |
forEach: function forEach(callback /* , thisArg */) { | |
var entries = getInternalParamsState(this).entries; | |
var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); | |
var index = 0; | |
var entry; | |
while (index < entries.length) { | |
entry = entries[index++]; | |
boundFunction(entry.value, entry.key, this); | |
} | |
}, | |
// `URLSearchParams.prototype.keys` method | |
keys: function keys() { | |
return new URLSearchParamsIterator(this, 'keys'); | |
}, | |
// `URLSearchParams.prototype.values` method | |
values: function values() { | |
return new URLSearchParamsIterator(this, 'values'); | |
}, | |
// `URLSearchParams.prototype.entries` method | |
entries: function entries() { | |
return new URLSearchParamsIterator(this, 'entries'); | |
} | |
}, { enumerable: true }); | |
// `URLSearchParams.prototype[@@iterator]` method | |
redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); | |
// `URLSearchParams.prototype.toString` method | |
// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior | |
redefine(URLSearchParamsPrototype, 'toString', function toString() { | |
var entries = getInternalParamsState(this).entries; | |
var result = []; | |
var index = 0; | |
var entry; | |
while (index < entries.length) { | |
entry = entries[index++]; | |
result.push(serialize(entry.key) + '=' + serialize(entry.value)); | |
} return result.join('&'); | |
}, { enumerable: true }); | |
setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); | |
$({ global: true, forced: !USE_NATIVE_URL }, { | |
URLSearchParams: URLSearchParamsConstructor | |
}); | |
// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` | |
if (!USE_NATIVE_URL && isCallable(Headers)) { | |
var wrapRequestOptions = function (init) { | |
if (isObject(init)) { | |
var body = init.body; | |
var headers; | |
if (classof(body) === URL_SEARCH_PARAMS) { | |
headers = init.headers ? new Headers(init.headers) : new Headers(); | |
if (!headers.has('content-type')) { | |
headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); | |
} | |
return create(init, { | |
body: createPropertyDescriptor(0, String(body)), | |
headers: createPropertyDescriptor(0, headers) | |
}); | |
} | |
} return init; | |
}; | |
if (isCallable(nativeFetch)) { | |
$({ global: true, enumerable: true, forced: true }, { | |
fetch: function fetch(input /* , init */) { | |
return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); | |
} | |
}); | |
} | |
if (isCallable(NativeRequest)) { | |
var RequestConstructor = function Request(input /* , init */) { | |
anInstance(this, RequestConstructor, 'Request'); | |
return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); | |
}; | |
RequestPrototype.constructor = RequestConstructor; | |
RequestConstructor.prototype = RequestPrototype; | |
$({ global: true, forced: true }, { | |
Request: RequestConstructor | |
}); | |
} | |
} | |
module.exports = { | |
URLSearchParams: URLSearchParamsConstructor, | |
getState: getInternalParamsState | |
}; | |
/***/ }), | |
/***/ "99af": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var fails = __webpack_require__("d039"); | |
var isArray = __webpack_require__("e8b5"); | |
var isObject = __webpack_require__("861d"); | |
var toObject = __webpack_require__("7b0b"); | |
var lengthOfArrayLike = __webpack_require__("07fa"); | |
var createProperty = __webpack_require__("8418"); | |
var arraySpeciesCreate = __webpack_require__("65f0"); | |
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var V8_VERSION = __webpack_require__("2d00"); | |
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); | |
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; | |
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; | |
// We can't use this feature detection in V8 since it causes | |
// deoptimization and serious performance degradation | |
// https://github.com/zloirock/core-js/issues/679 | |
var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { | |
var array = []; | |
array[IS_CONCAT_SPREADABLE] = false; | |
return array.concat()[0] !== array; | |
}); | |
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); | |
var isConcatSpreadable = function (O) { | |
if (!isObject(O)) return false; | |
var spreadable = O[IS_CONCAT_SPREADABLE]; | |
return spreadable !== undefined ? !!spreadable : isArray(O); | |
}; | |
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; | |
// `Array.prototype.concat` method | |
// https://tc39.es/ecma262/#sec-array.prototype.concat | |
// with adding support of @@isConcatSpreadable and @@species | |
$({ target: 'Array', proto: true, forced: FORCED }, { | |
// eslint-disable-next-line no-unused-vars -- required for `.length` | |
concat: function concat(arg) { | |
var O = toObject(this); | |
var A = arraySpeciesCreate(O, 0); | |
var n = 0; | |
var i, k, length, len, E; | |
for (i = -1, length = arguments.length; i < length; i++) { | |
E = i === -1 ? O : arguments[i]; | |
if (isConcatSpreadable(E)) { | |
len = lengthOfArrayLike(E); | |
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); | |
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); | |
} else { | |
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); | |
createProperty(A, n++, E); | |
} | |
} | |
A.length = n; | |
return A; | |
} | |
}); | |
/***/ }), | |
/***/ "9a0c": | |
/***/ (function(module, exports, __webpack_require__) { | |
// https://github.com/zloirock/core-js/issues/280 | |
var userAgent = __webpack_require__("342f"); | |
module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); | |
/***/ }), | |
/***/ "9a1f": | |
/***/ (function(module, exports, __webpack_require__) { | |
var aCallable = __webpack_require__("59ed"); | |
var anObject = __webpack_require__("825a"); | |
var getIteratorMethod = __webpack_require__("35a1"); | |
module.exports = function (argument, usingIterator) { | |
var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; | |
if (aCallable(iteratorMethod)) return anObject(iteratorMethod.call(argument)); | |
throw TypeError(String(argument) + ' is not iterable'); | |
}; | |
/***/ }), | |
/***/ "9bdd": | |
/***/ (function(module, exports, __webpack_require__) { | |
var anObject = __webpack_require__("825a"); | |
var iteratorClose = __webpack_require__("2a62"); | |
// call something on iterator step with safe closing on error | |
module.exports = function (iterator, fn, value, ENTRIES) { | |
try { | |
return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); | |
} catch (error) { | |
iteratorClose(iterator, 'throw', error); | |
} | |
}; | |
/***/ }), | |
/***/ "9bf2": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var IE8_DOM_DEFINE = __webpack_require__("0cfb"); | |
var anObject = __webpack_require__("825a"); | |
var toPropertyKey = __webpack_require__("a04b"); | |
// eslint-disable-next-line es/no-object-defineproperty -- safe | |
var $defineProperty = Object.defineProperty; | |
// `Object.defineProperty` method | |
// https://tc39.es/ecma262/#sec-object.defineproperty | |
exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { | |
anObject(O); | |
P = toPropertyKey(P); | |
anObject(Attributes); | |
if (IE8_DOM_DEFINE) try { | |
return $defineProperty(O, P, Attributes); | |
} catch (error) { /* empty */ } | |
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); | |
if ('value' in Attributes) O[P] = Attributes.value; | |
return O; | |
}; | |
/***/ }), | |
/***/ "9ed3": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var IteratorPrototype = __webpack_require__("ae93").IteratorPrototype; | |
var create = __webpack_require__("7c73"); | |
var createPropertyDescriptor = __webpack_require__("5c6c"); | |
var setToStringTag = __webpack_require__("d44e"); | |
var Iterators = __webpack_require__("3f8c"); | |
var returnThis = function () { return this; }; | |
module.exports = function (IteratorConstructor, NAME, next) { | |
var TO_STRING_TAG = NAME + ' Iterator'; | |
IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); | |
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); | |
Iterators[TO_STRING_TAG] = returnThis; | |
return IteratorConstructor; | |
}; | |
/***/ }), | |
/***/ "9f7f": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
var global = __webpack_require__("da84"); | |
// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError | |
var $RegExp = global.RegExp; | |
exports.UNSUPPORTED_Y = fails(function () { | |
var re = $RegExp('a', 'y'); | |
re.lastIndex = 2; | |
return re.exec('abcd') != null; | |
}); | |
exports.BROKEN_CARET = fails(function () { | |
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687 | |
var re = $RegExp('^r', 'gy'); | |
re.lastIndex = 2; | |
return re.exec('str') != null; | |
}); | |
/***/ }), | |
/***/ "a04b": | |
/***/ (function(module, exports, __webpack_require__) { | |
var toPrimitive = __webpack_require__("c04e"); | |
var isSymbol = __webpack_require__("d9b5"); | |
// `ToPropertyKey` abstract operation | |
// https://tc39.es/ecma262/#sec-topropertykey | |
module.exports = function (argument) { | |
var key = toPrimitive(argument, 'string'); | |
return isSymbol(key) ? key : String(key); | |
}; | |
/***/ }), | |
/***/ "a15b": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var IndexedObject = __webpack_require__("44ad"); | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var arrayMethodIsStrict = __webpack_require__("a640"); | |
var nativeJoin = [].join; | |
var ES3_STRINGS = IndexedObject != Object; | |
var STRICT_METHOD = arrayMethodIsStrict('join', ','); | |
// `Array.prototype.join` method | |
// https://tc39.es/ecma262/#sec-array.prototype.join | |
$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { | |
join: function join(separator) { | |
return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); | |
} | |
}); | |
/***/ }), | |
/***/ "a434": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var toAbsoluteIndex = __webpack_require__("23cb"); | |
var toIntegerOrInfinity = __webpack_require__("5926"); | |
var lengthOfArrayLike = __webpack_require__("07fa"); | |
var toObject = __webpack_require__("7b0b"); | |
var arraySpeciesCreate = __webpack_require__("65f0"); | |
var createProperty = __webpack_require__("8418"); | |
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde"); | |
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); | |
var max = Math.max; | |
var min = Math.min; | |
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; | |
var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; | |
// `Array.prototype.splice` method | |
// https://tc39.es/ecma262/#sec-array.prototype.splice | |
// with adding support of @@species | |
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { | |
splice: function splice(start, deleteCount /* , ...items */) { | |
var O = toObject(this); | |
var len = lengthOfArrayLike(O); | |
var actualStart = toAbsoluteIndex(start, len); | |
var argumentsLength = arguments.length; | |
var insertCount, actualDeleteCount, A, k, from, to; | |
if (argumentsLength === 0) { | |
insertCount = actualDeleteCount = 0; | |
} else if (argumentsLength === 1) { | |
insertCount = 0; | |
actualDeleteCount = len - actualStart; | |
} else { | |
insertCount = argumentsLength - 2; | |
actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); | |
} | |
if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { | |
throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); | |
} | |
A = arraySpeciesCreate(O, actualDeleteCount); | |
for (k = 0; k < actualDeleteCount; k++) { | |
from = actualStart + k; | |
if (from in O) createProperty(A, k, O[from]); | |
} | |
A.length = actualDeleteCount; | |
if (insertCount < actualDeleteCount) { | |
for (k = actualStart; k < len - actualDeleteCount; k++) { | |
from = k + actualDeleteCount; | |
to = k + insertCount; | |
if (from in O) O[to] = O[from]; | |
else delete O[to]; | |
} | |
for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; | |
} else if (insertCount > actualDeleteCount) { | |
for (k = len - actualDeleteCount; k > actualStart; k--) { | |
from = k + actualDeleteCount - 1; | |
to = k + insertCount - 1; | |
if (from in O) O[to] = O[from]; | |
else delete O[to]; | |
} | |
} | |
for (k = 0; k < insertCount; k++) { | |
O[k + actualStart] = arguments[k + 2]; | |
} | |
O.length = len - actualDeleteCount + insertCount; | |
return A; | |
} | |
}); | |
/***/ }), | |
/***/ "a4b4": | |
/***/ (function(module, exports, __webpack_require__) { | |
var userAgent = __webpack_require__("342f"); | |
module.exports = /web0s(?!.*chrome)/i.test(userAgent); | |
/***/ }), | |
/***/ "a4d3": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var global = __webpack_require__("da84"); | |
var getBuiltIn = __webpack_require__("d066"); | |
var IS_PURE = __webpack_require__("c430"); | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var NATIVE_SYMBOL = __webpack_require__("4930"); | |
var fails = __webpack_require__("d039"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var isArray = __webpack_require__("e8b5"); | |
var isCallable = __webpack_require__("1626"); | |
var isObject = __webpack_require__("861d"); | |
var isSymbol = __webpack_require__("d9b5"); | |
var anObject = __webpack_require__("825a"); | |
var toObject = __webpack_require__("7b0b"); | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var toPropertyKey = __webpack_require__("a04b"); | |
var $toString = __webpack_require__("577e"); | |
var createPropertyDescriptor = __webpack_require__("5c6c"); | |
var nativeObjectCreate = __webpack_require__("7c73"); | |
var objectKeys = __webpack_require__("df75"); | |
var getOwnPropertyNamesModule = __webpack_require__("241c"); | |
var getOwnPropertyNamesExternal = __webpack_require__("057f"); | |
var getOwnPropertySymbolsModule = __webpack_require__("7418"); | |
var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); | |
var definePropertyModule = __webpack_require__("9bf2"); | |
var propertyIsEnumerableModule = __webpack_require__("d1e7"); | |
var redefine = __webpack_require__("6eeb"); | |
var shared = __webpack_require__("5692"); | |
var sharedKey = __webpack_require__("f772"); | |
var hiddenKeys = __webpack_require__("d012"); | |
var uid = __webpack_require__("90e3"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var wrappedWellKnownSymbolModule = __webpack_require__("e538"); | |
var defineWellKnownSymbol = __webpack_require__("746f"); | |
var setToStringTag = __webpack_require__("d44e"); | |
var InternalStateModule = __webpack_require__("69f3"); | |
var $forEach = __webpack_require__("b727").forEach; | |
var HIDDEN = sharedKey('hidden'); | |
var SYMBOL = 'Symbol'; | |
var PROTOTYPE = 'prototype'; | |
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); | |
var setInternalState = InternalStateModule.set; | |
var getInternalState = InternalStateModule.getterFor(SYMBOL); | |
var ObjectPrototype = Object[PROTOTYPE]; | |
var $Symbol = global.Symbol; | |
var $stringify = getBuiltIn('JSON', 'stringify'); | |
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; | |
var nativeDefineProperty = definePropertyModule.f; | |
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; | |
var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; | |
var AllSymbols = shared('symbols'); | |
var ObjectPrototypeSymbols = shared('op-symbols'); | |
var StringToSymbolRegistry = shared('string-to-symbol-registry'); | |
var SymbolToStringRegistry = shared('symbol-to-string-registry'); | |
var WellKnownSymbolsStore = shared('wks'); | |
var QObject = global.QObject; | |
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 | |
var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; | |
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 | |
var setSymbolDescriptor = DESCRIPTORS && fails(function () { | |
return nativeObjectCreate(nativeDefineProperty({}, 'a', { | |
get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } | |
})).a != 7; | |
}) ? function (O, P, Attributes) { | |
var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); | |
if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; | |
nativeDefineProperty(O, P, Attributes); | |
if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { | |
nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); | |
} | |
} : nativeDefineProperty; | |
var wrap = function (tag, description) { | |
var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); | |
setInternalState(symbol, { | |
type: SYMBOL, | |
tag: tag, | |
description: description | |
}); | |
if (!DESCRIPTORS) symbol.description = description; | |
return symbol; | |
}; | |
var $defineProperty = function defineProperty(O, P, Attributes) { | |
if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); | |
anObject(O); | |
var key = toPropertyKey(P); | |
anObject(Attributes); | |
if (hasOwn(AllSymbols, key)) { | |
if (!Attributes.enumerable) { | |
if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); | |
O[HIDDEN][key] = true; | |
} else { | |
if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; | |
Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); | |
} return setSymbolDescriptor(O, key, Attributes); | |
} return nativeDefineProperty(O, key, Attributes); | |
}; | |
var $defineProperties = function defineProperties(O, Properties) { | |
anObject(O); | |
var properties = toIndexedObject(Properties); | |
var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); | |
$forEach(keys, function (key) { | |
if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); | |
}); | |
return O; | |
}; | |
var $create = function create(O, Properties) { | |
return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); | |
}; | |
var $propertyIsEnumerable = function propertyIsEnumerable(V) { | |
var P = toPropertyKey(V); | |
var enumerable = nativePropertyIsEnumerable.call(this, P); | |
if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; | |
return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] | |
? enumerable : true; | |
}; | |
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { | |
var it = toIndexedObject(O); | |
var key = toPropertyKey(P); | |
if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; | |
var descriptor = nativeGetOwnPropertyDescriptor(it, key); | |
if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { | |
descriptor.enumerable = true; | |
} | |
return descriptor; | |
}; | |
var $getOwnPropertyNames = function getOwnPropertyNames(O) { | |
var names = nativeGetOwnPropertyNames(toIndexedObject(O)); | |
var result = []; | |
$forEach(names, function (key) { | |
if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) result.push(key); | |
}); | |
return result; | |
}; | |
var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { | |
var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; | |
var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); | |
var result = []; | |
$forEach(names, function (key) { | |
if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { | |
result.push(AllSymbols[key]); | |
} | |
}); | |
return result; | |
}; | |
// `Symbol` constructor | |
// https://tc39.es/ecma262/#sec-symbol-constructor | |
if (!NATIVE_SYMBOL) { | |
$Symbol = function Symbol() { | |
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); | |
var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); | |
var tag = uid(description); | |
var setter = function (value) { | |
if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); | |
if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; | |
setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); | |
}; | |
if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); | |
return wrap(tag, description); | |
}; | |
redefine($Symbol[PROTOTYPE], 'toString', function toString() { | |
return getInternalState(this).tag; | |
}); | |
redefine($Symbol, 'withoutSetter', function (description) { | |
return wrap(uid(description), description); | |
}); | |
propertyIsEnumerableModule.f = $propertyIsEnumerable; | |
definePropertyModule.f = $defineProperty; | |
getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; | |
getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; | |
getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; | |
wrappedWellKnownSymbolModule.f = function (name) { | |
return wrap(wellKnownSymbol(name), name); | |
}; | |
if (DESCRIPTORS) { | |
// https://github.com/tc39/proposal-Symbol-description | |
nativeDefineProperty($Symbol[PROTOTYPE], 'description', { | |
configurable: true, | |
get: function description() { | |
return getInternalState(this).description; | |
} | |
}); | |
if (!IS_PURE) { | |
redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); | |
} | |
} | |
} | |
$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { | |
Symbol: $Symbol | |
}); | |
$forEach(objectKeys(WellKnownSymbolsStore), function (name) { | |
defineWellKnownSymbol(name); | |
}); | |
$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { | |
// `Symbol.for` method | |
// https://tc39.es/ecma262/#sec-symbol.for | |
'for': function (key) { | |
var string = $toString(key); | |
if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; | |
var symbol = $Symbol(string); | |
StringToSymbolRegistry[string] = symbol; | |
SymbolToStringRegistry[symbol] = string; | |
return symbol; | |
}, | |
// `Symbol.keyFor` method | |
// https://tc39.es/ecma262/#sec-symbol.keyfor | |
keyFor: function keyFor(sym) { | |
if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); | |
if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; | |
}, | |
useSetter: function () { USE_SETTER = true; }, | |
useSimple: function () { USE_SETTER = false; } | |
}); | |
$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { | |
// `Object.create` method | |
// https://tc39.es/ecma262/#sec-object.create | |
create: $create, | |
// `Object.defineProperty` method | |
// https://tc39.es/ecma262/#sec-object.defineproperty | |
defineProperty: $defineProperty, | |
// `Object.defineProperties` method | |
// https://tc39.es/ecma262/#sec-object.defineproperties | |
defineProperties: $defineProperties, | |
// `Object.getOwnPropertyDescriptor` method | |
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors | |
getOwnPropertyDescriptor: $getOwnPropertyDescriptor | |
}); | |
$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { | |
// `Object.getOwnPropertyNames` method | |
// https://tc39.es/ecma262/#sec-object.getownpropertynames | |
getOwnPropertyNames: $getOwnPropertyNames, | |
// `Object.getOwnPropertySymbols` method | |
// https://tc39.es/ecma262/#sec-object.getownpropertysymbols | |
getOwnPropertySymbols: $getOwnPropertySymbols | |
}); | |
// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives | |
// https://bugs.chromium.org/p/v8/issues/detail?id=3443 | |
$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { | |
getOwnPropertySymbols: function getOwnPropertySymbols(it) { | |
return getOwnPropertySymbolsModule.f(toObject(it)); | |
} | |
}); | |
// `JSON.stringify` method behavior with symbols | |
// https://tc39.es/ecma262/#sec-json.stringify | |
if ($stringify) { | |
var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { | |
var symbol = $Symbol(); | |
// MS Edge converts symbol values to JSON as {} | |
return $stringify([symbol]) != '[null]' | |
// WebKit converts symbol values to JSON as null | |
|| $stringify({ a: symbol }) != '{}' | |
// V8 throws on boxed symbols | |
|| $stringify(Object(symbol)) != '{}'; | |
}); | |
$({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { | |
// eslint-disable-next-line no-unused-vars -- required for `.length` | |
stringify: function stringify(it, replacer, space) { | |
var args = [it]; | |
var index = 1; | |
var $replacer; | |
while (arguments.length > index) args.push(arguments[index++]); | |
$replacer = replacer; | |
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined | |
if (!isArray(replacer)) replacer = function (key, value) { | |
if (isCallable($replacer)) value = $replacer.call(this, key, value); | |
if (!isSymbol(value)) return value; | |
}; | |
args[1] = replacer; | |
return $stringify.apply(null, args); | |
} | |
}); | |
} | |
// `Symbol.prototype[@@toPrimitive]` method | |
// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive | |
if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { | |
var valueOf = $Symbol[PROTOTYPE].valueOf; | |
redefine($Symbol[PROTOTYPE], TO_PRIMITIVE, function () { | |
return valueOf.apply(this, arguments); | |
}); | |
} | |
// `Symbol.prototype[@@toStringTag]` property | |
// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag | |
setToStringTag($Symbol, SYMBOL); | |
hiddenKeys[HIDDEN] = true; | |
/***/ }), | |
/***/ "a630": | |
/***/ (function(module, exports, __webpack_require__) { | |
var $ = __webpack_require__("23e7"); | |
var from = __webpack_require__("4df4"); | |
var checkCorrectnessOfIteration = __webpack_require__("1c7e"); | |
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { | |
// eslint-disable-next-line es/no-array-from -- required for testing | |
Array.from(iterable); | |
}); | |
// `Array.from` method | |
// https://tc39.es/ecma262/#sec-array.from | |
$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { | |
from: from | |
}); | |
/***/ }), | |
/***/ "a640": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var fails = __webpack_require__("d039"); | |
module.exports = function (METHOD_NAME, argument) { | |
var method = [][METHOD_NAME]; | |
return !!method && fails(function () { | |
// eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing | |
method.call(null, argument || function () { throw 1; }, 1); | |
}); | |
}; | |
/***/ }), | |
/***/ "a9e3": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var global = __webpack_require__("da84"); | |
var isForced = __webpack_require__("94ca"); | |
var redefine = __webpack_require__("6eeb"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var inheritIfRequired = __webpack_require__("7156"); | |
var isSymbol = __webpack_require__("d9b5"); | |
var toPrimitive = __webpack_require__("c04e"); | |
var fails = __webpack_require__("d039"); | |
var getOwnPropertyNames = __webpack_require__("241c").f; | |
var getOwnPropertyDescriptor = __webpack_require__("06cf").f; | |
var defineProperty = __webpack_require__("9bf2").f; | |
var thisNumberValue = __webpack_require__("408a"); | |
var trim = __webpack_require__("58a8").trim; | |
var NUMBER = 'Number'; | |
var NativeNumber = global[NUMBER]; | |
var NumberPrototype = NativeNumber.prototype; | |
// `ToNumeric` abstract operation | |
// https://tc39.es/ecma262/#sec-tonumeric | |
var toNumeric = function (value) { | |
var primValue = toPrimitive(value, 'number'); | |
return typeof primValue === 'bigint' ? primValue : toNumber(primValue); | |
}; | |
// `ToNumber` abstract operation | |
// https://tc39.es/ecma262/#sec-tonumber | |
var toNumber = function (argument) { | |
var it = toPrimitive(argument, 'number'); | |
var first, third, radix, maxCode, digits, length, index, code; | |
if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number'); | |
if (typeof it == 'string' && it.length > 2) { | |
it = trim(it); | |
first = it.charCodeAt(0); | |
if (first === 43 || first === 45) { | |
third = it.charCodeAt(2); | |
if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix | |
} else if (first === 48) { | |
switch (it.charCodeAt(1)) { | |
case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i | |
case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i | |
default: return +it; | |
} | |
digits = it.slice(2); | |
length = digits.length; | |
for (index = 0; index < length; index++) { | |
code = digits.charCodeAt(index); | |
// parseInt parses a string to a first unavailable symbol | |
// but ToNumber should return NaN if a string contains unavailable symbols | |
if (code < 48 || code > maxCode) return NaN; | |
} return parseInt(digits, radix); | |
} | |
} return +it; | |
}; | |
// `Number` constructor | |
// https://tc39.es/ecma262/#sec-number-constructor | |
if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { | |
var NumberWrapper = function Number(value) { | |
var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); | |
var dummy = this; | |
// check on 1..constructor(foo) case | |
return dummy instanceof NumberWrapper && fails(function () { thisNumberValue(dummy); }) | |
? inheritIfRequired(Object(n), dummy, NumberWrapper) : n; | |
}; | |
for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( | |
// ES3: | |
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + | |
// ES2015 (in case, if modules with ES2015 Number statics required before): | |
'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + | |
// ESNext | |
'fromString,range' | |
).split(','), j = 0, key; keys.length > j; j++) { | |
if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) { | |
defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); | |
} | |
} | |
NumberWrapper.prototype = NumberPrototype; | |
NumberPrototype.constructor = NumberWrapper; | |
redefine(global, NUMBER, NumberWrapper); | |
} | |
/***/ }), | |
/***/ "ab13": | |
/***/ (function(module, exports, __webpack_require__) { | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var MATCH = wellKnownSymbol('match'); | |
module.exports = function (METHOD_NAME) { | |
var regexp = /./; | |
try { | |
'/./'[METHOD_NAME](regexp); | |
} catch (error1) { | |
try { | |
regexp[MATCH] = false; | |
return '/./'[METHOD_NAME](regexp); | |
} catch (error2) { /* empty */ } | |
} return false; | |
}; | |
/***/ }), | |
/***/ "ac1f": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var exec = __webpack_require__("9263"); | |
// `RegExp.prototype.exec` method | |
// https://tc39.es/ecma262/#sec-regexp.prototype.exec | |
$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { | |
exec: exec | |
}); | |
/***/ }), | |
/***/ "ad6d": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var anObject = __webpack_require__("825a"); | |
// `RegExp.prototype.flags` getter implementation | |
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags | |
module.exports = function () { | |
var that = anObject(this); | |
var result = ''; | |
if (that.global) result += 'g'; | |
if (that.ignoreCase) result += 'i'; | |
if (that.multiline) result += 'm'; | |
if (that.dotAll) result += 's'; | |
if (that.unicode) result += 'u'; | |
if (that.sticky) result += 'y'; | |
return result; | |
}; | |
/***/ }), | |
/***/ "addb": | |
/***/ (function(module, exports) { | |
// TODO: use something more complex like timsort? | |
var floor = Math.floor; | |
var mergeSort = function (array, comparefn) { | |
var length = array.length; | |
var middle = floor(length / 2); | |
return length < 8 ? insertionSort(array, comparefn) : merge( | |
mergeSort(array.slice(0, middle), comparefn), | |
mergeSort(array.slice(middle), comparefn), | |
comparefn | |
); | |
}; | |
var insertionSort = function (array, comparefn) { | |
var length = array.length; | |
var i = 1; | |
var element, j; | |
while (i < length) { | |
j = i; | |
element = array[i]; | |
while (j && comparefn(array[j - 1], element) > 0) { | |
array[j] = array[--j]; | |
} | |
if (j !== i++) array[j] = element; | |
} return array; | |
}; | |
var merge = function (left, right, comparefn) { | |
var llength = left.length; | |
var rlength = right.length; | |
var lindex = 0; | |
var rindex = 0; | |
var result = []; | |
while (lindex < llength || rindex < rlength) { | |
if (lindex < llength && rindex < rlength) { | |
result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]); | |
} else { | |
result.push(lindex < llength ? left[lindex++] : right[rindex++]); | |
} | |
} return result; | |
}; | |
module.exports = mergeSort; | |
/***/ }), | |
/***/ "ae93": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var fails = __webpack_require__("d039"); | |
var isCallable = __webpack_require__("1626"); | |
var create = __webpack_require__("7c73"); | |
var getPrototypeOf = __webpack_require__("e163"); | |
var redefine = __webpack_require__("6eeb"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var IS_PURE = __webpack_require__("c430"); | |
var ITERATOR = wellKnownSymbol('iterator'); | |
var BUGGY_SAFARI_ITERATORS = false; | |
// `%IteratorPrototype%` object | |
// https://tc39.es/ecma262/#sec-%iteratorprototype%-object | |
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; | |
/* eslint-disable es/no-array-prototype-keys -- safe */ | |
if ([].keys) { | |
arrayIterator = [].keys(); | |
// Safari 8 has buggy iterators w/o `next` | |
if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; | |
else { | |
PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); | |
if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; | |
} | |
} | |
var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { | |
var test = {}; | |
// FF44- legacy iterators case | |
return IteratorPrototype[ITERATOR].call(test) !== test; | |
}); | |
if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; | |
else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); | |
// `%IteratorPrototype%[@@iterator]()` method | |
// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator | |
if (!isCallable(IteratorPrototype[ITERATOR])) { | |
redefine(IteratorPrototype, ITERATOR, function () { | |
return this; | |
}); | |
} | |
module.exports = { | |
IteratorPrototype: IteratorPrototype, | |
BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS | |
}; | |
/***/ }), | |
/***/ "af03": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
// check the existence of a method, lowercase | |
// of a tag and escaping quotes in arguments | |
module.exports = function (METHOD_NAME) { | |
return fails(function () { | |
var test = ''[METHOD_NAME]('"'); | |
return test !== test.toLowerCase() || test.split('"').length > 3; | |
}); | |
}; | |
/***/ }), | |
/***/ "b041": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee"); | |
var classof = __webpack_require__("f5df"); | |
// `Object.prototype.toString` method implementation | |
// https://tc39.es/ecma262/#sec-object.prototype.tostring | |
module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { | |
return '[object ' + classof(this) + ']'; | |
}; | |
/***/ }), | |
/***/ "b0c0": | |
/***/ (function(module, exports, __webpack_require__) { | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var FUNCTION_NAME_EXISTS = __webpack_require__("5e77").EXISTS; | |
var defineProperty = __webpack_require__("9bf2").f; | |
var FunctionPrototype = Function.prototype; | |
var FunctionPrototypeToString = FunctionPrototype.toString; | |
var nameRE = /^\s*function ([^ (]*)/; | |
var NAME = 'name'; | |
// Function instances `.name` property | |
// https://tc39.es/ecma262/#sec-function-instances-name | |
if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { | |
defineProperty(FunctionPrototype, NAME, { | |
configurable: true, | |
get: function () { | |
try { | |
return FunctionPrototypeToString.call(this).match(nameRE)[1]; | |
} catch (error) { | |
return ''; | |
} | |
} | |
}); | |
} | |
/***/ }), | |
/***/ "b575": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var getOwnPropertyDescriptor = __webpack_require__("06cf").f; | |
var macrotask = __webpack_require__("2cf4").set; | |
var IS_IOS = __webpack_require__("1cdc"); | |
var IS_IOS_PEBBLE = __webpack_require__("d4c3"); | |
var IS_WEBOS_WEBKIT = __webpack_require__("a4b4"); | |
var IS_NODE = __webpack_require__("605d"); | |
var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; | |
var document = global.document; | |
var process = global.process; | |
var Promise = global.Promise; | |
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` | |
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); | |
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; | |
var flush, head, last, notify, toggle, node, promise, then; | |
// modern engines have queueMicrotask method | |
if (!queueMicrotask) { | |
flush = function () { | |
var parent, fn; | |
if (IS_NODE && (parent = process.domain)) parent.exit(); | |
while (head) { | |
fn = head.fn; | |
head = head.next; | |
try { | |
fn(); | |
} catch (error) { | |
if (head) notify(); | |
else last = undefined; | |
throw error; | |
} | |
} last = undefined; | |
if (parent) parent.enter(); | |
}; | |
// browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 | |
// also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 | |
if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { | |
toggle = true; | |
node = document.createTextNode(''); | |
new MutationObserver(flush).observe(node, { characterData: true }); | |
notify = function () { | |
node.data = toggle = !toggle; | |
}; | |
// environments with maybe non-completely correct, but existent Promise | |
} else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { | |
// Promise.resolve without an argument throws an error in LG WebOS 2 | |
promise = Promise.resolve(undefined); | |
// workaround of WebKit ~ iOS Safari 10.1 bug | |
promise.constructor = Promise; | |
then = promise.then; | |
notify = function () { | |
then.call(promise, flush); | |
}; | |
// Node.js without promises | |
} else if (IS_NODE) { | |
notify = function () { | |
process.nextTick(flush); | |
}; | |
// for other environments - macrotask based on: | |
// - setImmediate | |
// - MessageChannel | |
// - window.postMessag | |
// - onreadystatechange | |
// - setTimeout | |
} else { | |
notify = function () { | |
// strange IE + webpack dev server bug - use .call(global) | |
macrotask.call(global, flush); | |
}; | |
} | |
} | |
module.exports = queueMicrotask || function (fn) { | |
var task = { fn: fn, next: undefined }; | |
if (last) last.next = task; | |
if (!head) { | |
head = task; | |
notify(); | |
} last = task; | |
}; | |
/***/ }), | |
/***/ "b622": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var shared = __webpack_require__("5692"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var uid = __webpack_require__("90e3"); | |
var NATIVE_SYMBOL = __webpack_require__("4930"); | |
var USE_SYMBOL_AS_UID = __webpack_require__("fdbf"); | |
var WellKnownSymbolsStore = shared('wks'); | |
var Symbol = global.Symbol; | |
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; | |
module.exports = function (name) { | |
if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { | |
if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { | |
WellKnownSymbolsStore[name] = Symbol[name]; | |
} else { | |
WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); | |
} | |
} return WellKnownSymbolsStore[name]; | |
}; | |
/***/ }), | |
/***/ "b64b": | |
/***/ (function(module, exports, __webpack_require__) { | |
var $ = __webpack_require__("23e7"); | |
var toObject = __webpack_require__("7b0b"); | |
var nativeKeys = __webpack_require__("df75"); | |
var fails = __webpack_require__("d039"); | |
var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); | |
// `Object.keys` method | |
// https://tc39.es/ecma262/#sec-object.keys | |
$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { | |
keys: function keys(it) { | |
return nativeKeys(toObject(it)); | |
} | |
}); | |
/***/ }), | |
/***/ "b680": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var toIntegerOrInfinity = __webpack_require__("5926"); | |
var thisNumberValue = __webpack_require__("408a"); | |
var repeat = __webpack_require__("1148"); | |
var fails = __webpack_require__("d039"); | |
var nativeToFixed = 1.0.toFixed; | |
var floor = Math.floor; | |
var pow = function (x, n, acc) { | |
return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); | |
}; | |
var log = function (x) { | |
var n = 0; | |
var x2 = x; | |
while (x2 >= 4096) { | |
n += 12; | |
x2 /= 4096; | |
} | |
while (x2 >= 2) { | |
n += 1; | |
x2 /= 2; | |
} return n; | |
}; | |
var multiply = function (data, n, c) { | |
var index = -1; | |
var c2 = c; | |
while (++index < 6) { | |
c2 += n * data[index]; | |
data[index] = c2 % 1e7; | |
c2 = floor(c2 / 1e7); | |
} | |
}; | |
var divide = function (data, n) { | |
var index = 6; | |
var c = 0; | |
while (--index >= 0) { | |
c += data[index]; | |
data[index] = floor(c / n); | |
c = (c % n) * 1e7; | |
} | |
}; | |
var dataToString = function (data) { | |
var index = 6; | |
var s = ''; | |
while (--index >= 0) { | |
if (s !== '' || index === 0 || data[index] !== 0) { | |
var t = String(data[index]); | |
s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t; | |
} | |
} return s; | |
}; | |
var FORCED = nativeToFixed && ( | |
0.00008.toFixed(3) !== '0.000' || | |
0.9.toFixed(0) !== '1' || | |
1.255.toFixed(2) !== '1.25' || | |
1000000000000000128.0.toFixed(0) !== '1000000000000000128' | |
) || !fails(function () { | |
// V8 ~ Android 4.3- | |
nativeToFixed.call({}); | |
}); | |
// `Number.prototype.toFixed` method | |
// https://tc39.es/ecma262/#sec-number.prototype.tofixed | |
$({ target: 'Number', proto: true, forced: FORCED }, { | |
toFixed: function toFixed(fractionDigits) { | |
var number = thisNumberValue(this); | |
var fractDigits = toIntegerOrInfinity(fractionDigits); | |
var data = [0, 0, 0, 0, 0, 0]; | |
var sign = ''; | |
var result = '0'; | |
var e, z, j, k; | |
if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); | |
// eslint-disable-next-line no-self-compare -- NaN check | |
if (number != number) return 'NaN'; | |
if (number <= -1e21 || number >= 1e21) return String(number); | |
if (number < 0) { | |
sign = '-'; | |
number = -number; | |
} | |
if (number > 1e-21) { | |
e = log(number * pow(2, 69, 1)) - 69; | |
z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); | |
z *= 0x10000000000000; | |
e = 52 - e; | |
if (e > 0) { | |
multiply(data, 0, z); | |
j = fractDigits; | |
while (j >= 7) { | |
multiply(data, 1e7, 0); | |
j -= 7; | |
} | |
multiply(data, pow(10, j, 1), 0); | |
j = e - 1; | |
while (j >= 23) { | |
divide(data, 1 << 23); | |
j -= 23; | |
} | |
divide(data, 1 << j); | |
multiply(data, 1, 1); | |
divide(data, 2); | |
result = dataToString(data); | |
} else { | |
multiply(data, 0, z); | |
multiply(data, 1 << -e, 0); | |
result = dataToString(data) + repeat.call('0', fractDigits); | |
} | |
} | |
if (fractDigits > 0) { | |
k = result.length; | |
result = sign + (k <= fractDigits | |
? '0.' + repeat.call('0', fractDigits - k) + result | |
: result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); | |
} else { | |
result = sign + result; | |
} return result; | |
} | |
}); | |
/***/ }), | |
/***/ "b727": | |
/***/ (function(module, exports, __webpack_require__) { | |
var bind = __webpack_require__("0366"); | |
var IndexedObject = __webpack_require__("44ad"); | |
var toObject = __webpack_require__("7b0b"); | |
var lengthOfArrayLike = __webpack_require__("07fa"); | |
var arraySpeciesCreate = __webpack_require__("65f0"); | |
var push = [].push; | |
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation | |
var createMethod = function (TYPE) { | |
var IS_MAP = TYPE == 1; | |
var IS_FILTER = TYPE == 2; | |
var IS_SOME = TYPE == 3; | |
var IS_EVERY = TYPE == 4; | |
var IS_FIND_INDEX = TYPE == 6; | |
var IS_FILTER_REJECT = TYPE == 7; | |
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; | |
return function ($this, callbackfn, that, specificCreate) { | |
var O = toObject($this); | |
var self = IndexedObject(O); | |
var boundFunction = bind(callbackfn, that, 3); | |
var length = lengthOfArrayLike(self); | |
var index = 0; | |
var create = specificCreate || arraySpeciesCreate; | |
var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; | |
var value, result; | |
for (;length > index; index++) if (NO_HOLES || index in self) { | |
value = self[index]; | |
result = boundFunction(value, index, O); | |
if (TYPE) { | |
if (IS_MAP) target[index] = result; // map | |
else if (result) switch (TYPE) { | |
case 3: return true; // some | |
case 5: return value; // find | |
case 6: return index; // findIndex | |
case 2: push.call(target, value); // filter | |
} else switch (TYPE) { | |
case 4: return false; // every | |
case 7: push.call(target, value); // filterReject | |
} | |
} | |
} | |
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; | |
}; | |
}; | |
module.exports = { | |
// `Array.prototype.forEach` method | |
// https://tc39.es/ecma262/#sec-array.prototype.foreach | |
forEach: createMethod(0), | |
// `Array.prototype.map` method | |
// https://tc39.es/ecma262/#sec-array.prototype.map | |
map: createMethod(1), | |
// `Array.prototype.filter` method | |
// https://tc39.es/ecma262/#sec-array.prototype.filter | |
filter: createMethod(2), | |
// `Array.prototype.some` method | |
// https://tc39.es/ecma262/#sec-array.prototype.some | |
some: createMethod(3), | |
// `Array.prototype.every` method | |
// https://tc39.es/ecma262/#sec-array.prototype.every | |
every: createMethod(4), | |
// `Array.prototype.find` method | |
// https://tc39.es/ecma262/#sec-array.prototype.find | |
find: createMethod(5), | |
// `Array.prototype.findIndex` method | |
// https://tc39.es/ecma262/#sec-array.prototype.findIndex | |
findIndex: createMethod(6), | |
// `Array.prototype.filterReject` method | |
// https://github.com/tc39/proposal-array-filtering | |
filterReject: createMethod(7) | |
}; | |
/***/ }), | |
/***/ "bb2f": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
module.exports = !fails(function () { | |
// eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing | |
return Object.isExtensible(Object.preventExtensions({})); | |
}); | |
/***/ }), | |
/***/ "c04e": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isObject = __webpack_require__("861d"); | |
var isSymbol = __webpack_require__("d9b5"); | |
var getMethod = __webpack_require__("dc4a"); | |
var ordinaryToPrimitive = __webpack_require__("485a"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); | |
// `ToPrimitive` abstract operation | |
// https://tc39.es/ecma262/#sec-toprimitive | |
module.exports = function (input, pref) { | |
if (!isObject(input) || isSymbol(input)) return input; | |
var exoticToPrim = getMethod(input, TO_PRIMITIVE); | |
var result; | |
if (exoticToPrim) { | |
if (pref === undefined) pref = 'default'; | |
result = exoticToPrim.call(input, pref); | |
if (!isObject(result) || isSymbol(result)) return result; | |
throw TypeError("Can't convert object to primitive value"); | |
} | |
if (pref === undefined) pref = 'number'; | |
return ordinaryToPrimitive(input, pref); | |
}; | |
/***/ }), | |
/***/ "c430": | |
/***/ (function(module, exports) { | |
module.exports = false; | |
/***/ }), | |
/***/ "c6b6": | |
/***/ (function(module, exports) { | |
var toString = {}.toString; | |
module.exports = function (it) { | |
return toString.call(it).slice(8, -1); | |
}; | |
/***/ }), | |
/***/ "c6cd": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var setGlobal = __webpack_require__("ce4e"); | |
var SHARED = '__core-js_shared__'; | |
var store = global[SHARED] || setGlobal(SHARED, {}); | |
module.exports = store; | |
/***/ }), | |
/***/ "c7cd": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var createHTML = __webpack_require__("857a"); | |
var forcedStringHTMLMethod = __webpack_require__("af03"); | |
// `String.prototype.fixed` method | |
// https://tc39.es/ecma262/#sec-string.prototype.fixed | |
$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { | |
fixed: function fixed() { | |
return createHTML(this, 'tt', '', ''); | |
} | |
}); | |
/***/ }), | |
/***/ "c8ba": | |
/***/ (function(module, exports) { | |
var g; | |
// This works in non-strict mode | |
g = (function() { | |
return this; | |
})(); | |
try { | |
// This works if eval is allowed (see CSP) | |
g = g || new Function("return this")(); | |
} catch (e) { | |
// This works if the window reference is available | |
if (typeof window === "object") g = window; | |
} | |
// g can still be undefined, but nothing to do about it... | |
// We return undefined, instead of nothing here, so it's | |
// easier to handle this case. if(!global) { ...} | |
module.exports = g; | |
/***/ }), | |
/***/ "c8d2": | |
/***/ (function(module, exports, __webpack_require__) { | |
var PROPER_FUNCTION_NAME = __webpack_require__("5e77").PROPER; | |
var fails = __webpack_require__("d039"); | |
var whitespaces = __webpack_require__("5899"); | |
var non = '\u200B\u0085\u180E'; | |
// check that a method works with the correct list | |
// of whitespaces and has a correct name | |
module.exports = function (METHOD_NAME) { | |
return fails(function () { | |
return !!whitespaces[METHOD_NAME]() | |
|| non[METHOD_NAME]() !== non | |
|| (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); | |
}); | |
}; | |
/***/ }), | |
/***/ "ca84": | |
/***/ (function(module, exports, __webpack_require__) { | |
var hasOwn = __webpack_require__("1a2d"); | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var indexOf = __webpack_require__("4d64").indexOf; | |
var hiddenKeys = __webpack_require__("d012"); | |
module.exports = function (object, names) { | |
var O = toIndexedObject(object); | |
var i = 0; | |
var result = []; | |
var key; | |
for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && result.push(key); | |
// Don't enum bug & hidden keys | |
while (names.length > i) if (hasOwn(O, key = names[i++])) { | |
~indexOf(result, key) || result.push(key); | |
} | |
return result; | |
}; | |
/***/ }), | |
/***/ "caad": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var $includes = __webpack_require__("4d64").includes; | |
var addToUnscopables = __webpack_require__("44d2"); | |
// `Array.prototype.includes` method | |
// https://tc39.es/ecma262/#sec-array.prototype.includes | |
$({ target: 'Array', proto: true }, { | |
includes: function includes(el /* , fromIndex = 0 */) { | |
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); | |
} | |
}); | |
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables | |
addToUnscopables('includes'); | |
/***/ }), | |
/***/ "cc12": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var isObject = __webpack_require__("861d"); | |
var document = global.document; | |
// typeof document.createElement is 'object' in old IE | |
var EXISTS = isObject(document) && isObject(document.createElement); | |
module.exports = function (it) { | |
return EXISTS ? document.createElement(it) : {}; | |
}; | |
/***/ }), | |
/***/ "cca6": | |
/***/ (function(module, exports, __webpack_require__) { | |
var $ = __webpack_require__("23e7"); | |
var assign = __webpack_require__("60da"); | |
// `Object.assign` method | |
// https://tc39.es/ecma262/#sec-object.assign | |
// eslint-disable-next-line es/no-object-assign -- required for testing | |
$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { | |
assign: assign | |
}); | |
/***/ }), | |
/***/ "cdf9": | |
/***/ (function(module, exports, __webpack_require__) { | |
var anObject = __webpack_require__("825a"); | |
var isObject = __webpack_require__("861d"); | |
var newPromiseCapability = __webpack_require__("f069"); | |
module.exports = function (C, x) { | |
anObject(C); | |
if (isObject(x) && x.constructor === C) return x; | |
var promiseCapability = newPromiseCapability.f(C); | |
var resolve = promiseCapability.resolve; | |
resolve(x); | |
return promiseCapability.promise; | |
}; | |
/***/ }), | |
/***/ "ce4e": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
module.exports = function (key, value) { | |
try { | |
// eslint-disable-next-line es/no-object-defineproperty -- safe | |
Object.defineProperty(global, key, { value: value, configurable: true, writable: true }); | |
} catch (error) { | |
global[key] = value; | |
} return value; | |
}; | |
/***/ }), | |
/***/ "d012": | |
/***/ (function(module, exports) { | |
module.exports = {}; | |
/***/ }), | |
/***/ "d039": | |
/***/ (function(module, exports) { | |
module.exports = function (exec) { | |
try { | |
return !!exec(); | |
} catch (error) { | |
return true; | |
} | |
}; | |
/***/ }), | |
/***/ "d066": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var isCallable = __webpack_require__("1626"); | |
var aFunction = function (argument) { | |
return isCallable(argument) ? argument : undefined; | |
}; | |
module.exports = function (namespace, method) { | |
return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; | |
}; | |
/***/ }), | |
/***/ "d1e7": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $propertyIsEnumerable = {}.propertyIsEnumerable; | |
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe | |
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; | |
// Nashorn ~ JDK8 bug | |
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); | |
// `Object.prototype.propertyIsEnumerable` method implementation | |
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable | |
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { | |
var descriptor = getOwnPropertyDescriptor(this, V); | |
return !!descriptor && descriptor.enumerable; | |
} : $propertyIsEnumerable; | |
/***/ }), | |
/***/ "d28b": | |
/***/ (function(module, exports, __webpack_require__) { | |
var defineWellKnownSymbol = __webpack_require__("746f"); | |
// `Symbol.iterator` well-known symbol | |
// https://tc39.es/ecma262/#sec-symbol.iterator | |
defineWellKnownSymbol('iterator'); | |
/***/ }), | |
/***/ "d2bb": | |
/***/ (function(module, exports, __webpack_require__) { | |
/* eslint-disable no-proto -- safe */ | |
var anObject = __webpack_require__("825a"); | |
var aPossiblePrototype = __webpack_require__("3bbe"); | |
// `Object.setPrototypeOf` method | |
// https://tc39.es/ecma262/#sec-object.setprototypeof | |
// Works with __proto__ only. Old v8 can't work with null proto objects. | |
// eslint-disable-next-line es/no-object-setprototypeof -- safe | |
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { | |
var CORRECT_SETTER = false; | |
var test = {}; | |
var setter; | |
try { | |
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe | |
setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; | |
setter.call(test, []); | |
CORRECT_SETTER = test instanceof Array; | |
} catch (error) { /* empty */ } | |
return function setPrototypeOf(O, proto) { | |
anObject(O); | |
aPossiblePrototype(proto); | |
if (CORRECT_SETTER) setter.call(O, proto); | |
else O.__proto__ = proto; | |
return O; | |
}; | |
}() : undefined); | |
/***/ }), | |
/***/ "d3b7": | |
/***/ (function(module, exports, __webpack_require__) { | |
var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee"); | |
var redefine = __webpack_require__("6eeb"); | |
var toString = __webpack_require__("b041"); | |
// `Object.prototype.toString` method | |
// https://tc39.es/ecma262/#sec-object.prototype.tostring | |
if (!TO_STRING_TAG_SUPPORT) { | |
redefine(Object.prototype, 'toString', toString, { unsafe: true }); | |
} | |
/***/ }), | |
/***/ "d44e": | |
/***/ (function(module, exports, __webpack_require__) { | |
var defineProperty = __webpack_require__("9bf2").f; | |
var hasOwn = __webpack_require__("1a2d"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var TO_STRING_TAG = wellKnownSymbol('toStringTag'); | |
module.exports = function (it, TAG, STATIC) { | |
if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { | |
defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); | |
} | |
}; | |
/***/ }), | |
/***/ "d4c3": | |
/***/ (function(module, exports, __webpack_require__) { | |
var userAgent = __webpack_require__("342f"); | |
var global = __webpack_require__("da84"); | |
module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined; | |
/***/ }), | |
/***/ "d784": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
// TODO: Remove from `core-js@4` since it's moved to entry points | |
__webpack_require__("ac1f"); | |
var redefine = __webpack_require__("6eeb"); | |
var regexpExec = __webpack_require__("9263"); | |
var fails = __webpack_require__("d039"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var SPECIES = wellKnownSymbol('species'); | |
var RegExpPrototype = RegExp.prototype; | |
module.exports = function (KEY, exec, FORCED, SHAM) { | |
var SYMBOL = wellKnownSymbol(KEY); | |
var DELEGATES_TO_SYMBOL = !fails(function () { | |
// String methods call symbol-named RegEp methods | |
var O = {}; | |
O[SYMBOL] = function () { return 7; }; | |
return ''[KEY](O) != 7; | |
}); | |
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { | |
// Symbol-named RegExp methods call .exec | |
var execCalled = false; | |
var re = /a/; | |
if (KEY === 'split') { | |
// We can't use real regex here since it causes deoptimization | |
// and serious performance degradation in V8 | |
// https://github.com/zloirock/core-js/issues/306 | |
re = {}; | |
// RegExp[@@split] doesn't call the regex's exec method, but first creates | |
// a new one. We need to return the patched regex when creating the new one. | |
re.constructor = {}; | |
re.constructor[SPECIES] = function () { return re; }; | |
re.flags = ''; | |
re[SYMBOL] = /./[SYMBOL]; | |
} | |
re.exec = function () { execCalled = true; return null; }; | |
re[SYMBOL](''); | |
return !execCalled; | |
}); | |
if ( | |
!DELEGATES_TO_SYMBOL || | |
!DELEGATES_TO_EXEC || | |
FORCED | |
) { | |
var nativeRegExpMethod = /./[SYMBOL]; | |
var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { | |
var $exec = regexp.exec; | |
if ($exec === regexpExec || $exec === RegExpPrototype.exec) { | |
if (DELEGATES_TO_SYMBOL && !forceStringMethod) { | |
// The native String method already delegates to @@method (this | |
// polyfilled function), leasing to infinite recursion. | |
// We avoid it by directly calling the native @@method method. | |
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; | |
} | |
return { done: true, value: nativeMethod.call(str, regexp, arg2) }; | |
} | |
return { done: false }; | |
}); | |
redefine(String.prototype, KEY, methods[0]); | |
redefine(RegExpPrototype, SYMBOL, methods[1]); | |
} | |
if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); | |
}; | |
/***/ }), | |
/***/ "d81d": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var $map = __webpack_require__("b727").map; | |
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde"); | |
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); | |
// `Array.prototype.map` method | |
// https://tc39.es/ecma262/#sec-array.prototype.map | |
// with adding support of @@species | |
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { | |
map: function map(callbackfn /* , thisArg */) { | |
return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); | |
} | |
}); | |
/***/ }), | |
/***/ "d998": | |
/***/ (function(module, exports, __webpack_require__) { | |
var UA = __webpack_require__("342f"); | |
module.exports = /MSIE|Trident/.test(UA); | |
/***/ }), | |
/***/ "d9b5": | |
/***/ (function(module, exports, __webpack_require__) { | |
var isCallable = __webpack_require__("1626"); | |
var getBuiltIn = __webpack_require__("d066"); | |
var USE_SYMBOL_AS_UID = __webpack_require__("fdbf"); | |
module.exports = USE_SYMBOL_AS_UID ? function (it) { | |
return typeof it == 'symbol'; | |
} : function (it) { | |
var $Symbol = getBuiltIn('Symbol'); | |
return isCallable($Symbol) && Object(it) instanceof $Symbol; | |
}; | |
/***/ }), | |
/***/ "da84": | |
/***/ (function(module, exports, __webpack_require__) { | |
/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) { | |
return it && it.Math == Math && it; | |
}; | |
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 | |
module.exports = | |
// eslint-disable-next-line es/no-global-this -- safe | |
check(typeof globalThis == 'object' && globalThis) || | |
check(typeof window == 'object' && window) || | |
// eslint-disable-next-line no-restricted-globals -- safe | |
check(typeof self == 'object' && self) || | |
check(typeof global == 'object' && global) || | |
// eslint-disable-next-line no-new-func -- fallback | |
(function () { return this; })() || Function('return this')(); | |
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("c8ba"))) | |
/***/ }), | |
/***/ "dbb4": | |
/***/ (function(module, exports, __webpack_require__) { | |
var $ = __webpack_require__("23e7"); | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var ownKeys = __webpack_require__("56ef"); | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); | |
var createProperty = __webpack_require__("8418"); | |
// `Object.getOwnPropertyDescriptors` method | |
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors | |
$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { | |
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { | |
var O = toIndexedObject(object); | |
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; | |
var keys = ownKeys(O); | |
var result = {}; | |
var index = 0; | |
var key, descriptor; | |
while (keys.length > index) { | |
descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); | |
if (descriptor !== undefined) createProperty(result, key, descriptor); | |
} | |
return result; | |
} | |
}); | |
/***/ }), | |
/***/ "dc4a": | |
/***/ (function(module, exports, __webpack_require__) { | |
var aCallable = __webpack_require__("59ed"); | |
// `GetMethod` abstract operation | |
// https://tc39.es/ecma262/#sec-getmethod | |
module.exports = function (V, P) { | |
var func = V[P]; | |
return func == null ? undefined : aCallable(func); | |
}; | |
/***/ }), | |
/***/ "ddb0": | |
/***/ (function(module, exports, __webpack_require__) { | |
var global = __webpack_require__("da84"); | |
var DOMIterables = __webpack_require__("fdbc"); | |
var DOMTokenListPrototype = __webpack_require__("785a"); | |
var ArrayIteratorMethods = __webpack_require__("e260"); | |
var createNonEnumerableProperty = __webpack_require__("9112"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var ITERATOR = wellKnownSymbol('iterator'); | |
var TO_STRING_TAG = wellKnownSymbol('toStringTag'); | |
var ArrayValues = ArrayIteratorMethods.values; | |
var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { | |
if (CollectionPrototype) { | |
// some Chrome versions have non-configurable methods on DOMTokenList | |
if (CollectionPrototype[ITERATOR] !== ArrayValues) try { | |
createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); | |
} catch (error) { | |
CollectionPrototype[ITERATOR] = ArrayValues; | |
} | |
if (!CollectionPrototype[TO_STRING_TAG]) { | |
createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); | |
} | |
if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { | |
// some Chrome versions have non-configurable methods on DOMTokenList | |
if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { | |
createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); | |
} catch (error) { | |
CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; | |
} | |
} | |
} | |
}; | |
for (var COLLECTION_NAME in DOMIterables) { | |
handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME); | |
} | |
handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); | |
/***/ }), | |
/***/ "df75": | |
/***/ (function(module, exports, __webpack_require__) { | |
var internalObjectKeys = __webpack_require__("ca84"); | |
var enumBugKeys = __webpack_require__("7839"); | |
// `Object.keys` method | |
// https://tc39.es/ecma262/#sec-object.keys | |
// eslint-disable-next-line es/no-object-keys -- safe | |
module.exports = Object.keys || function keys(O) { | |
return internalObjectKeys(O, enumBugKeys); | |
}; | |
/***/ }), | |
/***/ "e01a": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
// `Symbol.prototype.description` getter | |
// https://tc39.es/ecma262/#sec-symbol.prototype.description | |
var $ = __webpack_require__("23e7"); | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var global = __webpack_require__("da84"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var isCallable = __webpack_require__("1626"); | |
var isObject = __webpack_require__("861d"); | |
var defineProperty = __webpack_require__("9bf2").f; | |
var copyConstructorProperties = __webpack_require__("e893"); | |
var NativeSymbol = global.Symbol; | |
if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in NativeSymbol.prototype) || | |
// Safari 12 bug | |
NativeSymbol().description !== undefined | |
)) { | |
var EmptyStringDescriptionStore = {}; | |
// wrap Symbol constructor for correct work with undefined description | |
var SymbolWrapper = function Symbol() { | |
var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); | |
var result = this instanceof SymbolWrapper | |
? new NativeSymbol(description) | |
// in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' | |
: description === undefined ? NativeSymbol() : NativeSymbol(description); | |
if (description === '') EmptyStringDescriptionStore[result] = true; | |
return result; | |
}; | |
copyConstructorProperties(SymbolWrapper, NativeSymbol); | |
var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; | |
symbolPrototype.constructor = SymbolWrapper; | |
var symbolToString = symbolPrototype.toString; | |
var nativeSymbol = String(NativeSymbol('test')) == 'Symbol(test)'; | |
var regexp = /^Symbol\((.*)\)[^)]+$/; | |
defineProperty(symbolPrototype, 'description', { | |
configurable: true, | |
get: function description() { | |
var symbol = isObject(this) ? this.valueOf() : this; | |
var string = symbolToString.call(symbol); | |
if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; | |
var desc = nativeSymbol ? string.slice(7, -1) : string.replace(regexp, '$1'); | |
return desc === '' ? undefined : desc; | |
} | |
}); | |
$({ global: true, forced: true }, { | |
Symbol: SymbolWrapper | |
}); | |
} | |
/***/ }), | |
/***/ "e163": | |
/***/ (function(module, exports, __webpack_require__) { | |
var hasOwn = __webpack_require__("1a2d"); | |
var isCallable = __webpack_require__("1626"); | |
var toObject = __webpack_require__("7b0b"); | |
var sharedKey = __webpack_require__("f772"); | |
var CORRECT_PROTOTYPE_GETTER = __webpack_require__("e177"); | |
var IE_PROTO = sharedKey('IE_PROTO'); | |
var ObjectPrototype = Object.prototype; | |
// `Object.getPrototypeOf` method | |
// https://tc39.es/ecma262/#sec-object.getprototypeof | |
// eslint-disable-next-line es/no-object-getprototypeof -- safe | |
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { | |
var object = toObject(O); | |
if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; | |
var constructor = object.constructor; | |
if (isCallable(constructor) && object instanceof constructor) { | |
return constructor.prototype; | |
} return object instanceof Object ? ObjectPrototype : null; | |
}; | |
/***/ }), | |
/***/ "e177": | |
/***/ (function(module, exports, __webpack_require__) { | |
var fails = __webpack_require__("d039"); | |
module.exports = !fails(function () { | |
function F() { /* empty */ } | |
F.prototype.constructor = null; | |
// eslint-disable-next-line es/no-object-getprototypeof -- required for testing | |
return Object.getPrototypeOf(new F()) !== F.prototype; | |
}); | |
/***/ }), | |
/***/ "e260": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var addToUnscopables = __webpack_require__("44d2"); | |
var Iterators = __webpack_require__("3f8c"); | |
var InternalStateModule = __webpack_require__("69f3"); | |
var defineIterator = __webpack_require__("7dd0"); | |
var ARRAY_ITERATOR = 'Array Iterator'; | |
var setInternalState = InternalStateModule.set; | |
var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); | |
// `Array.prototype.entries` method | |
// https://tc39.es/ecma262/#sec-array.prototype.entries | |
// `Array.prototype.keys` method | |
// https://tc39.es/ecma262/#sec-array.prototype.keys | |
// `Array.prototype.values` method | |
// https://tc39.es/ecma262/#sec-array.prototype.values | |
// `Array.prototype[@@iterator]` method | |
// https://tc39.es/ecma262/#sec-array.prototype-@@iterator | |
// `CreateArrayIterator` internal method | |
// https://tc39.es/ecma262/#sec-createarrayiterator | |
module.exports = defineIterator(Array, 'Array', function (iterated, kind) { | |
setInternalState(this, { | |
type: ARRAY_ITERATOR, | |
target: toIndexedObject(iterated), // target | |
index: 0, // next index | |
kind: kind // kind | |
}); | |
// `%ArrayIteratorPrototype%.next` method | |
// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next | |
}, function () { | |
var state = getInternalState(this); | |
var target = state.target; | |
var kind = state.kind; | |
var index = state.index++; | |
if (!target || index >= target.length) { | |
state.target = undefined; | |
return { value: undefined, done: true }; | |
} | |
if (kind == 'keys') return { value: index, done: false }; | |
if (kind == 'values') return { value: target[index], done: false }; | |
return { value: [index, target[index]], done: false }; | |
}, 'values'); | |
// argumentsList[@@iterator] is %ArrayProto_values% | |
// https://tc39.es/ecma262/#sec-createunmappedargumentsobject | |
// https://tc39.es/ecma262/#sec-createmappedargumentsobject | |
Iterators.Arguments = Iterators.Array; | |
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables | |
addToUnscopables('keys'); | |
addToUnscopables('values'); | |
addToUnscopables('entries'); | |
/***/ }), | |
/***/ "e2cc": | |
/***/ (function(module, exports, __webpack_require__) { | |
var redefine = __webpack_require__("6eeb"); | |
module.exports = function (target, src, options) { | |
for (var key in src) redefine(target, key, src[key], options); | |
return target; | |
}; | |
/***/ }), | |
/***/ "e439": | |
/***/ (function(module, exports, __webpack_require__) { | |
var $ = __webpack_require__("23e7"); | |
var fails = __webpack_require__("d039"); | |
var toIndexedObject = __webpack_require__("fc6a"); | |
var nativeGetOwnPropertyDescriptor = __webpack_require__("06cf").f; | |
var DESCRIPTORS = __webpack_require__("83ab"); | |
var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); }); | |
var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; | |
// `Object.getOwnPropertyDescriptor` method | |
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor | |
$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { | |
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { | |
return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); | |
} | |
}); | |
/***/ }), | |
/***/ "e538": | |
/***/ (function(module, exports, __webpack_require__) { | |
var wellKnownSymbol = __webpack_require__("b622"); | |
exports.f = wellKnownSymbol; | |
/***/ }), | |
/***/ "e667": | |
/***/ (function(module, exports) { | |
module.exports = function (exec) { | |
try { | |
return { error: false, value: exec() }; | |
} catch (error) { | |
return { error: true, value: error }; | |
} | |
}; | |
/***/ }), | |
/***/ "e6cf": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var $ = __webpack_require__("23e7"); | |
var IS_PURE = __webpack_require__("c430"); | |
var global = __webpack_require__("da84"); | |
var getBuiltIn = __webpack_require__("d066"); | |
var NativePromise = __webpack_require__("fea9"); | |
var redefine = __webpack_require__("6eeb"); | |
var redefineAll = __webpack_require__("e2cc"); | |
var setPrototypeOf = __webpack_require__("d2bb"); | |
var setToStringTag = __webpack_require__("d44e"); | |
var setSpecies = __webpack_require__("2626"); | |
var aCallable = __webpack_require__("59ed"); | |
var isCallable = __webpack_require__("1626"); | |
var isObject = __webpack_require__("861d"); | |
var anInstance = __webpack_require__("19aa"); | |
var inspectSource = __webpack_require__("8925"); | |
var iterate = __webpack_require__("2266"); | |
var checkCorrectnessOfIteration = __webpack_require__("1c7e"); | |
var speciesConstructor = __webpack_require__("4840"); | |
var task = __webpack_require__("2cf4").set; | |
var microtask = __webpack_require__("b575"); | |
var promiseResolve = __webpack_require__("cdf9"); | |
var hostReportErrors = __webpack_require__("44de"); | |
var newPromiseCapabilityModule = __webpack_require__("f069"); | |
var perform = __webpack_require__("e667"); | |
var InternalStateModule = __webpack_require__("69f3"); | |
var isForced = __webpack_require__("94ca"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var IS_BROWSER = __webpack_require__("6069"); | |
var IS_NODE = __webpack_require__("605d"); | |
var V8_VERSION = __webpack_require__("2d00"); | |
var SPECIES = wellKnownSymbol('species'); | |
var PROMISE = 'Promise'; | |
var getInternalState = InternalStateModule.get; | |
var setInternalState = InternalStateModule.set; | |
var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); | |
var NativePromisePrototype = NativePromise && NativePromise.prototype; | |
var PromiseConstructor = NativePromise; | |
var PromiseConstructorPrototype = NativePromisePrototype; | |
var TypeError = global.TypeError; | |
var document = global.document; | |
var process = global.process; | |
var newPromiseCapability = newPromiseCapabilityModule.f; | |
var newGenericPromiseCapability = newPromiseCapability; | |
var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); | |
var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); | |
var UNHANDLED_REJECTION = 'unhandledrejection'; | |
var REJECTION_HANDLED = 'rejectionhandled'; | |
var PENDING = 0; | |
var FULFILLED = 1; | |
var REJECTED = 2; | |
var HANDLED = 1; | |
var UNHANDLED = 2; | |
var SUBCLASSING = false; | |
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; | |
var FORCED = isForced(PROMISE, function () { | |
var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); | |
var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); | |
// V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables | |
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565 | |
// We can't detect it synchronously, so just check versions | |
if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; | |
// We need Promise#finally in the pure version for preventing prototype pollution | |
if (IS_PURE && !PromiseConstructorPrototype['finally']) return true; | |
// We can't use @@species feature detection in V8 since it causes | |
// deoptimization and performance degradation | |
// https://github.com/zloirock/core-js/issues/679 | |
if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; | |
// Detect correctness of subclassing with @@species support | |
var promise = new PromiseConstructor(function (resolve) { resolve(1); }); | |
var FakePromise = function (exec) { | |
exec(function () { /* empty */ }, function () { /* empty */ }); | |
}; | |
var constructor = promise.constructor = {}; | |
constructor[SPECIES] = FakePromise; | |
SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; | |
if (!SUBCLASSING) return true; | |
// Unhandled rejections tracking support, NodeJS Promise without it fails @@species test | |
return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; | |
}); | |
var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { | |
PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); | |
}); | |
// helpers | |
var isThenable = function (it) { | |
var then; | |
return isObject(it) && isCallable(then = it.then) ? then : false; | |
}; | |
var notify = function (state, isReject) { | |
if (state.notified) return; | |
state.notified = true; | |
var chain = state.reactions; | |
microtask(function () { | |
var value = state.value; | |
var ok = state.state == FULFILLED; | |
var index = 0; | |
// variable length - can't use forEach | |
while (chain.length > index) { | |
var reaction = chain[index++]; | |
var handler = ok ? reaction.ok : reaction.fail; | |
var resolve = reaction.resolve; | |
var reject = reaction.reject; | |
var domain = reaction.domain; | |
var result, then, exited; | |
try { | |
if (handler) { | |
if (!ok) { | |
if (state.rejection === UNHANDLED) onHandleUnhandled(state); | |
state.rejection = HANDLED; | |
} | |
if (handler === true) result = value; | |
else { | |
if (domain) domain.enter(); | |
result = handler(value); // can throw | |
if (domain) { | |
domain.exit(); | |
exited = true; | |
} | |
} | |
if (result === reaction.promise) { | |
reject(TypeError('Promise-chain cycle')); | |
} else if (then = isThenable(result)) { | |
then.call(result, resolve, reject); | |
} else resolve(result); | |
} else reject(value); | |
} catch (error) { | |
if (domain && !exited) domain.exit(); | |
reject(error); | |
} | |
} | |
state.reactions = []; | |
state.notified = false; | |
if (isReject && !state.rejection) onUnhandled(state); | |
}); | |
}; | |
var dispatchEvent = function (name, promise, reason) { | |
var event, handler; | |
if (DISPATCH_EVENT) { | |
event = document.createEvent('Event'); | |
event.promise = promise; | |
event.reason = reason; | |
event.initEvent(name, false, true); | |
global.dispatchEvent(event); | |
} else event = { promise: promise, reason: reason }; | |
if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); | |
else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); | |
}; | |
var onUnhandled = function (state) { | |
task.call(global, function () { | |
var promise = state.facade; | |
var value = state.value; | |
var IS_UNHANDLED = isUnhandled(state); | |
var result; | |
if (IS_UNHANDLED) { | |
result = perform(function () { | |
if (IS_NODE) { | |
process.emit('unhandledRejection', value, promise); | |
} else dispatchEvent(UNHANDLED_REJECTION, promise, value); | |
}); | |
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should | |
state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; | |
if (result.error) throw result.value; | |
} | |
}); | |
}; | |
var isUnhandled = function (state) { | |
return state.rejection !== HANDLED && !state.parent; | |
}; | |
var onHandleUnhandled = function (state) { | |
task.call(global, function () { | |
var promise = state.facade; | |
if (IS_NODE) { | |
process.emit('rejectionHandled', promise); | |
} else dispatchEvent(REJECTION_HANDLED, promise, state.value); | |
}); | |
}; | |
var bind = function (fn, state, unwrap) { | |
return function (value) { | |
fn(state, value, unwrap); | |
}; | |
}; | |
var internalReject = function (state, value, unwrap) { | |
if (state.done) return; | |
state.done = true; | |
if (unwrap) state = unwrap; | |
state.value = value; | |
state.state = REJECTED; | |
notify(state, true); | |
}; | |
var internalResolve = function (state, value, unwrap) { | |
if (state.done) return; | |
state.done = true; | |
if (unwrap) state = unwrap; | |
try { | |
if (state.facade === value) throw TypeError("Promise can't be resolved itself"); | |
var then = isThenable(value); | |
if (then) { | |
microtask(function () { | |
var wrapper = { done: false }; | |
try { | |
then.call(value, | |
bind(internalResolve, wrapper, state), | |
bind(internalReject, wrapper, state) | |
); | |
} catch (error) { | |
internalReject(wrapper, error, state); | |
} | |
}); | |
} else { | |
state.value = value; | |
state.state = FULFILLED; | |
notify(state, false); | |
} | |
} catch (error) { | |
internalReject({ done: false }, error, state); | |
} | |
}; | |
// constructor polyfill | |
if (FORCED) { | |
// 25.4.3.1 Promise(executor) | |
PromiseConstructor = function Promise(executor) { | |
anInstance(this, PromiseConstructor, PROMISE); | |
aCallable(executor); | |
Internal.call(this); | |
var state = getInternalState(this); | |
try { | |
executor(bind(internalResolve, state), bind(internalReject, state)); | |
} catch (error) { | |
internalReject(state, error); | |
} | |
}; | |
PromiseConstructorPrototype = PromiseConstructor.prototype; | |
// eslint-disable-next-line no-unused-vars -- required for `.length` | |
Internal = function Promise(executor) { | |
setInternalState(this, { | |
type: PROMISE, | |
done: false, | |
notified: false, | |
parent: false, | |
reactions: [], | |
rejection: false, | |
state: PENDING, | |
value: undefined | |
}); | |
}; | |
Internal.prototype = redefineAll(PromiseConstructorPrototype, { | |
// `Promise.prototype.then` method | |
// https://tc39.es/ecma262/#sec-promise.prototype.then | |
then: function then(onFulfilled, onRejected) { | |
var state = getInternalPromiseState(this); | |
var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); | |
reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; | |
reaction.fail = isCallable(onRejected) && onRejected; | |
reaction.domain = IS_NODE ? process.domain : undefined; | |
state.parent = true; | |
state.reactions.push(reaction); | |
if (state.state != PENDING) notify(state, false); | |
return reaction.promise; | |
}, | |
// `Promise.prototype.catch` method | |
// https://tc39.es/ecma262/#sec-promise.prototype.catch | |
'catch': function (onRejected) { | |
return this.then(undefined, onRejected); | |
} | |
}); | |
OwnPromiseCapability = function () { | |
var promise = new Internal(); | |
var state = getInternalState(promise); | |
this.promise = promise; | |
this.resolve = bind(internalResolve, state); | |
this.reject = bind(internalReject, state); | |
}; | |
newPromiseCapabilityModule.f = newPromiseCapability = function (C) { | |
return C === PromiseConstructor || C === PromiseWrapper | |
? new OwnPromiseCapability(C) | |
: newGenericPromiseCapability(C); | |
}; | |
if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) { | |
nativeThen = NativePromisePrototype.then; | |
if (!SUBCLASSING) { | |
// make `Promise#then` return a polyfilled `Promise` for native promise-based APIs | |
redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { | |
var that = this; | |
return new PromiseConstructor(function (resolve, reject) { | |
nativeThen.call(that, resolve, reject); | |
}).then(onFulfilled, onRejected); | |
// https://github.com/zloirock/core-js/issues/640 | |
}, { unsafe: true }); | |
// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` | |
redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true }); | |
} | |
// make `.constructor === Promise` work for native promise-based APIs | |
try { | |
delete NativePromisePrototype.constructor; | |
} catch (error) { /* empty */ } | |
// make `instanceof Promise` work for native promise-based APIs | |
if (setPrototypeOf) { | |
setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype); | |
} | |
} | |
} | |
$({ global: true, wrap: true, forced: FORCED }, { | |
Promise: PromiseConstructor | |
}); | |
setToStringTag(PromiseConstructor, PROMISE, false, true); | |
setSpecies(PROMISE); | |
PromiseWrapper = getBuiltIn(PROMISE); | |
// statics | |
$({ target: PROMISE, stat: true, forced: FORCED }, { | |
// `Promise.reject` method | |
// https://tc39.es/ecma262/#sec-promise.reject | |
reject: function reject(r) { | |
var capability = newPromiseCapability(this); | |
capability.reject.call(undefined, r); | |
return capability.promise; | |
} | |
}); | |
$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { | |
// `Promise.resolve` method | |
// https://tc39.es/ecma262/#sec-promise.resolve | |
resolve: function resolve(x) { | |
return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); | |
} | |
}); | |
$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { | |
// `Promise.all` method | |
// https://tc39.es/ecma262/#sec-promise.all | |
all: function all(iterable) { | |
var C = this; | |
var capability = newPromiseCapability(C); | |
var resolve = capability.resolve; | |
var reject = capability.reject; | |
var result = perform(function () { | |
var $promiseResolve = aCallable(C.resolve); | |
var values = []; | |
var counter = 0; | |
var remaining = 1; | |
iterate(iterable, function (promise) { | |
var index = counter++; | |
var alreadyCalled = false; | |
values.push(undefined); | |
remaining++; | |
$promiseResolve.call(C, promise).then(function (value) { | |
if (alreadyCalled) return; | |
alreadyCalled = true; | |
values[index] = value; | |
--remaining || resolve(values); | |
}, reject); | |
}); | |
--remaining || resolve(values); | |
}); | |
if (result.error) reject(result.value); | |
return capability.promise; | |
}, | |
// `Promise.race` method | |
// https://tc39.es/ecma262/#sec-promise.race | |
race: function race(iterable) { | |
var C = this; | |
var capability = newPromiseCapability(C); | |
var reject = capability.reject; | |
var result = perform(function () { | |
var $promiseResolve = aCallable(C.resolve); | |
iterate(iterable, function (promise) { | |
$promiseResolve.call(C, promise).then(capability.resolve, reject); | |
}); | |
}); | |
if (result.error) reject(result.value); | |
return capability.promise; | |
} | |
}); | |
/***/ }), | |
/***/ "e893": | |
/***/ (function(module, exports, __webpack_require__) { | |
var hasOwn = __webpack_require__("1a2d"); | |
var ownKeys = __webpack_require__("56ef"); | |
var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); | |
var definePropertyModule = __webpack_require__("9bf2"); | |
module.exports = function (target, source) { | |
var keys = ownKeys(source); | |
var defineProperty = definePropertyModule.f; | |
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; | |
for (var i = 0; i < keys.length; i++) { | |
var key = keys[i]; | |
if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); | |
} | |
}; | |
/***/ }), | |
/***/ "e8b5": | |
/***/ (function(module, exports, __webpack_require__) { | |
var classof = __webpack_require__("c6b6"); | |
// `IsArray` abstract operation | |
// https://tc39.es/ecma262/#sec-isarray | |
// eslint-disable-next-line es/no-array-isarray -- safe | |
module.exports = Array.isArray || function isArray(argument) { | |
return classof(argument) == 'Array'; | |
}; | |
/***/ }), | |
/***/ "e95a": | |
/***/ (function(module, exports, __webpack_require__) { | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var Iterators = __webpack_require__("3f8c"); | |
var ITERATOR = wellKnownSymbol('iterator'); | |
var ArrayPrototype = Array.prototype; | |
// check on default Array iterator | |
module.exports = function (it) { | |
return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); | |
}; | |
/***/ }), | |
/***/ "f069": | |
/***/ (function(module, exports, __webpack_require__) { | |
"use strict"; | |
var aCallable = __webpack_require__("59ed"); | |
var PromiseCapability = function (C) { | |
var resolve, reject; | |
this.promise = new C(function ($$resolve, $$reject) { | |
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); | |
resolve = $$resolve; | |
reject = $$reject; | |
}); | |
this.resolve = aCallable(resolve); | |
this.reject = aCallable(reject); | |
}; | |
// `NewPromiseCapability` abstract operation | |
// https://tc39.es/ecma262/#sec-newpromisecapability | |
module.exports.f = function (C) { | |
return new PromiseCapability(C); | |
}; | |
/***/ }), | |
/***/ "f0af": | |
/***/ (function(module, exports) { | |
module.exports = __WEBPACK_EXTERNAL_MODULE_f0af__; | |
/***/ }), | |
/***/ "f183": | |
/***/ (function(module, exports, __webpack_require__) { | |
var $ = __webpack_require__("23e7"); | |
var hiddenKeys = __webpack_require__("d012"); | |
var isObject = __webpack_require__("861d"); | |
var hasOwn = __webpack_require__("1a2d"); | |
var defineProperty = __webpack_require__("9bf2").f; | |
var getOwnPropertyNamesModule = __webpack_require__("241c"); | |
var getOwnPropertyNamesExternalModule = __webpack_require__("057f"); | |
var uid = __webpack_require__("90e3"); | |
var FREEZING = __webpack_require__("bb2f"); | |
var REQUIRED = false; | |
var METADATA = uid('meta'); | |
var id = 0; | |
// eslint-disable-next-line es/no-object-isextensible -- safe | |
var isExtensible = Object.isExtensible || function () { | |
return true; | |
}; | |
var setMetadata = function (it) { | |
defineProperty(it, METADATA, { value: { | |
objectID: 'O' + id++, // object ID | |
weakData: {} // weak collections IDs | |
} }); | |
}; | |
var fastKey = function (it, create) { | |
// return a primitive with prefix | |
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; | |
if (!hasOwn(it, METADATA)) { | |
// can't set metadata to uncaught frozen object | |
if (!isExtensible(it)) return 'F'; | |
// not necessary to add metadata | |
if (!create) return 'E'; | |
// add missing metadata | |
setMetadata(it); | |
// return object ID | |
} return it[METADATA].objectID; | |
}; | |
var getWeakData = function (it, create) { | |
if (!hasOwn(it, METADATA)) { | |
// can't set metadata to uncaught frozen object | |
if (!isExtensible(it)) return true; | |
// not necessary to add metadata | |
if (!create) return false; | |
// add missing metadata | |
setMetadata(it); | |
// return the store of weak collections IDs | |
} return it[METADATA].weakData; | |
}; | |
// add metadata on freeze-family methods calling | |
var onFreeze = function (it) { | |
if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); | |
return it; | |
}; | |
var enable = function () { | |
meta.enable = function () { /* empty */ }; | |
REQUIRED = true; | |
var getOwnPropertyNames = getOwnPropertyNamesModule.f; | |
var splice = [].splice; | |
var test = {}; | |
test[METADATA] = 1; | |
// prevent exposing of metadata key | |
if (getOwnPropertyNames(test).length) { | |
getOwnPropertyNamesModule.f = function (it) { | |
var result = getOwnPropertyNames(it); | |
for (var i = 0, length = result.length; i < length; i++) { | |
if (result[i] === METADATA) { | |
splice.call(result, i, 1); | |
break; | |
} | |
} return result; | |
}; | |
$({ target: 'Object', stat: true, forced: true }, { | |
getOwnPropertyNames: getOwnPropertyNamesExternalModule.f | |
}); | |
} | |
}; | |
var meta = module.exports = { | |
enable: enable, | |
fastKey: fastKey, | |
getWeakData: getWeakData, | |
onFreeze: onFreeze | |
}; | |
hiddenKeys[METADATA] = true; | |
/***/ }), | |
/***/ "f5df": | |
/***/ (function(module, exports, __webpack_require__) { | |
var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee"); | |
var isCallable = __webpack_require__("1626"); | |
var classofRaw = __webpack_require__("c6b6"); | |
var wellKnownSymbol = __webpack_require__("b622"); | |
var TO_STRING_TAG = wellKnownSymbol('toStringTag'); | |
// ES3 wrong here | |
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; | |
// fallback for IE11 Script Access Denied error | |
var tryGet = function (it, key) { | |
try { | |
return it[key]; | |
} catch (error) { /* empty */ } | |
}; | |
// getting tag from ES6+ `Object.prototype.toString` | |
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { | |
var O, tag, result; | |
return it === undefined ? 'Undefined' : it === null ? 'Null' | |
// @@toStringTag case | |
: typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag | |
// builtinTag case | |
: CORRECT_ARGUMENTS ? classofRaw(O) | |
// ES3 arguments fallback | |
: (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; | |
}; | |
/***/ }), | |
/***/ "f772": | |
/***/ (function(module, exports, __webpack_require__) { | |
var shared = __webpack_require__("5692"); | |
var uid = __webpack_require__("90e3"); | |
var keys = shared('keys'); | |
module.exports = function (key) { | |
return keys[key] || (keys[key] = uid(key)); | |
}; | |
/***/ }), | |
/***/ "fb15": | |
/***/ (function(module, __webpack_exports__, __webpack_require__) { | |
"use strict"; | |
// ESM COMPAT FLAG | |
__webpack_require__.r(__webpack_exports__); | |
// EXPORTS | |
__webpack_require__.d(__webpack_exports__, "install", function() { return /* reexport */ all_install; }); | |
__webpack_require__.d(__webpack_exports__, "use", function() { return /* reexport */ use; }); | |
__webpack_require__.d(__webpack_exports__, "t", function() { return /* reexport */ t; }); | |
__webpack_require__.d(__webpack_exports__, "_t", function() { return /* reexport */ _t; }); | |
__webpack_require__.d(__webpack_exports__, "config", function() { return /* reexport */ v_x_e_table_config; }); | |
__webpack_require__.d(__webpack_exports__, "v", function() { return /* reexport */ v; }); | |
__webpack_require__.d(__webpack_exports__, "VXETable", function() { return /* reexport */ VXETable; }); | |
__webpack_require__.d(__webpack_exports__, "interceptor", function() { return /* reexport */ interceptor; }); | |
__webpack_require__.d(__webpack_exports__, "renderer", function() { return /* reexport */ renderer; }); | |
__webpack_require__.d(__webpack_exports__, "commands", function() { return /* reexport */ commands; }); | |
__webpack_require__.d(__webpack_exports__, "menus", function() { return /* reexport */ menus; }); | |
__webpack_require__.d(__webpack_exports__, "formats", function() { return /* reexport */ formats; }); | |
__webpack_require__.d(__webpack_exports__, "hooks", function() { return /* reexport */ hooks; }); | |
__webpack_require__.d(__webpack_exports__, "setup", function() { return /* reexport */ setup_setup; }); | |
__webpack_require__.d(__webpack_exports__, "Icon", function() { return /* reexport */ Icon; }); | |
__webpack_require__.d(__webpack_exports__, "Filter", function() { return /* reexport */ Filter; }); | |
__webpack_require__.d(__webpack_exports__, "Edit", function() { return /* reexport */ Edit; }); | |
__webpack_require__.d(__webpack_exports__, "saveFile", function() { return /* reexport */ util_saveLocalFile; }); | |
__webpack_require__.d(__webpack_exports__, "readFile", function() { return /* reexport */ util_readLocalFile; }); | |
__webpack_require__.d(__webpack_exports__, "print", function() { return /* reexport */ export_print; }); | |
__webpack_require__.d(__webpack_exports__, "Export", function() { return /* reexport */ Export; }); | |
__webpack_require__.d(__webpack_exports__, "Keyboard", function() { return /* reexport */ Keyboard; }); | |
__webpack_require__.d(__webpack_exports__, "Validator", function() { return /* reexport */ Validator; }); | |
__webpack_require__.d(__webpack_exports__, "Header", function() { return /* reexport */ Header; }); | |
__webpack_require__.d(__webpack_exports__, "Footer", function() { return /* reexport */ Footer; }); | |
__webpack_require__.d(__webpack_exports__, "Column", function() { return /* reexport */ Column; }); | |
__webpack_require__.d(__webpack_exports__, "Colgroup", function() { return /* reexport */ Colgroup; }); | |
__webpack_require__.d(__webpack_exports__, "Grid", function() { return /* reexport */ Grid; }); | |
__webpack_require__.d(__webpack_exports__, "Menu", function() { return /* reexport */ Menu; }); | |
__webpack_require__.d(__webpack_exports__, "Toolbar", function() { return /* reexport */ Toolbar; }); | |
__webpack_require__.d(__webpack_exports__, "Pager", function() { return /* reexport */ Pager; }); | |
__webpack_require__.d(__webpack_exports__, "Checkbox", function() { return /* reexport */ Checkbox; }); | |
__webpack_require__.d(__webpack_exports__, "CheckboxGroup", function() { return /* reexport */ CheckboxGroup; }); | |
__webpack_require__.d(__webpack_exports__, "Radio", function() { return /* reexport */ Radio; }); | |
__webpack_require__.d(__webpack_exports__, "RadioGroup", function() { return /* reexport */ RadioGroup; }); | |
__webpack_require__.d(__webpack_exports__, "RadioButton", function() { return /* reexport */ RadioButton; }); | |
__webpack_require__.d(__webpack_exports__, "Input", function() { return /* reexport */ Input; }); | |
__webpack_require__.d(__webpack_exports__, "Textarea", function() { return /* reexport */ Textarea; }); | |
__webpack_require__.d(__webpack_exports__, "Button", function() { return /* reexport */ Button; }); | |
__webpack_require__.d(__webpack_exports__, "modal", function() { return /* reexport */ modal_modal; }); | |
__webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ Modal; }); | |
__webpack_require__.d(__webpack_exports__, "Tooltip", function() { return /* reexport */ Tooltip; }); | |
__webpack_require__.d(__webpack_exports__, "Form", function() { return /* reexport */ Form; }); | |
__webpack_require__.d(__webpack_exports__, "FormItem", function() { return /* reexport */ FormItem; }); | |
__webpack_require__.d(__webpack_exports__, "FormGather", function() { return /* reexport */ FormGather; }); | |
__webpack_require__.d(__webpack_exports__, "Select", function() { return /* reexport */ Select; }); | |
__webpack_require__.d(__webpack_exports__, "Optgroup", function() { return /* reexport */ Optgroup; }); | |
__webpack_require__.d(__webpack_exports__, "Option", function() { return /* reexport */ Option; }); | |
__webpack_require__.d(__webpack_exports__, "Switch", function() { return /* reexport */ Switch; }); | |
__webpack_require__.d(__webpack_exports__, "List", function() { return /* reexport */ List; }); | |
__webpack_require__.d(__webpack_exports__, "Pulldown", function() { return /* reexport */ Pulldown; }); | |
__webpack_require__.d(__webpack_exports__, "Table", function() { return /* reexport */ Table; }); | |
// NAMESPACE OBJECT: ./packages/all.ts | |
var all_namespaceObject = {}; | |
__webpack_require__.r(all_namespaceObject); | |
__webpack_require__.d(all_namespaceObject, "install", function() { return all_install; }); | |
__webpack_require__.d(all_namespaceObject, "use", function() { return use; }); | |
__webpack_require__.d(all_namespaceObject, "t", function() { return t; }); | |
__webpack_require__.d(all_namespaceObject, "_t", function() { return _t; }); | |
__webpack_require__.d(all_namespaceObject, "config", function() { return v_x_e_table_config; }); | |
__webpack_require__.d(all_namespaceObject, "v", function() { return v; }); | |
__webpack_require__.d(all_namespaceObject, "VXETable", function() { return VXETable; }); | |
__webpack_require__.d(all_namespaceObject, "interceptor", function() { return interceptor; }); | |
__webpack_require__.d(all_namespaceObject, "renderer", function() { return renderer; }); | |
__webpack_require__.d(all_namespaceObject, "commands", function() { return commands; }); | |
__webpack_require__.d(all_namespaceObject, "menus", function() { return menus; }); | |
__webpack_require__.d(all_namespaceObject, "formats", function() { return formats; }); | |
__webpack_require__.d(all_namespaceObject, "hooks", function() { return hooks; }); | |
__webpack_require__.d(all_namespaceObject, "setup", function() { return setup_setup; }); | |
__webpack_require__.d(all_namespaceObject, "Icon", function() { return Icon; }); | |
__webpack_require__.d(all_namespaceObject, "Filter", function() { return Filter; }); | |
__webpack_require__.d(all_namespaceObject, "Edit", function() { return Edit; }); | |
__webpack_require__.d(all_namespaceObject, "saveFile", function() { return util_saveLocalFile; }); | |
__webpack_require__.d(all_namespaceObject, "readFile", function() { return util_readLocalFile; }); | |
__webpack_require__.d(all_namespaceObject, "print", function() { return export_print; }); | |
__webpack_require__.d(all_namespaceObject, "Export", function() { return Export; }); | |
__webpack_require__.d(all_namespaceObject, "Keyboard", function() { return Keyboard; }); | |
__webpack_require__.d(all_namespaceObject, "Validator", function() { return Validator; }); | |
__webpack_require__.d(all_namespaceObject, "Header", function() { return Header; }); | |
__webpack_require__.d(all_namespaceObject, "Footer", function() { return Footer; }); | |
__webpack_require__.d(all_namespaceObject, "Column", function() { return Column; }); | |
__webpack_require__.d(all_namespaceObject, "Colgroup", function() { return Colgroup; }); | |
__webpack_require__.d(all_namespaceObject, "Grid", function() { return Grid; }); | |
__webpack_require__.d(all_namespaceObject, "Menu", function() { return Menu; }); | |
__webpack_require__.d(all_namespaceObject, "Toolbar", function() { return Toolbar; }); | |
__webpack_require__.d(all_namespaceObject, "Pager", function() { return Pager; }); | |
__webpack_require__.d(all_namespaceObject, "Checkbox", function() { return Checkbox; }); | |
__webpack_require__.d(all_namespaceObject, "CheckboxGroup", function() { return CheckboxGroup; }); | |
__webpack_require__.d(all_namespaceObject, "Radio", function() { return Radio; }); | |
__webpack_require__.d(all_namespaceObject, "RadioGroup", function() { return RadioGroup; }); | |
__webpack_require__.d(all_namespaceObject, "RadioButton", function() { return RadioButton; }); | |
__webpack_require__.d(all_namespaceObject, "Input", function() { return Input; }); | |
__webpack_require__.d(all_namespaceObject, "Textarea", function() { return Textarea; }); | |
__webpack_require__.d(all_namespaceObject, "Button", function() { return Button; }); | |
__webpack_require__.d(all_namespaceObject, "modal", function() { return modal_modal; }); | |
__webpack_require__.d(all_namespaceObject, "Modal", function() { return Modal; }); | |
__webpack_require__.d(all_namespaceObject, "Tooltip", function() { return Tooltip; }); | |
__webpack_require__.d(all_namespaceObject, "Form", function() { return Form; }); | |
__webpack_require__.d(all_namespaceObject, "FormItem", function() { return FormItem; }); | |
__webpack_require__.d(all_namespaceObject, "FormGather", function() { return FormGather; }); | |
__webpack_require__.d(all_namespaceObject, "Select", function() { return Select; }); | |
__webpack_require__.d(all_namespaceObject, "Optgroup", function() { return Optgroup; }); | |
__webpack_require__.d(all_namespaceObject, "Option", function() { return Option; }); | |
__webpack_require__.d(all_namespaceObject, "Switch", function() { return Switch; }); | |
__webpack_require__.d(all_namespaceObject, "List", function() { return List; }); | |
__webpack_require__.d(all_namespaceObject, "Pulldown", function() { return Pulldown; }); | |
__webpack_require__.d(all_namespaceObject, "Table", function() { return Table; }); | |
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | |
// This file is imported into lib/wc client bundles. | |
if (typeof window !== 'undefined') { | |
var currentScript = window.document.currentScript | |
if (true) { | |
var getCurrentScript = __webpack_require__("8875") | |
currentScript = getCurrentScript() | |
// for backward compatibility, because previously we directly included the polyfill | |
if (!('currentScript' in document)) { | |
Object.defineProperty(document, 'currentScript', { get: getCurrentScript }) | |
} | |
} | |
var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) | |
if (src) { | |
__webpack_require__.p = src[1] // eslint-disable-line | |
} | |
} | |
// Indicate to webpack that this file can be concatenated | |
/* harmony default export */ var setPublicPath = (null); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js | |
var web_dom_collections_for_each = __webpack_require__("159b"); | |
// EXTERNAL MODULE: external {"root":"XEUtils","commonjs":"xe-utils","commonjs2":"xe-utils","amd":"xe-utils"} | |
var external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_ = __webpack_require__("f0af"); | |
var external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default = /*#__PURE__*/__webpack_require__.n(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_); | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js | |
function _classCallCheck(instance, Constructor) { | |
if (!(instance instanceof Constructor)) { | |
throw new TypeError("Cannot call a class as a function"); | |
} | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js | |
function _defineProperties(target, props) { | |
for (var i = 0; i < props.length; i++) { | |
var descriptor = props[i]; | |
descriptor.enumerable = descriptor.enumerable || false; | |
descriptor.configurable = true; | |
if ("value" in descriptor) descriptor.writable = true; | |
Object.defineProperty(target, descriptor.key, descriptor); | |
} | |
} | |
function _createClass(Constructor, protoProps, staticProps) { | |
if (protoProps) _defineProperties(Constructor.prototype, protoProps); | |
if (staticProps) _defineProperties(Constructor, staticProps); | |
return Constructor; | |
} | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/conf.ts | |
var iconPrefix = 'vxe-icon--'; | |
var GlobalConfig = { | |
size: null, | |
zIndex: 999, | |
version: 0, | |
// resizeInterval: 500, | |
emptyCell: ' ', | |
table: { | |
fit: true, | |
showHeader: true, | |
animat: true, | |
delayHover: 250, | |
autoResize: true, | |
// keepSource: false, | |
// showOverflow: null, | |
// showHeaderOverflow: null, | |
// showFooterOverflow: null, | |
// resizeInterval: 500, | |
// size: null, | |
// zIndex: null, | |
// stripe: false, | |
// border: false, | |
// round: false, | |
// emptyText: '暂无数据', | |
// emptyRender: { | |
// name: '' | |
// }, | |
radioConfig: { | |
// trigger: 'default' | |
strict: true | |
}, | |
checkboxConfig: { | |
// trigger: 'default', | |
strict: true | |
}, | |
// tooltipConfig: { | |
// theme: 'dark', | |
// enterable: false | |
// }, | |
validConfig: { | |
showMessage: true, | |
message: 'default' | |
}, | |
// menuConfig: { | |
// visibleMethod () {} | |
// }, | |
// customConfig: { | |
// storage: false, | |
// checkMethod () {} | |
// }, | |
// rowId: '_X_ID', // 行数据的唯一主键字段名 | |
sortConfig: { | |
// remote: false, | |
// trigger: 'default', | |
// orders: ['asc', 'desc', null], | |
// sortMethod: null, | |
showIcon: true | |
}, | |
filterConfig: { | |
// remote: false, | |
// filterMethod: null, | |
showIcon: true | |
}, | |
treeConfig: { | |
rowField: 'id', | |
parentField: 'parentId', | |
children: 'children', | |
hasChild: 'hasChild', | |
mapChildren: '_X_CHILD', | |
indent: 20, | |
showIcon: true | |
}, | |
expandConfig: { | |
// trigger: 'default', | |
showIcon: true | |
}, | |
editConfig: { | |
// mode: 'cell', | |
showIcon: true, | |
showAsterisk: true | |
}, | |
importConfig: { | |
modes: ['insert', 'covering'] | |
}, | |
exportConfig: { | |
modes: ['current', 'selected'] | |
}, | |
printConfig: { | |
modes: ['current', 'selected'] | |
}, | |
mouseConfig: { | |
extension: true | |
}, | |
keyboardConfig: { | |
isEsc: true | |
}, | |
areaConfig: { | |
selectCellByHeader: true | |
}, | |
clipConfig: { | |
isCopy: true, | |
isCut: true, | |
isPaste: true | |
}, | |
fnrConfig: { | |
isFind: true, | |
isReplace: true | |
}, | |
scrollX: { | |
enabled: true, | |
gt: 60 // oSize: 0 | |
}, | |
scrollY: { | |
enabled: true, | |
gt: 100 // oSize: 0 | |
} | |
}, | |
export: { | |
types: {} | |
}, | |
icon: { | |
// table | |
TABLE_SORT_ASC: iconPrefix + 'caret-top', | |
TABLE_SORT_DESC: iconPrefix + 'caret-bottom', | |
TABLE_FILTER_NONE: iconPrefix + 'funnel', | |
TABLE_FILTER_MATCH: iconPrefix + 'funnel', | |
TABLE_EDIT: iconPrefix + 'edit-outline', | |
TABLE_HELP: iconPrefix + 'question', | |
TABLE_TREE_LOADED: iconPrefix + 'refresh roll', | |
TABLE_TREE_OPEN: iconPrefix + 'caret-right rotate90', | |
TABLE_TREE_CLOSE: iconPrefix + 'caret-right', | |
TABLE_EXPAND_LOADED: iconPrefix + 'refresh roll', | |
TABLE_EXPAND_OPEN: iconPrefix + 'arrow-right rotate90', | |
TABLE_EXPAND_CLOSE: iconPrefix + 'arrow-right', | |
// button | |
BUTTON_DROPDOWN: iconPrefix + 'arrow-bottom', | |
BUTTON_LOADING: iconPrefix + 'refresh roll', | |
// select | |
SELECT_LOADED: iconPrefix + 'refresh roll', | |
SELECT_OPEN: iconPrefix + 'caret-bottom rotate180', | |
SELECT_CLOSE: iconPrefix + 'caret-bottom', | |
// pager | |
PAGER_JUMP_PREV: iconPrefix + 'd-arrow-left', | |
PAGER_JUMP_NEXT: iconPrefix + 'd-arrow-right', | |
PAGER_PREV_PAGE: iconPrefix + 'arrow-left', | |
PAGER_NEXT_PAGE: iconPrefix + 'arrow-right', | |
PAGER_JUMP_MORE: iconPrefix + 'more', | |
// input | |
INPUT_CLEAR: iconPrefix + 'close', | |
INPUT_PWD: iconPrefix + 'eye-slash', | |
INPUT_SHOW_PWD: iconPrefix + 'eye', | |
INPUT_PREV_NUM: iconPrefix + 'caret-top', | |
INPUT_NEXT_NUM: iconPrefix + 'caret-bottom', | |
INPUT_DATE: iconPrefix + 'calendar', | |
INPUT_SEARCH: iconPrefix + 'search', | |
// modal | |
MODAL_ZOOM_IN: iconPrefix + 'square', | |
MODAL_ZOOM_OUT: iconPrefix + 'zoomout', | |
MODAL_CLOSE: iconPrefix + 'close', | |
MODAL_INFO: iconPrefix + 'info', | |
MODAL_SUCCESS: iconPrefix + 'success', | |
MODAL_WARNING: iconPrefix + 'warning', | |
MODAL_ERROR: iconPrefix + 'error', | |
MODAL_QUESTION: iconPrefix + 'question', | |
MODAL_LOADING: iconPrefix + 'refresh roll', | |
// toolbar | |
TOOLBAR_TOOLS_REFRESH: iconPrefix + 'refresh', | |
TOOLBAR_TOOLS_REFRESH_LOADING: iconPrefix + 'refresh roll', | |
TOOLBAR_TOOLS_IMPORT: iconPrefix + 'upload', | |
TOOLBAR_TOOLS_EXPORT: iconPrefix + 'download', | |
TOOLBAR_TOOLS_PRINT: iconPrefix + 'print', | |
TOOLBAR_TOOLS_ZOOM_IN: iconPrefix + 'zoomin', | |
TOOLBAR_TOOLS_ZOOM_OUT: iconPrefix + 'zoomout', | |
TOOLBAR_TOOLS_CUSTOM: iconPrefix + 'menu', | |
// form | |
FORM_PREFIX: iconPrefix + 'question', | |
FORM_SUFFIX: iconPrefix + 'question', | |
FORM_FOLDING: iconPrefix + 'arrow-top rotate180', | |
FORM_UNFOLDING: iconPrefix + 'arrow-top' | |
}, | |
grid: { | |
// size: null, | |
// zoomConfig: { | |
// escRestore: true | |
// }, | |
formConfig: { | |
enabled: true | |
}, | |
pagerConfig: { | |
enabled: true // perfect: false | |
}, | |
toolbarConfig: { | |
enabled: true // perfect: false | |
}, | |
proxyConfig: { | |
enabled: true, | |
autoLoad: true, | |
message: true, | |
props: { | |
list: null, | |
result: 'result', | |
total: 'page.total', | |
message: 'message' | |
} // beforeItem: null, | |
// beforeColumn: null, | |
// beforeQuery: null, | |
// afterQuery: null, | |
// beforeDelete: null, | |
// afterDelete: null, | |
// beforeSave: null, | |
// afterSave: null | |
} | |
}, | |
tooltip: { | |
// size: null, | |
trigger: 'hover', | |
theme: 'dark', | |
leaveDelay: 300 | |
}, | |
pager: {// size: null, | |
// autoHidden: false, | |
// perfect: true, | |
// pageSize: 10, | |
// pagerCount: 7, | |
// pageSizes: [10, 15, 20, 50, 100], | |
// layouts: ['PrevJump', 'PrevPage', 'Jump', 'PageCount', 'NextPage', 'NextJump', 'Sizes', 'Total'] | |
}, | |
form: { | |
// preventSubmit: false, | |
validConfig: { | |
showMessage: true, | |
autoPos: true | |
}, | |
// size: null, | |
// colon: false, | |
titleAsterisk: true | |
}, | |
input: { | |
// size: null, | |
// transfer: false | |
// parseFormat: 'yyyy-MM-dd HH:mm:ss.SSS', | |
// labelFormat: '', | |
// valueFormat: '', | |
minDate: new Date(1900, 0, 1), | |
maxDate: new Date(2100, 0, 1), | |
startDay: 1, | |
selectDay: 1, | |
digits: 2, | |
controls: true | |
}, | |
textarea: {// size: null, | |
// autosize: { | |
// minRows: 1, | |
// maxRows: 10 | |
// } | |
}, | |
select: { | |
// size: null, | |
// transfer: false, | |
multiCharOverflow: 8 | |
}, | |
toolbar: {// size: null, | |
// import: { | |
// mode: 'covering' | |
// }, | |
// export: { | |
// types: ['csv', 'html', 'xml', 'txt'] | |
// }, | |
// custom: { | |
// isFooter: true | |
// }, | |
// buttons: [] | |
}, | |
button: {// size: null, | |
// transfer: false | |
}, | |
radio: {// size: null | |
}, | |
checkbox: {// size: null | |
}, | |
switch: {// size: null | |
}, | |
modal: { | |
// size: null, | |
top: 15, | |
showHeader: true, | |
minWidth: 340, | |
minHeight: 140, | |
lockView: true, | |
mask: true, | |
duration: 3000, | |
marginSize: 0, | |
dblclickZoom: true, | |
showTitleOverflow: true, | |
animat: true, | |
showClose: true, | |
draggable: true, | |
// storage: false, | |
storageKey: 'VXE_MODAL_POSITION' | |
}, | |
list: { | |
// size: null, | |
scrollY: { | |
enabled: true, | |
gt: 100 // oSize: 0 | |
} | |
}, | |
i18n: function i18n(key) { | |
return key; | |
} | |
}; | |
/* harmony default export */ var conf = (GlobalConfig); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js | |
var es_array_join = __webpack_require__("a15b"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js | |
var es_function_name = __webpack_require__("b0c0"); | |
// CONCATENATED MODULE: ./packages/tools/utils.ts | |
var zindexIndex = 0; | |
var lastZindex = 1; | |
function getLog(message, params) { | |
return "[vxe-table] ".concat(conf.i18n(message, params)); | |
} | |
function outLog(type) { | |
return function (message, params) { | |
var msg = getLog(message, params); | |
console[type](msg); | |
return msg; | |
}; | |
} | |
function isEnableConf(conf) { | |
return conf && conf.enabled !== false; | |
} | |
function isEmptyValue(cellValue) { | |
return cellValue === null || cellValue === undefined || cellValue === ''; | |
} | |
function parseFile(file) { | |
var name = file.name; | |
var tIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.lastIndexOf(name, '.'); | |
var type = name.substring(tIndex + 1, name.length); | |
var filename = name.substring(0, tIndex); | |
return { | |
filename: filename, | |
type: type | |
}; | |
} | |
function nextZIndex() { | |
lastZindex = conf.zIndex + zindexIndex++; | |
return lastZindex; | |
} | |
function getLastZIndex() { | |
return lastZindex; | |
} | |
var warnLog = outLog('warn'); | |
var errLog = outLog('error'); | |
function hasChildrenList(item) { | |
return item && item.children && item.children.length > 0; | |
} | |
function getFuncText(content) { | |
return content ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(conf.translate ? conf.translate('' + content) : content) : ''; | |
} | |
function formatText(value, placeholder) { | |
return '' + (isEmptyValue(value) ? placeholder ? conf.emptyCell : '' : value); | |
} | |
/** | |
* 判断值为:'' | null | undefined 时都属于空值 | |
*/ | |
function eqEmptyValue(cellValue) { | |
return cellValue === '' || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(cellValue); | |
} | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/interceptor.ts | |
var storeMap = {}; | |
var interceptor = { | |
mixin: function mixin(options) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.each(options, function (callback, type) { | |
return interceptor.add(type, callback); | |
}); | |
return interceptor; | |
}, | |
get: function get(type) { | |
return storeMap[type] || []; | |
}, | |
add: function add(type, callback) { | |
// 检测类型 | |
if (true) { | |
var eventTypes = ['created', 'mounted', 'activated', 'beforeUnmount', 'unmounted', 'event.clearActived', 'event.clearFilter', 'event.clearAreas', 'event.showMenu', 'event.keydown', 'event.export', 'event.import']; | |
if (eventTypes.indexOf(type) === -1) { | |
warnLog('vxe.error.errProp', ["Interceptor.".concat(type), eventTypes.join('|')]); | |
} | |
} | |
if (callback) { | |
var eList = storeMap[type]; | |
if (!eList) { | |
eList = storeMap[type] = []; | |
} // 检测重复 | |
if (true) { | |
if (eList.indexOf(callback) > -1) { | |
warnLog('vxe.error.coverProp', ['Interceptor', type]); | |
} | |
} | |
eList.push(callback); | |
} | |
return interceptor; | |
}, | |
delete: function _delete(type, callback) { | |
var eList = storeMap[type]; | |
if (eList) { | |
if (callback) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.remove(eList, function (fn) { | |
return fn === callback; | |
}); | |
} else { | |
delete storeMap[type]; | |
} | |
} | |
} | |
}; | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js | |
var es_object_keys = __webpack_require__("b64b"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js | |
var es_symbol = __webpack_require__("a4d3"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js | |
var es_array_filter = __webpack_require__("4de4"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js | |
var es_object_get_own_property_descriptor = __webpack_require__("e439"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js | |
var es_object_get_own_property_descriptors = __webpack_require__("dbb4"); | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js | |
function _defineProperty(obj, key, value) { | |
if (key in obj) { | |
Object.defineProperty(obj, key, { | |
value: value, | |
enumerable: true, | |
configurable: true, | |
writable: true | |
}); | |
} else { | |
obj[key] = value; | |
} | |
return obj; | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js | |
function ownKeys(object, enumerableOnly) { | |
var keys = Object.keys(object); | |
if (Object.getOwnPropertySymbols) { | |
var symbols = Object.getOwnPropertySymbols(object); | |
if (enumerableOnly) { | |
symbols = symbols.filter(function (sym) { | |
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | |
}); | |
} | |
keys.push.apply(keys, symbols); | |
} | |
return keys; | |
} | |
function _objectSpread2(target) { | |
for (var i = 1; i < arguments.length; i++) { | |
var source = arguments[i] != null ? arguments[i] : {}; | |
if (i % 2) { | |
ownKeys(Object(source), true).forEach(function (key) { | |
_defineProperty(target, key, source[key]); | |
}); | |
} else if (Object.getOwnPropertyDescriptors) { | |
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | |
} else { | |
ownKeys(Object(source)).forEach(function (key) { | |
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | |
}); | |
} | |
} | |
return target; | |
} | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js | |
var es_regexp_exec = __webpack_require__("ac1f"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js | |
var es_string_replace = __webpack_require__("5319"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js | |
var es_object_assign = __webpack_require__("cca6"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js | |
var es_array_concat = __webpack_require__("99af"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js | |
var es_array_map = __webpack_require__("d81d"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js | |
var es_array_find = __webpack_require__("7db0"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.to-fixed.js | |
var es_number_to_fixed = __webpack_require__("b680"); | |
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} | |
var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js | |
var es_number_constructor = __webpack_require__("a9e3"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js | |
var es_array_splice = __webpack_require__("a434"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js | |
var es_array_slice = __webpack_require__("fb6a"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js | |
var es_object_to_string = __webpack_require__("d3b7"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js | |
var es_promise = __webpack_require__("e6cf"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.fixed.js | |
var es_string_fixed = __webpack_require__("c7cd"); | |
// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts | |
var columnInfo_ColumnInfo = /*#__PURE__*/function () { | |
/* eslint-disable @typescript-eslint/no-use-before-define */ | |
function ColumnInfo($xetable, _vm) { | |
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, | |
renderHeader = _ref.renderHeader, | |
renderCell = _ref.renderCell, | |
renderFooter = _ref.renderFooter, | |
renderData = _ref.renderData; | |
_classCallCheck(this, ColumnInfo); | |
_defineProperty(this, "title", void 0); | |
_defineProperty(this, "type", void 0); | |
_defineProperty(this, "property", void 0); | |
var $xegrid = $xetable.xegrid; | |
var formatter = _vm.formatter; | |
var visible = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isBoolean(_vm.visible) ? _vm.visible : true; | |
if (true) { | |
var types = ['seq', 'checkbox', 'radio', 'expand', 'html']; | |
if (_vm.type && types.indexOf(_vm.type) === -1) { | |
warnLog('vxe.error.errProp', ["type=".concat(_vm.type), types.join(', ')]); | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isBoolean(_vm.cellRender) || _vm.cellRender && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isObject(_vm.cellRender)) { | |
warnLog('vxe.error.errProp', ["column.cell-render=".concat(_vm.cellRender), 'column.cell-render={}']); | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isBoolean(_vm.editRender) || _vm.editRender && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isObject(_vm.editRender)) { | |
warnLog('vxe.error.errProp', ["column.edit-render=".concat(_vm.editRender), 'column.edit-render={}']); | |
} | |
if (_vm.cellRender && _vm.editRender) { | |
warnLog('vxe.error.errConflicts', ['column.cell-render', 'column.edit-render']); | |
} | |
if (_vm.type === 'expand') { | |
var tableProps = $xetable.props; | |
var treeConfig = tableProps.treeConfig; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeTreeOpts = _$xetable$getComputeM.computeTreeOpts; | |
var treeOpts = computeTreeOpts.value; | |
if (treeConfig && treeOpts.line) { | |
errLog('vxe.error.errConflicts', ['tree-config.line', 'column.type=expand']); | |
} | |
} | |
if (formatter) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(formatter)) { | |
var globalFunc = VXETable.formats.get(formatter) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a[formatter]; | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(globalFunc)) { | |
errLog('vxe.error.notFunc', [formatter]); | |
} | |
} else if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(formatter)) { | |
var _globalFunc = VXETable.formats.get(formatter[0]) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a[formatter[0]]; | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(_globalFunc)) { | |
errLog('vxe.error.notFunc', [formatter[0]]); | |
} | |
} | |
} | |
} | |
Object.assign(this, { | |
// 基本属性 | |
type: _vm.type, | |
property: _vm.field, | |
title: _vm.title, | |
width: _vm.width, | |
minWidth: _vm.minWidth, | |
resizable: _vm.resizable, | |
fixed: _vm.fixed, | |
align: _vm.align, | |
headerAlign: _vm.headerAlign, | |
footerAlign: _vm.footerAlign, | |
showOverflow: _vm.showOverflow, | |
showHeaderOverflow: _vm.showHeaderOverflow, | |
showFooterOverflow: _vm.showFooterOverflow, | |
className: _vm.className, | |
headerClassName: _vm.headerClassName, | |
footerClassName: _vm.footerClassName, | |
formatter: formatter, | |
sortable: _vm.sortable, | |
sortBy: _vm.sortBy, | |
sortType: _vm.sortType, | |
filters: toFilters(_vm.filters), | |
filterMultiple: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isBoolean(_vm.filterMultiple) ? _vm.filterMultiple : true, | |
filterMethod: _vm.filterMethod, | |
filterResetMethod: _vm.filterResetMethod, | |
filterRecoverMethod: _vm.filterRecoverMethod, | |
filterRender: _vm.filterRender, | |
treeNode: _vm.treeNode, | |
cellType: _vm.cellType, | |
cellRender: _vm.cellRender, | |
editRender: _vm.editRender, | |
contentRender: _vm.contentRender, | |
exportMethod: _vm.exportMethod, | |
footerExportMethod: _vm.footerExportMethod, | |
titleHelp: _vm.titleHelp, | |
// 自定义参数 | |
params: _vm.params, | |
// 渲染属性 | |
id: _vm.colId || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId('col_'), | |
parentId: null, | |
visible: visible, | |
// 内部属性(一旦被使用,将导致不可升级版本) | |
halfVisible: false, | |
defaultVisible: visible, | |
checked: false, | |
halfChecked: false, | |
disabled: false, | |
level: 1, | |
rowSpan: 1, | |
colSpan: 1, | |
order: null, | |
sortTime: 0, | |
renderWidth: 0, | |
renderHeight: 0, | |
resizeWidth: 0, | |
renderLeft: 0, | |
renderArgs: [], | |
model: {}, | |
renderHeader: renderHeader || _vm.renderHeader, | |
renderCell: renderCell || _vm.renderCell, | |
renderFooter: renderFooter || _vm.renderFooter, | |
renderData: renderData, | |
// 单元格插槽,只对 grid 有效 | |
slots: _vm.slots | |
}); | |
if ($xegrid) { | |
var _$xegrid$getComputeMa = $xegrid.getComputeMaps(), | |
computeProxyOpts = _$xegrid$getComputeMa.computeProxyOpts; | |
var proxyOpts = computeProxyOpts.value; | |
if (proxyOpts.beforeColumn) { | |
proxyOpts.beforeColumn({ | |
$grid: $xegrid, | |
column: this | |
}); | |
} | |
} | |
} | |
_createClass(ColumnInfo, [{ | |
key: "getTitle", | |
value: function getTitle() { | |
return getFuncText(this.title || (this.type === 'seq' ? conf.i18n('vxe.table.seqTitle') : '')); | |
} | |
}, { | |
key: "getKey", | |
value: function getKey() { | |
return this.property || (this.type ? "type=".concat(this.type) : null); | |
} | |
}, { | |
key: "update", | |
value: function update(name, value) { | |
// 不支持双向的属性 | |
if (name !== 'filters') { | |
if (name === 'field') { | |
this.property = value; | |
} else { | |
this[name] = value; | |
} | |
} | |
} | |
}]); | |
return ColumnInfo; | |
}(); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js | |
var es_regexp_constructor = __webpack_require__("4d63"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js | |
var es_regexp_to_string = __webpack_require__("25f0"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js | |
var es_string_match = __webpack_require__("466d"); | |
// CONCATENATED MODULE: ./packages/tools/dom.ts | |
var reClsMap = {}; | |
var browse = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.browse(); | |
function getClsRE(cls) { | |
if (!reClsMap[cls]) { | |
reClsMap[cls] = new RegExp("(?:^|\\s)".concat(cls, "(?!\\S)"), 'g'); | |
} | |
return reClsMap[cls]; | |
} | |
function getNodeOffset(elem, container, rest) { | |
if (elem) { | |
var parentElem = elem.parentNode; | |
rest.top += elem.offsetTop; | |
rest.left += elem.offsetLeft; | |
if (parentElem && parentElem !== document.documentElement && parentElem !== document.body) { | |
rest.top -= parentElem.scrollTop; | |
rest.left -= parentElem.scrollLeft; | |
} | |
if (container && (elem === container || elem.offsetParent === container) ? 0 : elem.offsetParent) { | |
return getNodeOffset(elem.offsetParent, container, rest); | |
} | |
} | |
return rest; | |
} | |
function isPx(val) { | |
return val && /^\d+(px)?$/.test(val); | |
} | |
function isScale(val) { | |
return val && /^\d+%$/.test(val); | |
} | |
function hasClass(elem, cls) { | |
return elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls)); | |
} | |
function removeClass(elem, cls) { | |
if (elem && hasClass(elem, cls)) { | |
elem.className = elem.className.replace(getClsRE(cls), ''); | |
} | |
} | |
function addClass(elem, cls) { | |
if (elem && !hasClass(elem, cls)) { | |
removeClass(elem, cls); | |
elem.className = "".concat(elem.className, " ").concat(cls); | |
} | |
} | |
function getDomNode() { | |
var documentElement = document.documentElement; | |
var bodyElem = document.body; | |
return { | |
scrollTop: documentElement.scrollTop || bodyElem.scrollTop, | |
scrollLeft: documentElement.scrollLeft || bodyElem.scrollLeft, | |
visibleHeight: documentElement.clientHeight || bodyElem.clientHeight, | |
visibleWidth: documentElement.clientWidth || bodyElem.clientWidth | |
}; | |
} | |
function getOffsetHeight(elem) { | |
return elem ? elem.offsetHeight : 0; | |
} | |
function getPaddingTopBottomSize(elem) { | |
if (elem) { | |
var computedStyle = getComputedStyle(elem); | |
var paddingTop = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(computedStyle.paddingTop); | |
var paddingBottom = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(computedStyle.paddingBottom); | |
return paddingTop + paddingBottom; | |
} | |
return 0; | |
} | |
function setScrollTop(elem, scrollTop) { | |
if (elem) { | |
elem.scrollTop = scrollTop; | |
} | |
} | |
function setScrollLeft(elem, scrollLeft) { | |
if (elem) { | |
elem.scrollLeft = scrollLeft; | |
} | |
} | |
function updateCellTitle(overflowElem, column) { | |
var content = column.type === 'html' ? overflowElem.innerText : overflowElem.textContent; | |
if (overflowElem.getAttribute('title') !== content) { | |
overflowElem.setAttribute('title', content); | |
} | |
} | |
/** | |
* 检查触发源是否属于目标节点 | |
*/ | |
function getEventTargetNode(evnt, container, queryCls, queryMethod) { | |
var targetElem; | |
var target = evnt.target; | |
while (target && target.nodeType && target !== document) { | |
if (queryCls && hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) { | |
targetElem = target; | |
} else if (target === container) { | |
return { | |
flag: queryCls ? !!targetElem : true, | |
container: container, | |
targetElem: targetElem | |
}; | |
} | |
target = target.parentNode; | |
} | |
return { | |
flag: false | |
}; | |
} | |
/** | |
* 获取元素相对于 document 的位置 | |
*/ | |
function getOffsetPos(elem, container) { | |
return getNodeOffset(elem, container, { | |
left: 0, | |
top: 0 | |
}); | |
} | |
function getAbsolutePos(elem) { | |
var bounding = elem.getBoundingClientRect(); | |
var boundingTop = bounding.top; | |
var boundingLeft = bounding.left; | |
var _getDomNode = getDomNode(), | |
scrollTop = _getDomNode.scrollTop, | |
scrollLeft = _getDomNode.scrollLeft, | |
visibleHeight = _getDomNode.visibleHeight, | |
visibleWidth = _getDomNode.visibleWidth; | |
return { | |
boundingTop: boundingTop, | |
top: scrollTop + boundingTop, | |
boundingLeft: boundingLeft, | |
left: scrollLeft + boundingLeft, | |
visibleHeight: visibleHeight, | |
visibleWidth: visibleWidth | |
}; | |
} | |
var scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded'; | |
var scrollIntoView = 'scrollIntoView'; | |
function scrollToView(elem) { | |
if (elem) { | |
if (elem[scrollIntoViewIfNeeded]) { | |
elem[scrollIntoViewIfNeeded](); | |
} else if (elem[scrollIntoView]) { | |
elem[scrollIntoView](); | |
} | |
} | |
} | |
function dom_triggerEvent(targetElem, type) { | |
if (targetElem) { | |
targetElem.dispatchEvent(new Event(type)); | |
} | |
} | |
// CONCATENATED MODULE: ./packages/table/src/util.ts | |
function restoreScrollLocation($xetable, scrollLeft, scrollTop) { | |
var internalData = $xetable.internalData; | |
return $xetable.clearScroll().then(function () { | |
if (scrollLeft || scrollTop) { | |
// 重置最后滚动状态 | |
internalData.lastScrollLeft = 0; | |
internalData.lastScrollTop = 0; // 还原滚动状态 | |
return $xetable.scrollTo(scrollLeft, scrollTop); | |
} | |
}); | |
} | |
function removeScrollListener(scrollElem) { | |
if (scrollElem && scrollElem._onscroll) { | |
scrollElem.onscroll = null; | |
} | |
} | |
function restoreScrollListener(scrollElem) { | |
if (scrollElem && scrollElem._onscroll) { | |
scrollElem.onscroll = scrollElem._onscroll; | |
} | |
} | |
/** | |
* 生成行的唯一主键 | |
*/ | |
function getRowUniqueId() { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId('row_'); | |
} // 行主键 key | |
function getRowkey($xetable) { | |
var props = $xetable.props; | |
var rowId = props.rowId; | |
return rowId || '_X_ID'; | |
} // 行主键 value | |
function util_getRowid($xetable, row) { | |
var rowId = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, getRowkey($xetable)); | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(rowId) ? '' : encodeURIComponent(rowId); | |
} | |
var util_handleFieldOrColumn = function handleFieldOrColumn($xetable, fieldOrColumn) { | |
if (fieldOrColumn) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(fieldOrColumn) ? $xetable.getColumnByField(fieldOrColumn) : fieldOrColumn; | |
} | |
return null; | |
}; | |
function getPaddingLeftRightSize(elem) { | |
if (elem) { | |
var computedStyle = getComputedStyle(elem); | |
var paddingLeft = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(computedStyle.paddingLeft); | |
var paddingRight = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(computedStyle.paddingRight); | |
return paddingLeft + paddingRight; | |
} | |
return 0; | |
} | |
function getElemenMarginWidth(elem) { | |
if (elem) { | |
var computedStyle = getComputedStyle(elem); | |
var marginLeft = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(computedStyle.marginLeft); | |
var marginRight = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(computedStyle.marginRight); | |
return elem.offsetWidth + marginLeft + marginRight; | |
} | |
return 0; | |
} | |
function queryCellElement(cell, selector) { | |
return cell.querySelector('.vxe-cell' + selector); | |
} | |
function toFilters(filters) { | |
if (filters && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(filters)) { | |
return filters.map(function (_ref) { | |
var label = _ref.label, | |
value = _ref.value, | |
data = _ref.data, | |
resetValue = _ref.resetValue, | |
checked = _ref.checked; | |
return { | |
label: label, | |
value: value, | |
data: data, | |
resetValue: resetValue, | |
checked: !!checked, | |
_checked: !!checked | |
}; | |
}); | |
} | |
return filters; | |
} | |
function toTreePathSeq(path) { | |
return path.map(function (num, i) { | |
return i % 2 === 0 ? Number(num) + 1 : '.'; | |
}).join(''); | |
} | |
function getCellValue(row, column) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.property); | |
} | |
function setCellValue(row, column, value) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, column.property, value); | |
} | |
function getPropClass(property, params) { | |
return property ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(property) ? property(params) : property : ''; | |
} | |
function getColMinWidth(params) { | |
var $table = params.$table, | |
column = params.column, | |
cell = params.cell; | |
var tableProps = $table.props; | |
var _$table$getComputeMap = $table.getComputeMaps(), | |
computeResizableOpts = _$table$getComputeMap.computeResizableOpts; | |
var resizableOpts = computeResizableOpts.value; | |
var reMinWidth = resizableOpts.minWidth; // 如果自定义调整宽度逻辑 | |
if (reMinWidth) { | |
var customMinWidth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(reMinWidth) ? reMinWidth(params) : reMinWidth; | |
if (customMinWidth !== 'auto') { | |
return Math.max(1, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(customMinWidth)); | |
} | |
} | |
var allColumnHeaderOverflow = tableProps.showHeaderOverflow; | |
var showHeaderOverflow = column.showHeaderOverflow, | |
colMinWidth = column.minWidth; | |
var headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(showHeaderOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow; | |
var showEllipsis = headOverflow === 'ellipsis'; | |
var showTitle = headOverflow === 'title'; | |
var showTooltip = headOverflow === true || headOverflow === 'tooltip'; | |
var hasEllipsis = showTitle || showTooltip || showEllipsis; | |
var minTitleWidth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(getComputedStyle(cell).fontSize) || 14) * 1.6); | |
var paddingLeftRight = getPaddingLeftRightSize(cell) + getPaddingLeftRightSize(queryCellElement(cell, '')); | |
var mWidth = minTitleWidth + paddingLeftRight; // 默认最小宽处理 | |
if (hasEllipsis) { | |
var checkboxIconWidth = getPaddingLeftRightSize(queryCellElement(cell, '--title>.vxe-cell--checkbox')); | |
var requiredIconWidth = getElemenMarginWidth(queryCellElement(cell, '>.vxe-cell--required-icon')); | |
var editIconWidth = getElemenMarginWidth(queryCellElement(cell, '>.vxe-cell--edit-icon')); | |
var helpIconWidth = getElemenMarginWidth(queryCellElement(cell, '>.vxe-cell-help-icon')); | |
var sortIconWidth = getElemenMarginWidth(queryCellElement(cell, '>.vxe-cell--sort')); | |
var filterIconWidth = getElemenMarginWidth(queryCellElement(cell, '>.vxe-cell--filter')); | |
mWidth += checkboxIconWidth + requiredIconWidth + editIconWidth + helpIconWidth + filterIconWidth + sortIconWidth; | |
} // 如果设置最小宽 | |
if (colMinWidth) { | |
var _$table$getRefMaps = $table.getRefMaps(), | |
refTableBody = _$table$getRefMaps.refTableBody; | |
var tableBody = refTableBody.value; | |
var bodyElem = tableBody ? tableBody.$el : null; | |
if (bodyElem) { | |
if (isScale(colMinWidth)) { | |
var bodyWidth = bodyElem.clientWidth - 1; | |
var meanWidth = bodyWidth / 100; | |
return Math.max(mWidth, Math.floor(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toInteger(colMinWidth) * meanWidth)); | |
} else if (isPx(colMinWidth)) { | |
return Math.max(mWidth, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toInteger(colMinWidth)); | |
} | |
} | |
} | |
return mWidth; | |
} | |
function isColumnInfo(column) { | |
return column && (column.constructor === columnInfo_ColumnInfo || column instanceof columnInfo_ColumnInfo); | |
} | |
function util_createColumn($xetable, options, renderOptions) { | |
return isColumnInfo(options) ? options : new columnInfo_ColumnInfo($xetable, options, renderOptions); | |
} | |
function watchColumn(props, column) { | |
Object.keys(props).forEach(function (name) { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props[name]; | |
}, function (value) { | |
column.update(name, value); | |
}); | |
}); | |
} | |
function assemColumn($xetable, elem, column, colgroup) { | |
var reactData = $xetable.reactData; | |
var staticColumns = reactData.staticColumns; | |
var parentElem = elem.parentNode; | |
var parentColumn = colgroup ? colgroup.column : null; | |
var parentCols = parentColumn ? parentColumn.children : staticColumns; | |
if (parentElem && parentCols) { | |
parentCols.splice(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayIndexOf(parentElem.children, elem), 0, column); | |
reactData.staticColumns = staticColumns.slice(0); | |
} | |
} | |
function destroyColumn($xetable, column) { | |
var reactData = $xetable.reactData; | |
var staticColumns = reactData.staticColumns; | |
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(staticColumns, function (item) { | |
return item.id === column.id; | |
}, { | |
children: 'children' | |
}); | |
if (matchObj) { | |
matchObj.items.splice(matchObj.index, 1); | |
} | |
reactData.staticColumns = staticColumns.slice(0); | |
} | |
function mergeBodyMethod(mergeList, _rowIndex, _columnIndex) { | |
for (var mIndex = 0; mIndex < mergeList.length; mIndex++) { | |
var _mergeList$mIndex = mergeList[mIndex], | |
mergeRowIndex = _mergeList$mIndex.row, | |
mergeColIndex = _mergeList$mIndex.col, | |
mergeRowspan = _mergeList$mIndex.rowspan, | |
mergeColspan = _mergeList$mIndex.colspan; | |
if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) { | |
if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) { | |
return { | |
rowspan: mergeRowspan, | |
colspan: mergeColspan | |
}; | |
} | |
if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) { | |
return { | |
rowspan: 0, | |
colspan: 0 | |
}; | |
} | |
} | |
} | |
} | |
function clearTableDefaultStatus($xetable) { | |
var props = $xetable.props, | |
internalData = $xetable.internalData; | |
internalData.initStatus = false; | |
$xetable.clearSort(); | |
$xetable.clearCurrentRow(); | |
$xetable.clearCurrentColumn(); | |
$xetable.clearRadioRow(); | |
$xetable.clearRadioReserve(); | |
$xetable.clearCheckboxRow(); | |
$xetable.clearCheckboxReserve(); | |
$xetable.clearRowExpand(); | |
$xetable.clearTreeExpand(); | |
$xetable.clearTreeExpandReserve(); | |
if ($xetable.clearFilter) { | |
$xetable.clearFilter(); | |
} | |
if ($xetable.clearSelected && (props.keyboardConfig || props.mouseConfig)) { | |
$xetable.clearSelected(); | |
} | |
if ($xetable.clearCellAreas && props.mouseConfig) { | |
$xetable.clearCellAreas(); | |
$xetable.clearCopyCellArea(); | |
} | |
return $xetable.clearScroll(); | |
} | |
function clearTableAllStatus($xetable) { | |
if ($xetable.clearFilter) { | |
$xetable.clearFilter(); | |
} | |
return clearTableDefaultStatus($xetable); | |
} | |
function rowToVisible($xetable, row) { | |
var reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
refTableBody = _$xetable$getRefMaps.refTableBody; | |
var scrollYLoad = reactData.scrollYLoad; | |
var afterFullData = internalData.afterFullData, | |
scrollYStore = internalData.scrollYStore; | |
var tableBody = refTableBody.value; | |
var bodyElem = tableBody ? tableBody.$el : null; | |
if (bodyElem) { | |
var trElem = bodyElem.querySelector("[rowid=\"".concat(util_getRowid($xetable, row), "\"]")); | |
if (trElem) { | |
var bodyHeight = bodyElem.clientHeight; | |
var bodySrcollTop = bodyElem.scrollTop; | |
var trOffsetParent = trElem.offsetParent; | |
var trOffsetTop = trElem.offsetTop + (trOffsetParent ? trOffsetParent.offsetTop : 0); | |
var trHeight = trElem.clientHeight; // 检测行是否在可视区中 | |
if (trOffsetTop < bodySrcollTop || trOffsetTop > bodySrcollTop + bodyHeight) { | |
// 向上定位 | |
return $xetable.scrollTo(null, trOffsetTop); | |
} else if (trOffsetTop + trHeight >= bodyHeight + bodySrcollTop) { | |
// 向下定位 | |
return $xetable.scrollTo(null, bodySrcollTop + trHeight); | |
} | |
} else { | |
// 如果是虚拟渲染跨行滚动 | |
if (scrollYLoad) { | |
return $xetable.scrollTo(null, (afterFullData.indexOf(row) - 1) * scrollYStore.rowHeight); | |
} | |
} | |
} | |
return Promise.resolve(); | |
} | |
function colToVisible($xetable, column) { | |
var reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getRefMaps2 = $xetable.getRefMaps(), | |
refTableBody = _$xetable$getRefMaps2.refTableBody; | |
var scrollXLoad = reactData.scrollXLoad; | |
var visibleColumn = internalData.visibleColumn; | |
var tableBody = refTableBody.value; | |
var bodyElem = tableBody ? tableBody.$el : null; | |
if (bodyElem) { | |
var tdElem = bodyElem.querySelector(".".concat(column.id)); | |
if (tdElem) { | |
var bodyWidth = bodyElem.clientWidth; | |
var bodySrcollLeft = bodyElem.scrollLeft; | |
var tdOffsetParent = tdElem.offsetParent; | |
var tdOffsetLeft = tdElem.offsetLeft + (tdOffsetParent ? tdOffsetParent.offsetLeft : 0); | |
var tdWidth = tdElem.clientWidth; // 检测行是否在可视区中 | |
if (tdOffsetLeft < bodySrcollLeft || tdOffsetLeft > bodySrcollLeft + bodyWidth) { | |
// 向左定位 | |
return $xetable.scrollTo(tdOffsetLeft); | |
} else if (tdOffsetLeft + tdWidth >= bodyWidth + bodySrcollLeft) { | |
// 向右定位 | |
return $xetable.scrollTo(bodySrcollLeft + tdWidth); | |
} | |
} else { | |
// 如果是虚拟渲染跨行滚动 | |
if (scrollXLoad) { | |
var scrollLeft = 0; | |
for (var index = 0; index < visibleColumn.length; index++) { | |
if (visibleColumn[index] === column) { | |
break; | |
} | |
scrollLeft += visibleColumn[index].renderWidth; | |
} | |
return $xetable.scrollTo(scrollLeft); | |
} | |
} | |
} | |
return Promise.resolve(); | |
} | |
// CONCATENATED MODULE: ./packages/tools/vn.ts | |
function getOnName(type) { | |
return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1); | |
} | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/renderer.ts | |
var componentDefaultModelProp = 'modelValue'; | |
var defaultCompProps = { | |
transfer: true | |
}; | |
function getModelEvent(renderOpts) { | |
switch (renderOpts.name) { | |
case 'input': | |
case 'textarea': | |
return 'input'; | |
} | |
return 'update:modelValue'; | |
} | |
function getChangeEvent(renderOpts) { | |
switch (renderOpts.name) { | |
case 'input': | |
case 'textarea': | |
case '$input': | |
case '$textarea': | |
return 'input'; | |
} | |
return 'change'; | |
} | |
function parseDate(value, props) { | |
return value && props.valueFormat ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toStringDate(value, props.valueFormat) : value; | |
} | |
function getFormatDate(value, props, defaultFormat) { | |
var _props$dateConfig = props.dateConfig, | |
dateConfig = _props$dateConfig === void 0 ? {} : _props$dateConfig; | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(parseDate(value, props), dateConfig.labelFormat || defaultFormat); | |
} | |
function getLabelFormatDate(value, props) { | |
return getFormatDate(value, props, conf.i18n("vxe.input.date.labelFormat.".concat(props.type))); | |
} | |
function getComponentName(name) { | |
return "vxe-".concat(name.replace('$', '')); | |
} | |
function getDefaultComponent(_ref) { | |
var name = _ref.name; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])(getComponentName(name)); | |
} | |
function handleConfirmFilter(params, checked, option) { | |
var $panel = params.$panel; | |
$panel.changeOption({}, checked, option); | |
} | |
function getNativeAttrs(renderOpts) { | |
var name = renderOpts.name, | |
attrs = renderOpts.attrs; | |
if (name === 'input') { | |
attrs = Object.assign({ | |
type: 'text' | |
}, attrs); | |
} | |
return attrs; | |
} | |
function getInputImmediateModel(renderOpts) { | |
var name = renderOpts.name, | |
immediate = renderOpts.immediate, | |
props = renderOpts.props; | |
if (!immediate) { | |
if (name === '$input') { | |
var _ref2 = props || {}, | |
type = _ref2.type; | |
return !(!type || type === 'text' || type === 'number' || type === 'integer' || type === 'float'); | |
} | |
if (name === 'input' || name === 'textarea' || name === '$textarea') { | |
return false; | |
} | |
return true; | |
} | |
return immediate; | |
} | |
function getCellEditProps(renderOpts, params, value, defaultProps) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.assign({ | |
immediate: getInputImmediateModel(renderOpts) | |
}, defaultCompProps, defaultProps, renderOpts.props, _defineProperty({}, componentDefaultModelProp, value)); | |
} | |
function getCellEditFilterProps(renderOpts, params, value, defaultProps) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.assign({}, defaultCompProps, defaultProps, renderOpts.props, _defineProperty({}, componentDefaultModelProp, value)); | |
} | |
function getComponentFormItemProps(renderOpts, params, value, defaultProps) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.assign({}, defaultCompProps, defaultProps, renderOpts.props, _defineProperty({}, componentDefaultModelProp, value)); | |
} | |
function isImmediateCell(renderOpts, params) { | |
return params.$type === 'cell' || getInputImmediateModel(renderOpts); | |
} | |
function getCellLabelVNs(renderOpts, params, cellLabel) { | |
var placeholder = renderOpts.placeholder; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--label' | |
}, placeholder && isEmptyValue(cellLabel) ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--placeholder' | |
}, formatText(getFuncText(placeholder), 1))] : formatText(cellLabel, 1))]; | |
} | |
/** | |
* 原生事件处理 | |
* @param renderOpts | |
* @param params | |
* @param modelFunc | |
* @param changeFunc | |
*/ | |
function getElementOns(renderOpts, params, modelFunc, changeFunc) { | |
var events = renderOpts.events; | |
var modelEvent = getModelEvent(renderOpts); | |
var changeEvent = getChangeEvent(renderOpts); | |
var isSameEvent = changeEvent === modelEvent; | |
var ons = {}; | |
if (events) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.objectEach(events, function (func, key) { | |
ons[getOnName(key)] = function () { | |
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | |
args[_key] = arguments[_key]; | |
} | |
func.apply(void 0, [params].concat(args)); | |
}; | |
}); | |
} | |
if (modelFunc) { | |
ons[getOnName(modelEvent)] = function (targetEvnt) { | |
modelFunc(targetEvnt); | |
if (isSameEvent && changeFunc) { | |
changeFunc(targetEvnt); | |
} | |
if (events && events[modelEvent]) { | |
events[modelEvent](params, targetEvnt); | |
} | |
}; | |
} | |
if (!isSameEvent && changeFunc) { | |
ons[getOnName(changeEvent)] = function () { | |
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | |
args[_key2] = arguments[_key2]; | |
} | |
changeFunc.apply(void 0, args); | |
if (events && events[changeEvent]) { | |
events[changeEvent].apply(events, [params].concat(args)); | |
} | |
}; | |
} | |
return ons; | |
} | |
/** | |
* 组件事件处理 | |
* @param renderOpts | |
* @param params | |
* @param modelFunc | |
* @param changeFunc | |
*/ | |
function getComponentOns(renderOpts, params, modelFunc, changeFunc) { | |
var events = renderOpts.events; | |
var modelEvent = getModelEvent(renderOpts); | |
var changeEvent = getChangeEvent(renderOpts); | |
var ons = {}; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.objectEach(events, function (func, key) { | |
ons[getOnName(key)] = function () { | |
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | |
args[_key3] = arguments[_key3]; | |
} | |
func.apply(void 0, [params].concat(args)); | |
}; | |
}); | |
if (modelFunc) { | |
ons[getOnName(modelEvent)] = function (targetEvnt) { | |
modelFunc(targetEvnt); | |
if (events && events[modelEvent]) { | |
events[modelEvent](params, targetEvnt); | |
} | |
}; | |
} | |
if (changeFunc) { | |
ons[getOnName(changeEvent)] = function () { | |
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { | |
args[_key4] = arguments[_key4]; | |
} | |
changeFunc.apply(void 0, args); | |
if (events && events[changeEvent]) { | |
events[changeEvent].apply(events, [params].concat(args)); | |
} | |
}; | |
} | |
return ons; | |
} | |
function getEditOns(renderOpts, params) { | |
var $table = params.$table, | |
row = params.row, | |
column = params.column; | |
var name = renderOpts.name; | |
var model = column.model; | |
var isImmediate = isImmediateCell(renderOpts, params); | |
return getComponentOns(renderOpts, params, function (cellValue) { | |
// 处理 model 值双向绑定 | |
if (isImmediate) { | |
setCellValue(row, column, cellValue); | |
} else { | |
model.update = true; | |
model.value = cellValue; | |
} | |
}, function (eventParams) { | |
// 处理 change 事件相关逻辑 | |
if (!isImmediate && (name === '$input' || name === '$textarea')) { | |
var cellValue = eventParams.value; | |
model.update = true; | |
model.value = cellValue; | |
$table.updateStatus(params, cellValue); | |
} else { | |
$table.updateStatus(params); | |
} | |
}); | |
} | |
function getFilterOns(renderOpts, params, option) { | |
return getComponentOns(renderOpts, params, function (value) { | |
// 处理 model 值双向绑定 | |
option.data = value; | |
}, function () { | |
handleConfirmFilter(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(option.data), option); | |
}); | |
} | |
function getItemOns(renderOpts, params) { | |
var $form = params.$form, | |
data = params.data, | |
property = params.property; | |
return getComponentOns(renderOpts, params, function (value) { | |
// 处理 model 值双向绑定 | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(data, property, value); | |
}, function () { | |
// 处理 change 事件相关逻辑 | |
$form.updateStatus(params); | |
}); | |
} | |
function getNativeEditOns(renderOpts, params) { | |
var $table = params.$table, | |
row = params.row, | |
column = params.column; | |
var model = column.model; | |
return getElementOns(renderOpts, params, function (evnt) { | |
// 处理 model 值双向绑定 | |
var cellValue = evnt.target.value; | |
if (isImmediateCell(renderOpts, params)) { | |
setCellValue(row, column, cellValue); | |
} else { | |
model.update = true; | |
model.value = cellValue; | |
} | |
}, function (evnt) { | |
// 处理 change 事件相关逻辑 | |
var cellValue = evnt.target.value; | |
$table.updateStatus(params, cellValue); | |
}); | |
} | |
function getNativeFilterOns(renderOpts, params, option) { | |
return getElementOns(renderOpts, params, function (evnt) { | |
// 处理 model 值双向绑定 | |
option.data = evnt.target.value; | |
}, function () { | |
handleConfirmFilter(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(option.data), option); | |
}); | |
} | |
function getNativeItemOns(renderOpts, params) { | |
var $form = params.$form, | |
data = params.data, | |
property = params.property; | |
return getElementOns(renderOpts, params, function (evnt) { | |
// 处理 model 值双向绑定 | |
var itemValue = evnt.target.value; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(data, property, itemValue); | |
}, function () { | |
// 处理 change 事件相关逻辑 | |
$form.updateStatus(params); | |
}); | |
} | |
/** | |
* 单元格可编辑渲染-原生的标签 | |
* input、textarea、select | |
*/ | |
function nativeEditRender(renderOpts, params) { | |
var row = params.row, | |
column = params.column; | |
var name = renderOpts.name; | |
var cellValue = isImmediateCell(renderOpts, params) ? getCellValue(row, column) : column.model.value; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(name, _objectSpread2(_objectSpread2({ | |
class: "vxe-default-".concat(name) | |
}, getNativeAttrs(renderOpts)), {}, { | |
value: cellValue | |
}, getNativeEditOns(renderOpts, params)))]; | |
} | |
function defaultEditRender(renderOpts, params) { | |
var row = params.row, | |
column = params.column; | |
var cellValue = getCellValue(row, column); | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(getDefaultComponent(renderOpts), _objectSpread2(_objectSpread2({}, getCellEditProps(renderOpts, params, cellValue)), getEditOns(renderOpts, params)))]; | |
} | |
function defaultButtonEditRender(renderOpts, params) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), _objectSpread2(_objectSpread2({}, getCellEditProps(renderOpts, params, null)), getComponentOns(renderOpts, params)))]; | |
} | |
function defaultButtonsEditRender(renderOpts, params) { | |
return renderOpts.children.map(function (childRenderOpts) { | |
return defaultButtonEditRender(childRenderOpts, params)[0]; | |
}); | |
} | |
function renderNativeOptgroups(renderOpts, params, renderOptionsMethods) { | |
var optionGroups = renderOpts.optionGroups, | |
_renderOpts$optionGro = renderOpts.optionGroupProps, | |
optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro; | |
var groupOptions = optionGroupProps.options || 'options'; | |
var groupLabel = optionGroupProps.label || 'label'; | |
return optionGroups.map(function (group, gIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('optgroup', { | |
key: gIndex, | |
label: group[groupLabel] | |
}, renderOptionsMethods(group[groupOptions], renderOpts, params)); | |
}); | |
} | |
/** | |
* 渲染原生的 option 标签 | |
*/ | |
function renderNativeOptions(options, renderOpts, params) { | |
var _renderOpts$optionPro = renderOpts.optionProps, | |
optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro; | |
var row = params.row, | |
column = params.column; | |
var labelProp = optionProps.label || 'label'; | |
var valueProp = optionProps.value || 'value'; | |
var disabledProp = optionProps.disabled || 'disabled'; | |
var cellValue = isImmediateCell(renderOpts, params) ? getCellValue(row, column) : column.model.value; | |
return options.map(function (option, oIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('option', { | |
key: oIndex, | |
value: option[valueProp], | |
disabled: option[disabledProp], | |
/* eslint-disable eqeqeq */ | |
selected: option[valueProp] == cellValue | |
}, option[labelProp]); | |
}); | |
} | |
function nativeFilterRender(renderOpts, params) { | |
var column = params.column; | |
var name = renderOpts.name; | |
var attrs = getNativeAttrs(renderOpts); | |
return column.filters.map(function (option, oIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(name, _objectSpread2(_objectSpread2({ | |
key: oIndex, | |
class: "vxe-default-".concat(name) | |
}, attrs), {}, { | |
value: option.data | |
}, getNativeFilterOns(renderOpts, params, option))); | |
}); | |
} | |
function defaultFilterRender(renderOpts, params) { | |
var column = params.column; | |
return column.filters.map(function (option, oIndex) { | |
var optionValue = option.data; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(getDefaultComponent(renderOpts), _objectSpread2(_objectSpread2({ | |
key: oIndex | |
}, getCellEditFilterProps(renderOpts, renderOpts, optionValue)), getFilterOns(renderOpts, params, option))); | |
}); | |
} | |
function handleFilterMethod(_ref3) { | |
var option = _ref3.option, | |
row = _ref3.row, | |
column = _ref3.column; | |
var data = option.data; | |
var cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.property); | |
/* eslint-disable eqeqeq */ | |
return cellValue == data; | |
} | |
function nativeSelectEditRender(renderOpts, params) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('select', _objectSpread2(_objectSpread2({ | |
class: 'vxe-default-select' | |
}, getNativeAttrs(renderOpts)), getNativeEditOns(renderOpts, params)), renderOpts.optionGroups ? renderNativeOptgroups(renderOpts, params, renderNativeOptions) : renderNativeOptions(renderOpts.options, renderOpts, params))]; | |
} | |
function defaultSelectEditRender(renderOpts, params) { | |
var row = params.row, | |
column = params.column; | |
var options = renderOpts.options, | |
optionProps = renderOpts.optionProps, | |
optionGroups = renderOpts.optionGroups, | |
optionGroupProps = renderOpts.optionGroupProps; | |
var cellValue = getCellValue(row, column); | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(getDefaultComponent(renderOpts), _objectSpread2(_objectSpread2({}, getCellEditProps(renderOpts, params, cellValue, { | |
options: options, | |
optionProps: optionProps, | |
optionGroups: optionGroups, | |
optionGroupProps: optionGroupProps | |
})), getEditOns(renderOpts, params)))]; | |
} | |
function getSelectCellValue(renderOpts, _ref4) { | |
var row = _ref4.row, | |
column = _ref4.column; | |
var _renderOpts$props = renderOpts.props, | |
props = _renderOpts$props === void 0 ? {} : _renderOpts$props, | |
options = renderOpts.options, | |
optionGroups = renderOpts.optionGroups, | |
_renderOpts$optionPro2 = renderOpts.optionProps, | |
optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2, | |
_renderOpts$optionGro2 = renderOpts.optionGroupProps, | |
optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2; | |
var cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.property); | |
var selectItem; | |
var labelProp = optionProps.label || 'label'; | |
var valueProp = optionProps.value || 'value'; | |
if (!isEmptyValue(cellValue)) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.map(props.multiple ? cellValue : [cellValue], optionGroups ? function (value) { | |
var groupOptions = optionGroupProps.options || 'options'; | |
for (var index = 0; index < optionGroups.length; index++) { | |
/* eslint-disable eqeqeq */ | |
selectItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.find(optionGroups[index][groupOptions], function (item) { | |
return item[valueProp] == value; | |
}); | |
if (selectItem) { | |
break; | |
} | |
} | |
return selectItem ? selectItem[labelProp] : value; | |
} : function (value) { | |
/* eslint-disable eqeqeq */ | |
selectItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.find(options, function (item) { | |
return item[valueProp] == value; | |
}); | |
return selectItem ? selectItem[labelProp] : value; | |
}).join(', '); | |
} | |
return ''; | |
} | |
/** | |
* 渲染表单-项 | |
* 用于渲染原生的标签 | |
*/ | |
function nativeItemRender(renderOpts, params) { | |
var data = params.data, | |
property = params.property; | |
var name = renderOpts.name; | |
var attrs = getNativeAttrs(renderOpts); | |
var itemValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, property); | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(name, _objectSpread2(_objectSpread2({ | |
class: "vxe-default-".concat(name) | |
}, attrs), {}, { | |
value: attrs && name === 'input' && (attrs.type === 'submit' || attrs.type === 'reset') ? null : itemValue | |
}, getNativeItemOns(renderOpts, params)))]; | |
} | |
function defaultItemRender(renderOpts, params) { | |
var data = params.data, | |
property = params.property; | |
var itemValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, property); | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(getDefaultComponent(renderOpts), _objectSpread2(_objectSpread2({}, getComponentFormItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)))]; | |
} | |
function defaultButtonItemRender(renderOpts, params) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), _objectSpread2(_objectSpread2({}, getComponentFormItemProps(renderOpts, params, null)), getComponentOns(renderOpts, params)))]; | |
} | |
function defaultButtonsItemRender(renderOpts, params) { | |
return renderOpts.children.map(function (childRenderOpts) { | |
return defaultButtonItemRender(childRenderOpts, params)[0]; | |
}); | |
} | |
/** | |
* 渲染原生的 select 标签 | |
*/ | |
function renderNativeFormOptions(options, renderOpts, params) { | |
var data = params.data, | |
property = params.property; | |
var _renderOpts$optionPro3 = renderOpts.optionProps, | |
optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3; | |
var labelProp = optionProps.label || 'label'; | |
var valueProp = optionProps.value || 'value'; | |
var disabledProp = optionProps.disabled || 'disabled'; | |
var cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, property); | |
return options.map(function (item, oIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('option', { | |
key: oIndex, | |
value: item[valueProp], | |
disabled: item[disabledProp], | |
/* eslint-disable eqeqeq */ | |
selected: item[valueProp] == cellValue | |
}, item[labelProp]); | |
}); | |
} | |
function handleExportSelectMethod(params) { | |
var row = params.row, | |
column = params.column, | |
options = params.options; | |
return options.original ? getCellValue(row, column) : getSelectCellValue(column.editRender || column.cellRender, params); | |
} | |
/** | |
* 渲染表单-项中 | |
* 单选框和复选框 | |
*/ | |
function defaultFormItemRadioAndCheckboxRender(renderOpts, params) { | |
var name = renderOpts.name, | |
options = renderOpts.options, | |
_renderOpts$optionPro4 = renderOpts.optionProps, | |
optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4; | |
var data = params.data, | |
property = params.property; | |
var labelProp = optionProps.label || 'label'; | |
var valueProp = optionProps.value || 'value'; | |
var disabledProp = optionProps.disabled || 'disabled'; | |
var itemValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, property); | |
var compName = getComponentName(name); // 如果是分组 | |
if (options) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("".concat(compName, "-group")), _objectSpread2(_objectSpread2({}, getComponentFormItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), { | |
default: function _default() { | |
return options.map(function (item, index) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])(compName), { | |
key: index, | |
label: item[valueProp], | |
content: item[labelProp], | |
disabled: item[disabledProp] | |
}); | |
}); | |
} | |
})]; | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])(compName), _objectSpread2(_objectSpread2({}, getComponentFormItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)))]; | |
} | |
/** | |
* 内置的组件渲染 | |
*/ | |
var renderMap = { | |
input: { | |
autofocus: 'input', | |
renderEdit: nativeEditRender, | |
renderDefault: nativeEditRender, | |
renderFilter: nativeFilterRender, | |
defaultFilterMethod: handleFilterMethod, | |
renderItemContent: nativeItemRender | |
}, | |
textarea: { | |
autofocus: 'textarea', | |
renderEdit: nativeEditRender, | |
renderItemContent: nativeItemRender | |
}, | |
select: { | |
renderEdit: nativeSelectEditRender, | |
renderDefault: nativeSelectEditRender, | |
renderCell: function renderCell(renderOpts, params) { | |
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params)); | |
}, | |
renderFilter: function renderFilter(renderOpts, params) { | |
var column = params.column; | |
return column.filters.map(function (option, oIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('select', _objectSpread2(_objectSpread2({ | |
key: oIndex, | |
class: 'vxe-default-select' | |
}, getNativeAttrs(renderOpts)), getNativeFilterOns(renderOpts, params, option)), renderOpts.optionGroups ? renderNativeOptgroups(renderOpts, params, renderNativeOptions) : renderNativeOptions(renderOpts.options, renderOpts, params)); | |
}); | |
}, | |
defaultFilterMethod: handleFilterMethod, | |
renderItemContent: function renderItemContent(renderOpts, params) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('select', _objectSpread2(_objectSpread2({ | |
class: 'vxe-default-select' | |
}, getNativeAttrs(renderOpts)), getNativeItemOns(renderOpts, params)), renderOpts.optionGroups ? renderNativeOptgroups(renderOpts, params, renderNativeFormOptions) : renderNativeFormOptions(renderOpts.options, renderOpts, params))]; | |
}, | |
cellExportMethod: handleExportSelectMethod | |
}, | |
$input: { | |
autofocus: '.vxe-input--inner', | |
renderEdit: defaultEditRender, | |
renderCell: function renderCell(renderOpts, params) { | |
var _renderOpts$props2 = renderOpts.props, | |
props = _renderOpts$props2 === void 0 ? {} : _renderOpts$props2; | |
var row = params.row, | |
column = params.column; | |
var digits = props.digits || conf.input.digits; | |
var cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.property); | |
if (cellValue) { | |
switch (props.type) { | |
case 'date': | |
case 'week': | |
case 'month': | |
case 'year': | |
cellValue = getLabelFormatDate(cellValue, props); | |
break; | |
case 'float': | |
cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFixed(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.floor(cellValue, digits), digits); | |
break; | |
} | |
} | |
return getCellLabelVNs(renderOpts, params, cellValue); | |
}, | |
renderDefault: defaultEditRender, | |
renderFilter: defaultFilterRender, | |
defaultFilterMethod: handleFilterMethod, | |
renderItemContent: defaultItemRender | |
}, | |
$textarea: { | |
autofocus: '.vxe-textarea--inner', | |
renderItemContent: defaultItemRender | |
}, | |
$button: { | |
renderDefault: defaultButtonEditRender, | |
renderItemContent: defaultButtonItemRender | |
}, | |
$buttons: { | |
renderDefault: defaultButtonsEditRender, | |
renderItemContent: defaultButtonsItemRender | |
}, | |
$select: { | |
autofocus: '.vxe-input--inner', | |
renderEdit: defaultSelectEditRender, | |
renderDefault: defaultSelectEditRender, | |
renderCell: function renderCell(renderOpts, params) { | |
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params)); | |
}, | |
renderFilter: function renderFilter(renderOpts, params) { | |
var column = params.column; | |
var options = renderOpts.options, | |
optionProps = renderOpts.optionProps, | |
optionGroups = renderOpts.optionGroups, | |
optionGroupProps = renderOpts.optionGroupProps; | |
return column.filters.map(function (option, oIndex) { | |
var optionValue = option.data; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(getDefaultComponent(renderOpts), _objectSpread2(_objectSpread2({ | |
key: oIndex | |
}, getCellEditFilterProps(renderOpts, params, optionValue, { | |
options: options, | |
optionProps: optionProps, | |
optionGroups: optionGroups, | |
optionGroupProps: optionGroupProps | |
})), getFilterOns(renderOpts, params, option))); | |
}); | |
}, | |
defaultFilterMethod: handleFilterMethod, | |
renderItemContent: function renderItemContent(renderOpts, params) { | |
var data = params.data, | |
property = params.property; | |
var options = renderOpts.options, | |
optionProps = renderOpts.optionProps, | |
optionGroups = renderOpts.optionGroups, | |
optionGroupProps = renderOpts.optionGroupProps; | |
var itemValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, property); | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(getDefaultComponent(renderOpts), _objectSpread2(_objectSpread2({}, getComponentFormItemProps(renderOpts, params, itemValue, { | |
options: options, | |
optionProps: optionProps, | |
optionGroups: optionGroups, | |
optionGroupProps: optionGroupProps | |
})), getItemOns(renderOpts, params)))]; | |
}, | |
cellExportMethod: handleExportSelectMethod | |
}, | |
$radio: { | |
autofocus: '.vxe-radio--input', | |
renderItemContent: defaultFormItemRadioAndCheckboxRender | |
}, | |
$checkbox: { | |
autofocus: '.vxe-checkbox--input', | |
renderItemContent: defaultFormItemRadioAndCheckboxRender | |
}, | |
$switch: { | |
autofocus: '.vxe-switch--button', | |
renderEdit: defaultEditRender, | |
renderDefault: defaultEditRender, | |
renderItemContent: defaultItemRender | |
} | |
}; | |
/** | |
* 全局渲染器 | |
*/ | |
var renderer = { | |
mixin: function mixin(opts) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.each(opts, function (options, name) { | |
return renderer.add(name, options); | |
}); | |
return renderer; | |
}, | |
get: function get(name) { | |
return renderMap[name] || null; | |
}, | |
add: function add(name, options) { | |
if (name && options) { | |
var renders = renderMap[name]; | |
if (renders) { | |
// 检测是否覆盖 | |
if (true) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.each(options, function (val, key) { | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(renders[key]) && renders[key] !== val) { | |
warnLog('vxe.error.coverProp', ["Renderer.".concat(name), key]); | |
} | |
}); | |
} | |
Object.assign(renders, options); | |
} else { | |
renderMap[name] = options; | |
} | |
} | |
return renderer; | |
}, | |
delete: function _delete(name) { | |
delete renderMap[name]; | |
return renderer; | |
} | |
}; | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/store.ts | |
/** | |
* 创建数据仓库 | |
*/ | |
var store_Store = /*#__PURE__*/function () { | |
function Store() { | |
_classCallCheck(this, Store); | |
_defineProperty(this, "store", {}); | |
} | |
_createClass(Store, [{ | |
key: "mixin", | |
value: function mixin(options) { | |
Object.assign(this.store, options); | |
return this; | |
} | |
}, { | |
key: "has", | |
value: function has(name) { | |
return !!this.get(name); | |
} | |
}, { | |
key: "get", | |
value: function get(name) { | |
return this.store[name]; | |
} | |
}, { | |
key: "add", | |
value: function add(name, render) { | |
// 检测是否覆盖 | |
if (true) { | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(this.store[name]) && this.store[name] !== render) { | |
warnLog('vxe.error.coverProp', [this._name, name]); | |
} | |
} | |
this.store[name] = render; | |
return this; | |
} | |
}, { | |
key: "delete", | |
value: function _delete(name) { | |
delete this.store[name]; | |
} | |
}, { | |
key: "forEach", | |
value: function forEach(callback) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.objectEach(this.store, callback); | |
} | |
}]); | |
return Store; | |
}(); | |
/* harmony default export */ var store = (store_Store); | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/commands.ts | |
var commands = new store(); | |
if (true) { | |
Object.assign(commands, { | |
_name: 'Commands' | |
}); | |
} | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/menus.ts | |
var menus = new store(); | |
if (true) { | |
Object.assign(menus, { | |
_name: 'Menus' | |
}); | |
} | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/formats.ts | |
var formats = new store(); | |
if (true) { | |
Object.assign(formats, { | |
_name: 'Formats' | |
}); | |
} | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/hooks.ts | |
var hooks = new store(); | |
// CONCATENATED MODULE: ./packages/v-x-e-table/src/setup.ts | |
/** | |
* 全局参数设置 | |
*/ | |
var setup_setup = function setup(options) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.merge(conf, options); | |
}; | |
// CONCATENATED MODULE: ./packages/v-x-e-table/index.ts | |
function getExportOrImpotType(types, flag) { | |
var rest = []; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.objectEach(types, function (val, type) { | |
if (val === 0 || val === flag) { | |
rest.push(type); | |
} | |
}); | |
return rest; | |
} | |
var installedPlugins = []; | |
function use(Plugin, options) { | |
/* eslint-disable @typescript-eslint/no-use-before-define */ | |
if (Plugin && Plugin.install) { | |
if (installedPlugins.indexOf(Plugin) === -1) { | |
Plugin.install(VXETable, options); | |
installedPlugins.push(Plugin); | |
} | |
} | |
return VXETable; | |
} | |
function t(key, args) { | |
return conf.i18n(key, args); | |
} | |
function _t(key, args) { | |
return key ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(conf.translate ? conf.translate(key, args) : key) : ''; | |
} | |
var v_x_e_table_VXETableConfig = /*#__PURE__*/function () { | |
function VXETableConfig() { | |
_classCallCheck(this, VXETableConfig); | |
} | |
_createClass(VXETableConfig, [{ | |
key: "zIndex", | |
get: | |
/** | |
* 获取当前的 zIndex | |
*/ | |
function get() { | |
return getLastZIndex(); | |
} | |
/** | |
* 获取下一个 zIndex | |
*/ | |
}, { | |
key: "nextZIndex", | |
get: function get() { | |
return nextZIndex(); | |
} | |
/** | |
* 获取所有导出类型 | |
*/ | |
}, { | |
key: "exportTypes", | |
get: function get() { | |
return getExportOrImpotType(conf.export.types, 1); | |
} | |
/** | |
* 获取所有导入类型 | |
*/ | |
}, { | |
key: "importTypes", | |
get: function get() { | |
return getExportOrImpotType(conf.export.types, 2); | |
} | |
}]); | |
return VXETableConfig; | |
}(); | |
var v_x_e_table_config = new v_x_e_table_VXETableConfig(); | |
var v = 'v4'; | |
var VXETable = { | |
v: v, | |
setup: setup_setup, | |
interceptor: interceptor, | |
renderer: renderer, | |
commands: commands, | |
formats: formats, | |
menus: menus, | |
hooks: hooks, | |
config: v_x_e_table_config, | |
use: use, | |
t: t, | |
_t: _t | |
}; | |
/* harmony default export */ var v_x_e_table = (VXETable); | |
// CONCATENATED MODULE: ./packages/icon/index.ts | |
var Icon = { | |
/* eslint-disable @typescript-eslint/no-empty-function */ | |
install: function install() {} | |
}; | |
/* harmony default export */ var packages_icon = (Icon); | |
// CONCATENATED MODULE: ./packages/filter/src/panel.ts | |
/* harmony default export */ var panel = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeTableFilter', | |
props: { | |
filterStore: Object | |
}, | |
setup: function setup(props) { | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var tableReactData = $xetable.reactData, | |
tableInternalData = $xetable.internalData; | |
var computeHasCheckOption = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var filterStore = props.filterStore; | |
return filterStore && filterStore.options.some(function (option) { | |
return option.checked; | |
}); | |
}); // 全部筛选事件 | |
var filterCheckAllEvent = function filterCheckAllEvent(evnt, value) { | |
var filterStore = props.filterStore; | |
filterStore.options.forEach(function (option) { | |
option._checked = value; | |
option.checked = value; | |
}); | |
filterStore.isAllSelected = value; | |
filterStore.isIndeterminate = false; | |
}; | |
/************************* | |
* Publish methods | |
*************************/ | |
// 确认筛选 | |
var confirmFilter = function confirmFilter(evnt) { | |
var filterStore = props.filterStore; | |
filterStore.options.forEach(function (option) { | |
option.checked = option._checked; | |
}); | |
$xetable.confirmFilterEvent(evnt); | |
}; // (单选)筛选发生改变 | |
var changeRadioOption = function changeRadioOption(evnt, checked, item) { | |
var filterStore = props.filterStore; | |
filterStore.options.forEach(function (option) { | |
option._checked = false; | |
}); | |
item._checked = checked; | |
$xetable.checkFilterOptions(); | |
confirmFilter(evnt); | |
}; | |
/** | |
* 重置筛选 | |
* 当筛选面板中的重置按钮被按下时触发 | |
* @param {Event} evnt 事件 | |
*/ | |
var resetFilter = function resetFilter(evnt) { | |
var filterStore = props.filterStore; | |
$xetable.handleClearFilter(filterStore.column); | |
$xetable.confirmFilterEvent(evnt); | |
}; // (多选)筛选发生改变 | |
var changeMultipleOption = function changeMultipleOption(evnt, checked, item) { | |
item._checked = checked; | |
$xetable.checkFilterOptions(); | |
}; // 筛选发生改变 | |
var changeOption = function changeOption(evnt, checked, item) { | |
var filterStore = props.filterStore; | |
if (filterStore.multiple) { | |
changeMultipleOption(evnt, checked, item); | |
} else { | |
changeRadioOption(evnt, checked, item); | |
} | |
}; | |
var changeAllOption = function changeAllOption(evnt, checked) { | |
var filterStore = props.filterStore; | |
if (filterStore.multiple) { | |
filterCheckAllEvent(evnt, checked); | |
} else { | |
resetFilter(evnt); | |
} | |
}; | |
/************************* | |
* Publish methods | |
*************************/ | |
var $panel = { | |
changeRadioOption: changeRadioOption, | |
changeMultipleOption: changeMultipleOption, | |
changeAllOption: changeAllOption, | |
changeOption: changeOption, | |
confirmFilter: confirmFilter, | |
resetFilter: resetFilter | |
}; | |
var renderOptions = function renderOptions(filterRender, compConf) { | |
var filterStore = props.filterStore; | |
var column = filterStore.column, | |
multiple = filterStore.multiple, | |
maxHeight = filterStore.maxHeight; | |
var slots = column.slots; | |
var filterSlot = slots ? slots.filter : null; | |
var params = Object.assign({}, tableInternalData._currFilterParams, { | |
$panel: $panel, | |
$table: $xetable | |
}); | |
if (filterSlot) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-table--filter-template' | |
}, $xetable.callSlot(filterSlot, params))]; | |
} else if (compConf && compConf.renderFilter) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-table--filter-template' | |
}, compConf.renderFilter(filterRender, params))]; | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-table--filter-header' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: ['vxe-table--filter-option', { | |
'is--checked': multiple ? filterStore.isAllSelected : !filterStore.options.some(function (item) { | |
return item._checked; | |
}), | |
'is--indeterminate': multiple && filterStore.isIndeterminate | |
}], | |
title: conf.i18n(multiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'), | |
onClick: function onClick(evnt) { | |
changeAllOption(evnt, !filterStore.isAllSelected); | |
} | |
}, (multiple ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
})] : []).concat([Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, conf.i18n('vxe.table.allFilter'))]))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-table--filter-body', | |
style: maxHeight ? { | |
maxHeight: "".concat(maxHeight, "px") | |
} : {} | |
}, filterStore.options.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: ['vxe-table--filter-option', { | |
'is--checked': item._checked | |
}], | |
title: item.label, | |
onClick: function onClick(evnt) { | |
changeOption(evnt, !item._checked, item); | |
} | |
}, (multiple ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
})] : []).concat([Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, formatText(item.label, 1))])); | |
}))]; | |
}; | |
var renderFooters = function renderFooters() { | |
var filterStore = props.filterStore; | |
var column = filterStore.column, | |
multiple = filterStore.multiple; | |
var hasCheckOption = computeHasCheckOption.value; | |
var filterRender = column.filterRender; | |
var compConf = filterRender ? VXETable.renderer.get(filterRender.name) : null; | |
var isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate; | |
return multiple && (!compConf || compConf.showFilterFooter !== false) ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-table--filter-footer' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: { | |
'is--disabled': isDisabled | |
}, | |
disabled: isDisabled, | |
onClick: confirmFilter | |
}, conf.i18n('vxe.table.confirmFilter')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
onClick: resetFilter | |
}, conf.i18n('vxe.table.resetFilter'))])] : []; | |
}; | |
var renderVN = function renderVN() { | |
var filterStore = props.filterStore; | |
var initStore = tableReactData.initStore; | |
var column = filterStore.column; | |
var filterRender = column ? column.filterRender : null; | |
var compConf = filterRender ? VXETable.renderer.get(filterRender.name) : null; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: ['vxe-table--filter-wrapper', 'filter--prevent-default', compConf && compConf.className ? compConf.className : '', { | |
'is--animat': $xetable.props.animat, | |
'is--multiple': filterStore.multiple, | |
'is--active': filterStore.visible | |
}], | |
style: filterStore.style | |
}, initStore.filter && filterStore.visible ? renderOptions(filterRender, compConf).concat(renderFooters()) : []); | |
}; | |
return renderVN; | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/filter/src/hook.ts | |
var tableFilterMethodKeys = ['setFilter', 'clearFilter', 'getCheckedFilters']; | |
var tableFilterHook = { | |
setupTable: function setupTable($xetable) { | |
var reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
refTableBody = _$xetable$getRefMaps.refTableBody, | |
refTableFilter = _$xetable$getRefMaps.refTableFilter; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeFilterOpts = _$xetable$getComputeM.computeFilterOpts; | |
var filterPrivateMethods = { | |
checkFilterOptions: function checkFilterOptions() { | |
var filterStore = reactData.filterStore; | |
filterStore.isAllSelected = filterStore.options.every(function (item) { | |
return item._checked; | |
}); | |
filterStore.isIndeterminate = !filterStore.isAllSelected && filterStore.options.some(function (item) { | |
return item._checked; | |
}); | |
}, | |
/** | |
* 点击筛选事件 | |
* 当筛选图标被点击时触发 | |
* 更新选项是否全部状态 | |
* 打开筛选面板 | |
* @param {Event} evnt 事件 | |
* @param {ColumnInfo} column 列配置 | |
* @param {Object} params 参数 | |
*/ | |
triggerFilterEvent: function triggerFilterEvent(evnt, column, params) { | |
var initStore = reactData.initStore, | |
filterStore = reactData.filterStore; | |
if (filterStore.column === column && filterStore.visible) { | |
filterStore.visible = false; | |
} else { | |
var targetElem = evnt.target, | |
pageX = evnt.pageX; | |
var _getDomNode = getDomNode(), | |
visibleWidth = _getDomNode.visibleWidth; | |
var filters = column.filters, | |
filterMultiple = column.filterMultiple, | |
filterRender = column.filterRender; | |
var compConf = filterRender ? VXETable.renderer.get(filterRender.name) : null; | |
var filterRecoverMethod = column.filterRecoverMethod || (compConf ? compConf.filterRecoverMethod : null); | |
internalData._currFilterParams = params; | |
Object.assign(filterStore, { | |
multiple: filterMultiple, | |
options: filters, | |
column: column, | |
style: null | |
}); // 复原状态 | |
filterStore.options.forEach(function (option) { | |
var _checked = option._checked, | |
checked = option.checked; | |
option._checked = checked; | |
if (!checked && _checked !== checked) { | |
if (filterRecoverMethod) { | |
filterRecoverMethod({ | |
option: option, | |
column: column, | |
$table: $xetable | |
}); | |
} | |
} | |
}); | |
this.checkFilterOptions(); | |
filterStore.visible = true; | |
initStore.filter = true; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var tableBody = refTableBody.value; | |
var bodyElem = tableBody.$el; | |
var tableFilter = refTableFilter.value; | |
var filterWrapperElem = tableFilter ? tableFilter.$el : null; | |
var filterWidth = 0; | |
var filterHeight = 0; | |
var filterHeadElem = null; | |
var filterFootElem = null; | |
if (filterWrapperElem) { | |
filterWidth = filterWrapperElem.offsetWidth; | |
filterHeight = filterWrapperElem.offsetHeight; | |
filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header'); | |
filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer'); | |
} | |
var centerWidth = filterWidth / 2; | |
var minMargin = 10; | |
var maxLeft = bodyElem.clientWidth - filterWidth - minMargin; | |
var left, right; | |
var style = { | |
top: "".concat(targetElem.offsetTop + targetElem.offsetParent.offsetTop + targetElem.offsetHeight + 8, "px") | |
}; // 判断面板不能大于表格高度 | |
var maxHeight = null; | |
if (filterHeight >= bodyElem.clientHeight) { | |
maxHeight = Math.max(60, bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0)); | |
} | |
if (column.fixed === 'left') { | |
left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth; | |
} else if (column.fixed === 'right') { | |
right = targetElem.offsetParent.offsetWidth - targetElem.offsetLeft + (targetElem.offsetParent.offsetParent.offsetWidth - targetElem.offsetParent.offsetLeft) - column.renderWidth - centerWidth; | |
} else { | |
left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth - bodyElem.scrollLeft; | |
} | |
if (left) { | |
var overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth; | |
if (overflowWidth > 0) { | |
left -= overflowWidth; | |
} | |
style.left = "".concat(Math.min(maxLeft, Math.max(minMargin, left)), "px"); | |
} else if (right) { | |
var _overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth; | |
if (_overflowWidth > 0) { | |
right += _overflowWidth; | |
} | |
style.right = "".concat(Math.max(minMargin, right), "px"); | |
} | |
filterStore.style = style; | |
filterStore.maxHeight = maxHeight; | |
}); | |
} | |
$xetable.dispatchEvent('filter-visible', { | |
column: column, | |
property: column.property, | |
filterList: $xetable.getCheckedFilters(), | |
visible: filterStore.visible | |
}, evnt); | |
}, | |
handleClearFilter: function handleClearFilter(column) { | |
if (column) { | |
var filters = column.filters, | |
filterRender = column.filterRender; | |
if (filters) { | |
var compConf = filterRender ? VXETable.renderer.get(filterRender.name) : null; | |
var filterResetMethod = column.filterResetMethod || (compConf ? compConf.filterResetMethod : null); | |
filters.forEach(function (item) { | |
item._checked = false; | |
item.checked = false; | |
if (!filterResetMethod) { | |
item.data = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.clone(item.resetValue, true); | |
} | |
}); | |
if (filterResetMethod) { | |
filterResetMethod({ | |
options: filters, | |
column: column, | |
$table: $xetable | |
}); | |
} | |
} | |
} | |
}, | |
/** | |
* 确认筛选 | |
* 当筛选面板中的确定按钮被按下时触发 | |
* @param {Event} evnt 事件 | |
*/ | |
confirmFilterEvent: function confirmFilterEvent(evnt) { | |
var filterStore = reactData.filterStore, | |
scrollXLoad = reactData.scrollXLoad, | |
scrollYLoad = reactData.scrollYLoad; | |
var filterOpts = computeFilterOpts.value; | |
var column = filterStore.column; | |
var property = column.property; | |
var values = []; | |
var datas = []; | |
column.filters.forEach(function (item) { | |
if (item.checked) { | |
values.push(item.value); | |
datas.push(item.data); | |
} | |
}); | |
var filterList = $xetable.getCheckedFilters(); // 如果是服务端筛选,则跳过本地筛选处理 | |
if (!filterOpts.remote) { | |
$xetable.handleTableData(true); | |
$xetable.checkSelectionStatus(); | |
$xetable.updateFooter(); | |
if (scrollXLoad || scrollYLoad) { | |
$xetable.clearScroll(); | |
if (scrollYLoad) { | |
$xetable.updateScrollYSpace(); | |
} | |
} | |
} | |
$xetable.dispatchEvent('filter-change', { | |
column: column, | |
property: property, | |
values: values, | |
datas: datas, | |
filters: filterList, | |
filterList: filterList | |
}, evnt); | |
$xetable.closeFilter(); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
$xetable.recalculate(); | |
$xetable.updateCellAreas(); | |
}); | |
} | |
}; | |
var filterMethods = { | |
/** | |
* 手动弹出筛选面板 | |
* @param column | |
*/ | |
openFilter: function openFilter(fieldOrColumn) { | |
var column = util_handleFieldOrColumn($xetable, fieldOrColumn); | |
if (column && column.filters) { | |
var elemStore = internalData.elemStore; | |
var fixed = column.fixed; | |
return $xetable.scrollToColumn(column).then(function () { | |
var headerWrapperElem = elemStore["".concat(fixed || 'main', "-header-wrapper")] || elemStore['main-header-wrapper']; | |
if (headerWrapperElem) { | |
var filterBtnElem = headerWrapperElem.querySelector(".vxe-header--column.".concat(column.id, " .vxe-filter--btn")); | |
dom_triggerEvent(filterBtnElem, 'click'); | |
} | |
}); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
/** | |
* 修改筛选条件列表 | |
* @param {ColumnInfo} fieldOrColumn 列或字段名 | |
* @param {Array} options 选项 | |
*/ | |
setFilter: function setFilter(fieldOrColumn, options) { | |
var column = util_handleFieldOrColumn($xetable, fieldOrColumn); | |
if (column && column.filters && options) { | |
column.filters = toFilters(options); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
/** | |
* 清空指定列的筛选条件 | |
* 如果为空则清空所有列的筛选条件 | |
* @param {String} fieldOrColumn 列或字段名 | |
*/ | |
clearFilter: function clearFilter(fieldOrColumn) { | |
var filterStore = reactData.filterStore; | |
var tableFullColumn = internalData.tableFullColumn; | |
var filterOpts = computeFilterOpts.value; | |
var column; | |
if (fieldOrColumn) { | |
column = util_handleFieldOrColumn($xetable, fieldOrColumn); | |
if (column) { | |
filterPrivateMethods.handleClearFilter(column); | |
} | |
} else { | |
tableFullColumn.forEach(filterPrivateMethods.handleClearFilter); | |
} | |
if (!fieldOrColumn || column !== filterStore.column) { | |
Object.assign(filterStore, { | |
isAllSelected: false, | |
isIndeterminate: false, | |
style: null, | |
options: [], | |
column: null, | |
multiple: false, | |
visible: false | |
}); | |
} | |
if (!filterOpts.remote) { | |
return $xetable.updateData(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
getCheckedFilters: function getCheckedFilters() { | |
var tableFullColumn = internalData.tableFullColumn; | |
var filterList = []; | |
tableFullColumn.filter(function (column) { | |
var property = column.property, | |
filters = column.filters; | |
var valueList = []; | |
var dataList = []; | |
if (filters && filters.length) { | |
filters.forEach(function (item) { | |
if (item.checked) { | |
valueList.push(item.value); | |
dataList.push(item.data); | |
} | |
}); | |
if (valueList.length) { | |
filterList.push({ | |
column: column, | |
property: property, | |
values: valueList, | |
datas: dataList | |
}); | |
} | |
} | |
}); | |
return filterList; | |
} | |
}; | |
return _objectSpread2(_objectSpread2({}, filterMethods), filterPrivateMethods); | |
}, | |
setupGrid: function setupGrid($xegrid) { | |
return $xegrid.extendTableMethods(tableFilterMethodKeys); | |
} | |
}; | |
/* harmony default export */ var hook = (tableFilterHook); | |
// CONCATENATED MODULE: ./packages/dynamics/index.ts | |
var dynamicContainerElem; | |
var dynamicStore = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
modals: [] | |
}); | |
/** | |
* 动态组件 | |
*/ | |
var VxeDynamics = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
setup: function setup() { | |
return function () { | |
var modals = dynamicStore.modals; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-dynamics--modal' | |
}, modals.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-modal'), item); | |
})); | |
}; | |
} | |
}); | |
var dynamicApp = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createApp"])(VxeDynamics); | |
function checkDynamic() { | |
if (!dynamicContainerElem) { | |
dynamicContainerElem = document.createElement('div'); | |
dynamicContainerElem.className = 'vxe-dynamics'; | |
document.body.appendChild(dynamicContainerElem); | |
dynamicApp.mount(dynamicContainerElem); | |
} | |
} | |
// CONCATENATED MODULE: ./packages/filter/index.ts | |
var Filter = { | |
Panel: panel, | |
install: function install(app) { | |
VXETable.hooks.add('$tableFilter', hook); | |
dynamicApp.component(panel.name, panel); | |
app.component(panel.name, panel); | |
} | |
}; | |
/* harmony default export */ var filter = (Filter); | |
// CONCATENATED MODULE: ./packages/menu/src/panel.ts | |
/* harmony default export */ var src_panel = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeTableContextMenu', | |
setup: function setup(props, context) { | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var tableReactData = $xetable.reactData; | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refMaps = { | |
refElem: refElem | |
}; | |
var $xemenupanel = { | |
xID: xID, | |
props: props, | |
context: context, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
} | |
}; | |
var renderVN = function renderVN() { | |
var ctxMenuStore = tableReactData.ctxMenuStore; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeMenuOpts = _$xetable$getComputeM.computeMenuOpts; | |
var menuOpts = computeMenuOpts.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Teleport"], { | |
to: 'body', | |
disabled: false | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-table--context-menu-wrapper', menuOpts.className, { | |
'is--visible': ctxMenuStore.visible | |
}], | |
style: ctxMenuStore.style | |
}, ctxMenuStore.list.map(function (options, gIndex) { | |
return options.every(function (item) { | |
return item.visible === false; | |
}) ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-context-menu--option-wrapper', | |
key: gIndex | |
}, options.map(function (item, index) { | |
var hasChildMenus = item.children && item.children.some(function (child) { | |
return child.visible !== false; | |
}); | |
return item.visible === false ? null : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: [item.className, { | |
'link--disabled': item.disabled, | |
'link--active': item === ctxMenuStore.selected | |
}], | |
key: "".concat(gIndex, "_").concat(index) | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('a', { | |
class: 'vxe-context-menu--link', | |
onClick: function onClick(evnt) { | |
$xetable.ctxMenuLinkEvent(evnt, item); | |
}, | |
onMouseover: function onMouseover(evnt) { | |
$xetable.ctxMenuMouseoverEvent(evnt, item); | |
}, | |
onMouseout: function onMouseout(evnt) { | |
$xetable.ctxMenuMouseoutEvent(evnt, item); | |
} | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-context-menu--link-prefix', item.prefixIcon] | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-context-menu--link-content' | |
}, getFuncText(item.name)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-context-menu--link-suffix', hasChildMenus ? item.suffixIcon || 'suffix--haschild' : item.suffixIcon] | |
})]), hasChildMenus ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: ['vxe-table--context-menu-clild-wrapper', { | |
'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild | |
}] | |
}, item.children.map(function (child, cIndex) { | |
return child.visible === false ? null : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: [child.className, { | |
'link--disabled': child.disabled, | |
'link--active': child === ctxMenuStore.selectChild | |
}], | |
key: "".concat(gIndex, "_").concat(index, "_").concat(cIndex) | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('a', { | |
class: 'vxe-context-menu--link', | |
onClick: function onClick(evnt) { | |
$xetable.ctxMenuLinkEvent(evnt, child); | |
}, | |
onMouseover: function onMouseover(evnt) { | |
$xetable.ctxMenuMouseoverEvent(evnt, item, child); | |
}, | |
onMouseout: function onMouseout(evnt) { | |
$xetable.ctxMenuMouseoutEvent(evnt, item); | |
} | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-context-menu--link-prefix', child.prefixIcon] | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-context-menu--link-content' | |
}, getFuncText(child.name))])]); | |
})) : null]); | |
})); | |
}))]); | |
}; | |
$xemenupanel.renderVN = renderVN; | |
return $xemenupanel; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/tools/event.ts | |
var EVENT_KEYS = { | |
F2: 'F2', | |
ESCAPE: 'Escape', | |
ENTER: 'Enter', | |
TAB: 'Tab', | |
DELETE: 'Delete', | |
BACKSPACE: 'Backspace', | |
SPACEBAR: ' ', | |
CONTEXT_MENU: 'ContextMenu', | |
ARROW_UP: 'ArrowUp', | |
ARROW_DOWN: 'ArrowDown', | |
ARROW_LEFT: 'ArrowLeft', | |
ARROW_RIGHT: 'ArrowRight', | |
PAGE_UP: 'PageUp', | |
PAGE_DOWN: 'PageDown' | |
}; | |
var convertEventKeys = { | |
' ': 'Spacebar', | |
Apps: EVENT_KEYS.CONTEXT_MENU, | |
Del: EVENT_KEYS.DELETE, | |
Up: EVENT_KEYS.ARROW_UP, | |
Down: EVENT_KEYS.ARROW_DOWN, | |
Left: EVENT_KEYS.ARROW_LEFT, | |
Right: EVENT_KEYS.ARROW_RIGHT | |
}; // 监听全局事件 | |
var wheelName = browse.firefox ? 'DOMMouseScroll' : 'mousewheel'; | |
var eventStore = []; | |
var hasEventKey = function hasEventKey(evnt, targetKey) { | |
var key = evnt.key; | |
targetKey = targetKey.toLowerCase(); | |
return key ? targetKey === key.toLowerCase() || !!(convertEventKeys[key] && convertEventKeys[key].toLowerCase() === targetKey) : false; | |
}; | |
function event_triggerEvent(evnt) { | |
var isWheel = evnt.type === wheelName; | |
eventStore.forEach(function (_ref) { | |
var type = _ref.type, | |
cb = _ref.cb; | |
// 如果被取消冒泡,不再执行 | |
if (!evnt.cancelBubble) { | |
if (type === evnt.type || isWheel && type === 'mousewheel') { | |
cb(evnt); | |
} | |
} | |
}); | |
} | |
var GlobalEvent = { | |
on: function on(comp, type, cb) { | |
eventStore.push({ | |
comp: comp, | |
type: type, | |
cb: cb | |
}); | |
}, | |
off: function off(comp, type) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.remove(eventStore, function (item) { | |
return item.comp === comp && item.type === type; | |
}); | |
}, | |
trigger: event_triggerEvent, | |
eqKeypad: function eqKeypad(evnt, keyVal) { | |
var key = evnt.key; | |
if (keyVal.toLowerCase() === key.toLowerCase()) { | |
return true; | |
} | |
return false; | |
} | |
}; | |
if (browse.isDoc) { | |
if (!browse.msie) { | |
document.addEventListener('copy', event_triggerEvent, false); | |
document.addEventListener('cut', event_triggerEvent, false); | |
document.addEventListener('paste', event_triggerEvent, false); | |
} | |
document.addEventListener('keydown', event_triggerEvent, false); | |
document.addEventListener('contextmenu', event_triggerEvent, false); | |
window.addEventListener('mousedown', event_triggerEvent, false); | |
window.addEventListener('blur', event_triggerEvent, false); | |
window.addEventListener('resize', event_triggerEvent, false); | |
window.addEventListener(wheelName, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.throttle(event_triggerEvent, 100, { | |
leading: true, | |
trailing: false | |
}), { | |
passive: true, | |
capture: false | |
}); | |
} | |
// CONCATENATED MODULE: ./packages/menu/src/hooks.ts | |
var tableMenuMethodKeys = ['closeMenu']; | |
var tableMenuHook = { | |
setupTable: function setupTable($xetable) { | |
var xID = $xetable.xID, | |
props = $xetable.props, | |
reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
refElem = _$xetable$getRefMaps.refElem, | |
refTableFilter = _$xetable$getRefMaps.refTableFilter, | |
refTableMenu = _$xetable$getRefMaps.refTableMenu; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeMouseOpts = _$xetable$getComputeM.computeMouseOpts, | |
computeIsMenu = _$xetable$getComputeM.computeIsMenu, | |
computeMenuOpts = _$xetable$getComputeM.computeMenuOpts; | |
var menuMethods = {}; | |
var menuPrivateMethods = {}; | |
/** | |
* 显示快捷菜单 | |
*/ | |
var openContextMenu = function openContextMenu(evnt, type, params) { | |
var ctxMenuStore = reactData.ctxMenuStore; | |
var isMenu = computeIsMenu.value; | |
var menuOpts = computeMenuOpts.value; | |
var config = menuOpts[type]; | |
var visibleMethod = menuOpts.visibleMethod; | |
if (config) { | |
var options = config.options, | |
disabled = config.disabled; | |
if (disabled) { | |
evnt.preventDefault(); | |
} else if (isMenu && options && options.length) { | |
params.options = options; | |
$xetable.preventEvent(evnt, 'event.showMenu', params, function () { | |
if (!visibleMethod || visibleMethod(params)) { | |
evnt.preventDefault(); | |
$xetable.updateZindex(); | |
var _getDomNode = getDomNode(), | |
scrollTop = _getDomNode.scrollTop, | |
scrollLeft = _getDomNode.scrollLeft, | |
visibleHeight = _getDomNode.visibleHeight, | |
visibleWidth = _getDomNode.visibleWidth; | |
var top = evnt.clientY + scrollTop; | |
var left = evnt.clientX + scrollLeft; | |
var handleVisible = function handleVisible() { | |
internalData._currMenuParams = params; | |
Object.assign(ctxMenuStore, { | |
visible: true, | |
list: options, | |
selected: null, | |
selectChild: null, | |
showChild: false, | |
style: { | |
zIndex: internalData.tZindex, | |
top: "".concat(top, "px"), | |
left: "".concat(left, "px") | |
} | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var tableMenu = refTableMenu.value; | |
var ctxElem = tableMenu.getRefMaps().refElem.value; | |
var clientHeight = ctxElem.clientHeight; | |
var clientWidth = ctxElem.clientWidth; | |
var _getAbsolutePos = getAbsolutePos(ctxElem), | |
boundingTop = _getAbsolutePos.boundingTop, | |
boundingLeft = _getAbsolutePos.boundingLeft; | |
var offsetTop = boundingTop + clientHeight - visibleHeight; | |
var offsetLeft = boundingLeft + clientWidth - visibleWidth; | |
if (offsetTop > -10) { | |
ctxMenuStore.style.top = "".concat(Math.max(scrollTop + 2, top - clientHeight - 2), "px"); | |
} | |
if (offsetLeft > -10) { | |
ctxMenuStore.style.left = "".concat(Math.max(scrollLeft + 2, left - clientWidth - 2), "px"); | |
} | |
}); | |
}; | |
var keyboard = params.keyboard, | |
row = params.row, | |
column = params.column; | |
if (keyboard && row && column) { | |
$xetable.scrollToRow(row, column).then(function () { | |
var cell = $xetable.getCell(row, column); | |
if (cell) { | |
var _getAbsolutePos2 = getAbsolutePos(cell), | |
boundingTop = _getAbsolutePos2.boundingTop, | |
boundingLeft = _getAbsolutePos2.boundingLeft; | |
top = boundingTop + scrollTop + Math.floor(cell.offsetHeight / 2); | |
left = boundingLeft + scrollLeft + Math.floor(cell.offsetWidth / 2); | |
} | |
handleVisible(); | |
}); | |
} else { | |
handleVisible(); | |
} | |
} else { | |
menuMethods.closeMenu(); | |
} | |
}); | |
} | |
} | |
$xetable.closeFilter(); | |
}; | |
menuMethods = { | |
/** | |
* 关闭快捷菜单 | |
*/ | |
closeMenu: function closeMenu() { | |
Object.assign(reactData.ctxMenuStore, { | |
visible: false, | |
selected: null, | |
selectChild: null, | |
showChild: false | |
}); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}; | |
menuPrivateMethods = { | |
/** | |
* 处理菜单的移动 | |
* @param evnt | |
* @param ctxMenuStore | |
* @param property | |
* @param hasOper | |
* @param operRest | |
* @param menuList | |
*/ | |
moveCtxMenu: function moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) { | |
var selectItem; | |
var selectIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findIndexOf(menuList, function (item) { | |
return ctxMenuStore[property] === item; | |
}); | |
if (hasOper) { | |
if (operRest && hasChildrenList(ctxMenuStore.selected)) { | |
ctxMenuStore.showChild = true; | |
} else { | |
ctxMenuStore.showChild = false; | |
ctxMenuStore.selectChild = null; | |
} | |
} else if (hasEventKey(evnt, EVENT_KEYS.ARROW_UP)) { | |
for (var len = selectIndex - 1; len >= 0; len--) { | |
if (menuList[len].visible !== false) { | |
selectItem = menuList[len]; | |
break; | |
} | |
} | |
ctxMenuStore[property] = selectItem || menuList[menuList.length - 1]; | |
} else if (hasEventKey(evnt, EVENT_KEYS.ARROW_DOWN)) { | |
for (var index = selectIndex + 1; index < menuList.length; index++) { | |
if (menuList[index].visible !== false) { | |
selectItem = menuList[index]; | |
break; | |
} | |
} | |
ctxMenuStore[property] = selectItem || menuList[0]; | |
} else if (ctxMenuStore[property] && (hasEventKey(evnt, EVENT_KEYS.ENTER) || hasEventKey(evnt, EVENT_KEYS.SPACEBAR))) { | |
menuPrivateMethods.ctxMenuLinkEvent(evnt, ctxMenuStore[property]); | |
} | |
}, | |
/** | |
* 快捷菜单事件处理 | |
*/ | |
handleGlobalContextmenuEvent: function handleGlobalContextmenuEvent(evnt) { | |
var mouseConfig = props.mouseConfig, | |
menuConfig = props.menuConfig; | |
var editStore = reactData.editStore, | |
ctxMenuStore = reactData.ctxMenuStore; | |
var visibleColumn = internalData.visibleColumn; | |
var tableFilter = refTableFilter.value; | |
var tableMenu = refTableMenu.value; | |
var mouseOpts = computeMouseOpts.value; | |
var menuOpts = computeMenuOpts.value; | |
var el = refElem.value; | |
var selected = editStore.selected; | |
var layoutList = ['header', 'body', 'footer']; | |
if (isEnableConf(menuConfig)) { | |
if (ctxMenuStore.visible && tableMenu && getEventTargetNode(evnt, tableMenu.getRefMaps().refElem.value).flag) { | |
evnt.preventDefault(); | |
return; | |
} | |
if (internalData._keyCtx) { | |
var type = 'body'; | |
var params = { | |
type: type, | |
$table: $xetable, | |
keyboard: true, | |
columns: visibleColumn.slice(0), | |
$event: evnt | |
}; // 如果开启单元格区域 | |
if (mouseConfig && mouseOpts.area) { | |
var activeArea = $xetable.getActiveCellArea(); | |
if (activeArea && activeArea.row && activeArea.column) { | |
params.row = activeArea.row; | |
params.column = activeArea.column; | |
openContextMenu(evnt, type, params); | |
return; | |
} | |
} else if (mouseConfig && mouseOpts.selected) { | |
// 如果启用键盘导航且已选中单元格 | |
if (selected.row && selected.column) { | |
params.row = selected.row; | |
params.column = selected.column; | |
openContextMenu(evnt, type, params); | |
return; | |
} | |
} | |
} // 分别匹配表尾、内容、表尾的快捷菜单 | |
for (var index = 0; index < layoutList.length; index++) { | |
var layout = layoutList[index]; | |
var columnTargetNode = getEventTargetNode(evnt, el, "vxe-".concat(layout, "--column"), function (target) { | |
// target=td|th,直接向上找 table 去匹配即可 | |
return target.parentNode.parentNode.parentNode.getAttribute('xid') === xID; | |
}); | |
var _params = { | |
type: layout, | |
$table: $xetable, | |
columns: visibleColumn.slice(0), | |
$event: evnt | |
}; | |
if (columnTargetNode.flag) { | |
var cell = columnTargetNode.targetElem; | |
var columnNodeRest = $xetable.getColumnNode(cell); | |
var column = columnNodeRest ? columnNodeRest.item : null; | |
var typePrefix = "".concat(layout, "-"); | |
if (column) { | |
Object.assign(_params, { | |
column: column, | |
columnIndex: $xetable.getColumnIndex(column), | |
cell: cell | |
}); | |
} | |
if (layout === 'body') { | |
var rowNodeRest = $xetable.getRowNode(cell.parentNode); | |
var row = rowNodeRest ? rowNodeRest.item : null; | |
typePrefix = ''; | |
if (row) { | |
_params.row = row; | |
_params.rowIndex = $xetable.getRowIndex(row); | |
} | |
} | |
var eventType = "".concat(typePrefix, "cell-menu"); | |
openContextMenu(evnt, layout, _params); | |
$xetable.dispatchEvent(eventType, _params, evnt); | |
return; | |
} else if (getEventTargetNode(evnt, el, "vxe-table--".concat(layout, "-wrapper"), function (target) { | |
return target.getAttribute('xid') === xID; | |
}).flag) { | |
if (menuOpts.trigger === 'cell') { | |
evnt.preventDefault(); | |
} else { | |
openContextMenu(evnt, layout, _params); | |
} | |
return; | |
} | |
} | |
} | |
if (tableFilter && !getEventTargetNode(evnt, tableFilter.$el).flag) { | |
$xetable.closeFilter(); | |
} | |
menuMethods.closeMenu(); | |
}, | |
ctxMenuMouseoverEvent: function ctxMenuMouseoverEvent(evnt, item, child) { | |
var menuElem = evnt.currentTarget; | |
var ctxMenuStore = reactData.ctxMenuStore; | |
evnt.preventDefault(); | |
evnt.stopPropagation(); | |
ctxMenuStore.selected = item; | |
ctxMenuStore.selectChild = child; | |
if (!child) { | |
ctxMenuStore.showChild = hasChildrenList(item); | |
if (ctxMenuStore.showChild) { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var childWrapperElem = menuElem.nextElementSibling; | |
if (childWrapperElem) { | |
var _getAbsolutePos3 = getAbsolutePos(menuElem), | |
boundingTop = _getAbsolutePos3.boundingTop, | |
boundingLeft = _getAbsolutePos3.boundingLeft, | |
visibleHeight = _getAbsolutePos3.visibleHeight, | |
visibleWidth = _getAbsolutePos3.visibleWidth; | |
var posTop = boundingTop + menuElem.offsetHeight; | |
var posLeft = boundingLeft + menuElem.offsetWidth; | |
var left = ''; | |
var right = ''; // 是否超出右侧 | |
if (posLeft + childWrapperElem.offsetWidth > visibleWidth - 10) { | |
left = 'auto'; | |
right = "".concat(menuElem.offsetWidth, "px"); | |
} // 是否超出底部 | |
var top = ''; | |
var bottom = ''; | |
if (posTop + childWrapperElem.offsetHeight > visibleHeight - 10) { | |
top = 'auto'; | |
bottom = '0'; | |
} | |
childWrapperElem.style.left = left; | |
childWrapperElem.style.right = right; | |
childWrapperElem.style.top = top; | |
childWrapperElem.style.bottom = bottom; | |
} | |
}); | |
} | |
} | |
}, | |
ctxMenuMouseoutEvent: function ctxMenuMouseoutEvent(evnt, item) { | |
var ctxMenuStore = reactData.ctxMenuStore; | |
if (!item.children) { | |
ctxMenuStore.selected = null; | |
} | |
ctxMenuStore.selectChild = null; | |
}, | |
/** | |
* 快捷菜单点击事件 | |
*/ | |
ctxMenuLinkEvent: function ctxMenuLinkEvent(evnt, menu) { | |
// 如果一级菜单有配置 code 则允许点击,否则不能点击 | |
if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) { | |
var ctxMenuMethod = VXETable.menus.get(menu.code); | |
var params = Object.assign({}, internalData._currMenuParams, { | |
menu: menu, | |
$table: $xetable, | |
$grid: $xetable.xegrid, | |
$event: evnt | |
}); | |
if (ctxMenuMethod) { | |
ctxMenuMethod(params, evnt); | |
} | |
$xetable.dispatchEvent('menu-click', params, evnt); | |
menuMethods.closeMenu(); | |
} | |
} | |
}; | |
return _objectSpread2(_objectSpread2({}, menuMethods), menuPrivateMethods); | |
}, | |
setupGrid: function setupGrid($xegrid) { | |
return $xegrid.extendTableMethods(tableMenuMethodKeys); | |
} | |
}; | |
/* harmony default export */ var src_hooks = (tableMenuHook); | |
// CONCATENATED MODULE: ./packages/menu/index.ts | |
var Menu = { | |
Panel: src_panel, | |
install: function install(app) { | |
VXETable.hooks.add('$tableMenu', src_hooks); | |
dynamicApp.component(src_panel.name, src_panel); | |
app.component(src_panel.name, src_panel); | |
} | |
}; | |
/* harmony default export */ var packages_menu = (Menu); | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js | |
function _arrayLikeToArray(arr, len) { | |
if (len == null || len > arr.length) len = arr.length; | |
for (var i = 0, arr2 = new Array(len); i < len; i++) { | |
arr2[i] = arr[i]; | |
} | |
return arr2; | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js | |
function _arrayWithoutHoles(arr) { | |
if (Array.isArray(arr)) return _arrayLikeToArray(arr); | |
} | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js | |
var es_symbol_description = __webpack_require__("e01a"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.iterator.js | |
var es_symbol_iterator = __webpack_require__("d28b"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js | |
var es_array_iterator = __webpack_require__("e260"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js | |
var es_string_iterator = __webpack_require__("3ca3"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js | |
var web_dom_collections_iterator = __webpack_require__("ddb0"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js | |
var es_array_from = __webpack_require__("a630"); | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js | |
function _iterableToArray(iter) { | |
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js | |
function _unsupportedIterableToArray(o, minLen) { | |
if (!o) return; | |
if (typeof o === "string") return _arrayLikeToArray(o, minLen); | |
var n = Object.prototype.toString.call(o).slice(8, -1); | |
if (n === "Object" && o.constructor) n = o.constructor.name; | |
if (n === "Map" || n === "Set") return Array.from(o); | |
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js | |
function _nonIterableSpread() { | |
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js | |
function _toConsumableArray(arr) { | |
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); | |
} | |
// CONCATENATED MODULE: ./packages/edit/src/hook.ts | |
var tableEditMethodKeys = ['insert', 'insertAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getActiveRecord', 'getSelectedCell', 'clearActived', 'clearSelected', 'isActiveByRow', 'setActiveRow', 'setActiveCell', 'setSelectCell']; | |
var editHook = { | |
setupTable: function setupTable($xetable) { | |
var props = $xetable.props, | |
reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
refElem = _$xetable$getRefMaps.refElem; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeMouseOpts = _$xetable$getComputeM.computeMouseOpts, | |
computeEditOpts = _$xetable$getComputeM.computeEditOpts, | |
computeCheckboxOpts = _$xetable$getComputeM.computeCheckboxOpts, | |
computeTreeOpts = _$xetable$getComputeM.computeTreeOpts; | |
var editMethods = {}; | |
var editPrivateMethods = {}; | |
var getEditColumnModel = function getEditColumnModel(row, column) { | |
var model = column.model, | |
editRender = column.editRender; | |
if (editRender) { | |
model.value = getCellValue(row, column); | |
model.update = false; | |
} | |
}; | |
var setEditColumnModel = function setEditColumnModel(row, column) { | |
var model = column.model, | |
editRender = column.editRender; | |
if (editRender && model.update) { | |
setCellValue(row, column, model.value); | |
model.update = false; | |
model.value = null; | |
} | |
}; | |
var removeCellSelectedClass = function removeCellSelectedClass() { | |
var el = refElem.value; | |
if (el) { | |
var cell = el.querySelector('.col--selected'); | |
if (cell) { | |
removeClass(cell, 'col--selected'); | |
} | |
} | |
}; | |
function syncActivedCell() { | |
var editStore = reactData.editStore, | |
tableColumn = reactData.tableColumn; | |
var editOpts = computeEditOpts.value; | |
var actived = editStore.actived; | |
var row = actived.row, | |
column = actived.column; | |
if (row || column) { | |
if (editOpts.mode === 'row') { | |
tableColumn.forEach(function (column) { | |
return setEditColumnModel(row, column); | |
}); | |
} else { | |
setEditColumnModel(row, column); | |
} | |
} | |
} | |
function insertTreeRow(newRecords, isAppend) { | |
var tableFullTreeData = internalData.tableFullTreeData, | |
afterFullData = internalData.afterFullData, | |
fullDataRowIdData = internalData.fullDataRowIdData, | |
fullAllDataRowIdData = internalData.fullAllDataRowIdData; | |
var treeOpts = computeTreeOpts.value; | |
var funcName = isAppend ? 'push' : 'unshift'; | |
newRecords.forEach(function (item) { | |
var parentRowId = item[treeOpts.parentField]; | |
var rowid = util_getRowid($xetable, item); | |
var matchObj = parentRowId ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(tableFullTreeData, function (item) { | |
return parentRowId === item[treeOpts.rowField]; | |
}, treeOpts) : null; | |
if (matchObj) { | |
var parentRow = matchObj.item; | |
var parentRest = fullAllDataRowIdData[util_getRowid($xetable, parentRow)]; | |
var parentLevel = parentRest ? parentRest.level : 0; | |
var parentChilds = parentRow[treeOpts.children]; | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(parentChilds)) { | |
parentChilds = parentRow[treeOpts.children] = []; | |
} | |
parentChilds[funcName](item); | |
var rest = { | |
row: item, | |
rowid: rowid, | |
seq: -1, | |
index: -1, | |
_index: -1, | |
$index: -1, | |
items: parentChilds, | |
parent: parent, | |
level: parentLevel + 1 | |
}; | |
fullDataRowIdData[rowid] = rest; | |
fullAllDataRowIdData[rowid] = rest; | |
} else { | |
if (true) { | |
if (parentRowId) { | |
warnLog('vxe.error.unableInsert'); | |
} | |
} | |
afterFullData[funcName](item); | |
tableFullTreeData[funcName](item); | |
var _rest = { | |
row: item, | |
rowid: rowid, | |
seq: -1, | |
index: -1, | |
_index: -1, | |
$index: -1, | |
items: tableFullTreeData, | |
parent: null, | |
level: 0 | |
}; | |
fullDataRowIdData[rowid] = _rest; | |
fullAllDataRowIdData[rowid] = _rest; | |
} | |
}); | |
} | |
editMethods = { | |
/** | |
* 往表格中插入临时数据 | |
* | |
* @param {*} records | |
*/ | |
insert: function insert(records) { | |
return editMethods.insertAt(records, null); | |
}, | |
/** | |
* 往表格指定行中插入临时数据 | |
* 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部 | |
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部 | |
* 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置 | |
* @param {Object/Array} records 新的数据 | |
* @param {Row} row 指定行 | |
*/ | |
insertAt: function insertAt(records, row) { | |
var _editStore$insertList; | |
var treeConfig = props.treeConfig; | |
var mergeList = reactData.mergeList, | |
editStore = reactData.editStore; | |
var tableFullTreeData = internalData.tableFullTreeData, | |
afterFullData = internalData.afterFullData, | |
tableFullData = internalData.tableFullData, | |
fullDataRowIdData = internalData.fullDataRowIdData, | |
fullAllDataRowIdData = internalData.fullAllDataRowIdData; | |
var treeOpts = computeTreeOpts.value; | |
var transform = treeOpts.transform; | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(records)) { | |
records = [records]; | |
} | |
var newRecords = records.map(function (record) { | |
return $xetable.defineField(Object.assign({}, record)); | |
}); | |
if (!row) { | |
// 如果为虚拟树 | |
if (treeConfig && transform) { | |
insertTreeRow(newRecords, false); | |
} else { | |
afterFullData.unshift.apply(afterFullData, _toConsumableArray(newRecords)); | |
tableFullData.unshift.apply(tableFullData, _toConsumableArray(newRecords)); // 刷新单元格合并 | |
mergeList.forEach(function (mergeItem) { | |
var mergeRowIndex = mergeItem.row; | |
if (mergeRowIndex > 0) { | |
mergeItem.row = mergeRowIndex + newRecords.length; | |
} | |
}); | |
} | |
} else { | |
if (row === -1) { | |
// 如果为虚拟树 | |
if (treeConfig && transform) { | |
insertTreeRow(newRecords, true); | |
} else { | |
afterFullData.push.apply(afterFullData, _toConsumableArray(newRecords)); | |
tableFullData.push.apply(tableFullData, _toConsumableArray(newRecords)); // 刷新单元格合并 | |
mergeList.forEach(function (mergeItem) { | |
var mergeRowIndex = mergeItem.row, | |
mergeRowspan = mergeItem.rowspan; | |
if (mergeRowIndex + mergeRowspan > afterFullData.length) { | |
mergeItem.rowspan = mergeRowspan + newRecords.length; | |
} | |
}); | |
} | |
} else { | |
// 如果为虚拟树 | |
if (treeConfig && transform) { | |
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(tableFullTreeData, function (item) { | |
return row[treeOpts.rowField] === item[treeOpts.rowField]; | |
}, treeOpts); | |
if (matchObj) { | |
var parentRow = matchObj.parent; | |
var parentChilds = matchObj.items; | |
var parentRest = fullAllDataRowIdData[util_getRowid($xetable, parentRow)]; | |
var parentLevel = parentRest ? parentRest.level : 0; | |
newRecords.forEach(function (item, i) { | |
var rowid = util_getRowid($xetable, item); | |
if (true) { | |
if (item[treeOpts.parentField]) { | |
if (parentRow && item[treeOpts.parentField] !== parentRow[treeOpts.rowField]) { | |
errLog('vxe.error.errProp', ["".concat(treeOpts.parentField, "=").concat(item[treeOpts.parentField]), "".concat(treeOpts.parentField, "=").concat(parentRow[treeOpts.rowField])]); | |
} | |
} | |
} | |
if (parentRow) { | |
item[treeOpts.parentField] = parentRow[treeOpts.rowField]; | |
} | |
parentChilds.splice(matchObj.index + i, 0, item); | |
var rest = { | |
row: item, | |
rowid: rowid, | |
seq: -1, | |
index: -1, | |
_index: -1, | |
$index: -1, | |
items: parentChilds, | |
parent: parentRow, | |
level: parentLevel + 1 | |
}; | |
fullDataRowIdData[rowid] = rest; | |
fullAllDataRowIdData[rowid] = rest; | |
}); | |
} else { | |
if (true) { | |
warnLog('vxe.error.unableInsert'); | |
} | |
insertTreeRow(newRecords, true); | |
} | |
} else { | |
if (treeConfig) { | |
throw new Error(getLog('vxe.error.noTree', ['insert'])); | |
} | |
var afIndex = $xetable.findRowIndexOf(afterFullData, row); | |
if (afIndex === -1) { | |
throw new Error(errLog('vxe.error.unableInsert')); | |
} | |
afterFullData.splice.apply(afterFullData, [afIndex, 0].concat(_toConsumableArray(newRecords))); | |
tableFullData.splice.apply(tableFullData, [$xetable.findRowIndexOf(tableFullData, row), 0].concat(_toConsumableArray(newRecords))); // 刷新单元格合并 | |
mergeList.forEach(function (mergeItem) { | |
var mergeRowIndex = mergeItem.row, | |
mergeRowspan = mergeItem.rowspan; | |
if (mergeRowIndex > afIndex) { | |
mergeItem.row = mergeRowIndex + newRecords.length; | |
} else if (mergeRowIndex + mergeRowspan > afIndex) { | |
mergeItem.rowspan = mergeRowspan + newRecords.length; | |
} | |
}); | |
} | |
} | |
} | |
(_editStore$insertList = editStore.insertList).unshift.apply(_editStore$insertList, _toConsumableArray(newRecords)); | |
$xetable.updateFooter(); | |
$xetable.cacheRowMap(); | |
$xetable.handleTableData(treeConfig && transform); | |
if (!(treeConfig && transform)) { | |
$xetable.updateAfterDataIndex(); | |
} | |
$xetable.checkSelectionStatus(); | |
if (reactData.scrollYLoad) { | |
$xetable.updateScrollYSpace(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
$xetable.updateCellAreas(); | |
return $xetable.recalculate(); | |
}).then(function () { | |
return { | |
row: newRecords.length ? newRecords[newRecords.length - 1] : null, | |
rows: newRecords | |
}; | |
}); | |
}, | |
/** | |
* 删除指定行数据 | |
* 如果传 row 则删除一行 | |
* 如果传 rows 则删除多行 | |
* 如果为空则删除所有 | |
*/ | |
remove: function remove(rows) { | |
var treeConfig = props.treeConfig; | |
var mergeList = reactData.mergeList, | |
editStore = reactData.editStore, | |
selection = reactData.selection; | |
var tableFullTreeData = internalData.tableFullTreeData, | |
afterFullData = internalData.afterFullData, | |
tableFullData = internalData.tableFullData; | |
var checkboxOpts = computeCheckboxOpts.value; | |
var treeOpts = computeTreeOpts.value; | |
var transform = treeOpts.transform; | |
var actived = editStore.actived, | |
removeList = editStore.removeList, | |
insertList = editStore.insertList; | |
var property = checkboxOpts.checkField; | |
var rest = []; | |
if (!rows) { | |
rows = tableFullData; | |
} else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(rows)) { | |
rows = [rows]; | |
} // 如果是新增,则保存记录 | |
rows.forEach(function (row) { | |
if (!$xetable.isInsertByRow(row)) { | |
removeList.push(row); | |
} | |
}); // 如果绑定了多选属性,则更新状态 | |
if (!property) { | |
rows.forEach(function (row) { | |
var sIndex = $xetable.findRowIndexOf(selection, row); | |
if (sIndex > -1) { | |
selection.splice(sIndex, 1); | |
} | |
}); | |
} // 从数据源中移除 | |
if (tableFullData === rows) { | |
rows = rest = tableFullData.slice(0); | |
internalData.tableFullData = []; | |
internalData.afterFullData = []; | |
$xetable.clearMergeCells(); | |
} else { | |
// 如果为虚拟树 | |
if (treeConfig && transform) { | |
rows.forEach(function (row) { | |
var rowid = util_getRowid($xetable, row); | |
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(tableFullTreeData, function (item) { | |
return rowid === util_getRowid($xetable, item); | |
}, treeOpts); | |
if (matchObj) { | |
var rItems = matchObj.items.splice(matchObj.index, 1); | |
rest.push(rItems[0]); | |
} | |
var afIndex = $xetable.findRowIndexOf(afterFullData, row); | |
if (afIndex > -1) { | |
afterFullData.splice(afIndex, 1); | |
} | |
}); | |
} else { | |
rows.forEach(function (row) { | |
var tfIndex = $xetable.findRowIndexOf(tableFullData, row); | |
if (tfIndex > -1) { | |
var rItems = tableFullData.splice(tfIndex, 1); | |
rest.push(rItems[0]); | |
} | |
var afIndex = $xetable.findRowIndexOf(afterFullData, row); | |
if (afIndex > -1) { | |
// 刷新单元格合并 | |
mergeList.forEach(function (mergeItem) { | |
var mergeRowIndex = mergeItem.row, | |
mergeRowspan = mergeItem.rowspan; | |
if (mergeRowIndex > afIndex) { | |
mergeItem.row = mergeRowIndex - 1; | |
} else if (mergeRowIndex + mergeRowspan > afIndex) { | |
mergeItem.rowspan = mergeRowspan - 1; | |
} | |
}); | |
afterFullData.splice(afIndex, 1); | |
} | |
}); | |
} | |
} // 如果当前行被激活编辑,则清除激活状态 | |
if (actived.row && $xetable.findRowIndexOf(rows, actived.row) > -1) { | |
editMethods.clearActived(); | |
} // 从新增中移除已删除的数据 | |
rows.forEach(function (row) { | |
var iIndex = $xetable.findRowIndexOf(insertList, row); | |
if (iIndex > -1) { | |
insertList.splice(iIndex, 1); | |
} | |
}); | |
$xetable.updateFooter(); | |
$xetable.cacheRowMap(); | |
$xetable.handleTableData(treeConfig && transform); | |
if (!(treeConfig && transform)) { | |
$xetable.updateAfterDataIndex(); | |
} | |
$xetable.checkSelectionStatus(); | |
if (reactData.scrollYLoad) { | |
$xetable.updateScrollYSpace(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
$xetable.updateCellAreas(); | |
return $xetable.recalculate(); | |
}).then(function () { | |
return { | |
row: rest.length ? rest[rest.length - 1] : null, | |
rows: rest | |
}; | |
}); | |
}, | |
/** | |
* 删除复选框选中的数据 | |
*/ | |
removeCheckboxRow: function removeCheckboxRow() { | |
return editMethods.remove($xetable.getCheckboxRecords()).then(function (params) { | |
$xetable.clearCheckboxRow(); | |
return params; | |
}); | |
}, | |
/** | |
* 删除单选框选中的数据 | |
*/ | |
removeRadioRow: function removeRadioRow() { | |
var radioRecord = $xetable.getRadioRecord(); | |
return editMethods.remove(radioRecord || []).then(function (params) { | |
$xetable.clearRadioRow(); | |
return params; | |
}); | |
}, | |
/** | |
* 删除当前行选中的数据 | |
*/ | |
removeCurrentRow: function removeCurrentRow() { | |
var currentRecord = $xetable.getCurrentRecord(); | |
return editMethods.remove(currentRecord || []).then(function (params) { | |
$xetable.clearCurrentRow(); | |
return params; | |
}); | |
}, | |
/** | |
* 获取表格数据集,包含新增、删除、修改 | |
*/ | |
getRecordset: function getRecordset() { | |
return { | |
insertRecords: editMethods.getInsertRecords(), | |
removeRecords: editMethods.getRemoveRecords(), | |
updateRecords: editMethods.getUpdateRecords() | |
}; | |
}, | |
/** | |
* 获取新增的临时数据 | |
*/ | |
getInsertRecords: function getInsertRecords() { | |
var treeConfig = props.treeConfig; | |
var editStore = reactData.editStore; | |
var tableFullTreeData = internalData.tableFullTreeData, | |
tableFullData = internalData.tableFullData; | |
var treeOpts = computeTreeOpts.value; | |
var insertList = editStore.insertList; | |
var insertRecords = []; | |
if (insertList.length) { | |
// 如果为虚拟树 | |
if (treeConfig && treeOpts.transform) { | |
insertList.forEach(function (row) { | |
var rowid = util_getRowid($xetable, row); | |
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(tableFullTreeData, function (item) { | |
return rowid === util_getRowid($xetable, item); | |
}, treeOpts); | |
if (matchObj) { | |
insertRecords.push(row); | |
} | |
}); | |
} else { | |
insertList.forEach(function (row) { | |
if ($xetable.findRowIndexOf(tableFullData, row) > -1) { | |
insertRecords.push(row); | |
} | |
}); | |
} | |
} | |
return insertRecords; | |
}, | |
/** | |
* 获取已删除的数据 | |
*/ | |
getRemoveRecords: function getRemoveRecords() { | |
var editStore = reactData.editStore; | |
return editStore.removeList; | |
}, | |
/** | |
* 获取更新数据 | |
* 只精准匹配 row 的更改 | |
* 如果是树表格,子节点更改状态不会影响父节点的更新状态 | |
*/ | |
getUpdateRecords: function getUpdateRecords() { | |
var keepSource = props.keepSource, | |
treeConfig = props.treeConfig; | |
var tableFullData = internalData.tableFullData; | |
var treeOpts = computeTreeOpts.value; | |
if (keepSource) { | |
syncActivedCell(); | |
if (treeConfig) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.filterTree(tableFullData, function (row) { | |
return $xetable.isUpdateByRow(row); | |
}, treeOpts); | |
} | |
return tableFullData.filter(function (row) { | |
return $xetable.isUpdateByRow(row); | |
}); | |
} | |
return []; | |
}, | |
getActiveRecord: function getActiveRecord() { | |
var editStore = reactData.editStore; | |
var afterFullData = internalData.afterFullData; | |
var el = refElem.value; | |
var _editStore$actived = editStore.actived, | |
args = _editStore$actived.args, | |
row = _editStore$actived.row; | |
if (args && $xetable.findRowIndexOf(afterFullData, row) > -1 && el.querySelectorAll('.vxe-body--column.col--actived').length) { | |
return Object.assign({}, args); | |
} | |
return null; | |
}, | |
/** | |
* 获取选中的单元格 | |
*/ | |
getSelectedCell: function getSelectedCell() { | |
var editStore = reactData.editStore; | |
var _editStore$selected = editStore.selected, | |
args = _editStore$selected.args, | |
column = _editStore$selected.column; | |
if (args && column) { | |
return Object.assign({}, args); | |
} | |
return null; | |
}, | |
/** | |
* 清除激活的编辑 | |
*/ | |
clearActived: function clearActived(evnt) { | |
var editStore = reactData.editStore; | |
var actived = editStore.actived; | |
var row = actived.row, | |
column = actived.column; | |
if (row || column) { | |
syncActivedCell(); | |
actived.args = null; | |
actived.row = null; | |
actived.column = null; | |
$xetable.updateFooter(); | |
$xetable.dispatchEvent('edit-closed', { | |
row: row, | |
rowIndex: $xetable.getRowIndex(row), | |
$rowIndex: $xetable.getVMRowIndex(row), | |
column: column, | |
columnIndex: $xetable.getColumnIndex(column), | |
$columnIndex: $xetable.getVMColumnIndex(column) | |
}, evnt || null); | |
} | |
return ($xetable.clearValidate ? $xetable.clearValidate() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])()).then(function () { | |
return $xetable.recalculate(); | |
}); | |
}, | |
/** | |
* 清除所选中源状态 | |
*/ | |
clearSelected: function clearSelected() { | |
var editStore = reactData.editStore; | |
var selected = editStore.selected; | |
selected.row = null; | |
selected.column = null; | |
removeCellSelectedClass(); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
/** | |
* 判断行是否为激活编辑状态 | |
* @param {Row} row 行对象 | |
*/ | |
isActiveByRow: function isActiveByRow(row) { | |
var editStore = reactData.editStore; | |
return editStore.actived.row === row; | |
}, | |
/** | |
* 激活行编辑 | |
*/ | |
setActiveRow: function setActiveRow(row) { | |
var visibleColumn = internalData.visibleColumn; | |
return $xetable.setActiveCell(row, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.find(visibleColumn, function (column) { | |
return isEnableConf(column.editRender); | |
})); | |
}, | |
/** | |
* 激活单元格编辑 | |
*/ | |
setActiveCell: function setActiveCell(row, fieldOrColumn) { | |
var editConfig = props.editConfig; | |
var column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(fieldOrColumn) ? $xetable.getColumnByField(fieldOrColumn) : fieldOrColumn; | |
if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) { | |
return $xetable.scrollToRow(row, column).then(function () { | |
var cell = $xetable.getCell(row, column); | |
if (cell) { | |
editPrivateMethods.handleActived({ | |
row: row, | |
rowIndex: $xetable.getRowIndex(row), | |
column: column, | |
columnIndex: $xetable.getColumnIndex(column), | |
cell: cell, | |
$table: $xetable | |
}); | |
internalData._lastCallTime = Date.now(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
/** | |
* 只对 trigger=dblclick 有效,选中单元格 | |
*/ | |
setSelectCell: function setSelectCell(row, fieldOrColumn) { | |
var tableData = reactData.tableData; | |
var visibleColumn = internalData.visibleColumn; | |
var editOpts = computeEditOpts.value; | |
var column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(fieldOrColumn) ? $xetable.getColumnByField(fieldOrColumn) : fieldOrColumn; | |
if (row && column && editOpts.trigger !== 'manual') { | |
var rowIndex = $xetable.findRowIndexOf(tableData, row); | |
if (rowIndex > -1 && column) { | |
var cell = $xetable.getCell(row, column); | |
var params = { | |
row: row, | |
rowIndex: rowIndex, | |
column: column, | |
columnIndex: visibleColumn.indexOf(column), | |
cell: cell | |
}; | |
$xetable.handleSelected(params, {}); | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}; | |
editPrivateMethods = { | |
/** | |
* 处理激活编辑 | |
*/ | |
handleActived: function handleActived(params, evnt) { | |
var editConfig = props.editConfig, | |
mouseConfig = props.mouseConfig; | |
var editStore = reactData.editStore, | |
tableColumn = reactData.tableColumn; | |
var editOpts = computeEditOpts.value; | |
var mode = editOpts.mode, | |
activeMethod = editOpts.activeMethod; | |
var actived = editStore.actived; | |
var row = params.row, | |
column = params.column; | |
var editRender = column.editRender; | |
var cell = params.cell = params.cell || $xetable.getCell(row, column); | |
if (isEnableConf(editConfig) && isEnableConf(editRender) && cell) { | |
if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) { | |
// 判断是否禁用编辑 | |
var type = 'edit-disabled'; | |
if (!activeMethod || activeMethod(params)) { | |
if (mouseConfig) { | |
editMethods.clearSelected(); | |
if ($xetable.clearCellAreas) { | |
$xetable.clearCellAreas(); | |
$xetable.clearCopyCellArea(); | |
} | |
} | |
$xetable.closeTooltip(); | |
editMethods.clearActived(evnt); | |
type = 'edit-actived'; | |
column.renderHeight = cell.offsetHeight; | |
actived.args = params; | |
actived.row = row; | |
actived.column = column; | |
if (mode === 'row') { | |
tableColumn.forEach(function (column) { | |
return getEditColumnModel(row, column); | |
}); | |
} else { | |
getEditColumnModel(row, column); | |
} | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
editPrivateMethods.handleFocus(params, evnt); | |
}); | |
} | |
$xetable.dispatchEvent(type, { | |
row: row, | |
rowIndex: $xetable.getRowIndex(row), | |
$rowIndex: $xetable.getVMRowIndex(row), | |
column: column, | |
columnIndex: $xetable.getColumnIndex(column), | |
$columnIndex: $xetable.getVMColumnIndex(column) | |
}, evnt); | |
} else { | |
var oldColumn = actived.column; | |
if (mouseConfig) { | |
editMethods.clearSelected(); | |
if ($xetable.clearCellAreas) { | |
$xetable.clearCellAreas(); | |
$xetable.clearCopyCellArea(); | |
} | |
} | |
if (oldColumn !== column) { | |
var oldModel = oldColumn.model; | |
if (oldModel.update) { | |
setCellValue(row, oldColumn, oldModel.value); | |
} | |
if ($xetable.clearValidate) { | |
$xetable.clearValidate(); | |
} | |
} | |
column.renderHeight = cell.offsetHeight; | |
actived.args = params; | |
actived.column = column; | |
setTimeout(function () { | |
editPrivateMethods.handleFocus(params, evnt); | |
}); | |
} | |
$xetable.focus(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
/** | |
* 处理聚焦 | |
*/ | |
handleFocus: function handleFocus(params) { | |
var row = params.row, | |
column = params.column, | |
cell = params.cell; | |
var editRender = column.editRender; | |
if (isEnableConf(editRender)) { | |
var compRender = renderer.get(editRender.name); | |
var autofocus = editRender.autofocus, | |
autoselect = editRender.autoselect; | |
var inputElem; // 如果指定了聚焦 class | |
if (autofocus) { | |
inputElem = cell.querySelector(autofocus); | |
} // 渲染器的聚焦处理 | |
if (!inputElem && compRender && compRender.autofocus) { | |
inputElem = cell.querySelector(compRender.autofocus); | |
} | |
if (inputElem) { | |
inputElem.focus(); | |
if (autoselect) { | |
inputElem.select(); | |
} else { | |
// 保持一致行为,光标移到末端 | |
if (browse.msie) { | |
var textRange = inputElem.createTextRange(); | |
textRange.collapse(false); | |
textRange.select(); | |
} | |
} | |
} else { | |
// 显示到可视区中 | |
$xetable.scrollToRow(row, column); | |
} | |
} | |
}, | |
/** | |
* 处理选中源 | |
*/ | |
handleSelected: function handleSelected(params, evnt) { | |
var mouseConfig = props.mouseConfig; | |
var editStore = reactData.editStore; | |
var mouseOpts = computeMouseOpts.value; | |
var editOpts = computeEditOpts.value; | |
var actived = editStore.actived, | |
selected = editStore.selected; | |
var row = params.row, | |
column = params.column; | |
var isMouseSelected = mouseConfig && mouseOpts.selected; | |
var selectMethod = function selectMethod() { | |
if (isMouseSelected && (selected.row !== row || selected.column !== column)) { | |
if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) { | |
editMethods.clearActived(evnt); | |
editMethods.clearSelected(); | |
if ($xetable.clearCellAreas) { | |
$xetable.clearCellAreas(); | |
$xetable.clearCopyCellArea(); | |
} | |
selected.args = params; | |
selected.row = row; | |
selected.column = column; | |
if (isMouseSelected) { | |
editPrivateMethods.addCellSelectedClass(); | |
} | |
$xetable.focus(); | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}; | |
return selectMethod(); | |
}, | |
addCellSelectedClass: function addCellSelectedClass() { | |
var editStore = reactData.editStore; | |
var selected = editStore.selected; | |
var row = selected.row, | |
column = selected.column; | |
removeCellSelectedClass(); | |
if (row && column) { | |
var cell = $xetable.getCell(row, column); | |
if (cell) { | |
addClass(cell, 'col--selected'); | |
} | |
} | |
} | |
}; | |
return _objectSpread2(_objectSpread2({}, editMethods), editPrivateMethods); | |
}, | |
setupGrid: function setupGrid($xegrid) { | |
return $xegrid.extendTableMethods(tableEditMethodKeys); | |
} | |
}; | |
/* harmony default export */ var src_hook = (editHook); | |
// CONCATENATED MODULE: ./packages/edit/index.ts | |
var Edit = { | |
install: function install() { | |
VXETable.hooks.add('$tableEdit', src_hook); | |
} | |
}; | |
/* harmony default export */ var edit = (Edit); | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js | |
function _arrayWithHoles(arr) { | |
if (Array.isArray(arr)) return arr; | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js | |
function _iterableToArrayLimit(arr, i) { | |
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; | |
if (_i == null) return; | |
var _arr = []; | |
var _n = true; | |
var _d = false; | |
var _s, _e; | |
try { | |
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { | |
_arr.push(_s.value); | |
if (i && _arr.length === i) break; | |
} | |
} catch (err) { | |
_d = true; | |
_e = err; | |
} finally { | |
try { | |
if (!_n && _i["return"] != null) _i["return"](); | |
} finally { | |
if (_d) throw _e; | |
} | |
} | |
return _arr; | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js | |
function _nonIterableRest() { | |
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); | |
} | |
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js | |
function _slicedToArray(arr, i) { | |
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); | |
} | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js | |
var es_string_split = __webpack_require__("1276"); | |
// CONCATENATED MODULE: ./packages/hooks/size.ts | |
function useSize(props) { | |
// 组件尺寸上下文 | |
var xesize = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('xesize', null); | |
var computeSize = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.size || (xesize ? xesize.value : null); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('xesize', computeSize); | |
return computeSize; | |
} | |
// CONCATENATED MODULE: ./packages/button/src/button.ts | |
/* harmony default export */ var src_button = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeButton', | |
props: { | |
/** | |
* 按钮类型 | |
*/ | |
type: String, | |
className: String, | |
/** | |
* 按钮尺寸 | |
*/ | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.button.size || conf.size; | |
} | |
}, | |
/** | |
* 用来标识这一项 | |
*/ | |
name: [String, Number], | |
/** | |
* 按钮内容 | |
*/ | |
content: String, | |
/** | |
* 固定显示下拉面板的方向 | |
*/ | |
placement: String, | |
/** | |
* 按钮状态 | |
*/ | |
status: String, | |
/** | |
* 按钮的图标 | |
*/ | |
icon: String, | |
/** | |
* 圆角边框 | |
*/ | |
round: Boolean, | |
/** | |
* 圆角按钮 | |
*/ | |
circle: Boolean, | |
/** | |
* 是否禁用 | |
*/ | |
disabled: Boolean, | |
/** | |
* 是否加载中 | |
*/ | |
loading: Boolean, | |
/** | |
* 在下拉面板关闭时销毁内容 | |
*/ | |
destroyOnClose: Boolean, | |
/** | |
* 是否将弹框容器插入于 body 内 | |
*/ | |
transfer: { | |
type: Boolean, | |
default: function _default() { | |
return conf.button.transfer; | |
} | |
} | |
}, | |
emits: ['click', 'dropdown-click'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var computeSize = useSize(props); | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
inited: false, | |
showPanel: false, | |
animatVisible: false, | |
panelIndex: 0, | |
panelStyle: {}, | |
panelPlacement: '' | |
}); | |
var internalData = { | |
showTime: null | |
}; | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refButton = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refBtnPanel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refMaps = { | |
refElem: refElem | |
}; | |
var $xebutton = { | |
xID: xID, | |
props: props, | |
context: context, | |
reactData: reactData, | |
internalData: internalData, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
} | |
}; | |
var buttonMethods = {}; | |
var computeIsFormBtn = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type; | |
if (type) { | |
return ['submit', 'reset', 'button'].indexOf(type) > -1; | |
} | |
return false; | |
}); | |
var computeBtnType = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type; | |
return type && type === 'text' ? type : 'button'; | |
}); | |
var updateZindex = function updateZindex() { | |
if (reactData.panelIndex < getLastZIndex()) { | |
reactData.panelIndex = nextZIndex(); | |
} | |
}; | |
var updatePlacement = function updatePlacement() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
var transfer = props.transfer, | |
placement = props.placement; | |
var panelIndex = reactData.panelIndex; | |
var targetElem = refButton.value; | |
var panelElem = refBtnPanel.value; | |
if (panelElem && targetElem) { | |
var targetHeight = targetElem.offsetHeight; | |
var targetWidth = targetElem.offsetWidth; | |
var panelHeight = panelElem.offsetHeight; | |
var panelWidth = panelElem.offsetWidth; | |
var marginSize = 5; | |
var panelStyle = { | |
zIndex: panelIndex | |
}; | |
var _getAbsolutePos = getAbsolutePos(targetElem), | |
top = _getAbsolutePos.top, | |
left = _getAbsolutePos.left, | |
boundingTop = _getAbsolutePos.boundingTop, | |
visibleHeight = _getAbsolutePos.visibleHeight, | |
visibleWidth = _getAbsolutePos.visibleWidth; | |
var panelPlacement = 'bottom'; | |
if (transfer) { | |
var btnLeft = left + targetWidth - panelWidth; | |
var btnTop = top + targetHeight; | |
if (placement === 'top') { | |
panelPlacement = 'top'; | |
btnTop = top - panelHeight; | |
} else if (!placement) { | |
// 如果下面不够放,则向上 | |
if (boundingTop + targetHeight + panelHeight + marginSize > visibleHeight) { | |
panelPlacement = 'top'; | |
btnTop = top - panelHeight; | |
} // 如果上面不够放,则向下(优先) | |
if (btnTop < marginSize) { | |
panelPlacement = 'bottom'; | |
btnTop = top + targetHeight; | |
} | |
} // 如果溢出右边 | |
if (btnLeft + panelWidth + marginSize > visibleWidth) { | |
btnLeft -= btnLeft + panelWidth + marginSize - visibleWidth; | |
} // 如果溢出左边 | |
if (btnLeft < marginSize) { | |
btnLeft = marginSize; | |
} | |
Object.assign(panelStyle, { | |
left: "".concat(btnLeft, "px"), | |
right: 'auto', | |
top: "".concat(btnTop, "px"), | |
minWidth: "".concat(targetWidth, "px") | |
}); | |
} else { | |
if (placement === 'top') { | |
panelPlacement = 'top'; | |
panelStyle.bottom = "".concat(targetHeight, "px"); | |
} else if (!placement) { | |
// 如果下面不够放,则向上 | |
if (boundingTop + targetHeight + panelHeight > visibleHeight) { | |
// 如果上面不够放,则向下(优先) | |
if (boundingTop - targetHeight - panelHeight > marginSize) { | |
panelPlacement = 'top'; | |
panelStyle.bottom = "".concat(targetHeight, "px"); | |
} | |
} | |
} | |
} | |
reactData.panelStyle = panelStyle; | |
reactData.panelPlacement = panelPlacement; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}); | |
}; | |
var clickEvent = function clickEvent(evnt) { | |
buttonMethods.dispatchEvent('click', { | |
$event: evnt | |
}, evnt); | |
}; | |
var mousedownDropdownEvent = function mousedownDropdownEvent(evnt) { | |
var isLeftBtn = evnt.button === 0; | |
if (isLeftBtn) { | |
evnt.stopPropagation(); | |
} | |
}; | |
var clickDropdownEvent = function clickDropdownEvent(evnt) { | |
var dropdownElem = evnt.currentTarget; | |
var panelElem = refBtnPanel.value; | |
var _getEventTargetNode = getEventTargetNode(evnt, dropdownElem, 'vxe-button'), | |
flag = _getEventTargetNode.flag, | |
targetElem = _getEventTargetNode.targetElem; | |
if (flag) { | |
if (panelElem) { | |
panelElem.dataset.active = 'N'; | |
} | |
reactData.showPanel = false; | |
setTimeout(function () { | |
if (!panelElem || panelElem.dataset.active !== 'Y') { | |
reactData.animatVisible = false; | |
} | |
}, 350); | |
buttonMethods.dispatchEvent('dropdown-click', { | |
name: targetElem.getAttribute('name'), | |
$event: evnt | |
}, evnt); | |
} | |
}; | |
var mouseenterEvent = function mouseenterEvent() { | |
var panelElem = refBtnPanel.value; | |
if (panelElem) { | |
panelElem.dataset.active = 'Y'; | |
reactData.animatVisible = true; | |
setTimeout(function () { | |
if (panelElem.dataset.active === 'Y') { | |
reactData.showPanel = true; | |
updateZindex(); | |
updatePlacement(); | |
setTimeout(function () { | |
if (reactData.showPanel) { | |
updatePlacement(); | |
} | |
}, 50); | |
} | |
}, 20); | |
} | |
}; | |
var mouseenterTargetEvent = function mouseenterTargetEvent() { | |
var panelElem = refBtnPanel.value; | |
if (panelElem) { | |
panelElem.dataset.active = 'Y'; | |
if (!reactData.inited) { | |
reactData.inited = true; | |
} | |
internalData.showTime = setTimeout(function () { | |
if (panelElem.dataset.active === 'Y') { | |
mouseenterEvent(); | |
} else { | |
reactData.animatVisible = false; | |
} | |
}, 250); | |
} | |
}; | |
var closePanel = function closePanel() { | |
var panelElem = refBtnPanel.value; | |
clearTimeout(internalData.showTime); | |
if (panelElem) { | |
panelElem.dataset.active = 'N'; | |
setTimeout(function () { | |
if (panelElem.dataset.active !== 'Y') { | |
reactData.showPanel = false; | |
setTimeout(function () { | |
if (panelElem.dataset.active !== 'Y') { | |
reactData.animatVisible = false; | |
} | |
}, 350); | |
} | |
}, 100); | |
} else { | |
reactData.animatVisible = false; | |
reactData.showPanel = false; | |
} | |
}; | |
var mouseleaveEvent = function mouseleaveEvent() { | |
closePanel(); | |
}; | |
var renderContent = function renderContent() { | |
var content = props.content, | |
icon = props.icon, | |
loading = props.loading; | |
var contVNs = []; | |
if (loading) { | |
contVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-button--loading-icon', conf.icon.BUTTON_LOADING] | |
})); | |
} else if (icon) { | |
contVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-button--icon', icon] | |
})); | |
} | |
if (slots.default) { | |
contVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-button--content' | |
}, slots.default({}))); | |
} else if (content) { | |
contVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-button--content' | |
}, getFuncText(content))); | |
} | |
return contVNs; | |
}; | |
buttonMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$button: $xebutton, | |
$event: evnt | |
}, params)); | |
}, | |
focus: function focus() { | |
var btnElem = refButton.value; | |
btnElem.focus(); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
blur: function blur() { | |
var btnElem = refButton.value; | |
btnElem.blur(); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}; | |
Object.assign($xebutton, buttonMethods); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | |
GlobalEvent.on($xebutton, 'mousewheel', function (evnt) { | |
var panelElem = refBtnPanel.value; | |
if (reactData.showPanel && !getEventTargetNode(evnt, panelElem).flag) { | |
closePanel(); | |
} | |
}); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
GlobalEvent.off($xebutton, 'mousewheel'); | |
}); | |
var renderVN = function renderVN() { | |
var _ref4; | |
var className = props.className, | |
transfer = props.transfer, | |
type = props.type, | |
round = props.round, | |
circle = props.circle, | |
destroyOnClose = props.destroyOnClose, | |
status = props.status, | |
name = props.name, | |
disabled = props.disabled, | |
loading = props.loading; | |
var inited = reactData.inited, | |
showPanel = reactData.showPanel; | |
var isFormBtn = computeIsFormBtn.value; | |
var btnType = computeBtnType.value; | |
var vSize = computeSize.value; | |
if (slots.dropdowns) { | |
var _ref, _ref2, _ref3; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-button--dropdown', className, (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--active', showPanel), _ref)] | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
ref: refButton, | |
class: ['vxe-button', "type--".concat(btnType), (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, "theme--".concat(status), status), _defineProperty(_ref2, 'is--round', round), _defineProperty(_ref2, 'is--circle', circle), _defineProperty(_ref2, 'is--disabled', disabled || loading), _defineProperty(_ref2, 'is--loading', loading), _ref2)], | |
name: name, | |
type: isFormBtn ? type : 'button', | |
disabled: disabled || loading, | |
onMouseenter: mouseenterTargetEvent, | |
onMouseleave: mouseleaveEvent, | |
onClick: clickEvent | |
}, renderContent().concat([Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: "vxe-button--dropdown-arrow ".concat(conf.icon.BUTTON_DROPDOWN) | |
})])), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Teleport"], { | |
to: 'body', | |
disabled: transfer ? !inited : true | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refBtnPanel, | |
class: ['vxe-button--dropdown-panel', (_ref3 = {}, _defineProperty(_ref3, "size--".concat(vSize), vSize), _defineProperty(_ref3, 'animat--leave', reactData.animatVisible), _defineProperty(_ref3, 'animat--enter', showPanel), _ref3)], | |
placement: reactData.panelPlacement, | |
style: reactData.panelStyle | |
}, inited ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-button--dropdown-wrapper', | |
onMousedown: mousedownDropdownEvent, | |
onClick: clickDropdownEvent, | |
onMouseenter: mouseenterEvent, | |
onMouseleave: mouseleaveEvent | |
}, destroyOnClose && !showPanel ? [] : slots.dropdowns({}))] : [])])]); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
ref: refButton, | |
class: ['vxe-button', "type--".concat(btnType), (_ref4 = {}, _defineProperty(_ref4, "size--".concat(vSize), vSize), _defineProperty(_ref4, "theme--".concat(status), status), _defineProperty(_ref4, 'is--round', round), _defineProperty(_ref4, 'is--circle', circle), _defineProperty(_ref4, 'is--disabled', disabled || loading), _defineProperty(_ref4, 'is--loading', loading), _ref4)], | |
name: name, | |
type: isFormBtn ? type : 'button', | |
disabled: disabled || loading, | |
onClick: clickEvent | |
}, renderContent()); | |
}; | |
$xebutton.renderVN = renderVN; | |
return $xebutton; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/modal/src/modal.ts | |
var allActivedModals = []; | |
var msgQueue = []; | |
/* harmony default export */ var modal = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeModal', | |
props: { | |
modelValue: Boolean, | |
id: String, | |
type: { | |
type: String, | |
default: 'modal' | |
}, | |
loading: { | |
type: Boolean, | |
default: null | |
}, | |
status: String, | |
iconStatus: String, | |
className: String, | |
top: { | |
type: [Number, String], | |
default: function _default() { | |
return conf.modal.top; | |
} | |
}, | |
position: [String, Object], | |
title: String, | |
duration: { | |
type: [Number, String], | |
default: function _default() { | |
return conf.modal.duration; | |
} | |
}, | |
message: [Number, String], | |
content: [Number, String], | |
cancelButtonText: { | |
type: String, | |
default: function _default() { | |
return conf.modal.cancelButtonText; | |
} | |
}, | |
confirmButtonText: { | |
type: String, | |
default: function _default() { | |
return conf.modal.confirmButtonText; | |
} | |
}, | |
lockView: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.lockView; | |
} | |
}, | |
lockScroll: Boolean, | |
mask: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.mask; | |
} | |
}, | |
maskClosable: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.maskClosable; | |
} | |
}, | |
escClosable: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.escClosable; | |
} | |
}, | |
resize: Boolean, | |
showHeader: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.showHeader; | |
} | |
}, | |
showFooter: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.showFooter; | |
} | |
}, | |
showZoom: Boolean, | |
showClose: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.showClose; | |
} | |
}, | |
dblclickZoom: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.dblclickZoom; | |
} | |
}, | |
width: [Number, String], | |
height: [Number, String], | |
minWidth: { | |
type: [Number, String], | |
default: function _default() { | |
return conf.modal.minWidth; | |
} | |
}, | |
minHeight: { | |
type: [Number, String], | |
default: function _default() { | |
return conf.modal.minHeight; | |
} | |
}, | |
zIndex: Number, | |
marginSize: { | |
type: [Number, String], | |
default: function _default() { | |
return conf.modal.marginSize; | |
} | |
}, | |
fullscreen: Boolean, | |
draggable: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.draggable; | |
} | |
}, | |
remember: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.remember; | |
} | |
}, | |
destroyOnClose: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.destroyOnClose; | |
} | |
}, | |
showTitleOverflow: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.showTitleOverflow; | |
} | |
}, | |
transfer: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.transfer; | |
} | |
}, | |
storage: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.storage; | |
} | |
}, | |
storageKey: { | |
type: String, | |
default: function _default() { | |
return conf.modal.storageKey; | |
} | |
}, | |
animat: { | |
type: Boolean, | |
default: function _default() { | |
return conf.modal.animat; | |
} | |
}, | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.modal.size || conf.size; | |
} | |
}, | |
beforeHideMethod: { | |
type: Function, | |
default: function _default() { | |
return conf.modal.beforeHideMethod; | |
} | |
}, | |
slots: Object | |
}, | |
emits: ['update:modelValue', 'show', 'hide', 'before-hide', 'close', 'confirm', 'cancel', 'zoom'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var computeSize = useSize(props); | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
inited: false, | |
visible: false, | |
contentVisible: false, | |
modalTop: 0, | |
modalZindex: 0, | |
zoomLocat: null, | |
firstOpen: false | |
}); | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refModalBox = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refConfirmBtn = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refCancelBtn = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refMaps = { | |
refElem: refElem | |
}; | |
var $xemodal = { | |
xID: xID, | |
props: props, | |
context: context, | |
reactData: reactData, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
} | |
}; | |
var modalMethods = {}; | |
var computeIsMsg = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.type === 'message'; | |
}); | |
var getBox = function getBox() { | |
var boxElem = refModalBox.value; | |
return boxElem; | |
}; | |
var recalculate = function recalculate() { | |
var width = props.width, | |
height = props.height; | |
var boxElem = getBox(); | |
boxElem.style.width = "".concat(width ? isNaN(width) ? width : "".concat(width, "px") : ''); | |
boxElem.style.height = "".concat(height ? isNaN(height) ? height : "".concat(height, "px") : ''); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}; | |
var updateZindex = function updateZindex() { | |
var zIndex = props.zIndex; | |
var modalZindex = reactData.modalZindex; | |
if (zIndex) { | |
reactData.modalZindex = zIndex; | |
} else if (modalZindex < getLastZIndex()) { | |
reactData.modalZindex = nextZIndex(); | |
} | |
}; | |
var updatePosition = function updatePosition() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
var position = props.position; | |
var marginSize = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.marginSize); | |
var boxElem = getBox(); | |
var clientVisibleWidth = document.documentElement.clientWidth || document.body.clientWidth; | |
var clientVisibleHeight = document.documentElement.clientHeight || document.body.clientHeight; | |
var isPosCenter = position === 'center'; | |
var _ref = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(position) ? { | |
top: position, | |
left: position | |
} : Object.assign({}, position), | |
top = _ref.top, | |
left = _ref.left; | |
var topCenter = isPosCenter || top === 'center'; | |
var leftCenter = isPosCenter || left === 'center'; | |
var posTop = ''; | |
var posLeft = ''; | |
if (left && !leftCenter) { | |
posLeft = isNaN(left) ? left : "".concat(left, "px"); | |
} else { | |
posLeft = "".concat(Math.max(marginSize, clientVisibleWidth / 2 - boxElem.offsetWidth / 2), "px"); | |
} | |
if (top && !topCenter) { | |
posTop = isNaN(top) ? top : "".concat(top, "px"); | |
} else { | |
posTop = "".concat(Math.max(marginSize, clientVisibleHeight / 2 - boxElem.offsetHeight / 2), "px"); | |
} | |
boxElem.style.top = posTop; | |
boxElem.style.left = posLeft; | |
}); | |
}; | |
var updateStyle = function updateStyle() { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var offsetTop = 0; | |
msgQueue.forEach(function (comp) { | |
var boxElem = comp.getBox(); | |
offsetTop += external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(comp.props.top); | |
comp.reactData.modalTop = offsetTop; | |
offsetTop += boxElem.clientHeight; | |
}); | |
}); | |
}; | |
var removeMsgQueue = function removeMsgQueue() { | |
if (msgQueue.indexOf($xemodal) > -1) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.remove(msgQueue, function (comp) { | |
return comp === $xemodal; | |
}); | |
} | |
updateStyle(); | |
}; | |
var closeModal = function closeModal(type) { | |
var remember = props.remember, | |
beforeHideMethod = props.beforeHideMethod; | |
var visible = reactData.visible; | |
var isMsg = computeIsMsg.value; | |
var params = { | |
type: type | |
}; | |
if (visible) { | |
Promise.resolve(beforeHideMethod ? beforeHideMethod(params) : null).then(function (rest) { | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isError(rest)) { | |
if (isMsg) { | |
removeMsgQueue(); | |
} | |
reactData.contentVisible = false; | |
if (!remember) { | |
reactData.zoomLocat = null; | |
} | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.remove(allActivedModals, function (item) { | |
return item === $xemodal; | |
}); | |
modalMethods.dispatchEvent('before-hide', params); | |
setTimeout(function () { | |
reactData.visible = false; | |
emit('update:modelValue', false); | |
modalMethods.dispatchEvent('hide', params); | |
}, 200); | |
} | |
}).catch(function (e) { | |
return e; | |
}); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}; | |
var closeEvent = function closeEvent(evnt) { | |
var type = 'close'; | |
modalMethods.dispatchEvent(type, { | |
type: type | |
}, evnt); | |
closeModal(type); | |
}; | |
var confirmEvent = function confirmEvent(evnt) { | |
var type = 'confirm'; | |
modalMethods.dispatchEvent(type, { | |
type: type | |
}, evnt); | |
closeModal(type); | |
}; | |
var cancelEvent = function cancelEvent(evnt) { | |
var type = 'cancel'; | |
modalMethods.dispatchEvent(type, { | |
type: type | |
}, evnt); | |
closeModal(type); | |
}; | |
var getStorageMap = function getStorageMap(key) { | |
var version = conf.version; | |
var rest = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toStringJSON(localStorage.getItem(key) || ''); | |
return rest && rest._v === version ? rest : { | |
_v: version | |
}; | |
}; | |
var hasPosStorage = function hasPosStorage() { | |
var id = props.id, | |
remember = props.remember, | |
storage = props.storage, | |
storageKey = props.storageKey; | |
return !!(id && remember && storage && getStorageMap(storageKey)[id]); | |
}; | |
var restorePosStorage = function restorePosStorage() { | |
var id = props.id, | |
remember = props.remember, | |
storage = props.storage, | |
storageKey = props.storageKey; | |
if (id && remember && storage) { | |
var posStorage = getStorageMap(storageKey)[id]; | |
if (posStorage) { | |
var boxElem = getBox(); | |
var _posStorage$split = posStorage.split(','), | |
_posStorage$split2 = _slicedToArray(_posStorage$split, 8), | |
left = _posStorage$split2[0], | |
top = _posStorage$split2[1], | |
width = _posStorage$split2[2], | |
height = _posStorage$split2[3], | |
zoomLeft = _posStorage$split2[4], | |
zoomTop = _posStorage$split2[5], | |
zoomWidth = _posStorage$split2[6], | |
zoomHeight = _posStorage$split2[7]; | |
if (left) { | |
boxElem.style.left = "".concat(left, "px"); | |
} | |
if (top) { | |
boxElem.style.top = "".concat(top, "px"); | |
} | |
if (width) { | |
boxElem.style.width = "".concat(width, "px"); | |
} | |
if (height) { | |
boxElem.style.height = "".concat(height, "px"); | |
} | |
if (zoomLeft && zoomTop) { | |
reactData.zoomLocat = { | |
left: zoomLeft, | |
top: zoomTop, | |
width: zoomWidth, | |
height: zoomHeight | |
}; | |
} | |
} | |
} | |
}; | |
var addMsgQueue = function addMsgQueue() { | |
if (msgQueue.indexOf($xemodal) === -1) { | |
msgQueue.push($xemodal); | |
} | |
updateStyle(); | |
}; | |
var savePosStorage = function savePosStorage() { | |
var id = props.id, | |
remember = props.remember, | |
storage = props.storage, | |
storageKey = props.storageKey; | |
var zoomLocat = reactData.zoomLocat; | |
if (id && remember && storage) { | |
var boxElem = getBox(); | |
var posStorageMap = getStorageMap(storageKey); | |
posStorageMap[id] = [boxElem.style.left, boxElem.style.top, boxElem.style.width, boxElem.style.height].concat(zoomLocat ? [zoomLocat.left, zoomLocat.top, zoomLocat.width, zoomLocat.height] : []).map(function (val) { | |
return val ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(val) : ''; | |
}).join(','); | |
localStorage.setItem(storageKey, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toJSONString(posStorageMap)); | |
} | |
}; | |
var maximize = function maximize() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
if (!reactData.zoomLocat) { | |
var marginSize = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.marginSize); | |
var boxElem = getBox(); | |
var _getDomNode = getDomNode(), | |
visibleHeight = _getDomNode.visibleHeight, | |
visibleWidth = _getDomNode.visibleWidth; | |
reactData.zoomLocat = { | |
top: boxElem.offsetTop, | |
left: boxElem.offsetLeft, | |
width: boxElem.offsetWidth + (boxElem.style.width ? 0 : 1), | |
height: boxElem.offsetHeight + (boxElem.style.height ? 0 : 1) | |
}; | |
Object.assign(boxElem.style, { | |
top: "".concat(marginSize, "px"), | |
left: "".concat(marginSize, "px"), | |
width: "".concat(visibleWidth - marginSize * 2, "px"), | |
height: "".concat(visibleHeight - marginSize * 2, "px") | |
}); | |
savePosStorage(); | |
} | |
}); | |
}; | |
var openModal = function openModal() { | |
var duration = props.duration, | |
remember = props.remember, | |
showFooter = props.showFooter; | |
var inited = reactData.inited, | |
visible = reactData.visible; | |
var isMsg = computeIsMsg.value; | |
if (!inited) { | |
reactData.inited = true; | |
} | |
if (!visible) { | |
if (!remember) { | |
recalculate(); | |
} | |
reactData.visible = true; | |
reactData.contentVisible = false; | |
updateZindex(); | |
allActivedModals.push($xemodal); | |
setTimeout(function () { | |
reactData.contentVisible = true; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
if (showFooter) { | |
var confirmBtn = refConfirmBtn.value; | |
var cancelBtn = refCancelBtn.value; | |
var operBtn = confirmBtn || cancelBtn; | |
if (operBtn) { | |
operBtn.focus(); | |
} | |
} | |
var type = ''; | |
var params = { | |
type: type | |
}; | |
emit('update:modelValue', true); | |
modalMethods.dispatchEvent('show', params); | |
}); | |
}, 10); | |
if (isMsg) { | |
addMsgQueue(); | |
if (duration !== -1) { | |
setTimeout(function () { | |
return closeModal('close'); | |
}, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(duration)); | |
} | |
} else { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var fullscreen = props.fullscreen; | |
var firstOpen = reactData.firstOpen; | |
if (!remember || !firstOpen) { | |
updatePosition().then(function () { | |
setTimeout(function () { | |
return updatePosition(); | |
}, 20); | |
}); | |
} | |
if (!firstOpen) { | |
reactData.firstOpen = true; | |
if (hasPosStorage()) { | |
restorePosStorage(); | |
} else if (fullscreen) { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
return maximize(); | |
}); | |
} | |
} | |
}); | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}; | |
var selfClickEvent = function selfClickEvent(evnt) { | |
var el = refElem.value; | |
if (props.maskClosable && evnt.target === el) { | |
var type = 'mask'; | |
closeModal(type); | |
} | |
}; | |
var handleGlobalKeydownEvent = function handleGlobalKeydownEvent(evnt) { | |
var isEsc = hasEventKey(evnt, EVENT_KEYS.ESCAPE); | |
if (isEsc) { | |
var lastModal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.max(allActivedModals, function (item) { | |
return item.reactData.modalZindex; | |
}); // 多个时,只关掉最上层的窗口 | |
if (lastModal) { | |
setTimeout(function () { | |
if (lastModal === $xemodal && lastModal.props.escClosable) { | |
closeModal('exit'); | |
} | |
}, 10); | |
} | |
} | |
}; | |
var isMaximized = function isMaximized() { | |
return !!reactData.zoomLocat; | |
}; | |
var revert = function revert() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
var zoomLocat = reactData.zoomLocat; | |
if (zoomLocat) { | |
var boxElem = getBox(); | |
reactData.zoomLocat = null; | |
Object.assign(boxElem.style, { | |
top: "".concat(zoomLocat.top, "px"), | |
left: "".concat(zoomLocat.left, "px"), | |
width: "".concat(zoomLocat.width, "px"), | |
height: "".concat(zoomLocat.height, "px") | |
}); | |
savePosStorage(); | |
} | |
}); | |
}; | |
var zoom = function zoom() { | |
if (reactData.zoomLocat) { | |
return revert().then(function () { | |
return isMaximized(); | |
}); | |
} | |
return maximize().then(function () { | |
return isMaximized(); | |
}); | |
}; | |
var toggleZoomEvent = function toggleZoomEvent(evnt) { | |
var zoomLocat = reactData.zoomLocat; | |
var params = { | |
type: zoomLocat ? 'revert' : 'max' | |
}; | |
return zoom().then(function () { | |
modalMethods.dispatchEvent('zoom', params, evnt); | |
}); | |
}; | |
var getPosition = function getPosition() { | |
var isMsg = computeIsMsg.value; | |
if (!isMsg) { | |
var boxElem = getBox(); | |
if (boxElem) { | |
return { | |
top: boxElem.offsetTop, | |
left: boxElem.offsetLeft | |
}; | |
} | |
} | |
return null; | |
}; | |
var setPosition = function setPosition(top, left) { | |
var isMsg = computeIsMsg.value; | |
if (!isMsg) { | |
var boxElem = getBox(); | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(top)) { | |
boxElem.style.top = "".concat(top, "px"); | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(left)) { | |
boxElem.style.left = "".concat(left, "px"); | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}; | |
var boxMousedownEvent = function boxMousedownEvent() { | |
var modalZindex = reactData.modalZindex; | |
if (allActivedModals.some(function (comp) { | |
return comp.reactData.visible && comp.reactData.modalZindex > modalZindex; | |
})) { | |
updateZindex(); | |
} | |
}; | |
var mousedownEvent = function mousedownEvent(evnt) { | |
var remember = props.remember, | |
storage = props.storage; | |
var zoomLocat = reactData.zoomLocat; | |
var marginSize = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.marginSize); | |
var boxElem = getBox(); | |
if (!zoomLocat && evnt.button === 0 && !getEventTargetNode(evnt, boxElem, 'trigger--btn').flag) { | |
evnt.preventDefault(); | |
var domMousemove = document.onmousemove; | |
var domMouseup = document.onmouseup; | |
var disX = evnt.clientX - boxElem.offsetLeft; | |
var disY = evnt.clientY - boxElem.offsetTop; | |
var _getDomNode2 = getDomNode(), | |
visibleHeight = _getDomNode2.visibleHeight, | |
visibleWidth = _getDomNode2.visibleWidth; | |
document.onmousemove = function (evnt) { | |
evnt.preventDefault(); | |
var offsetWidth = boxElem.offsetWidth; | |
var offsetHeight = boxElem.offsetHeight; | |
var minX = marginSize; | |
var maxX = visibleWidth - offsetWidth - marginSize - 1; | |
var minY = marginSize; | |
var maxY = visibleHeight - offsetHeight - marginSize - 1; | |
var left = evnt.clientX - disX; | |
var top = evnt.clientY - disY; | |
if (left > maxX) { | |
left = maxX; | |
} | |
if (left < minX) { | |
left = minX; | |
} | |
if (top > maxY) { | |
top = maxY; | |
} | |
if (top < minY) { | |
top = minY; | |
} | |
boxElem.style.left = "".concat(left, "px"); | |
boxElem.style.top = "".concat(top, "px"); | |
}; | |
document.onmouseup = function () { | |
document.onmousemove = domMousemove; | |
document.onmouseup = domMouseup; | |
if (remember && storage) { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
savePosStorage(); | |
}); | |
} | |
}; | |
} | |
}; | |
var dragEvent = function dragEvent(evnt) { | |
evnt.preventDefault(); | |
var remember = props.remember, | |
storage = props.storage; | |
var _getDomNode3 = getDomNode(), | |
visibleHeight = _getDomNode3.visibleHeight, | |
visibleWidth = _getDomNode3.visibleWidth; | |
var marginSize = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.marginSize); | |
var targetElem = evnt.target; | |
var type = targetElem.getAttribute('type'); | |
var minWidth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.minWidth); | |
var minHeight = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.minHeight); | |
var maxWidth = visibleWidth; | |
var maxHeight = visibleHeight; | |
var boxElem = getBox(); | |
var domMousemove = document.onmousemove; | |
var domMouseup = document.onmouseup; | |
var clientWidth = boxElem.clientWidth; | |
var clientHeight = boxElem.clientHeight; | |
var disX = evnt.clientX; | |
var disY = evnt.clientY; | |
var offsetTop = boxElem.offsetTop; | |
var offsetLeft = boxElem.offsetLeft; | |
var params = { | |
type: 'resize' | |
}; | |
document.onmousemove = function (evnt) { | |
evnt.preventDefault(); | |
var dragLeft; | |
var dragTop; | |
var width; | |
var height; | |
switch (type) { | |
case 'wl': | |
dragLeft = disX - evnt.clientX; | |
width = dragLeft + clientWidth; | |
if (offsetLeft - dragLeft > marginSize) { | |
if (width > minWidth) { | |
boxElem.style.width = "".concat(width < maxWidth ? width : maxWidth, "px"); | |
boxElem.style.left = "".concat(offsetLeft - dragLeft, "px"); | |
} | |
} | |
break; | |
case 'swst': | |
dragLeft = disX - evnt.clientX; | |
dragTop = disY - evnt.clientY; | |
width = dragLeft + clientWidth; | |
height = dragTop + clientHeight; | |
if (offsetLeft - dragLeft > marginSize) { | |
if (width > minWidth) { | |
boxElem.style.width = "".concat(width < maxWidth ? width : maxWidth, "px"); | |
boxElem.style.left = "".concat(offsetLeft - dragLeft, "px"); | |
} | |
} | |
if (offsetTop - dragTop > marginSize) { | |
if (height > minHeight) { | |
boxElem.style.height = "".concat(height < maxHeight ? height : maxHeight, "px"); | |
boxElem.style.top = "".concat(offsetTop - dragTop, "px"); | |
} | |
} | |
break; | |
case 'swlb': | |
dragLeft = disX - evnt.clientX; | |
dragTop = evnt.clientY - disY; | |
width = dragLeft + clientWidth; | |
height = dragTop + clientHeight; | |
if (offsetLeft - dragLeft > marginSize) { | |
if (width > minWidth) { | |
boxElem.style.width = "".concat(width < maxWidth ? width : maxWidth, "px"); | |
boxElem.style.left = "".concat(offsetLeft - dragLeft, "px"); | |
} | |
} | |
if (offsetTop + height + marginSize < visibleHeight) { | |
if (height > minHeight) { | |
boxElem.style.height = "".concat(height < maxHeight ? height : maxHeight, "px"); | |
} | |
} | |
break; | |
case 'st': | |
dragTop = disY - evnt.clientY; | |
height = clientHeight + dragTop; | |
if (offsetTop - dragTop > marginSize) { | |
if (height > minHeight) { | |
boxElem.style.height = "".concat(height < maxHeight ? height : maxHeight, "px"); | |
boxElem.style.top = "".concat(offsetTop - dragTop, "px"); | |
} | |
} | |
break; | |
case 'wr': | |
dragLeft = evnt.clientX - disX; | |
width = dragLeft + clientWidth; | |
if (offsetLeft + width + marginSize < visibleWidth) { | |
if (width > minWidth) { | |
boxElem.style.width = "".concat(width < maxWidth ? width : maxWidth, "px"); | |
} | |
} | |
break; | |
case 'sest': | |
dragLeft = evnt.clientX - disX; | |
dragTop = disY - evnt.clientY; | |
width = dragLeft + clientWidth; | |
height = dragTop + clientHeight; | |
if (offsetLeft + width + marginSize < visibleWidth) { | |
if (width > minWidth) { | |
boxElem.style.width = "".concat(width < maxWidth ? width : maxWidth, "px"); | |
} | |
} | |
if (offsetTop - dragTop > marginSize) { | |
if (height > minHeight) { | |
boxElem.style.height = "".concat(height < maxHeight ? height : maxHeight, "px"); | |
boxElem.style.top = "".concat(offsetTop - dragTop, "px"); | |
} | |
} | |
break; | |
case 'selb': | |
dragLeft = evnt.clientX - disX; | |
dragTop = evnt.clientY - disY; | |
width = dragLeft + clientWidth; | |
height = dragTop + clientHeight; | |
if (offsetLeft + width + marginSize < visibleWidth) { | |
if (width > minWidth) { | |
boxElem.style.width = "".concat(width < maxWidth ? width : maxWidth, "px"); | |
} | |
} | |
if (offsetTop + height + marginSize < visibleHeight) { | |
if (height > minHeight) { | |
boxElem.style.height = "".concat(height < maxHeight ? height : maxHeight, "px"); | |
} | |
} | |
break; | |
case 'sb': | |
dragTop = evnt.clientY - disY; | |
height = dragTop + clientHeight; | |
if (offsetTop + height + marginSize < visibleHeight) { | |
if (height > minHeight) { | |
boxElem.style.height = "".concat(height < maxHeight ? height : maxHeight, "px"); | |
} | |
} | |
break; | |
} | |
boxElem.className = boxElem.className.replace(/\s?is--drag/, '') + ' is--drag'; | |
if (remember && storage) { | |
savePosStorage(); | |
} | |
modalMethods.dispatchEvent('zoom', params, evnt); | |
}; | |
document.onmouseup = function () { | |
reactData.zoomLocat = null; | |
document.onmousemove = domMousemove; | |
document.onmouseup = domMouseup; | |
setTimeout(function () { | |
boxElem.className = boxElem.className.replace(/\s?is--drag/, ''); | |
}, 50); | |
}; | |
}; | |
var renderTitles = function renderTitles() { | |
var _props$slots = props.slots, | |
propSlots = _props$slots === void 0 ? {} : _props$slots, | |
showClose = props.showClose, | |
showZoom = props.showZoom, | |
title = props.title; | |
var zoomLocat = reactData.zoomLocat; | |
var titleSlot = slots.title || propSlots.title; | |
var titVNs = titleSlot ? titleSlot({ | |
$modal: $xemodal | |
}) : [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-modal--title' | |
}, title ? getFuncText(title) : conf.i18n('vxe.alert.title'))]; | |
if (showZoom) { | |
titVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-modal--zoom-btn', 'trigger--btn', zoomLocat ? conf.icon.MODAL_ZOOM_OUT : conf.icon.MODAL_ZOOM_IN], | |
title: conf.i18n("vxe.modal.zoom".concat(zoomLocat ? 'Out' : 'In')), | |
onClick: toggleZoomEvent | |
})); | |
} | |
if (showClose) { | |
titVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-modal--close-btn', 'trigger--btn', conf.icon.MODAL_CLOSE], | |
title: conf.i18n('vxe.modal.close'), | |
onClick: closeEvent | |
})); | |
} | |
return titVNs; | |
}; | |
var renderHeaders = function renderHeaders() { | |
var _props$slots2 = props.slots, | |
propSlots = _props$slots2 === void 0 ? {} : _props$slots2, | |
showZoom = props.showZoom, | |
draggable = props.draggable; | |
var isMsg = computeIsMsg.value; | |
var headerSlot = slots.header || propSlots.header; | |
var headVNs = []; | |
if (props.showHeader) { | |
var headerOns = {}; | |
if (draggable) { | |
headerOns.onMousedown = mousedownEvent; | |
} | |
if (showZoom && props.dblclickZoom && props.type === 'modal') { | |
headerOns.onDblclick = toggleZoomEvent; | |
} | |
headVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', _objectSpread2({ | |
class: ['vxe-modal--header', { | |
'is--drag': draggable, | |
'is--ellipsis': !isMsg && props.showTitleOverflow | |
}] | |
}, headerOns), headerSlot ? !reactData.inited || props.destroyOnClose && !reactData.visible ? [] : headerSlot({ | |
$modal: $xemodal | |
}) : renderTitles())); | |
} | |
return headVNs; | |
}; | |
var renderBodys = function renderBodys() { | |
var _props$slots3 = props.slots, | |
propSlots = _props$slots3 === void 0 ? {} : _props$slots3, | |
status = props.status, | |
message = props.message; | |
var content = props.content || message; | |
var isMsg = computeIsMsg.value; | |
var defaultSlot = slots.default || propSlots.default; | |
var contVNs = []; | |
if (status) { | |
contVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-modal--status-wrapper' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-modal--status-icon', props.iconStatus || conf.icon["MODAL_".concat(status).toLocaleUpperCase()]] | |
})])); | |
} | |
contVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-modal--content' | |
}, defaultSlot ? !reactData.inited || props.destroyOnClose && !reactData.visible ? [] : defaultSlot({ | |
$modal: $xemodal | |
}) : getFuncText(content))); | |
if (!isMsg) { | |
contVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: ['vxe-loading', { | |
'is--visible': props.loading | |
}] | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-loading--spinner' | |
})])); | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-modal--body' | |
}, contVNs)]; | |
}; | |
var renderBtns = function renderBtns() { | |
var type = props.type; | |
var btnVNs = []; | |
if (type === 'confirm') { | |
btnVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_button, { | |
ref: refCancelBtn, | |
content: props.cancelButtonText || conf.i18n('vxe.button.cancel'), | |
onClick: cancelEvent | |
})); | |
} | |
btnVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_button, { | |
ref: refConfirmBtn, | |
status: 'primary', | |
content: props.confirmButtonText || conf.i18n('vxe.button.confirm'), | |
onClick: confirmEvent | |
})); | |
return btnVNs; | |
}; | |
var renderFooters = function renderFooters() { | |
var _props$slots4 = props.slots, | |
propSlots = _props$slots4 === void 0 ? {} : _props$slots4; | |
var isMsg = computeIsMsg.value; | |
var footerSlot = slots.footer || propSlots.footer; | |
var footVNs = []; | |
if (props.showFooter) { | |
footVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-modal--footer' | |
}, footerSlot ? !reactData.inited || props.destroyOnClose && !reactData.visible ? [] : footerSlot({ | |
$modal: $xemodal | |
}) : renderBtns())); | |
} | |
if (!isMsg && props.resize) { | |
footVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-modal--resize' | |
}, ['wl', 'wr', 'swst', 'sest', 'st', 'swlb', 'selb', 'sb'].map(function (type) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: "".concat(type, "-resize"), | |
type: type, | |
onMousedown: dragEvent | |
}); | |
}))); | |
} | |
return footVNs; | |
}; | |
modalMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$modal: $xemodal, | |
$event: evnt | |
}, params)); | |
}, | |
open: openModal, | |
close: function close() { | |
return closeModal('close'); | |
}, | |
getBox: getBox, | |
getPosition: getPosition, | |
setPosition: setPosition, | |
isMaximized: isMaximized, | |
zoom: zoom, | |
maximize: maximize, | |
revert: revert | |
}; | |
Object.assign($xemodal, modalMethods); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.width; | |
}, recalculate); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.height; | |
}, recalculate); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.modelValue; | |
}, function (value) { | |
if (value) { | |
openModal(); | |
} else { | |
closeModal('model'); | |
} | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
if (props.storage && !props.id) { | |
errLog('vxe.error.reqProp', ['modal.id']); | |
} | |
if (props.modelValue) { | |
openModal(); | |
} | |
recalculate(); | |
}); | |
if (props.escClosable) { | |
GlobalEvent.on($xemodal, 'keydown', handleGlobalKeydownEvent); | |
} | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
GlobalEvent.off($xemodal, 'keydown'); | |
removeMsgQueue(); | |
}); | |
var renderVN = function renderVN() { | |
var _ref2; | |
var className = props.className, | |
type = props.type, | |
animat = props.animat, | |
loading = props.loading, | |
status = props.status, | |
lockScroll = props.lockScroll, | |
lockView = props.lockView, | |
mask = props.mask, | |
resize = props.resize; | |
var inited = reactData.inited, | |
zoomLocat = reactData.zoomLocat, | |
modalTop = reactData.modalTop, | |
contentVisible = reactData.contentVisible, | |
visible = reactData.visible; | |
var vSize = computeSize.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Teleport"], { | |
to: 'body', | |
disabled: props.transfer ? !inited : true | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-modal--wrapper', "type--".concat(type), className || '', (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, "status--".concat(status), status), _defineProperty(_ref2, 'is--animat', animat), _defineProperty(_ref2, 'lock--scroll', lockScroll), _defineProperty(_ref2, 'lock--view', lockView), _defineProperty(_ref2, 'is--resize', resize), _defineProperty(_ref2, 'is--mask', mask), _defineProperty(_ref2, 'is--maximize', zoomLocat), _defineProperty(_ref2, 'is--visible', contentVisible), _defineProperty(_ref2, 'is--active', visible), _defineProperty(_ref2, 'is--loading', loading), _ref2)], | |
style: { | |
zIndex: reactData.modalZindex, | |
top: modalTop ? "".concat(modalTop, "px") : null | |
}, | |
onClick: selfClickEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refModalBox, | |
class: 'vxe-modal--box', | |
onMousedown: boxMousedownEvent | |
}, renderHeaders().concat(renderBodys(), renderFooters()))])]); | |
}; | |
$xemodal.renderVN = renderVN; | |
return $xemodal; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.pad-start.js | |
var es_string_pad_start = __webpack_require__("4d90"); | |
// CONCATENATED MODULE: ./packages/input/src/input.ts | |
var yearSize = 20; | |
var monthSize = 20; | |
var quarterSize = 8; | |
function toStringTimeDate(str) { | |
if (str) { | |
var rest = new Date(); | |
var _h = 0; | |
var m = 0; | |
var s = 0; | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDate(str)) { | |
_h = str.getHours(); | |
m = str.getMinutes(); | |
s = str.getSeconds(); | |
} else { | |
str = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(str); | |
var parses = str.match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/); | |
if (parses) { | |
_h = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(parses[1]); | |
m = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(parses[3]); | |
s = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(parses[5]); | |
} | |
} | |
rest.setHours(_h); | |
rest.setMinutes(m); | |
rest.setSeconds(s); | |
return rest; | |
} | |
return new Date(''); | |
} | |
/* harmony default export */ var input = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeInput', | |
props: { | |
modelValue: [String, Number, Date], | |
immediate: { | |
type: Boolean, | |
default: true | |
}, | |
name: String, | |
type: { | |
type: String, | |
default: 'text' | |
}, | |
clearable: { | |
type: Boolean, | |
default: function _default() { | |
return conf.input.clearable; | |
} | |
}, | |
readonly: Boolean, | |
disabled: Boolean, | |
placeholder: String, | |
maxlength: [String, Number], | |
autocomplete: { | |
type: String, | |
default: 'off' | |
}, | |
align: String, | |
form: String, | |
className: String, | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.input.size || conf.size; | |
} | |
}, | |
// number、integer、float | |
min: { | |
type: [String, Number], | |
default: null | |
}, | |
max: { | |
type: [String, Number], | |
default: null | |
}, | |
step: [String, Number], | |
exponential: { | |
type: Boolean, | |
default: function _default() { | |
return conf.input.exponential; | |
} | |
}, | |
// number、integer、float、password | |
controls: { | |
type: Boolean, | |
default: function _default() { | |
return conf.input.controls; | |
} | |
}, | |
// float | |
digits: { | |
type: [String, Number], | |
default: function _default() { | |
return conf.input.digits; | |
} | |
}, | |
// date、week、month、quarter、year | |
minDate: { | |
type: [String, Number, Date], | |
default: function _default() { | |
return conf.input.minDate; | |
} | |
}, | |
maxDate: { | |
type: [String, Number, Date], | |
default: function _default() { | |
return conf.input.maxDate; | |
} | |
}, | |
// 已废弃 startWeek,被 startDay 替换 | |
startWeek: Number, | |
startDay: { | |
type: [String, Number], | |
default: function _default() { | |
return conf.input.startDay; | |
} | |
}, | |
labelFormat: { | |
type: String, | |
default: function _default() { | |
return conf.input.labelFormat; | |
} | |
}, | |
valueFormat: { | |
type: String, | |
default: function _default() { | |
return conf.input.valueFormat; | |
} | |
}, | |
editable: { | |
type: Boolean, | |
default: true | |
}, | |
festivalMethod: { | |
type: Function, | |
default: function _default() { | |
return conf.input.festivalMethod; | |
} | |
}, | |
disabledMethod: { | |
type: Function, | |
default: function _default() { | |
return conf.input.disabledMethod; | |
} | |
}, | |
// week | |
selectDay: { | |
type: [String, Number], | |
default: function _default() { | |
return conf.input.selectDay; | |
} | |
}, | |
prefixIcon: String, | |
suffixIcon: String, | |
placement: String, | |
transfer: { | |
type: Boolean, | |
default: function _default() { | |
return conf.input.transfer; | |
} | |
} | |
}, | |
emits: ['update:modelValue', 'input', 'change', 'keydown', 'keyup', 'wheel', 'click', 'focus', 'blur', 'clear', 'search-click', 'toggle-visible', 'prev-number', 'next-number', 'prefix-click', 'suffix-click', 'date-prev', 'date-today', 'date-next'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var computeSize = useSize(props); | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
inited: false, | |
panelIndex: 0, | |
showPwd: false, | |
visiblePanel: false, | |
animatVisible: false, | |
panelStyle: null, | |
panelPlacement: '', | |
isActivated: false, | |
inputValue: props.modelValue, | |
datetimePanelValue: null, | |
datePanelValue: null, | |
datePanelLabel: '', | |
datePanelType: 'day', | |
selectMonth: null, | |
currentDate: null | |
}); | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refInputTarget = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refInputPanel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refInputTimeBody = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refMaps = { | |
refElem: refElem, | |
refInput: refInputTarget | |
}; | |
var $xeinput = { | |
xID: xID, | |
props: props, | |
context: context, | |
reactData: reactData, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
} | |
}; | |
var inputMethods = {}; | |
var computeIsDateTimeType = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type; | |
return type === 'time' || type === 'datetime'; | |
}); | |
var computeIsNumType = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return ['number', 'integer', 'float'].indexOf(props.type) > -1; | |
}); | |
var computeIsDatePickerType = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var isDateTimeType = computeIsDateTimeType.value; | |
return isDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1; | |
}); | |
var computeIsPawdType = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.type === 'password'; | |
}); | |
var computeIsSearchType = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.type === 'search'; | |
}); | |
var computeDigitsValue = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toInteger(props.digits) || 1; | |
}); | |
var computeStepValue = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type; | |
var digitsValue = computeDigitsValue.value; | |
var step = props.step; | |
if (type === 'integer') { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toInteger(step) || 1; | |
} else if (type === 'float') { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(step) || 1 / Math.pow(10, digitsValue); | |
} | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(step) || 1; | |
}); | |
var computeIsClearable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type; | |
var isNumType = computeIsNumType.value; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var isPawdType = computeIsPawdType.value; | |
return props.clearable && (isPawdType || isNumType || isDatePickerType || type === 'text' || type === 'search'); | |
}); | |
var computeDateMinTime = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.minDate ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toStringDate(props.minDate) : null; | |
}); | |
var computeDateMaxTime = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.maxDate ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toStringDate(props.maxDate) : null; | |
}); | |
var computeDateValueFormat = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type; | |
return type === 'time' ? 'HH:mm:ss' : props.valueFormat || (type === 'datetime' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'); | |
}); | |
var computeDateValue = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var modelValue = props.modelValue, | |
type = props.type; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var dateValueFormat = computeDateValueFormat.value; | |
var val = null; | |
if (modelValue && isDatePickerType) { | |
var date; | |
if (type === 'time') { | |
date = toStringTimeDate(modelValue); | |
} else { | |
date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toStringDate(modelValue, dateValueFormat); | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isValidDate(date)) { | |
val = date; | |
} | |
} | |
return val; | |
}); | |
var computeIsDisabledPrevDateBtn = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var dateMinTime = computeDateMinTime.value; | |
var selectMonth = reactData.selectMonth; | |
if (selectMonth && dateMinTime) { | |
return selectMonth <= dateMinTime; | |
} | |
return false; | |
}); | |
var computeIsDisabledNextDateBtn = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var dateMaxTime = computeDateMaxTime.value; | |
var selectMonth = reactData.selectMonth; | |
if (selectMonth && dateMaxTime) { | |
return selectMonth >= dateMaxTime; | |
} | |
return false; | |
}); | |
var computeDateTimeLabel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var datetimePanelValue = reactData.datetimePanelValue; | |
if (datetimePanelValue) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(datetimePanelValue, 'HH:mm:ss'); | |
} | |
return ''; | |
}); | |
var computeDateHMSTime = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var dateValue = computeDateValue.value; | |
var isDateTimeType = computeIsDateTimeType.value; | |
return dateValue && isDateTimeType ? (dateValue.getHours() * 3600 + dateValue.getMinutes() * 60 + dateValue.getSeconds()) * 1000 : 0; | |
}); | |
var computeDateLabelFormat = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (isDatePickerType) { | |
return props.labelFormat || conf.i18n("vxe.input.date.labelFormat.".concat(props.type)); | |
} | |
return null; | |
}); | |
var computeYearList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var selectMonth = reactData.selectMonth, | |
currentDate = reactData.currentDate; | |
var years = []; | |
if (selectMonth && currentDate) { | |
var currFullYear = currentDate.getFullYear(); | |
var startYear = new Date(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(('' + selectMonth.getFullYear()).replace(/\d{1}$/, '0')), 0, 1); | |
for (var index = -10; index < yearSize - 10; index++) { | |
var date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(startYear, index, 'first'); | |
var itemFullYear = date.getFullYear(); | |
years.push({ | |
date: date, | |
isCurrent: true, | |
isNow: currFullYear === itemFullYear, | |
year: itemFullYear | |
}); | |
} | |
} | |
return years; | |
}); | |
var computeSelectDatePanelLabel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (isDatePickerType) { | |
var datePanelType = reactData.datePanelType, | |
selectMonth = reactData.selectMonth; | |
var yearList = computeYearList.value; | |
var year = ''; | |
var month; | |
if (selectMonth) { | |
year = selectMonth.getFullYear(); | |
month = selectMonth.getMonth() + 1; | |
} | |
if (datePanelType === 'quarter') { | |
return conf.i18n('vxe.input.date.quarterLabel', [year]); | |
} else if (datePanelType === 'month') { | |
return conf.i18n('vxe.input.date.monthLabel', [year]); | |
} else if (datePanelType === 'year') { | |
return yearList.length ? "".concat(yearList[0].year, " - ").concat(yearList[yearList.length - 1].year) : ''; | |
} | |
return conf.i18n('vxe.input.date.dayLabel', [year, month ? conf.i18n("vxe.input.date.m".concat(month)) : '-']); | |
} | |
return ''; | |
}); | |
var computeWeekDatas = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var weeks = []; | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (isDatePickerType) { | |
var startDay = props.startDay, | |
startWeek = props.startWeek; | |
var sWeek = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(startDay) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(startDay) ? startDay : startWeek); | |
weeks.push(sWeek); | |
for (var index = 0; index < 6; index++) { | |
if (sWeek >= 6) { | |
sWeek = 0; | |
} else { | |
sWeek++; | |
} | |
weeks.push(sWeek); | |
} | |
} | |
return weeks; | |
}); | |
var computeDateHeaders = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (isDatePickerType) { | |
var weekDatas = computeWeekDatas.value; | |
return weekDatas.map(function (day) { | |
return { | |
value: day, | |
label: conf.i18n("vxe.input.date.weeks.w".concat(day)) | |
}; | |
}); | |
} | |
return []; | |
}); | |
var computeWeekHeaders = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (isDatePickerType) { | |
var dateHeaders = computeDateHeaders.value; | |
return [{ | |
label: conf.i18n('vxe.input.date.weeks.w') | |
}].concat(dateHeaders); | |
} | |
return []; | |
}); | |
var computeYearDatas = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var yearList = computeYearList.value; | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.chunk(yearList, 4); | |
}); | |
var getDateQuarter = function getDateQuarter(date) { | |
var month = date.getMonth(); | |
if (month < 3) { | |
return 1; | |
} else if (month < 6) { | |
return 2; | |
} else if (month < 9) { | |
return 3; | |
} | |
return 4; | |
}; | |
var computeQuarterList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var selectMonth = reactData.selectMonth, | |
currentDate = reactData.currentDate; | |
var quarters = []; | |
if (selectMonth && currentDate) { | |
var currFullYear = currentDate.getFullYear(); | |
var currQuarter = getDateQuarter(currentDate); | |
var firstYear = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, 0, 'first'); | |
var selFullYear = firstYear.getFullYear(); | |
for (var index = -2; index < quarterSize - 2; index++) { | |
var date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatQuarter(firstYear, index); | |
var itemFullYear = date.getFullYear(); | |
var itemQuarter = getDateQuarter(date); | |
var isPrev = itemFullYear < selFullYear; | |
quarters.push({ | |
date: date, | |
isPrev: isPrev, | |
isCurrent: itemFullYear === selFullYear, | |
isNow: itemFullYear === currFullYear && itemQuarter === currQuarter, | |
isNext: !isPrev && itemFullYear > selFullYear, | |
quarter: itemQuarter | |
}); | |
} | |
} | |
return quarters; | |
}); | |
var computeQuarterDatas = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var quarterList = computeQuarterList.value; | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.chunk(quarterList, 2); | |
}); | |
var computeMonthList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var selectMonth = reactData.selectMonth, | |
currentDate = reactData.currentDate; | |
var months = []; | |
if (selectMonth && currentDate) { | |
var currFullYear = currentDate.getFullYear(); | |
var currMonth = currentDate.getMonth(); | |
var selFullYear = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, 0, 'first').getFullYear(); | |
for (var index = -4; index < monthSize - 4; index++) { | |
var date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, 0, index); | |
var itemFullYear = date.getFullYear(); | |
var itemMonth = date.getMonth(); | |
var isPrev = itemFullYear < selFullYear; | |
months.push({ | |
date: date, | |
isPrev: isPrev, | |
isCurrent: itemFullYear === selFullYear, | |
isNow: itemFullYear === currFullYear && itemMonth === currMonth, | |
isNext: !isPrev && itemFullYear > selFullYear, | |
month: itemMonth | |
}); | |
} | |
} | |
return months; | |
}); | |
var computeMonthDatas = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var monthList = computeMonthList.value; | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.chunk(monthList, 4); | |
}); | |
var computeDayList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var selectMonth = reactData.selectMonth, | |
currentDate = reactData.currentDate; | |
var days = []; | |
if (selectMonth && currentDate) { | |
var dateHMSTime = computeDateHMSTime.value; | |
var weekDatas = computeWeekDatas.value; | |
var currFullYear = currentDate.getFullYear(); | |
var currMonth = currentDate.getMonth(); | |
var currDate = currentDate.getDate(); | |
var selFullYear = selectMonth.getFullYear(); | |
var selMonth = selectMonth.getMonth(); | |
var selDay = selectMonth.getDay(); | |
var prevOffsetDate = -weekDatas.indexOf(selDay); | |
var startDate = new Date(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(selectMonth, prevOffsetDate).getTime() + dateHMSTime); | |
for (var index = 0; index < 42; index++) { | |
var date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(startDate, index); | |
var itemFullYear = date.getFullYear(); | |
var itemMonth = date.getMonth(); | |
var itemDate = date.getDate(); | |
var isPrev = date < selectMonth; | |
days.push({ | |
date: date, | |
isPrev: isPrev, | |
isCurrent: itemFullYear === selFullYear && itemMonth === selMonth, | |
isNow: itemFullYear === currFullYear && itemMonth === currMonth && itemDate === currDate, | |
isNext: !isPrev && selMonth !== itemMonth, | |
label: itemDate | |
}); | |
} | |
} | |
return days; | |
}); | |
var computeDayDatas = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var dayList = computeDayList.value; | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.chunk(dayList, 7); | |
}); | |
var computeWeekDates = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var dayDatas = computeDayDatas.value; | |
return dayDatas.map(function (list) { | |
var firstItem = list[0]; | |
var item = { | |
date: firstItem.date, | |
isWeekNumber: true, | |
isPrev: false, | |
isCurrent: false, | |
isNow: false, | |
isNext: false, | |
label: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getYearWeek(firstItem.date) | |
}; | |
return [item].concat(list); | |
}); | |
}); | |
var computeHourList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var list = []; | |
var isDateTimeType = computeIsDateTimeType.value; | |
if (isDateTimeType) { | |
for (var index = 0; index < 24; index++) { | |
list.push({ | |
value: index, | |
label: ('' + index).padStart(2, '0') | |
}); | |
} | |
} | |
return list; | |
}); | |
var computeMinuteList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var list = []; | |
var isDateTimeType = computeIsDateTimeType.value; | |
if (isDateTimeType) { | |
for (var index = 0; index < 60; index++) { | |
list.push({ | |
value: index, | |
label: ('' + index).padStart(2, '0') | |
}); | |
} | |
} | |
return list; | |
}); | |
var computeSecondList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var minuteList = computeMinuteList.value; | |
return minuteList; | |
}); | |
var computeInpReadonly = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type, | |
readonly = props.readonly, | |
editable = props.editable; | |
return readonly || !editable || type === 'week' || type === 'quarter'; | |
}); | |
var computeInputType = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type; | |
var showPwd = reactData.showPwd; | |
var isNumType = computeIsNumType.value; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var isPawdType = computeIsPawdType.value; | |
if (isDatePickerType || isNumType || isPawdType && showPwd || type === 'number') { | |
return 'text'; | |
} | |
return type; | |
}); | |
var computeInpPlaceholder = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var placeholder = props.placeholder; | |
if (placeholder) { | |
return getFuncText(placeholder); | |
} | |
return ''; | |
}); | |
var computeInpMaxlength = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var maxlength = props.maxlength; | |
var isNumType = computeIsNumType.value; // 数值最大长度限制 16 位,包含小数 | |
return isNumType && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(maxlength) ? 16 : maxlength; | |
}); | |
var computeInpImmediate = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var type = props.type, | |
immediate = props.immediate; | |
return immediate || !(type === 'text' || type === 'number' || type === 'integer' || type === 'float'); | |
}); | |
function toFloatValueFixed(inputValue, digitsValue) { | |
if (/^-/.test('' + inputValue)) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFixed(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.ceil(inputValue, digitsValue), digitsValue); | |
} | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFixed(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.floor(inputValue, digitsValue), digitsValue); | |
} | |
function getNumberValue(val) { | |
var type = props.type, | |
exponential = props.exponential; | |
var inpMaxlength = computeInpMaxlength.value; | |
var digitsValue = computeDigitsValue.value; | |
var restVal = type === 'float' ? toFloatValueFixed(val, digitsValue) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(val); | |
if (exponential && (val === restVal || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(val).toLowerCase() === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(restVal).toExponential())) { | |
return val; | |
} | |
return restVal.slice(0, inpMaxlength); | |
} | |
var triggerEvent = function triggerEvent(evnt) { | |
var inputValue = reactData.inputValue; | |
inputMethods.dispatchEvent(evnt.type, { | |
value: inputValue | |
}, evnt); | |
}; | |
var emitModel = function emitModel(value, evnt) { | |
reactData.inputValue = value; | |
emit('update:modelValue', value); | |
inputMethods.dispatchEvent('input', { | |
value: value | |
}, evnt); | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(props.modelValue) !== value) { | |
inputMethods.dispatchEvent('change', { | |
value: value | |
}, evnt); | |
} | |
}; | |
var emitInputEvent = function emitInputEvent(value, evnt) { | |
var isDatePickerType = computeIsDatePickerType.value; | |
var inpImmediate = computeInpImmediate.value; | |
reactData.inputValue = value; | |
if (!isDatePickerType) { | |
if (inpImmediate) { | |
emitModel(value, evnt); | |
} else { | |
inputMethods.dispatchEvent('input', { | |
value: value | |
}, evnt); | |
} | |
} | |
}; | |
var inputEvent = function inputEvent(evnt) { | |
var inputElem = evnt.target; | |
var value = inputElem.value; | |
emitInputEvent(value, evnt); | |
}; | |
var changeEvent = function changeEvent(evnt) { | |
var inpImmediate = computeInpImmediate.value; | |
if (!inpImmediate) { | |
triggerEvent(evnt); | |
} | |
}; | |
var focusEvent = function focusEvent(evnt) { | |
reactData.isActivated = true; | |
triggerEvent(evnt); | |
}; | |
var clickPrefixEvent = function clickPrefixEvent(evnt) { | |
var disabled = props.disabled; | |
if (!disabled) { | |
var inputValue = reactData.inputValue; | |
inputMethods.dispatchEvent('prefix-click', { | |
value: inputValue | |
}, evnt); | |
} | |
}; | |
var hidePanelTimeout; | |
var hidePanel = function hidePanel() { | |
reactData.visiblePanel = false; | |
hidePanelTimeout = window.setTimeout(function () { | |
reactData.animatVisible = false; | |
}, 350); | |
}; | |
var clearValueEvent = function clearValueEvent(evnt, value) { | |
var type = props.type; | |
var isNumType = computeIsNumType.value; | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (isDatePickerType) { | |
hidePanel(); | |
} | |
if (isNumType || ['text', 'search', 'password'].indexOf(type) > -1) { | |
focus(); | |
} | |
inputMethods.dispatchEvent('clear', { | |
value: value | |
}, evnt); | |
}; | |
var clickSuffixEvent = function clickSuffixEvent(evnt) { | |
var disabled = props.disabled; | |
if (!disabled) { | |
if (hasClass(evnt.currentTarget, 'is--clear')) { | |
emitModel('', evnt); | |
clearValueEvent(evnt, ''); | |
} else { | |
var inputValue = reactData.inputValue; | |
inputMethods.dispatchEvent('suffix-click', { | |
value: inputValue | |
}, evnt); | |
} | |
} | |
}; | |
var dateParseValue = function dateParseValue(value) { | |
var type = props.type; | |
var valueFormat = props.valueFormat; | |
var dateLabelFormat = computeDateLabelFormat.value; | |
var dValue = null; | |
var dLabel = ''; | |
if (value) { | |
if (type === 'time') { | |
dValue = toStringTimeDate(value); | |
} else { | |
dValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toStringDate(value, valueFormat); | |
} | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isValidDate(dValue)) { | |
dLabel = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(dValue, dateLabelFormat); | |
} else { | |
dValue = null; | |
} | |
reactData.datePanelValue = dValue; | |
reactData.datePanelLabel = dLabel; | |
}; | |
/** | |
* 值变化时处理 | |
*/ | |
var changeValue = function changeValue() { | |
var isDatePickerType = computeIsDatePickerType.value; | |
var inputValue = reactData.inputValue; | |
if (isDatePickerType) { | |
dateParseValue(inputValue); | |
reactData.inputValue = reactData.datePanelLabel; | |
} | |
}; | |
/** | |
* 检查初始值 | |
*/ | |
var initValue = function initValue() { | |
var type = props.type; | |
var inputValue = reactData.inputValue; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var digitsValue = computeDigitsValue.value; | |
if (isDatePickerType) { | |
changeValue(); | |
} else if (type === 'float') { | |
if (inputValue) { | |
var validValue = toFloatValueFixed(inputValue, digitsValue); | |
if (inputValue !== validValue) { | |
emitModel(validValue, { | |
type: 'init' | |
}); | |
} | |
} | |
} | |
}; | |
var vaildMaxNum = function vaildMaxNum(num) { | |
return props.max === null || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(num) <= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.max); | |
}; | |
var vaildMinNum = function vaildMinNum(num) { | |
return props.min === null || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(num) >= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.min); | |
}; | |
var dateRevert = function dateRevert() { | |
reactData.inputValue = reactData.datePanelLabel; | |
}; | |
var dateCheckMonth = function dateCheckMonth(date) { | |
var month = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(date, 0, 'first'); | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isEqual(month, reactData.selectMonth)) { | |
reactData.selectMonth = month; | |
} | |
}; | |
var dateChange = function dateChange(date) { | |
var modelValue = props.modelValue; | |
var datetimePanelValue = reactData.datetimePanelValue; | |
var isDateTimeType = computeIsDateTimeType.value; | |
var dateValueFormat = computeDateValueFormat.value; | |
if (props.type === 'week') { | |
var sWeek = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.selectDay); | |
date = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(date, 0, sWeek); | |
} else if (isDateTimeType) { | |
date.setHours(datetimePanelValue.getHours()); | |
date.setMinutes(datetimePanelValue.getMinutes()); | |
date.setSeconds(datetimePanelValue.getSeconds()); | |
} | |
var inpVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(date, dateValueFormat); | |
dateCheckMonth(date); | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isEqual(modelValue, inpVal)) { | |
emitModel(inpVal, { | |
type: 'update' | |
}); | |
} | |
}; | |
var afterCheckValue = function afterCheckValue() { | |
var type = props.type, | |
min = props.min, | |
max = props.max, | |
exponential = props.exponential; | |
var inputValue = reactData.inputValue, | |
datetimePanelValue = reactData.datetimePanelValue; | |
var isNumType = computeIsNumType.value; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var dateLabelFormat = computeDateLabelFormat.value; | |
var inpReadonly = computeInpReadonly.value; | |
if (!inpReadonly) { | |
if (isNumType) { | |
if (inputValue) { | |
var inpNumVal = type === 'integer' ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toInteger(inputValue) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(inputValue); | |
if (!vaildMinNum(inpNumVal)) { | |
inpNumVal = min; | |
} else if (!vaildMaxNum(inpNumVal)) { | |
inpNumVal = max; | |
} | |
if (exponential) { | |
var inpStringVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(inputValue).toLowerCase(); | |
if (inpStringVal === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(inpNumVal).toExponential()) { | |
inpNumVal = inpStringVal; | |
} | |
} | |
emitModel(getNumberValue(inpNumVal), { | |
type: 'check' | |
}); | |
} | |
} else if (isDatePickerType) { | |
if (inputValue) { | |
var inpDateVal; | |
if (type === 'time') { | |
inpDateVal = toStringTimeDate(inputValue); | |
} else { | |
inpDateVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toStringDate(inputValue, dateLabelFormat); | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isValidDate(inpDateVal)) { | |
if (type === 'time') { | |
inpDateVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(inpDateVal, dateLabelFormat); | |
if (inputValue !== inpDateVal) { | |
emitModel(inpDateVal, { | |
type: 'check' | |
}); | |
} | |
reactData.inputValue = inpDateVal; | |
} else { | |
var isChange = false; | |
if (type === 'datetime') { | |
var dateValue = computeDateValue.value; | |
if (inputValue !== external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(dateValue, dateLabelFormat) || inputValue !== external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(inpDateVal, dateLabelFormat)) { | |
isChange = true; | |
datetimePanelValue.setHours(inpDateVal.getHours()); | |
datetimePanelValue.setMinutes(inpDateVal.getMinutes()); | |
datetimePanelValue.setSeconds(inpDateVal.getSeconds()); | |
} | |
} else { | |
isChange = true; | |
} | |
reactData.inputValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(inpDateVal, dateLabelFormat); | |
if (isChange) { | |
dateChange(inpDateVal); | |
} | |
} | |
} else { | |
dateRevert(); | |
} | |
} else { | |
emitModel('', { | |
type: 'check' | |
}); | |
} | |
} | |
} | |
}; | |
var blurEvent = function blurEvent(evnt) { | |
var inputValue = reactData.inputValue; | |
var inpImmediate = computeInpImmediate.value; | |
if (!inpImmediate) { | |
emitModel(inputValue, evnt); | |
} | |
afterCheckValue(); | |
if (!reactData.visiblePanel) { | |
reactData.isActivated = false; | |
} | |
inputMethods.dispatchEvent('blur', { | |
value: inputValue | |
}, evnt); | |
}; // 密码 | |
var passwordToggleEvent = function passwordToggleEvent(evnt) { | |
var readonly = props.readonly, | |
disabled = props.disabled; | |
var showPwd = reactData.showPwd; | |
if (!disabled && !readonly) { | |
reactData.showPwd = !showPwd; | |
} | |
inputMethods.dispatchEvent('toggle-visible', { | |
visible: reactData.showPwd | |
}, evnt); | |
}; // 密码 | |
// 搜索 | |
var searchEvent = function searchEvent(evnt) { | |
inputMethods.dispatchEvent('search-click', {}, evnt); | |
}; // 搜索 | |
// 数值 | |
var numberChange = function numberChange(isPlus, evnt) { | |
var min = props.min, | |
max = props.max, | |
type = props.type; | |
var inputValue = reactData.inputValue; | |
var stepValue = computeStepValue.value; | |
var numValue = type === 'integer' ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toInteger(inputValue) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(inputValue); | |
var newValue = isPlus ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.add(numValue, stepValue) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.subtract(numValue, stepValue); | |
var restNum; | |
if (!vaildMinNum(newValue)) { | |
restNum = min; | |
} else if (!vaildMaxNum(newValue)) { | |
restNum = max; | |
} else { | |
restNum = newValue; | |
} | |
emitInputEvent(getNumberValue(restNum), evnt); | |
}; | |
var downbumTimeout; | |
var numberNextEvent = function numberNextEvent(evnt) { | |
var readonly = props.readonly, | |
disabled = props.disabled; | |
clearTimeout(downbumTimeout); | |
if (!disabled && !readonly) { | |
numberChange(false, evnt); | |
} | |
inputMethods.dispatchEvent('next-number', {}, evnt); | |
}; | |
var numberDownNextEvent = function numberDownNextEvent(evnt) { | |
downbumTimeout = window.setTimeout(function () { | |
numberNextEvent(evnt); | |
numberDownNextEvent(evnt); | |
}, 60); | |
}; | |
var numberPrevEvent = function numberPrevEvent(evnt) { | |
var readonly = props.readonly, | |
disabled = props.disabled; | |
clearTimeout(downbumTimeout); | |
if (!disabled && !readonly) { | |
numberChange(true, evnt); | |
} | |
inputMethods.dispatchEvent('prev-number', {}, evnt); | |
}; | |
var numberKeydownEvent = function numberKeydownEvent(evnt) { | |
var isUpArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_UP); | |
var isDwArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_DOWN); | |
if (isUpArrow || isDwArrow) { | |
evnt.preventDefault(); | |
if (isUpArrow) { | |
numberPrevEvent(evnt); | |
} else { | |
numberNextEvent(evnt); | |
} | |
} | |
}; | |
var keydownEvent = function keydownEvent(evnt) { | |
var exponential = props.exponential, | |
controls = props.controls; | |
var isNumType = computeIsNumType.value; | |
if (isNumType) { | |
var isCtrlKey = evnt.ctrlKey; | |
var isShiftKey = evnt.shiftKey; | |
var isAltKey = evnt.altKey; | |
var keyCode = evnt.keyCode; | |
if (!isCtrlKey && !isShiftKey && !isAltKey && (hasEventKey(evnt, EVENT_KEYS.SPACEBAR) || (!exponential || keyCode !== 69) && keyCode >= 65 && keyCode <= 90 || keyCode >= 186 && keyCode <= 188 || keyCode >= 191)) { | |
evnt.preventDefault(); | |
} | |
if (controls) { | |
numberKeydownEvent(evnt); | |
} | |
} | |
triggerEvent(evnt); | |
}; | |
var keyupEvent = function keyupEvent(evnt) { | |
triggerEvent(evnt); | |
}; // 数值 | |
var numberStopDown = function numberStopDown() { | |
clearTimeout(downbumTimeout); | |
}; | |
var numberDownPrevEvent = function numberDownPrevEvent(evnt) { | |
downbumTimeout = window.setTimeout(function () { | |
numberPrevEvent(evnt); | |
numberDownPrevEvent(evnt); | |
}, 60); | |
}; | |
var numberMousedownEvent = function numberMousedownEvent(evnt) { | |
numberStopDown(); | |
if (evnt.button === 0) { | |
var isPrevNumber = hasClass(evnt.currentTarget, 'is--prev'); | |
if (isPrevNumber) { | |
numberPrevEvent(evnt); | |
} else { | |
numberNextEvent(evnt); | |
} | |
downbumTimeout = window.setTimeout(function () { | |
if (isPrevNumber) { | |
numberDownPrevEvent(evnt); | |
} else { | |
numberDownNextEvent(evnt); | |
} | |
}, 500); | |
} | |
}; | |
var wheelEvent = function wheelEvent(evnt) { | |
var isNumType = computeIsNumType.value; | |
if (isNumType && props.controls) { | |
if (reactData.isActivated) { | |
var delta = evnt.deltaY; | |
if (delta > 0) { | |
numberNextEvent(evnt); | |
} else if (delta < 0) { | |
numberPrevEvent(evnt); | |
} | |
evnt.preventDefault(); | |
} | |
} | |
triggerEvent(evnt); | |
}; // 日期 | |
var dateMonthHandle = function dateMonthHandle(date, offsetMonth) { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(date, offsetMonth, 'first'); | |
}; | |
var dateNowHandle = function dateNowHandle() { | |
var currentDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(Date.now(), 0, 'first'); | |
reactData.currentDate = currentDate; | |
dateMonthHandle(currentDate, 0); | |
}; | |
var dateToggleTypeEvent = function dateToggleTypeEvent() { | |
var datePanelType = reactData.datePanelType; | |
if (datePanelType === 'month' || datePanelType === 'quarter') { | |
datePanelType = 'year'; | |
} else { | |
datePanelType = 'month'; | |
} | |
reactData.datePanelType = datePanelType; | |
}; | |
var datePrevEvent = function datePrevEvent(evnt) { | |
var type = props.type; | |
var datePanelType = reactData.datePanelType, | |
selectMonth = reactData.selectMonth; | |
var isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value; | |
if (!isDisabledPrevDateBtn) { | |
if (type === 'year') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, -yearSize, 'first'); | |
} else if (type === 'month' || type === 'quarter') { | |
if (datePanelType === 'year') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, -yearSize, 'first'); | |
} else { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, -1, 'first'); | |
} | |
} else { | |
if (datePanelType === 'year') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, -yearSize, 'first'); | |
} else if (datePanelType === 'month') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, -1, 'first'); | |
} else { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(selectMonth, -1, 'first'); | |
} | |
} | |
inputMethods.dispatchEvent('date-prev', { | |
type: type | |
}, evnt); | |
} | |
}; | |
var dateTodayMonthEvent = function dateTodayMonthEvent(evnt) { | |
dateNowHandle(); | |
dateChange(reactData.currentDate); | |
hidePanel(); | |
inputMethods.dispatchEvent('date-today', { | |
type: props.type | |
}, evnt); | |
}; | |
var dateNextEvent = function dateNextEvent(evnt) { | |
var type = props.type; | |
var datePanelType = reactData.datePanelType, | |
selectMonth = reactData.selectMonth; | |
var isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value; | |
if (!isDisabledNextDateBtn) { | |
if (type === 'year') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, yearSize, 'first'); | |
} else if (type === 'month' || type === 'quarter') { | |
if (datePanelType === 'year') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, yearSize, 'first'); | |
} else { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, 1, 'first'); | |
} | |
} else { | |
if (datePanelType === 'year') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, yearSize, 'first'); | |
} else if (datePanelType === 'month') { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(selectMonth, 1, 'first'); | |
} else { | |
reactData.selectMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(selectMonth, 1, 'first'); | |
} | |
} | |
inputMethods.dispatchEvent('date-next', { | |
type: type | |
}, evnt); | |
} | |
}; | |
var isDateDisabled = function isDateDisabled(item) { | |
var disabledMethod = props.disabledMethod; | |
var datePanelType = reactData.datePanelType; | |
return disabledMethod && disabledMethod({ | |
type: datePanelType, | |
viewType: datePanelType, | |
date: item.date, | |
$input: $xeinput | |
}); | |
}; | |
var dateSelectItem = function dateSelectItem(date) { | |
var type = props.type; | |
var datePanelType = reactData.datePanelType; | |
if (type === 'month') { | |
if (datePanelType === 'year') { | |
reactData.datePanelType = 'month'; | |
dateCheckMonth(date); | |
} else { | |
dateChange(date); | |
hidePanel(); | |
} | |
} else if (type === 'year') { | |
dateChange(date); | |
hidePanel(); | |
} else if (type === 'quarter') { | |
if (datePanelType === 'year') { | |
reactData.datePanelType = 'quarter'; | |
dateCheckMonth(date); | |
} else { | |
dateChange(date); | |
hidePanel(); | |
} | |
} else { | |
if (datePanelType === 'month') { | |
reactData.datePanelType = type === 'week' ? type : 'day'; | |
dateCheckMonth(date); | |
} else if (datePanelType === 'year') { | |
reactData.datePanelType = 'month'; | |
dateCheckMonth(date); | |
} else { | |
dateChange(date); | |
hidePanel(); | |
} | |
} | |
}; | |
var dateSelectEvent = function dateSelectEvent(item) { | |
if (!isDateDisabled(item)) { | |
dateSelectItem(item.date); | |
} | |
}; | |
var dateMoveDay = function dateMoveDay(offsetDay) { | |
if (!isDateDisabled({ | |
date: offsetDay | |
})) { | |
var dayList = computeDayList.value; | |
if (!dayList.some(function (item) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(item.date, offsetDay, 'yyyyMMdd'); | |
})) { | |
dateCheckMonth(offsetDay); | |
} | |
dateParseValue(offsetDay); | |
} | |
}; | |
var dateMoveYear = function dateMoveYear(offsetYear) { | |
if (!isDateDisabled({ | |
date: offsetYear | |
})) { | |
var yearList = computeYearList.value; | |
if (!yearList.some(function (item) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(item.date, offsetYear, 'yyyy'); | |
})) { | |
dateCheckMonth(offsetYear); | |
} | |
dateParseValue(offsetYear); | |
} | |
}; | |
var dateMoveQuarter = function dateMoveQuarter(offsetQuarter) { | |
if (!isDateDisabled({ | |
date: offsetQuarter | |
})) { | |
var quarterList = computeQuarterList.value; | |
if (!quarterList.some(function (item) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(item.date, offsetQuarter, 'yyyyq'); | |
})) { | |
dateCheckMonth(offsetQuarter); | |
} | |
dateParseValue(offsetQuarter); | |
} | |
}; | |
var dateMoveMonth = function dateMoveMonth(offsetMonth) { | |
if (!isDateDisabled({ | |
date: offsetMonth | |
})) { | |
var monthList = computeMonthList.value; | |
if (!monthList.some(function (item) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(item.date, offsetMonth, 'yyyyMM'); | |
})) { | |
dateCheckMonth(offsetMonth); | |
} | |
dateParseValue(offsetMonth); | |
} | |
}; | |
var dateMouseenterEvent = function dateMouseenterEvent(item) { | |
if (!isDateDisabled(item)) { | |
var datePanelType = reactData.datePanelType; | |
if (datePanelType === 'month') { | |
dateMoveMonth(item.date); | |
} else if (datePanelType === 'quarter') { | |
dateMoveQuarter(item.date); | |
} else if (datePanelType === 'year') { | |
dateMoveYear(item.date); | |
} else { | |
dateMoveDay(item.date); | |
} | |
} | |
}; | |
var updateTimePos = function updateTimePos(liElem) { | |
if (liElem) { | |
var height = liElem.offsetHeight; | |
var ulElem = liElem.parentNode; | |
ulElem.scrollTop = liElem.offsetTop - height * 4; | |
} | |
}; | |
var dateTimeChangeEvent = function dateTimeChangeEvent(evnt) { | |
reactData.datetimePanelValue = new Date(reactData.datetimePanelValue.getTime()); | |
updateTimePos(evnt.currentTarget); | |
}; | |
var dateHourEvent = function dateHourEvent(evnt, item) { | |
reactData.datetimePanelValue.setHours(item.value); | |
dateTimeChangeEvent(evnt); | |
}; | |
var dateConfirmEvent = function dateConfirmEvent() { | |
var dateValue = computeDateValue.value; | |
dateChange(dateValue || reactData.currentDate); | |
hidePanel(); | |
}; | |
var dateMinuteEvent = function dateMinuteEvent(evnt, item) { | |
reactData.datetimePanelValue.setMinutes(item.value); | |
dateTimeChangeEvent(evnt); | |
}; | |
var dateSecondEvent = function dateSecondEvent(evnt, item) { | |
reactData.datetimePanelValue.setSeconds(item.value); | |
dateTimeChangeEvent(evnt); | |
}; | |
var dateOffsetEvent = function dateOffsetEvent(evnt) { | |
var isActivated = reactData.isActivated, | |
datePanelValue = reactData.datePanelValue, | |
datePanelType = reactData.datePanelType; | |
if (isActivated) { | |
evnt.preventDefault(); | |
var isLeftArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_LEFT); | |
var isUpArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_UP); | |
var isRightArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_RIGHT); | |
var isDwArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_DOWN); | |
if (datePanelType === 'year') { | |
var offsetYear = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(datePanelValue || Date.now(), 0, 'first'); | |
if (isLeftArrow) { | |
offsetYear = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(offsetYear, -1); | |
} else if (isUpArrow) { | |
offsetYear = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(offsetYear, -4); | |
} else if (isRightArrow) { | |
offsetYear = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(offsetYear, 1); | |
} else if (isDwArrow) { | |
offsetYear = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatYear(offsetYear, 4); | |
} | |
dateMoveYear(offsetYear); | |
} else if (datePanelType === 'quarter') { | |
var offsetQuarter = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatQuarter(datePanelValue || Date.now(), 0, 'first'); | |
if (isLeftArrow) { | |
offsetQuarter = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatQuarter(offsetQuarter, -1); | |
} else if (isUpArrow) { | |
offsetQuarter = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatQuarter(offsetQuarter, -2); | |
} else if (isRightArrow) { | |
offsetQuarter = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatQuarter(offsetQuarter, 1); | |
} else if (isDwArrow) { | |
offsetQuarter = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatQuarter(offsetQuarter, 2); | |
} | |
dateMoveQuarter(offsetQuarter); | |
} else if (datePanelType === 'month') { | |
var offsetMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(datePanelValue || Date.now(), 0, 'first'); | |
if (isLeftArrow) { | |
offsetMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(offsetMonth, -1); | |
} else if (isUpArrow) { | |
offsetMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(offsetMonth, -4); | |
} else if (isRightArrow) { | |
offsetMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(offsetMonth, 1); | |
} else if (isDwArrow) { | |
offsetMonth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatMonth(offsetMonth, 4); | |
} | |
dateMoveMonth(offsetMonth); | |
} else { | |
var offsetDay = datePanelValue || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(Date.now(), 0, 'first'); | |
if (isLeftArrow) { | |
offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(offsetDay, -1); | |
} else if (isUpArrow) { | |
offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(offsetDay, -1); | |
} else if (isRightArrow) { | |
offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(offsetDay, 1); | |
} else if (isDwArrow) { | |
offsetDay = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatWeek(offsetDay, 1); | |
} | |
dateMoveDay(offsetDay); | |
} | |
} | |
}; | |
var datePgOffsetEvent = function datePgOffsetEvent(evnt) { | |
var isActivated = reactData.isActivated; | |
if (isActivated) { | |
var isPgUp = hasEventKey(evnt, EVENT_KEYS.PAGE_UP); | |
evnt.preventDefault(); | |
if (isPgUp) { | |
datePrevEvent(evnt); | |
} else { | |
dateNextEvent(evnt); | |
} | |
} | |
}; | |
var dateOpenPanel = function dateOpenPanel() { | |
var type = props.type; | |
var isDateTimeType = computeIsDateTimeType.value; | |
var dateValue = computeDateValue.value; | |
if (['year', 'quarter', 'month', 'week'].indexOf(type) > -1) { | |
reactData.datePanelType = type; | |
} else { | |
reactData.datePanelType = 'day'; | |
} | |
reactData.currentDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(Date.now(), 0, 'first'); | |
if (dateValue) { | |
dateMonthHandle(dateValue, 0); | |
dateParseValue(dateValue); | |
} else { | |
dateNowHandle(); | |
} | |
if (isDateTimeType) { | |
reactData.datetimePanelValue = reactData.datePanelValue || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getWhatDay(Date.now(), 0, 'first'); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var timeBodyElem = refInputTimeBody.value; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'), updateTimePos); | |
}); | |
} | |
}; // 日期 | |
// 弹出面板 | |
var updateZindex = function updateZindex() { | |
if (reactData.panelIndex < getLastZIndex()) { | |
reactData.panelIndex = nextZIndex(); | |
} | |
}; | |
var updatePlacement = function updatePlacement() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
var transfer = props.transfer, | |
placement = props.placement; | |
var panelIndex = reactData.panelIndex; | |
var targetElem = refInputTarget.value; | |
var panelElem = refInputPanel.value; | |
if (targetElem && panelElem) { | |
var targetHeight = targetElem.offsetHeight; | |
var targetWidth = targetElem.offsetWidth; | |
var panelHeight = panelElem.offsetHeight; | |
var panelWidth = panelElem.offsetWidth; | |
var marginSize = 5; | |
var panelStyle = { | |
zIndex: panelIndex | |
}; | |
var _getAbsolutePos = getAbsolutePos(targetElem), | |
boundingTop = _getAbsolutePos.boundingTop, | |
boundingLeft = _getAbsolutePos.boundingLeft, | |
visibleHeight = _getAbsolutePos.visibleHeight, | |
visibleWidth = _getAbsolutePos.visibleWidth; | |
var panelPlacement = 'bottom'; | |
if (transfer) { | |
var left = boundingLeft; | |
var top = boundingTop + targetHeight; | |
if (placement === 'top') { | |
panelPlacement = 'top'; | |
top = boundingTop - panelHeight; | |
} else if (!placement) { | |
// 如果下面不够放,则向上 | |
if (top + panelHeight + marginSize > visibleHeight) { | |
panelPlacement = 'top'; | |
top = boundingTop - panelHeight; | |
} // 如果上面不够放,则向下(优先) | |
if (top < marginSize) { | |
panelPlacement = 'bottom'; | |
top = boundingTop + targetHeight; | |
} | |
} // 如果溢出右边 | |
if (left + panelWidth + marginSize > visibleWidth) { | |
left -= left + panelWidth + marginSize - visibleWidth; | |
} // 如果溢出左边 | |
if (left < marginSize) { | |
left = marginSize; | |
} | |
Object.assign(panelStyle, { | |
left: "".concat(left, "px"), | |
top: "".concat(top, "px"), | |
minWidth: "".concat(targetWidth, "px") | |
}); | |
} else { | |
if (placement === 'top') { | |
panelPlacement = 'top'; | |
panelStyle.bottom = "".concat(targetHeight, "px"); | |
} else if (!placement) { | |
// 如果下面不够放,则向上 | |
if (boundingTop + targetHeight + panelHeight > visibleHeight) { | |
// 如果上面不够放,则向下(优先) | |
if (boundingTop - targetHeight - panelHeight > marginSize) { | |
panelPlacement = 'top'; | |
panelStyle.bottom = "".concat(targetHeight, "px"); | |
} | |
} | |
} | |
} | |
reactData.panelStyle = panelStyle; | |
reactData.panelPlacement = panelPlacement; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}); | |
}; | |
var showPanel = function showPanel() { | |
var disabled = props.disabled; | |
var visiblePanel = reactData.visiblePanel; | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (!disabled && !visiblePanel) { | |
if (!reactData.inited) { | |
reactData.inited = true; | |
} | |
clearTimeout(hidePanelTimeout); | |
reactData.isActivated = true; | |
reactData.animatVisible = true; | |
if (isDatePickerType) { | |
dateOpenPanel(); | |
} | |
setTimeout(function () { | |
reactData.visiblePanel = true; | |
}, 10); | |
updateZindex(); | |
updatePlacement(); | |
} | |
}; | |
var datePickerOpenEvent = function datePickerOpenEvent(evnt) { | |
var readonly = props.readonly; | |
if (!readonly) { | |
evnt.preventDefault(); | |
showPanel(); | |
} | |
}; | |
var clickEvent = function clickEvent(evnt) { | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (isDatePickerType) { | |
datePickerOpenEvent(evnt); | |
} | |
triggerEvent(evnt); | |
}; // 弹出面板 | |
// 全局事件 | |
var handleGlobalMousedownEvent = function handleGlobalMousedownEvent(evnt) { | |
var disabled = props.disabled; | |
var visiblePanel = reactData.visiblePanel, | |
isActivated = reactData.isActivated; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var el = refElem.value; | |
var panelElem = refInputPanel.value; | |
if (!disabled && isActivated) { | |
reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag; | |
if (!reactData.isActivated) { | |
// 如果是日期类型 | |
if (isDatePickerType) { | |
if (visiblePanel) { | |
hidePanel(); | |
afterCheckValue(); | |
} | |
} else { | |
afterCheckValue(); | |
} | |
} | |
} | |
}; | |
var handleGlobalKeydownEvent = function handleGlobalKeydownEvent(evnt) { | |
var clearable = props.clearable, | |
disabled = props.disabled; | |
var visiblePanel = reactData.visiblePanel; | |
var isDatePickerType = computeIsDatePickerType.value; | |
if (!disabled) { | |
var isTab = hasEventKey(evnt, EVENT_KEYS.TAB); | |
var isDel = hasEventKey(evnt, EVENT_KEYS.DELETE); | |
var isEsc = hasEventKey(evnt, EVENT_KEYS.ESCAPE); | |
var isEnter = hasEventKey(evnt, EVENT_KEYS.ENTER); | |
var isLeftArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_LEFT); | |
var isUpArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_UP); | |
var isRightArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_RIGHT); | |
var isDwArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_DOWN); | |
var isPgUp = hasEventKey(evnt, EVENT_KEYS.PAGE_UP); | |
var isPgDn = hasEventKey(evnt, EVENT_KEYS.PAGE_DOWN); | |
var operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow; | |
var isActivated = reactData.isActivated; | |
if (isTab) { | |
if (isActivated) { | |
afterCheckValue(); | |
} | |
isActivated = false; | |
reactData.isActivated = isActivated; | |
} else if (operArrow) { | |
if (isDatePickerType) { | |
if (isActivated) { | |
if (visiblePanel) { | |
dateOffsetEvent(evnt); | |
} else if (isUpArrow || isDwArrow) { | |
datePickerOpenEvent(evnt); | |
} | |
} | |
} | |
} else if (isEnter) { | |
if (isDatePickerType) { | |
if (visiblePanel) { | |
if (reactData.datePanelValue) { | |
dateSelectItem(reactData.datePanelValue); | |
} else { | |
hidePanel(); | |
} | |
} else if (isActivated) { | |
datePickerOpenEvent(evnt); | |
} | |
} | |
} else if (isPgUp || isPgDn) { | |
if (isDatePickerType) { | |
if (isActivated) { | |
datePgOffsetEvent(evnt); | |
} | |
} | |
} | |
if (isTab || isEsc) { | |
if (visiblePanel) { | |
hidePanel(); | |
} | |
} else if (isDel && clearable) { | |
if (isActivated) { | |
clearValueEvent(evnt, null); | |
} | |
} | |
} | |
}; | |
var handleGlobalMousewheelEvent = function handleGlobalMousewheelEvent(evnt) { | |
var disabled = props.disabled; | |
var visiblePanel = reactData.visiblePanel; | |
if (!disabled) { | |
if (visiblePanel) { | |
var panelElem = refInputPanel.value; | |
if (getEventTargetNode(evnt, panelElem).flag) { | |
updatePlacement(); | |
} else { | |
hidePanel(); | |
afterCheckValue(); | |
} | |
} | |
} | |
}; | |
var handleGlobalBlurEvent = function handleGlobalBlurEvent() { | |
var isActivated = reactData.isActivated, | |
visiblePanel = reactData.visiblePanel; | |
if (visiblePanel) { | |
hidePanel(); | |
afterCheckValue(); | |
} else if (isActivated) { | |
afterCheckValue(); | |
} | |
}; | |
var renderDateLabel = function renderDateLabel(item, label) { | |
var festivalMethod = props.festivalMethod; | |
if (festivalMethod) { | |
var datePanelType = reactData.datePanelType; | |
var festivalRest = festivalMethod({ | |
type: datePanelType, | |
viewType: datePanelType, | |
date: item.date, | |
$input: $xeinput | |
}); | |
var festivalItem = festivalRest ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(festivalRest) ? { | |
label: festivalRest | |
} : festivalRest : {}; | |
var extraItem = festivalItem.extra ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(festivalItem.extra) ? { | |
label: festivalItem.extra | |
} : festivalItem.extra : null; | |
var labels = [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-input--date-label', { | |
'is-notice': festivalItem.notice | |
}] | |
}, extraItem && extraItem.label ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', label), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-input--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className], | |
style: extraItem.style | |
}, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(extraItem.label))] : label)]; | |
var festivalLabel = festivalItem.label; | |
if (festivalLabel) { | |
// 默认最多支持3个节日重叠 | |
var festivalLabels = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(festivalLabel).split(','); | |
labels.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-input--date-festival', festivalItem.important ? 'is-important' : '', festivalItem.className], | |
style: festivalItem.style | |
}, [festivalLabels.length > 1 ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-input--date-festival--overlap', "overlap--".concat(festivalLabels.length)] | |
}, festivalLabels.map(function (label) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', label.substring(0, 3)); | |
})) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--date-festival--label' | |
}, festivalLabels[0].substring(0, 3))])); | |
} | |
return labels; | |
} | |
return label; | |
}; | |
var renderDateDayTable = function renderDateDayTable() { | |
var datePanelType = reactData.datePanelType, | |
datePanelValue = reactData.datePanelValue; | |
var dateValue = computeDateValue.value; | |
var dateHeaders = computeDateHeaders.value; | |
var dayDatas = computeDayDatas.value; | |
var matchFormat = 'yyyyMMdd'; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
class: "vxe-input--date-".concat(datePanelType, "-view"), | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('thead', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', dateHeaders.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('th', item.label); | |
}))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', dayDatas.map(function (rows) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', rows.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', { | |
class: { | |
'is--prev': item.isPrev, | |
'is--current': item.isCurrent, | |
'is--now': item.isNow, | |
'is--next': item.isNext, | |
'is--disabled': isDateDisabled(item), | |
'is--selected': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(dateValue, item.date, matchFormat), | |
'is--hover': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(datePanelValue, item.date, matchFormat) | |
}, | |
onClick: function onClick() { | |
return dateSelectEvent(item); | |
}, | |
onMouseenter: function onMouseenter() { | |
return dateMouseenterEvent(item); | |
} | |
}, renderDateLabel(item, item.label)); | |
})); | |
}))])]; | |
}; | |
var renderDateWeekTable = function renderDateWeekTable() { | |
var datePanelType = reactData.datePanelType, | |
datePanelValue = reactData.datePanelValue; | |
var dateValue = computeDateValue.value; | |
var weekHeaders = computeWeekHeaders.value; | |
var weekDates = computeWeekDates.value; | |
var matchFormat = 'yyyyMMdd'; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
class: "vxe-input--date-".concat(datePanelType, "-view"), | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('thead', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', weekHeaders.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('th', item.label); | |
}))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', weekDates.map(function (rows) { | |
var isSelected = rows.some(function (item) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(dateValue, item.date, matchFormat); | |
}); | |
var isHover = rows.some(function (item) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(datePanelValue, item.date, matchFormat); | |
}); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', rows.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', { | |
class: { | |
'is--prev': item.isPrev, | |
'is--current': item.isCurrent, | |
'is--now': item.isNow, | |
'is--next': item.isNext, | |
'is--disabled': isDateDisabled(item), | |
'is--selected': isSelected, | |
'is--hover': isHover | |
}, | |
// event | |
onClick: function onClick() { | |
return dateSelectEvent(item); | |
}, | |
onMouseenter: function onMouseenter() { | |
return dateMouseenterEvent(item); | |
} | |
}, renderDateLabel(item, item.label)); | |
})); | |
}))])]; | |
}; | |
var renderDateMonthTable = function renderDateMonthTable() { | |
var datePanelType = reactData.datePanelType, | |
datePanelValue = reactData.datePanelValue; | |
var dateValue = computeDateValue.value; | |
var monthDatas = computeMonthDatas.value; | |
var matchFormat = 'yyyyMM'; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
class: "vxe-input--date-".concat(datePanelType, "-view"), | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', monthDatas.map(function (rows) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', rows.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', { | |
class: { | |
'is--prev': item.isPrev, | |
'is--current': item.isCurrent, | |
'is--now': item.isNow, | |
'is--next': item.isNext, | |
'is--disabled': isDateDisabled(item), | |
'is--selected': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(dateValue, item.date, matchFormat), | |
'is--hover': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(datePanelValue, item.date, matchFormat) | |
}, | |
onClick: function onClick() { | |
return dateSelectEvent(item); | |
}, | |
onMouseenter: function onMouseenter() { | |
return dateMouseenterEvent(item); | |
} | |
}, renderDateLabel(item, conf.i18n("vxe.input.date.months.m".concat(item.month)))); | |
})); | |
}))])]; | |
}; | |
var renderDateQuarterTable = function renderDateQuarterTable() { | |
var datePanelType = reactData.datePanelType, | |
datePanelValue = reactData.datePanelValue; | |
var dateValue = computeDateValue.value; | |
var quarterDatas = computeQuarterDatas.value; | |
var matchFormat = 'yyyyq'; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
class: "vxe-input--date-".concat(datePanelType, "-view"), | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', quarterDatas.map(function (rows) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', rows.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', { | |
class: { | |
'is--prev': item.isPrev, | |
'is--current': item.isCurrent, | |
'is--now': item.isNow, | |
'is--next': item.isNext, | |
'is--disabled': isDateDisabled(item), | |
'is--selected': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(dateValue, item.date, matchFormat), | |
'is--hover': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(datePanelValue, item.date, matchFormat) | |
}, | |
onClick: function onClick() { | |
return dateSelectEvent(item); | |
}, | |
onMouseenter: function onMouseenter() { | |
return dateMouseenterEvent(item); | |
} | |
}, renderDateLabel(item, conf.i18n("vxe.input.date.quarters.q".concat(item.quarter)))); | |
})); | |
}))])]; | |
}; | |
var renderDateYearTable = function renderDateYearTable() { | |
var datePanelType = reactData.datePanelType, | |
datePanelValue = reactData.datePanelValue; | |
var dateValue = computeDateValue.value; | |
var yearDatas = computeYearDatas.value; | |
var matchFormat = 'yyyy'; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
class: "vxe-input--date-".concat(datePanelType, "-view"), | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', yearDatas.map(function (rows) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', rows.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', { | |
class: { | |
'is--disabled': isDateDisabled(item), | |
'is--current': item.isCurrent, | |
'is--now': item.isNow, | |
'is--selected': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(dateValue, item.date, matchFormat), | |
'is--hover': external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isDateSame(datePanelValue, item.date, matchFormat) | |
}, | |
onClick: function onClick() { | |
return dateSelectEvent(item); | |
}, | |
onMouseenter: function onMouseenter() { | |
return dateMouseenterEvent(item); | |
} | |
}, renderDateLabel(item, item.year)); | |
})); | |
}))])]; | |
}; | |
var renderDateTable = function renderDateTable() { | |
var datePanelType = reactData.datePanelType; | |
switch (datePanelType) { | |
case 'week': | |
return renderDateWeekTable(); | |
case 'month': | |
return renderDateMonthTable(); | |
case 'quarter': | |
return renderDateQuarterTable(); | |
case 'year': | |
return renderDateYearTable(); | |
} | |
return renderDateDayTable(); | |
}; | |
var renderDatePanel = function renderDatePanel() { | |
var datePanelType = reactData.datePanelType; | |
var isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value; | |
var isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value; | |
var selectDatePanelLabel = computeSelectDatePanelLabel.value; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--date-picker-header' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--date-picker-type-wrapper' | |
}, [datePanelType === 'year' ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--date-picker-label' | |
}, selectDatePanelLabel) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--date-picker-btn', | |
onClick: dateToggleTypeEvent | |
}, selectDatePanelLabel)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--date-picker-btn-wrapper' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-input--date-picker-btn vxe-input--date-picker-prev-btn', { | |
'is--disabled': isDisabledPrevDateBtn | |
}], | |
onClick: datePrevEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: 'vxe-icon--caret-left' | |
})]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--date-picker-btn vxe-input--date-picker-current-btn', | |
onClick: dateTodayMonthEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: 'vxe-icon--dot' | |
})]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-input--date-picker-btn vxe-input--date-picker-next-btn', { | |
'is--disabled': isDisabledNextDateBtn | |
}], | |
onClick: dateNextEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: 'vxe-icon--caret-right' | |
})])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--date-picker-body' | |
}, renderDateTable())]; | |
}; | |
var renderTimePanel = function renderTimePanel() { | |
var datetimePanelValue = reactData.datetimePanelValue; | |
var dateTimeLabel = computeDateTimeLabel.value; | |
var hourList = computeHourList.value; | |
var minuteList = computeMinuteList.value; | |
var secondList = computeSecondList.value; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--time-picker-header' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--time-picker-title' | |
}, dateTimeLabel), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: 'vxe-input--time-picker-confirm', | |
type: 'button', | |
onClick: dateConfirmEvent | |
}, conf.i18n('vxe.button.confirm'))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refInputTimeBody, | |
class: 'vxe-input--time-picker-body' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-input--time-picker-hour-list' | |
}, hourList.map(function (item, index) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
key: index, | |
class: { | |
'is--selected': datetimePanelValue && datetimePanelValue.getHours() === item.value | |
}, | |
onClick: function onClick(evnt) { | |
return dateHourEvent(evnt, item); | |
} | |
}, item.label); | |
})), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-input--time-picker-minute-list' | |
}, minuteList.map(function (item, index) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
key: index, | |
class: { | |
'is--selected': datetimePanelValue && datetimePanelValue.getMinutes() === item.value | |
}, | |
onClick: function onClick(evnt) { | |
return dateMinuteEvent(evnt, item); | |
} | |
}, item.label); | |
})), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-input--time-picker-second-list' | |
}, secondList.map(function (item, index) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
key: index, | |
class: { | |
'is--selected': datetimePanelValue && datetimePanelValue.getSeconds() === item.value | |
}, | |
onClick: function onClick(evnt) { | |
return dateSecondEvent(evnt, item); | |
} | |
}, item.label); | |
}))])]; | |
}; | |
var renderPanel = function renderPanel() { | |
var type = props.type, | |
transfer = props.transfer; | |
var inited = reactData.inited, | |
animatVisible = reactData.animatVisible, | |
visiblePanel = reactData.visiblePanel, | |
panelPlacement = reactData.panelPlacement, | |
panelStyle = reactData.panelStyle; | |
var vSize = computeSize.value; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var renders = []; | |
if (isDatePickerType) { | |
var _ref; | |
if (type === 'datetime') { | |
renders.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--panel-layout-wrapper' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--panel-left-wrapper' | |
}, renderDatePanel()), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--panel-right-wrapper' | |
}, renderTimePanel())])); | |
} else if (type === 'time') { | |
renders.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--panel-wrapper' | |
}, renderTimePanel())); | |
} else { | |
renders.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-input--panel-wrapper' | |
}, renderDatePanel())); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Teleport"], { | |
to: 'body', | |
disabled: transfer ? !inited : true | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refInputPanel, | |
class: ['vxe-table--ignore-clear vxe-input--panel', "type--".concat(type), (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--transfer', transfer), _defineProperty(_ref, 'animat--leave', animatVisible), _defineProperty(_ref, 'animat--enter', visiblePanel), _ref)], | |
placement: panelPlacement, | |
style: panelStyle | |
}, renders)]); | |
} | |
return null; | |
}; | |
var renderNumberIcon = function renderNumberIcon() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--number-suffix' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--number-prev is--prev', | |
onMousedown: numberMousedownEvent, | |
onMouseup: numberStopDown, | |
onMouseleave: numberStopDown | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--number-prev-icon', conf.icon.INPUT_PREV_NUM] | |
})]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--number-next is--next', | |
onMousedown: numberMousedownEvent, | |
onMouseup: numberStopDown, | |
onMouseleave: numberStopDown | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--number-next-icon', conf.icon.INPUT_NEXT_NUM] | |
})])]); | |
}; | |
var renderDatePickerIcon = function renderDatePickerIcon() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--date-picker-suffix', | |
onClick: datePickerOpenEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--date-picker-icon', conf.icon.INPUT_DATE] | |
})]); | |
}; | |
var renderSearchIcon = function renderSearchIcon() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--search-suffix', | |
onClick: searchEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--search-icon', conf.icon.INPUT_SEARCH] | |
})]); | |
}; | |
var renderPasswordIcon = function renderPasswordIcon() { | |
var showPwd = reactData.showPwd; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--password-suffix', | |
onClick: passwordToggleEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--password-icon', showPwd ? conf.icon.INPUT_SHOW_PWD : conf.icon.INPUT_PWD] | |
})]); | |
}; | |
var rendePrefixIcon = function rendePrefixIcon() { | |
var prefixIcon = props.prefixIcon; | |
var prefixSlot = slots.prefix; | |
var icons = []; | |
if (prefixSlot) { | |
icons.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--prefix-icon' | |
}, prefixSlot({}))); | |
} else if (prefixIcon) { | |
icons.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--prefix-icon', prefixIcon] | |
})); | |
} | |
return icons.length ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--prefix', | |
onClick: clickPrefixEvent | |
}, icons) : null; | |
}; | |
var renderSuffixIcon = function renderSuffixIcon() { | |
var disabled = props.disabled, | |
suffixIcon = props.suffixIcon; | |
var inputValue = reactData.inputValue; | |
var suffixSlot = slots.suffix; | |
var isClearable = computeIsClearable.value; | |
var icons = []; | |
if (suffixSlot) { | |
icons.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--suffix-icon' | |
}, suffixSlot({}))); | |
} else if (suffixIcon) { | |
icons.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--suffix-icon', suffixIcon] | |
})); | |
} | |
if (isClearable) { | |
icons.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-input--clear-icon', conf.icon.INPUT_CLEAR] | |
})); | |
} | |
return icons.length ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-input--suffix', { | |
'is--clear': isClearable && !disabled && !(inputValue === '' || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(inputValue)) | |
}], | |
onClick: clickSuffixEvent | |
}, icons) : null; | |
}; | |
var renderExtraSuffixIcon = function renderExtraSuffixIcon() { | |
var controls = props.controls; | |
var isNumType = computeIsNumType.value; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var isPawdType = computeIsPawdType.value; | |
var isSearchType = computeIsSearchType.value; | |
var icons; | |
if (isPawdType) { | |
icons = renderPasswordIcon(); | |
} else if (isNumType) { | |
if (controls) { | |
icons = renderNumberIcon(); | |
} | |
} else if (isDatePickerType) { | |
icons = renderDatePickerIcon(); | |
} else if (isSearchType) { | |
icons = renderSearchIcon(); | |
} | |
return icons ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-input--extra-suffix' | |
}, [icons]) : null; | |
}; | |
inputMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$input: $xeinput, | |
$event: evnt | |
}, params)); | |
}, | |
focus: function focus() { | |
var inputElem = refInputTarget.value; | |
reactData.isActivated = true; | |
inputElem.focus(); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
blur: function blur() { | |
var inputElem = refInputTarget.value; | |
inputElem.blur(); | |
reactData.isActivated = false; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}; | |
Object.assign($xeinput, inputMethods); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.modelValue; | |
}, function (val) { | |
reactData.inputValue = val; | |
changeValue(); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(computeDateLabelFormat, function () { | |
dateParseValue(reactData.datePanelValue); | |
reactData.inputValue = reactData.datePanelLabel; | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
GlobalEvent.on($xeinput, 'mousewheel', handleGlobalMousewheelEvent); | |
GlobalEvent.on($xeinput, 'mousedown', handleGlobalMousedownEvent); | |
GlobalEvent.on($xeinput, 'keydown', handleGlobalKeydownEvent); | |
GlobalEvent.on($xeinput, 'blur', handleGlobalBlurEvent); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
numberStopDown(); | |
GlobalEvent.off($xeinput, 'mousewheel'); | |
GlobalEvent.off($xeinput, 'mousedown'); | |
GlobalEvent.off($xeinput, 'keydown'); | |
GlobalEvent.off($xeinput, 'blur'); | |
}); | |
initValue(); | |
var renderVN = function renderVN() { | |
var _ref2; | |
var className = props.className, | |
controls = props.controls, | |
type = props.type, | |
align = props.align, | |
name = props.name, | |
disabled = props.disabled, | |
readonly = props.readonly, | |
autocomplete = props.autocomplete; | |
var inputValue = reactData.inputValue, | |
visiblePanel = reactData.visiblePanel, | |
isActivated = reactData.isActivated; | |
var vSize = computeSize.value; | |
var isDatePickerType = computeIsDatePickerType.value; | |
var inpReadonly = computeInpReadonly.value; | |
var inpMaxlength = computeInpMaxlength.value; | |
var inputType = computeInputType.value; | |
var inpPlaceholder = computeInpPlaceholder.value; | |
var childs = []; | |
var prefix = rendePrefixIcon(); | |
var suffix = renderSuffixIcon(); // 前缀图标 | |
if (prefix) { | |
childs.push(prefix); | |
} // 输入框 | |
childs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('input', { | |
ref: refInputTarget, | |
class: 'vxe-input--inner', | |
value: inputValue, | |
name: name, | |
type: inputType, | |
placeholder: inpPlaceholder, | |
maxlength: inpMaxlength, | |
readonly: inpReadonly, | |
disabled: disabled, | |
autocomplete: autocomplete, | |
onKeydown: keydownEvent, | |
onKeyup: keyupEvent, | |
onWheel: wheelEvent, | |
onClick: clickEvent, | |
onInput: inputEvent, | |
onChange: changeEvent, | |
onFocus: focusEvent, | |
onBlur: blurEvent | |
})); // 后缀图标 | |
if (suffix) { | |
childs.push(suffix); | |
} // 特殊功能图标 | |
childs.push(renderExtraSuffixIcon()); // 面板容器 | |
if (isDatePickerType) { | |
childs.push(renderPanel()); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-input', "type--".concat(type), className, (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, "is--".concat(align), align), _defineProperty(_ref2, 'is--controls', controls), _defineProperty(_ref2, 'is--prefix', !!prefix), _defineProperty(_ref2, 'is--suffix', !!suffix), _defineProperty(_ref2, 'is--readonly', readonly), _defineProperty(_ref2, 'is--visivle', visiblePanel), _defineProperty(_ref2, 'is--disabled', disabled), _defineProperty(_ref2, 'is--active', isActivated), _ref2)] | |
}, childs); | |
}; | |
$xeinput.renderVN = renderVN; | |
return $xeinput; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js | |
var es_array_includes = __webpack_require__("caad"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js | |
var es_string_includes = __webpack_require__("2532"); | |
// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.ts | |
/* harmony default export */ var src_checkbox = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeCheckbox', | |
props: { | |
modelValue: [String, Number, Boolean], | |
label: { | |
type: [String, Number], | |
default: null | |
}, | |
indeterminate: Boolean, | |
title: [String, Number], | |
checkedValue: { | |
type: [String, Number, Boolean], | |
default: true | |
}, | |
uncheckedValue: { | |
type: [String, Number, Boolean], | |
default: false | |
}, | |
content: [String, Number], | |
disabled: Boolean, | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.checkbox.size || conf.size; | |
} | |
} | |
}, | |
emits: ['update:modelValue', 'change'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var $xecheckbox = { | |
xID: xID, | |
props: props, | |
context: context | |
}; | |
var checkboxMethods = {}; | |
var computeSize = useSize(props); | |
var $xecheckboxgroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xecheckboxgroup', null); | |
var computeDisabled = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.disabled || $xecheckboxgroup && $xecheckboxgroup.props.disabled; | |
}); | |
var computeChecked = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return $xecheckboxgroup ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.includes($xecheckboxgroup.props.modelValue, props.label) : props.modelValue === props.checkedValue; | |
}); | |
var changeEvent = function changeEvent(evnt) { | |
var checkedValue = props.checkedValue, | |
uncheckedValue = props.uncheckedValue; | |
var isDisabled = computeDisabled.value; | |
if (!isDisabled) { | |
var checked = evnt.target.checked; | |
var value = checked ? checkedValue : uncheckedValue; | |
var params = { | |
checked: checked, | |
value: value, | |
label: props.label | |
}; | |
if ($xecheckboxgroup) { | |
$xecheckboxgroup.handleChecked(params, evnt); | |
} else { | |
emit('update:modelValue', value); | |
checkboxMethods.dispatchEvent('change', params, evnt); | |
} | |
} | |
}; | |
checkboxMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$checkbox: $xecheckbox, | |
$event: evnt | |
}, params)); | |
} | |
}; | |
Object.assign($xecheckbox, checkboxMethods); | |
var renderVN = function renderVN() { | |
var _ref; | |
var vSize = computeSize.value; | |
var isDisabled = computeDisabled.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('label', { | |
class: ['vxe-checkbox', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--indeterminate', props.indeterminate), _defineProperty(_ref, 'is--disabled', isDisabled), _ref)], | |
title: props.title | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('input', { | |
class: 'vxe-checkbox--input', | |
type: 'checkbox', | |
disabled: isDisabled, | |
checked: computeChecked.value, | |
onChange: changeEvent | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, slots.default ? slots.default({}) : getFuncText(props.content))]); | |
}; | |
$xecheckbox.renderVN = renderVN; | |
return $xecheckbox; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/select/src/select.ts | |
function isOptionVisible(option) { | |
return option.visible !== false; | |
} | |
function getOptUniqueId() { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId('opt_'); | |
} | |
/* harmony default export */ var src_select = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeSelect', | |
props: { | |
modelValue: null, | |
clearable: Boolean, | |
placeholder: String, | |
loading: Boolean, | |
disabled: Boolean, | |
multiple: Boolean, | |
multiCharOverflow: { | |
type: [Number, String], | |
default: function _default() { | |
return conf.select.multiCharOverflow; | |
} | |
}, | |
prefixIcon: String, | |
placement: String, | |
options: Array, | |
optionProps: Object, | |
optionGroups: Array, | |
optionGroupProps: Object, | |
className: [String, Function], | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.select.size || conf.size; | |
} | |
}, | |
emptyText: String, | |
optionId: { | |
type: String, | |
default: function _default() { | |
return conf.select.optionId; | |
} | |
}, | |
optionKey: Boolean, | |
transfer: { | |
type: Boolean, | |
default: function _default() { | |
return conf.select.transfer; | |
} | |
} | |
}, | |
emits: ['update:modelValue', 'change', 'clear'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var computeSize = useSize(props); | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
inited: false, | |
staticOptions: [], | |
fullGroupList: [], | |
fullOptionList: [], | |
visibleGroupList: [], | |
visibleOptionList: [], | |
panelIndex: 0, | |
panelStyle: {}, | |
panelPlacement: null, | |
currentValue: null, | |
visiblePanel: false, | |
animatVisible: false, | |
isActivated: false | |
}); | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refInput = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refOptionWrapper = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refOptionPanel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refMaps = { | |
refElem: refElem | |
}; | |
var $xeselect = { | |
xID: xID, | |
props: props, | |
context: context, | |
reactData: reactData, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
} | |
}; | |
var selectMethods = {}; | |
var computePropsOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.optionProps || {}; | |
}); | |
var computeGroupPropsOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.optionGroupProps || {}; | |
}); | |
var computeLabelField = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var propsOpts = computePropsOpts.value; | |
return propsOpts.label || 'label'; | |
}); | |
var computeValueField = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var propsOpts = computePropsOpts.value; | |
return propsOpts.value || 'value'; | |
}); | |
var computeGroupLabelField = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var groupPropsOpts = computeGroupPropsOpts.value; | |
return groupPropsOpts.label || 'label'; | |
}); | |
var computeGroupOptionsField = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var groupPropsOpts = computeGroupPropsOpts.value; | |
return groupPropsOpts.options || 'options'; | |
}); | |
var computeIsGroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return reactData.fullGroupList.some(function (item) { | |
return item.options && item.options.length; | |
}); | |
}); | |
var computeMultiMaxCharNum = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(props.multiCharOverflow); | |
}); | |
var callSlot = function callSlot(slotFunc, params) { | |
if (slotFunc) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(slotFunc)) { | |
slotFunc = slots[slotFunc] || null; | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(slotFunc)) { | |
return slotFunc(params); | |
} | |
} | |
return []; | |
}; | |
var findOption = function findOption(optionValue) { | |
var fullOptionList = reactData.fullOptionList, | |
fullGroupList = reactData.fullGroupList; | |
var isGroup = computeIsGroup.value; | |
var valueField = computeValueField.value; | |
if (isGroup) { | |
for (var gIndex = 0; gIndex < fullGroupList.length; gIndex++) { | |
var group = fullGroupList[gIndex]; | |
if (group.options) { | |
for (var index = 0; index < group.options.length; index++) { | |
var option = group.options[index]; | |
if (optionValue === option[valueField]) { | |
return option; | |
} | |
} | |
} | |
} | |
} | |
return fullOptionList.find(function (item) { | |
return optionValue === item[valueField]; | |
}); | |
}; | |
var getSelectLabel = function getSelectLabel(value) { | |
var labelField = computeLabelField.value; | |
var item = findOption(value); | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(item ? item[labelField] : value); | |
}; | |
var computeSelectLabel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var modelValue = props.modelValue, | |
multiple = props.multiple; | |
var multiMaxCharNum = computeMultiMaxCharNum.value; | |
if (modelValue && multiple) { | |
return (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(modelValue) ? modelValue : [modelValue]).map(function (val) { | |
var label = getSelectLabel(val); | |
if (multiMaxCharNum > 0 && label.length > multiMaxCharNum) { | |
return "".concat(label.substring(0, multiMaxCharNum), "..."); | |
} | |
return label; | |
}).join(', '); | |
} | |
return getSelectLabel(modelValue); | |
}); | |
var getOptkey = function getOptkey() { | |
return props.optionId || '_X_ID'; | |
}; | |
var getOptid = function getOptid(option) { | |
var optid = option[getOptkey()]; | |
return optid ? encodeURIComponent(optid) : ''; | |
}; | |
/** | |
* 刷新选项,当选项被动态显示/隐藏时可能会用到 | |
*/ | |
var refreshOption = function refreshOption() { | |
var fullOptionList = reactData.fullOptionList, | |
fullGroupList = reactData.fullGroupList; | |
var isGroup = computeIsGroup.value; | |
if (isGroup) { | |
reactData.visibleGroupList = fullGroupList.filter(isOptionVisible); | |
} else { | |
reactData.visibleOptionList = fullOptionList.filter(isOptionVisible); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}; | |
var cacheItemMap = function cacheItemMap() { | |
var fullOptionList = reactData.fullOptionList, | |
fullGroupList = reactData.fullGroupList; | |
var groupOptionsField = computeGroupOptionsField.value; | |
var key = getOptkey(); | |
var handleOptis = function handleOptis(item) { | |
if (!getOptid(item)) { | |
item[key] = getOptUniqueId(); | |
} | |
}; | |
if (fullGroupList.length) { | |
fullGroupList.forEach(function (group) { | |
handleOptis(group); | |
if (group[groupOptionsField]) { | |
group[groupOptionsField].forEach(handleOptis); | |
} | |
}); | |
} else if (fullOptionList.length) { | |
fullOptionList.forEach(handleOptis); | |
} | |
refreshOption(); | |
}; | |
var setCurrentOption = function setCurrentOption(option) { | |
var valueField = computeValueField.value; | |
if (option) { | |
reactData.currentValue = option[valueField]; | |
} | |
}; | |
var scrollToOption = function scrollToOption(option, isAlignBottom) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
if (option) { | |
var optWrapperElem = refOptionWrapper.value; | |
var panelElem = refOptionPanel.value; | |
var optElem = panelElem.querySelector("[optid='".concat(getOptid(option), "']")); | |
if (optWrapperElem && optElem) { | |
var wrapperHeight = optWrapperElem.offsetHeight; | |
var offsetPadding = 5; | |
if (isAlignBottom) { | |
if (optElem.offsetTop + optElem.offsetHeight - optWrapperElem.scrollTop > wrapperHeight) { | |
optWrapperElem.scrollTop = optElem.offsetTop + optElem.offsetHeight - wrapperHeight; | |
} | |
} else { | |
if (optElem.offsetTop + offsetPadding < optWrapperElem.scrollTop || optElem.offsetTop + offsetPadding > optWrapperElem.scrollTop + optWrapperElem.clientHeight) { | |
optWrapperElem.scrollTop = optElem.offsetTop - offsetPadding; | |
} | |
} | |
} | |
} | |
}); | |
}; | |
var updateZindex = function updateZindex() { | |
if (reactData.panelIndex < getLastZIndex()) { | |
reactData.panelIndex = nextZIndex(); | |
} | |
}; | |
var updatePlacement = function updatePlacement() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
var transfer = props.transfer, | |
placement = props.placement; | |
var panelIndex = reactData.panelIndex; | |
var el = refElem.value; | |
var panelElem = refOptionPanel.value; | |
if (panelElem && el) { | |
var targetHeight = el.offsetHeight; | |
var targetWidth = el.offsetWidth; | |
var panelHeight = panelElem.offsetHeight; | |
var panelWidth = panelElem.offsetWidth; | |
var marginSize = 5; | |
var panelStyle = { | |
zIndex: panelIndex | |
}; | |
var _getAbsolutePos = getAbsolutePos(el), | |
boundingTop = _getAbsolutePos.boundingTop, | |
boundingLeft = _getAbsolutePos.boundingLeft, | |
visibleHeight = _getAbsolutePos.visibleHeight, | |
visibleWidth = _getAbsolutePos.visibleWidth; | |
var panelPlacement = 'bottom'; | |
if (transfer) { | |
var left = boundingLeft; | |
var top = boundingTop + targetHeight; | |
if (placement === 'top') { | |
panelPlacement = 'top'; | |
top = boundingTop - panelHeight; | |
} else if (!placement) { | |
// 如果下面不够放,则向上 | |
if (top + panelHeight + marginSize > visibleHeight) { | |
panelPlacement = 'top'; | |
top = boundingTop - panelHeight; | |
} // 如果上面不够放,则向下(优先) | |
if (top < marginSize) { | |
panelPlacement = 'bottom'; | |
top = boundingTop + targetHeight; | |
} | |
} // 如果溢出右边 | |
if (left + panelWidth + marginSize > visibleWidth) { | |
left -= left + panelWidth + marginSize - visibleWidth; | |
} // 如果溢出左边 | |
if (left < marginSize) { | |
left = marginSize; | |
} | |
Object.assign(panelStyle, { | |
left: "".concat(left, "px"), | |
top: "".concat(top, "px"), | |
minWidth: "".concat(targetWidth, "px") | |
}); | |
} else { | |
if (placement === 'top') { | |
panelPlacement = 'top'; | |
panelStyle.bottom = "".concat(targetHeight, "px"); | |
} else if (!placement) { | |
// 如果下面不够放,则向上 | |
if (boundingTop + targetHeight + panelHeight > visibleHeight) { | |
// 如果上面不够放,则向下(优先) | |
if (boundingTop - targetHeight - panelHeight > marginSize) { | |
panelPlacement = 'top'; | |
panelStyle.bottom = "".concat(targetHeight, "px"); | |
} | |
} | |
} | |
} | |
reactData.panelStyle = panelStyle; | |
reactData.panelPlacement = panelPlacement; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}); | |
}; | |
var hidePanelTimeout; | |
var showOptionPanel = function showOptionPanel() { | |
var loading = props.loading, | |
disabled = props.disabled; | |
if (!loading && !disabled) { | |
clearTimeout(hidePanelTimeout); | |
if (!reactData.inited) { | |
reactData.inited = true; | |
} | |
reactData.isActivated = true; | |
reactData.animatVisible = true; | |
setTimeout(function () { | |
var modelValue = props.modelValue, | |
multiple = props.multiple; | |
var currOption = findOption(multiple && modelValue ? modelValue[0] : modelValue); | |
reactData.visiblePanel = true; | |
if (currOption) { | |
setCurrentOption(currOption); | |
scrollToOption(currOption); | |
} | |
}, 10); | |
updateZindex(); | |
updatePlacement(); | |
} | |
}; | |
var hideOptionPanel = function hideOptionPanel() { | |
reactData.visiblePanel = false; | |
hidePanelTimeout = window.setTimeout(function () { | |
reactData.animatVisible = false; | |
}, 350); | |
}; | |
var changeEvent = function changeEvent(evnt, selectValue) { | |
if (selectValue !== props.modelValue) { | |
emit('update:modelValue', selectValue); | |
selectMethods.dispatchEvent('change', { | |
value: selectValue | |
}, evnt); | |
} | |
}; | |
var clearValueEvent = function clearValueEvent(evnt, selectValue) { | |
changeEvent(evnt, selectValue); | |
selectMethods.dispatchEvent('clear', { | |
value: selectValue | |
}, evnt); | |
}; | |
var clearEvent = function clearEvent(params, evnt) { | |
clearValueEvent(evnt, null); | |
hideOptionPanel(); | |
}; | |
var changeOptionEvent = function changeOptionEvent(evnt, selectValue) { | |
var modelValue = props.modelValue, | |
multiple = props.multiple; | |
if (multiple) { | |
var multipleValue; | |
if (modelValue) { | |
if (modelValue.indexOf(selectValue) === -1) { | |
multipleValue = modelValue.concat([selectValue]); | |
} else { | |
multipleValue = modelValue.filter(function (val) { | |
return val !== selectValue; | |
}); | |
} | |
} else { | |
multipleValue = [selectValue]; | |
} | |
changeEvent(evnt, multipleValue); | |
} else { | |
changeEvent(evnt, selectValue); | |
hideOptionPanel(); | |
} | |
}; | |
var handleGlobalMousewheelEvent = function handleGlobalMousewheelEvent(evnt) { | |
var disabled = props.disabled; | |
var visiblePanel = reactData.visiblePanel; | |
if (!disabled) { | |
if (visiblePanel) { | |
var panelElem = refOptionPanel.value; | |
if (getEventTargetNode(evnt, panelElem).flag) { | |
updatePlacement(); | |
} else { | |
hideOptionPanel(); | |
} | |
} | |
} | |
}; | |
var handleGlobalMousedownEvent = function handleGlobalMousedownEvent(evnt) { | |
var disabled = props.disabled; | |
var visiblePanel = reactData.visiblePanel; | |
if (!disabled) { | |
var el = refElem.value; | |
var panelElem = refOptionPanel.value; | |
reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag; | |
if (visiblePanel && !reactData.isActivated) { | |
hideOptionPanel(); | |
} | |
} | |
}; | |
var findOffsetOption = function findOffsetOption(optionValue, isUpArrow) { | |
var visibleOptionList = reactData.visibleOptionList, | |
visibleGroupList = reactData.visibleGroupList; | |
var isGroup = computeIsGroup.value; | |
var valueField = computeValueField.value; | |
var groupOptionsField = computeGroupOptionsField.value; | |
var firstOption; | |
var prevOption; | |
var nextOption; | |
var currOption; | |
if (isGroup) { | |
for (var gIndex = 0; gIndex < visibleGroupList.length; gIndex++) { | |
var group = visibleGroupList[gIndex]; | |
var groupOptionList = group[groupOptionsField]; | |
var isGroupDisabled = group.disabled; | |
if (groupOptionList) { | |
for (var index = 0; index < groupOptionList.length; index++) { | |
var option = groupOptionList[index]; | |
var isVisible = isOptionVisible(option); | |
var isDisabled = isGroupDisabled || option.disabled; | |
if (!firstOption && !isDisabled) { | |
firstOption = option; | |
} | |
if (currOption) { | |
if (isVisible && !isDisabled) { | |
nextOption = option; | |
if (!isUpArrow) { | |
return { | |
offsetOption: nextOption | |
}; | |
} | |
} | |
} | |
if (optionValue === option[valueField]) { | |
currOption = option; | |
if (isUpArrow) { | |
return { | |
offsetOption: prevOption | |
}; | |
} | |
} else { | |
if (isVisible && !isDisabled) { | |
prevOption = option; | |
} | |
} | |
} | |
} | |
} | |
} else { | |
for (var _index = 0; _index < visibleOptionList.length; _index++) { | |
var _option = visibleOptionList[_index]; | |
var _isDisabled = _option.disabled; | |
if (!firstOption && !_isDisabled) { | |
firstOption = _option; | |
} | |
if (currOption) { | |
if (!_isDisabled) { | |
nextOption = _option; | |
if (!isUpArrow) { | |
return { | |
offsetOption: nextOption | |
}; | |
} | |
} | |
} | |
if (optionValue === _option[valueField]) { | |
currOption = _option; | |
if (isUpArrow) { | |
return { | |
offsetOption: prevOption | |
}; | |
} | |
} else { | |
if (!_isDisabled) { | |
prevOption = _option; | |
} | |
} | |
} | |
} | |
return { | |
firstOption: firstOption | |
}; | |
}; | |
var handleGlobalKeydownEvent = function handleGlobalKeydownEvent(evnt) { | |
var clearable = props.clearable, | |
disabled = props.disabled; | |
var visiblePanel = reactData.visiblePanel, | |
currentValue = reactData.currentValue; | |
if (!disabled) { | |
var isTab = hasEventKey(evnt, EVENT_KEYS.TAB); | |
var isEnter = hasEventKey(evnt, EVENT_KEYS.ENTER); | |
var isEsc = hasEventKey(evnt, EVENT_KEYS.ESCAPE); | |
var isUpArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_UP); | |
var isDwArrow = hasEventKey(evnt, EVENT_KEYS.ARROW_DOWN); | |
var isDel = hasEventKey(evnt, EVENT_KEYS.DELETE); | |
var isSpacebar = hasEventKey(evnt, EVENT_KEYS.SPACEBAR); | |
if (isTab) { | |
reactData.isActivated = false; | |
} | |
if (visiblePanel) { | |
if (isEsc || isTab) { | |
hideOptionPanel(); | |
} else if (isEnter) { | |
evnt.preventDefault(); | |
evnt.stopPropagation(); | |
changeOptionEvent(evnt, currentValue); | |
} else if (isUpArrow || isDwArrow) { | |
evnt.preventDefault(); | |
var _findOffsetOption = findOffsetOption(currentValue, isUpArrow), | |
firstOption = _findOffsetOption.firstOption, | |
offsetOption = _findOffsetOption.offsetOption; | |
if (!offsetOption && !findOption(currentValue)) { | |
offsetOption = firstOption; | |
} | |
setCurrentOption(offsetOption); | |
scrollToOption(offsetOption, isDwArrow); | |
} else if (isSpacebar) { | |
evnt.preventDefault(); | |
} | |
} else if ((isUpArrow || isDwArrow || isEnter || isSpacebar) && reactData.isActivated) { | |
evnt.preventDefault(); | |
showOptionPanel(); | |
} | |
if (reactData.isActivated) { | |
if (isDel && clearable) { | |
clearValueEvent(evnt, null); | |
} | |
} | |
} | |
}; | |
var handleGlobalBlurEvent = function handleGlobalBlurEvent() { | |
hideOptionPanel(); | |
}; | |
var focusEvent = function focusEvent() { | |
if (!props.disabled) { | |
reactData.isActivated = true; | |
} | |
}; | |
var blurEvent = function blurEvent() { | |
reactData.isActivated = false; | |
}; | |
var togglePanelEvent = function togglePanelEvent(params) { | |
var $event = params.$event; | |
$event.preventDefault(); | |
if (reactData.visiblePanel) { | |
hideOptionPanel(); | |
} else { | |
showOptionPanel(); | |
} | |
}; | |
var renderOption = function renderOption(list, group) { | |
var optionKey = props.optionKey, | |
modelValue = props.modelValue, | |
multiple = props.multiple; | |
var currentValue = reactData.currentValue; | |
var labelField = computeLabelField.value; | |
var valueField = computeValueField.value; | |
var isGroup = computeIsGroup.value; | |
return list.map(function (option, cIndex) { | |
var slots = option.slots, | |
className = option.className; | |
var isVisible = !isGroup || isOptionVisible(option); | |
var isDisabled = group && group.disabled || option.disabled; | |
var optionValue = option[valueField]; | |
var optid = getOptid(option); | |
var defaultSlot = slots ? slots.default : null; | |
return isVisible ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
key: optionKey ? optid : cIndex, | |
class: ['vxe-select-option', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({ | |
option: option, | |
$select: $xeselect | |
}) : className : '', { | |
'is--disabled': isDisabled, | |
'is--selected': multiple ? modelValue && modelValue.indexOf(optionValue) > -1 : modelValue === optionValue, | |
'is--hover': currentValue === optionValue | |
}], | |
// attrs | |
optid: optid, | |
// event | |
onMousedown: function onMousedown(evnt) { | |
var isLeftBtn = evnt.button === 0; | |
if (isLeftBtn) { | |
evnt.stopPropagation(); | |
} | |
}, | |
onClick: function onClick(evnt) { | |
if (!isDisabled) { | |
changeOptionEvent(evnt, optionValue); | |
} | |
}, | |
onMouseenter: function onMouseenter() { | |
if (!isDisabled) { | |
setCurrentOption(option); | |
} | |
} | |
}, defaultSlot ? callSlot(defaultSlot, { | |
option: option, | |
$select: $xeselect | |
}) : formatText(getFuncText(option[labelField]))) : null; | |
}); | |
}; | |
var renderOptgroup = function renderOptgroup() { | |
var optionKey = props.optionKey; | |
var visibleGroupList = reactData.visibleGroupList; | |
var groupLabelField = computeGroupLabelField.value; | |
var groupOptionsField = computeGroupOptionsField.value; | |
return visibleGroupList.map(function (group, gIndex) { | |
var slots = group.slots, | |
className = group.className; | |
var optid = getOptid(group); | |
var isGroupDisabled = group.disabled; | |
var defaultSlot = slots ? slots.default : null; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
key: optionKey ? optid : gIndex, | |
class: ['vxe-optgroup', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({ | |
option: group, | |
$select: $xeselect | |
}) : className : '', { | |
'is--disabled': isGroupDisabled | |
}], | |
// attrs | |
optid: optid | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-optgroup--title' | |
}, defaultSlot ? callSlot(defaultSlot, { | |
option: group, | |
$select: $xeselect | |
}) : getFuncText(group[groupLabelField])), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-optgroup--wrapper' | |
}, renderOption(group[groupOptionsField] || [], group))]); | |
}); | |
}; | |
var renderOpts = function renderOpts() { | |
var visibleGroupList = reactData.visibleGroupList, | |
visibleOptionList = reactData.visibleOptionList; | |
var isGroup = computeIsGroup.value; | |
if (isGroup) { | |
if (visibleGroupList.length) { | |
return renderOptgroup(); | |
} | |
} else { | |
if (visibleOptionList.length) { | |
return renderOption(visibleOptionList); | |
} | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-select--empty-placeholder' | |
}, props.emptyText || conf.i18n('vxe.select.emptyText'))]; | |
}; | |
selectMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$select: $xeselect, | |
$event: evnt | |
}, params)); | |
}, | |
isPanelVisible: function isPanelVisible() { | |
return reactData.visiblePanel; | |
}, | |
togglePanel: function togglePanel() { | |
if (reactData.visiblePanel) { | |
hideOptionPanel(); | |
} else { | |
showOptionPanel(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
hidePanel: function hidePanel() { | |
if (reactData.visiblePanel) { | |
hideOptionPanel(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
showPanel: function showPanel() { | |
if (!reactData.visiblePanel) { | |
showOptionPanel(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
refreshOption: refreshOption, | |
focus: function focus() { | |
var $input = refInput.value; | |
reactData.isActivated = true; | |
$input.blur(); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
blur: function blur() { | |
var $input = refInput.value; | |
$input.blur(); | |
reactData.isActivated = false; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}; | |
Object.assign($xeselect, selectMethods); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return reactData.staticOptions; | |
}, function (value) { | |
if (value.some(function (item) { | |
return item.options && item.options.length; | |
})) { | |
reactData.fullOptionList = []; | |
reactData.fullGroupList = value; | |
} else { | |
reactData.fullGroupList = []; | |
reactData.fullOptionList = value || []; | |
} | |
cacheItemMap(); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.options; | |
}, function (value) { | |
reactData.fullGroupList = []; | |
reactData.fullOptionList = value || []; | |
cacheItemMap(); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.optionGroups; | |
}, function (value) { | |
reactData.fullOptionList = []; | |
reactData.fullGroupList = value || []; | |
cacheItemMap(); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var options = props.options, | |
optionGroups = props.optionGroups; | |
if (optionGroups) { | |
reactData.fullGroupList = optionGroups; | |
} else if (options) { | |
reactData.fullOptionList = options; | |
} | |
cacheItemMap(); | |
}); | |
GlobalEvent.on($xeselect, 'mousewheel', handleGlobalMousewheelEvent); | |
GlobalEvent.on($xeselect, 'mousedown', handleGlobalMousedownEvent); | |
GlobalEvent.on($xeselect, 'keydown', handleGlobalKeydownEvent); | |
GlobalEvent.on($xeselect, 'blur', handleGlobalBlurEvent); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
GlobalEvent.off($xeselect, 'mousewheel'); | |
GlobalEvent.off($xeselect, 'mousedown'); | |
GlobalEvent.off($xeselect, 'keydown'); | |
GlobalEvent.off($xeselect, 'blur'); | |
}); | |
var renderVN = function renderVN() { | |
var _ref, _ref2; | |
var className = props.className, | |
transfer = props.transfer, | |
disabled = props.disabled, | |
loading = props.loading; | |
var inited = reactData.inited, | |
isActivated = reactData.isActivated, | |
visiblePanel = reactData.visiblePanel; | |
var vSize = computeSize.value; | |
var selectLabel = computeSelectLabel.value; | |
var prefixSlot = slots.prefix; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({ | |
$select: $xeselect | |
}) : className : '', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--visivle', visiblePanel), _defineProperty(_ref, 'is--disabled', disabled), _defineProperty(_ref, 'is--loading', loading), _defineProperty(_ref, 'is--active', isActivated), _ref)] | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-select-slots', | |
ref: 'hideOption' | |
}, slots.default ? slots.default({}) : []), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-input'), { | |
ref: refInput, | |
clearable: props.clearable, | |
placeholder: props.placeholder, | |
readonly: true, | |
disabled: disabled, | |
type: 'text', | |
prefixIcon: props.prefixIcon, | |
suffixIcon: loading ? conf.icon.SELECT_LOADED : visiblePanel ? conf.icon.SELECT_OPEN : conf.icon.SELECT_CLOSE, | |
modelValue: selectLabel, | |
onClear: clearEvent, | |
onClick: togglePanelEvent, | |
onFocus: focusEvent, | |
onBlur: blurEvent, | |
onSuffixClick: togglePanelEvent | |
}, prefixSlot ? { | |
prefix: function prefix() { | |
return prefixSlot({}); | |
} | |
} : {}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Teleport"], { | |
to: 'body', | |
disabled: transfer ? !inited : true | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refOptionPanel, | |
class: ['vxe-table--ignore-clear vxe-select--panel', (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, 'is--transfer', transfer), _defineProperty(_ref2, 'animat--leave', !loading && reactData.animatVisible), _defineProperty(_ref2, 'animat--enter', !loading && visiblePanel), _ref2)], | |
placement: reactData.panelPlacement, | |
style: reactData.panelStyle | |
}, inited ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refOptionWrapper, | |
class: 'vxe-select-option--wrapper' | |
}, renderOpts())] : [])])]); | |
}; | |
$xeselect.renderVN = renderVN; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('$xeselect', $xeselect); | |
return $xeselect; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/export/src/export-panel.ts | |
/* harmony default export */ var export_panel = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeExportPanel', | |
props: { | |
defaultOptions: Object, | |
storeData: Object | |
}, | |
setup: function setup(props) { | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeExportOpts = _$xetable$getComputeM.computeExportOpts, | |
computePrintOpts = _$xetable$getComputeM.computePrintOpts; | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
isAll: false, | |
isIndeterminate: false, | |
loading: false | |
}); | |
var xButtonConfirm = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var xInputFilename = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var xInputSheetname = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var computeCheckedAll = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var storeData = props.storeData; | |
return storeData.columns.every(function (column) { | |
return column.checked; | |
}); | |
}); | |
var computeShowSheet = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var defaultOptions = props.defaultOptions; | |
return ['html', 'xml', 'xlsx', 'pdf'].indexOf(defaultOptions.type) > -1; | |
}); | |
var computeSupportMerge = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var storeData = props.storeData, | |
defaultOptions = props.defaultOptions; | |
return !defaultOptions.original && defaultOptions.mode === 'current' && (storeData.isPrint || ['html', 'xlsx'].indexOf(defaultOptions.type) > -1); | |
}); | |
var computeSupportStyle = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var defaultOptions = props.defaultOptions; | |
return !defaultOptions.original && ['xlsx'].indexOf(defaultOptions.type) > -1; | |
}); | |
var handleOptionCheck = function handleOptionCheck(column) { | |
var storeData = props.storeData; | |
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(storeData.columns, function (item) { | |
return item === column; | |
}); | |
if (matchObj && matchObj.parent) { | |
var parent = matchObj.parent; | |
if (parent.children && parent.children.length) { | |
parent.checked = parent.children.every(function (column) { | |
return column.checked; | |
}); | |
parent.halfChecked = !parent.checked && parent.children.some(function (column) { | |
return column.checked || column.halfChecked; | |
}); | |
handleOptionCheck(parent); | |
} | |
} | |
}; | |
var checkStatus = function checkStatus() { | |
var storeData = props.storeData; | |
var columns = storeData.columns; | |
reactData.isAll = columns.every(function (column) { | |
return column.disabled || column.checked; | |
}); | |
reactData.isIndeterminate = !reactData.isAll && columns.some(function (column) { | |
return !column.disabled && (column.checked || column.halfChecked); | |
}); | |
}; | |
var changeOption = function changeOption(column) { | |
var isChecked = !column.checked; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree([column], function (item) { | |
item.checked = isChecked; | |
item.halfChecked = false; | |
}); | |
handleOptionCheck(column); | |
checkStatus(); | |
}; | |
var allColumnEvent = function allColumnEvent() { | |
var storeData = props.storeData; | |
var isAll = !reactData.isAll; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(storeData.columns, function (column) { | |
if (!column.disabled) { | |
column.checked = isAll; | |
column.halfChecked = false; | |
} | |
}); | |
reactData.isAll = isAll; | |
checkStatus(); | |
}; | |
var showEvent = function showEvent() { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var filenameInp = xInputFilename.value; | |
var sheetnameInp = xInputSheetname.value; | |
var confirmBtn = xButtonConfirm.value; | |
var targetElem = filenameInp || sheetnameInp || confirmBtn; | |
if (targetElem) { | |
targetElem.focus(); | |
} | |
}); | |
checkStatus(); | |
}; | |
var getExportOption = function getExportOption() { | |
var storeData = props.storeData, | |
defaultOptions = props.defaultOptions; | |
var hasMerge = storeData.hasMerge, | |
columns = storeData.columns; | |
var checkedAll = computeCheckedAll.value; | |
var supportMerge = computeSupportMerge.value; | |
var expColumns = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.searchTree(columns, function (column) { | |
return column.checked; | |
}, { | |
children: 'children', | |
mapChildren: 'childNodes', | |
original: true | |
}); | |
return Object.assign({}, defaultOptions, { | |
columns: expColumns, | |
isMerge: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false | |
}); | |
}; | |
var printEvent = function printEvent() { | |
var storeData = props.storeData; | |
var printOpts = computePrintOpts.value; | |
storeData.visible = false; | |
$xetable.print(Object.assign({}, printOpts, getExportOption())); | |
}; | |
var exportEvent = function exportEvent() { | |
var storeData = props.storeData; | |
var exportOpts = computeExportOpts.value; | |
reactData.loading = true; | |
$xetable.exportData(Object.assign({}, exportOpts, getExportOption())).then(function () { | |
reactData.loading = false; | |
storeData.visible = false; | |
}).catch(function () { | |
reactData.loading = false; | |
}); | |
}; | |
var cancelEvent = function cancelEvent() { | |
var storeData = props.storeData; | |
storeData.visible = false; | |
}; | |
var confirmEvent = function confirmEvent() { | |
var storeData = props.storeData; | |
if (storeData.isPrint) { | |
printEvent(); | |
} else { | |
exportEvent(); | |
} | |
}; | |
var renderVN = function renderVN() { | |
var defaultOptions = props.defaultOptions, | |
storeData = props.storeData; | |
var isAll = reactData.isAll, | |
isIndeterminate = reactData.isIndeterminate; | |
var hasTree = storeData.hasTree, | |
hasMerge = storeData.hasMerge, | |
isPrint = storeData.isPrint, | |
hasColgroup = storeData.hasColgroup; | |
var isHeader = defaultOptions.isHeader; | |
var cols = []; | |
var checkedAll = computeCheckedAll.value; | |
var showSheet = computeShowSheet.value; | |
var supportMerge = computeSupportMerge.value; | |
var supportStyle = computeSupportStyle.value; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(storeData.columns, function (column) { | |
var colTitle = formatText(column.getTitle(), 1); | |
var isColGroup = column.children && column.children.length; | |
cols.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: ['vxe-export--panel-column-option', "level--".concat(column.level), { | |
'is--group': isColGroup, | |
'is--checked': column.checked, | |
'is--indeterminate': column.halfChecked, | |
'is--disabled': column.disabled | |
}], | |
title: colTitle, | |
onClick: function onClick() { | |
if (!column.disabled) { | |
changeOption(column); | |
} | |
} | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, colTitle)])); | |
}); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(modal, { | |
modelValue: storeData.visible, | |
title: conf.i18n(isPrint ? 'vxe.export.printTitle' : 'vxe.export.expTitle'), | |
width: 660, | |
mask: true, | |
lockView: true, | |
showFooter: false, | |
escClosable: true, | |
maskClosable: true, | |
loading: reactData.loading, | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
storeData.visible = value; | |
}, | |
onShow: showEvent | |
}, { | |
default: function _default() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-export--panel' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', [[isPrint ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.export.expName')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(input, { | |
ref: xInputFilename, | |
modelValue: defaultOptions.filename, | |
type: 'text', | |
clearable: true, | |
placeholder: conf.i18n('vxe.export.expNamePlaceholder'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.filename = value; | |
} | |
})])]), isPrint ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.export.expType')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_select, { | |
modelValue: defaultOptions.type, | |
options: storeData.typeList.map(function (item) { | |
return { | |
value: item.value, | |
label: conf.i18n(item.label) | |
}; | |
}), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.type = value; | |
} | |
})])]), isPrint || showSheet ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.export.expSheetName')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(input, { | |
ref: xInputSheetname, | |
modelValue: defaultOptions.sheetName, | |
type: 'text', | |
clearable: true, | |
placeholder: conf.i18n('vxe.export.expSheetNamePlaceholder'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.sheetName = value; | |
} | |
})])]) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.export.expMode')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_select, { | |
modelValue: defaultOptions.mode, | |
options: storeData.modeList.map(function (item) { | |
return { | |
value: item.value, | |
label: conf.i18n(item.label) | |
}; | |
}), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.mode = value; | |
} | |
})])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [conf.i18n('vxe.export.expColumn')]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-export--panel-column' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-export--panel-column-header' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: ['vxe-export--panel-column-option', { | |
'is--checked': isAll, | |
'is--indeterminate': isIndeterminate | |
}], | |
title: conf.i18n('vxe.table.allTitle'), | |
onClick: allColumnEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, conf.i18n('vxe.export.expCurrentColumn'))])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-export--panel-column-body' | |
}, cols)])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.export.expOpts')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-export--panel-option-row' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_checkbox, { | |
modelValue: defaultOptions.isHeader, | |
title: conf.i18n('vxe.export.expHeaderTitle'), | |
content: conf.i18n('vxe.export.expOptHeader'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.isHeader = value; | |
} | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_checkbox, { | |
modelValue: defaultOptions.isFooter, | |
disabled: !storeData.hasFooter, | |
title: conf.i18n('vxe.export.expFooterTitle'), | |
content: conf.i18n('vxe.export.expOptFooter'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.isFooter = value; | |
} | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_checkbox, { | |
modelValue: defaultOptions.original, | |
title: conf.i18n('vxe.export.expOriginalTitle'), | |
content: conf.i18n('vxe.export.expOptOriginal'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.original = value; | |
} | |
})]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-export--panel-option-row' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_checkbox, { | |
modelValue: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false, | |
title: conf.i18n('vxe.export.expColgroupTitle'), | |
disabled: !isHeader || !hasColgroup || !supportMerge, | |
content: conf.i18n('vxe.export.expOptColgroup'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.isColgroup = value; | |
} | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_checkbox, { | |
modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false, | |
title: conf.i18n('vxe.export.expMergeTitle'), | |
disabled: !hasMerge || !supportMerge || !checkedAll, | |
content: conf.i18n('vxe.export.expOptMerge'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.isMerge = value; | |
} | |
}), isPrint ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_checkbox, { | |
modelValue: supportStyle ? defaultOptions.useStyle : false, | |
disabled: !supportStyle, | |
title: conf.i18n('vxe.export.expUseStyleTitle'), | |
content: conf.i18n('vxe.export.expOptUseStyle'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.useStyle = value; | |
} | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_checkbox, { | |
modelValue: hasTree ? defaultOptions.isAllExpand : false, | |
disabled: !hasTree, | |
title: conf.i18n('vxe.export.expAllExpandTitle'), | |
content: conf.i18n('vxe.export.expOptAllExpand'), | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.isAllExpand = value; | |
} | |
})])])])]])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-export--panel-btns' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_button, { | |
content: conf.i18n('vxe.export.expCancel'), | |
onClick: cancelEvent | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_button, { | |
ref: xButtonConfirm, | |
status: 'primary', | |
content: conf.i18n(isPrint ? 'vxe.export.expPrint' : 'vxe.export.expConfirm'), | |
onClick: confirmEvent | |
})])]); | |
} | |
}); | |
}; | |
return renderVN; | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/radio/src/group.ts | |
/* harmony default export */ var src_group = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeRadioGroup', | |
props: { | |
modelValue: [String, Number, Boolean], | |
disabled: Boolean, | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.radio.size || conf.size; | |
} | |
} | |
}, | |
emits: ['update:modelValue', 'change'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var $xeradiogroup = { | |
xID: xID, | |
props: props, | |
context: context, | |
name: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId('xegroup_') | |
}; | |
var radioGroupMethods = {}; | |
useSize(props); | |
var radioGroupPrivateMethods = { | |
handleChecked: function handleChecked(params) { | |
emit('update:modelValue', params.label); | |
radioGroupMethods.dispatchEvent('change', params); | |
} | |
}; | |
radioGroupMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$radioGroup: $xeradiogroup, | |
$event: evnt | |
}, params)); | |
} | |
}; | |
var renderVN = function renderVN() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-radio-group' | |
}, slots.default ? slots.default({}) : []); | |
}; | |
Object.assign($xeradiogroup, radioGroupPrivateMethods, { | |
renderVN: renderVN, | |
dispatchEvent: dispatchEvent | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('$xeradiogroup', $xeradiogroup); | |
return renderVN; | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/radio/src/radio.ts | |
/* harmony default export */ var src_radio = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeRadio', | |
props: { | |
modelValue: [String, Number, Boolean], | |
label: { | |
type: [String, Number, Boolean], | |
default: null | |
}, | |
title: [String, Number], | |
content: [String, Number], | |
disabled: Boolean, | |
name: String, | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.radio.size || conf.size; | |
} | |
} | |
}, | |
emits: ['update:modelValue', 'change'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var $xeradio = { | |
xID: xID, | |
props: props, | |
context: context | |
}; | |
var computeSize = useSize(props); | |
var $xeradiogroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xeradiogroup', null); | |
var radioMethods = {}; | |
var computeDisabled = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.disabled || $xeradiogroup && $xeradiogroup.props.disabled; | |
}); | |
var computeName = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return $xeradiogroup ? $xeradiogroup.name : props.name; | |
}); | |
var computeChecked = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var modelValue = props.modelValue, | |
label = props.label; | |
return $xeradiogroup ? $xeradiogroup.props.modelValue === label : modelValue === label; | |
}); | |
var changeEvent = function changeEvent(evnt) { | |
var label = props.label; | |
var isDisabled = computeDisabled.value; | |
if (!isDisabled) { | |
if ($xeradiogroup) { | |
$xeradiogroup.handleChecked({ | |
label: label | |
}, evnt); | |
} else { | |
emit('update:modelValue', label); | |
radioMethods.dispatchEvent('change', { | |
label: label | |
}, evnt); | |
} | |
} | |
}; | |
radioMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$radio: $xeradio, | |
$event: evnt | |
}, params)); | |
} | |
}; | |
Object.assign($xeradio, radioMethods); | |
var renderVN = function renderVN() { | |
var _ref; | |
var vSize = computeSize.value; | |
var isDisabled = computeDisabled.value; | |
var name = computeName.value; | |
var checked = computeChecked.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('label', { | |
class: ['vxe-radio', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--disabled', isDisabled), _ref)], | |
title: props.title | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('input', { | |
class: 'vxe-radio--input', | |
type: 'radio', | |
name: name, | |
checked: checked, | |
disabled: isDisabled, | |
onChange: changeEvent | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-radio--icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-radio--label' | |
}, slots.default ? slots.default({}) : getFuncText(props.content))]); | |
}; | |
$xeradio.renderVN = renderVN; | |
return $xeradio; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/export/src/import-panel.ts | |
/* harmony default export */ var import_panel = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeImportPanel', | |
props: { | |
defaultOptions: Object, | |
storeData: Object | |
}, | |
setup: function setup(props) { | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeImportOpts = _$xetable$getComputeM.computeImportOpts; | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
loading: false | |
}); | |
var refFileBtn = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var computeSelectName = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var storeData = props.storeData; | |
return "".concat(storeData.filename, ".").concat(storeData.type); | |
}); | |
var computeHasFile = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var storeData = props.storeData; | |
return storeData.file && storeData.type; | |
}); | |
var computeParseTypeLabel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var storeData = props.storeData; | |
var type = storeData.type, | |
typeList = storeData.typeList; | |
if (type) { | |
var selectItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.find(typeList, function (item) { | |
return type === item.value; | |
}); | |
return selectItem ? conf.i18n(selectItem.label) : '*.*'; | |
} | |
return "*.".concat(typeList.map(function (item) { | |
return item.value; | |
}).join(', *.')); | |
}); | |
var clearFileEvent = function clearFileEvent() { | |
var storeData = props.storeData; | |
Object.assign(storeData, { | |
filename: '', | |
sheetName: '', | |
type: '' | |
}); | |
}; | |
var selectFileEvent = function selectFileEvent() { | |
var storeData = props.storeData, | |
defaultOptions = props.defaultOptions; | |
$xetable.readFile(defaultOptions).then(function (params) { | |
var file = params.file; | |
Object.assign(storeData, parseFile(file), { | |
file: file | |
}); | |
}).catch(function (e) { | |
return e; | |
}); | |
}; | |
var showEvent = function showEvent() { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var targetElem = refFileBtn.value; | |
if (targetElem) { | |
targetElem.focus(); | |
} | |
}); | |
}; | |
var cancelEvent = function cancelEvent() { | |
var storeData = props.storeData; | |
storeData.visible = false; | |
}; | |
var importEvent = function importEvent() { | |
var storeData = props.storeData, | |
defaultOptions = props.defaultOptions; | |
var importOpts = computeImportOpts.value; | |
reactData.loading = true; | |
$xetable.importByFile(storeData.file, Object.assign({}, importOpts, defaultOptions)).then(function () { | |
reactData.loading = false; | |
storeData.visible = false; | |
}).catch(function () { | |
reactData.loading = false; | |
}); | |
}; | |
var renderVN = function renderVN() { | |
var defaultOptions = props.defaultOptions, | |
storeData = props.storeData; | |
var selectName = computeSelectName.value; | |
var hasFile = computeHasFile.value; | |
var parseTypeLabel = computeParseTypeLabel.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(modal, { | |
modelValue: storeData.visible, | |
title: conf.i18n('vxe.import.impTitle'), | |
width: 440, | |
mask: true, | |
lockView: true, | |
showFooter: false, | |
escClosable: true, | |
maskClosable: true, | |
loading: reactData.loading, | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
storeData.visible = value; | |
}, | |
onShow: showEvent | |
}, { | |
default: function _default() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-export--panel' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.import.impFile')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [hasFile ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-import-selected--file', | |
title: selectName | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', selectName), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: conf.icon.INPUT_CLEAR, | |
onClick: clearFileEvent | |
})]) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
ref: refFileBtn, | |
class: 'vxe-import-select--file', | |
onClick: selectFileEvent | |
}, conf.i18n('vxe.import.impSelect'))])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.import.impType')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', parseTypeLabel)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', conf.i18n('vxe.import.impOpts')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_group, { | |
modelValue: defaultOptions.mode, | |
'onUpdate:modelValue': function onUpdateModelValue(value) { | |
defaultOptions.mode = value; | |
} | |
}, { | |
default: function _default() { | |
return storeData.modeList.map(function (item) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_radio, { | |
label: item.value, | |
content: conf.i18n(item.label) | |
}); | |
}); | |
} | |
})])])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-export--panel-btns' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_button, { | |
content: conf.i18n('vxe.import.impCancel'), | |
onClick: cancelEvent | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(src_button, { | |
status: 'primary', | |
disabled: !hasFile, | |
content: conf.i18n('vxe.import.impConfirm'), | |
onClick: importEvent | |
})])]); | |
} | |
}); | |
}; | |
return renderVN; | |
} | |
})); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.repeat.js | |
var es_string_repeat = __webpack_require__("38cf"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.trim.js | |
var es_string_trim = __webpack_require__("498a"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.js | |
var es_map = __webpack_require__("4ec9"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js | |
var web_url = __webpack_require__("2b3d"); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.js | |
var web_url_search_params = __webpack_require__("9861"); | |
// CONCATENATED MODULE: ./packages/export/src/util.ts | |
// 导入 | |
var fileForm; | |
var fileInput; // 打印 | |
var printFrame; // 默认导出或打印的 HTML 样式 | |
var defaultHtmlStyle = 'body{margin:0;color:#333333;font-size:14px;font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table:not(.is--print){table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{border-color:#D0D0D0;border-style:solid;border-width:0}.vxe-table.is--print{width:100%}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table:not(.is--print) .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}'; | |
function createFrame() { | |
var frame = document.createElement('iframe'); | |
frame.className = 'vxe-table--print-frame'; | |
return frame; | |
} | |
function getExportBlobByContent(content, options) { | |
if (window.Blob) { | |
return new Blob([content], { | |
type: "text/".concat(options.type, ";charset=utf-8;") | |
}); | |
} | |
return null; | |
} | |
function createHtmlPage(opts, content) { | |
var style = opts.style; | |
return ['<!DOCTYPE html><html>', '<head>', '<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">', "<title>".concat(opts.sheetName, "</title>"), "<style>".concat(defaultHtmlStyle, "</style>"), style ? "<style>".concat(style, "</style>") : '', '</head>', "<body>".concat(content, "</body>"), '</html>'].join(''); | |
} | |
/** | |
* 读取本地文件 | |
* @param {*} options 参数 | |
*/ | |
var util_readLocalFile = function readLocalFile(options) { | |
var opts = Object.assign({}, options); | |
if (!fileForm) { | |
fileForm = document.createElement('form'); | |
fileInput = document.createElement('input'); | |
fileForm.className = 'vxe-table--file-form'; | |
fileInput.name = 'file'; | |
fileInput.type = 'file'; | |
fileForm.appendChild(fileInput); | |
document.body.appendChild(fileForm); | |
} | |
return new Promise(function (resolve, reject) { | |
var types = opts.types || []; | |
var isAllType = !types.length || types.some(function (type) { | |
return type === '*'; | |
}); | |
fileInput.multiple = !!opts.multiple; | |
fileInput.accept = isAllType ? '' : ".".concat(types.join(', .')); | |
fileInput.onchange = function (evnt) { | |
var files = evnt.target.files; | |
var file = files[0]; | |
var errType = ''; // 校验类型 | |
if (!isAllType) { | |
for (var fIndex = 0; fIndex < files.length; fIndex++) { | |
var _parseFile = parseFile(files[fIndex]), | |
type = _parseFile.type; | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.includes(types, type)) { | |
errType = type; | |
break; | |
} | |
} | |
} | |
if (!errType) { | |
resolve({ | |
status: true, | |
files: files, | |
file: file | |
}); | |
} else { | |
if (opts.message !== false) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
content: conf.i18n('vxe.error.notType', [errType]), | |
status: 'error' | |
}); | |
} | |
var params = { | |
status: false, | |
files: files, | |
file: file | |
}; | |
reject(params); | |
} | |
}; | |
fileForm.reset(); | |
fileInput.click(); | |
}); | |
}; | |
function removePrintFrame() { | |
if (printFrame) { | |
if (printFrame.parentNode) { | |
try { | |
printFrame.contentDocument.write(''); | |
} catch (e) {} | |
printFrame.parentNode.removeChild(printFrame); | |
} | |
printFrame = null; | |
} | |
} | |
function appendPrintFrame() { | |
if (!printFrame.parentNode) { | |
document.body.appendChild(printFrame); | |
} | |
} | |
function afterPrintEvent() { | |
requestAnimationFrame(removePrintFrame); | |
} | |
function handlePrint($xetable, opts) { | |
var content = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; | |
var beforePrintMethod = opts.beforePrintMethod; | |
if (beforePrintMethod) { | |
content = beforePrintMethod({ | |
content: content, | |
options: opts, | |
$table: $xetable | |
}) || ''; | |
} | |
content = createHtmlPage(opts, content); | |
var blob = getExportBlobByContent(content, opts); | |
if (browse.msie) { | |
removePrintFrame(); | |
printFrame = createFrame(); | |
appendPrintFrame(); | |
printFrame.contentDocument.write(content); | |
printFrame.contentDocument.execCommand('print'); | |
} else { | |
if (!printFrame) { | |
printFrame = createFrame(); | |
printFrame.onload = function (evnt) { | |
if (evnt.target.src) { | |
evnt.target.contentWindow.onafterprint = afterPrintEvent; | |
evnt.target.contentWindow.print(); | |
} | |
}; | |
} | |
appendPrintFrame(); | |
printFrame.src = URL.createObjectURL(blob); | |
} | |
} | |
/** | |
* 保存文件到本地 | |
* @param {*} options 参数 | |
*/ | |
var util_saveLocalFile = function saveLocalFile(options) { | |
var filename = options.filename, | |
type = options.type, | |
content = options.content; | |
var name = "".concat(filename, ".").concat(type); | |
if (window.Blob) { | |
var blob = content instanceof Blob ? content : getExportBlobByContent(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(content), options); | |
if (navigator.msSaveBlob) { | |
navigator.msSaveBlob(blob, name); | |
} else { | |
var url = URL.createObjectURL(blob); | |
var linkElem = document.createElement('a'); | |
linkElem.target = '_blank'; | |
linkElem.download = name; | |
linkElem.href = url; | |
document.body.appendChild(linkElem); | |
linkElem.click(); | |
requestAnimationFrame(function () { | |
if (linkElem.parentNode) { | |
linkElem.parentNode.removeChild(linkElem); | |
} | |
URL.revokeObjectURL(url); | |
}); | |
} | |
return Promise.resolve(); | |
} | |
return Promise.reject(new Error(getLog('vxe.error.notExp'))); | |
}; | |
// CONCATENATED MODULE: ./packages/export/src/hook.ts | |
var htmlCellElem; | |
var csvBOM = "\uFEFF"; | |
var enterSymbol = '\r\n'; | |
function defaultFilterExportColumn(column) { | |
return column.property || ['seq', 'checkbox', 'radio'].indexOf(column.type) > -1; | |
} | |
var hook_getConvertColumns = function getConvertColumns(columns) { | |
var result = []; | |
columns.forEach(function (column) { | |
if (column.childNodes && column.childNodes.length) { | |
result.push(column); | |
result.push.apply(result, _toConsumableArray(getConvertColumns(column.childNodes))); | |
} else { | |
result.push(column); | |
} | |
}); | |
return result; | |
}; | |
var convertToRows = function convertToRows(originColumns) { | |
var maxLevel = 1; | |
var traverse = function traverse(column, parent) { | |
if (parent) { | |
column._level = parent._level + 1; | |
if (maxLevel < column._level) { | |
maxLevel = column._level; | |
} | |
} | |
if (column.childNodes && column.childNodes.length) { | |
var colSpan = 0; | |
column.childNodes.forEach(function (subColumn) { | |
traverse(subColumn, column); | |
colSpan += subColumn._colSpan; | |
}); | |
column._colSpan = colSpan; | |
} else { | |
column._colSpan = 1; | |
} | |
}; | |
originColumns.forEach(function (column) { | |
column._level = 1; | |
traverse(column); | |
}); | |
var rows = []; | |
for (var i = 0; i < maxLevel; i++) { | |
rows.push([]); | |
} | |
var allColumns = hook_getConvertColumns(originColumns); | |
allColumns.forEach(function (column) { | |
if (column.childNodes && column.childNodes.length) { | |
column._rowSpan = 1; | |
} else { | |
column._rowSpan = maxLevel - column._level + 1; | |
} | |
rows[column._level - 1].push(column); | |
}); | |
return rows; | |
}; | |
function toTableBorder(border) { | |
if (border === true) { | |
return 'full'; | |
} | |
if (border) { | |
return border; | |
} | |
return 'default'; | |
} | |
function getBooleanValue(cellValue) { | |
return cellValue === 'TRUE' || cellValue === 'true' || cellValue === true; | |
} | |
function getHeaderTitle(opts, column) { | |
return (opts.original ? column.property : column.getTitle()) || ''; | |
} | |
function getFooterData(opts, footerTableData) { | |
var footerFilterMethod = opts.footerFilterMethod; | |
return footerFilterMethod ? footerTableData.filter(function (items, index) { | |
return footerFilterMethod({ | |
items: items, | |
$rowIndex: index | |
}); | |
}) : footerTableData; | |
} | |
function getCsvCellTypeLabel(column, cellValue) { | |
if (cellValue) { | |
if (column.type === 'seq') { | |
return "\t".concat(cellValue); | |
} | |
switch (column.cellType) { | |
case 'string': | |
if (!isNaN(cellValue)) { | |
return "\t".concat(cellValue); | |
} | |
break; | |
case 'number': | |
break; | |
default: | |
if (cellValue.length >= 12 && !isNaN(cellValue)) { | |
return "\t".concat(cellValue); | |
} | |
break; | |
} | |
} | |
return cellValue; | |
} | |
function toTxtCellLabel(val) { | |
if (/[",\s\n]/.test(val)) { | |
return "\"".concat(val.replace(/"/g, '""'), "\""); | |
} | |
return val; | |
} | |
function getElementsByTagName(elem, qualifiedName) { | |
return elem.getElementsByTagName(qualifiedName); | |
} | |
function getTxtCellKey(now) { | |
return "#".concat(now, "@").concat(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId()); | |
} | |
function replaceTxtCell(cell, vMaps) { | |
return cell.replace(/#\d+@\d+/g, function (key) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.hasOwnProp(vMaps, key) ? vMaps[key] : key; | |
}); | |
} | |
function getTxtCellValue(val, vMaps) { | |
var rest = replaceTxtCell(val, vMaps); | |
return rest.replace(/^"+$/g, function (qVal) { | |
return '"'.repeat(Math.ceil(qVal.length / 2)); | |
}); | |
} | |
function parseCsvAndTxt(columns, content, cellSeparator) { | |
var list = content.split(enterSymbol); | |
var rows = []; | |
var fields = []; | |
if (list.length) { | |
var vMaps = {}; | |
var now = Date.now(); | |
list.forEach(function (rVal) { | |
if (rVal) { | |
var item = {}; | |
rVal = rVal.replace(/("")|(\n)/g, function (text, dVal) { | |
var key = getTxtCellKey(now); | |
vMaps[key] = dVal ? '"' : '\n'; | |
return key; | |
}).replace(/"(.*?)"/g, function (text, cVal) { | |
var key = getTxtCellKey(now); | |
vMaps[key] = replaceTxtCell(cVal, vMaps); | |
return key; | |
}); | |
var cells = rVal.split(cellSeparator); | |
if (!fields.length) { | |
fields = cells.map(function (val) { | |
return getTxtCellValue(val.trim(), vMaps); | |
}); | |
} else { | |
cells.forEach(function (val, colIndex) { | |
if (colIndex < fields.length) { | |
item[fields[colIndex]] = getTxtCellValue(val.trim(), vMaps); | |
} | |
}); | |
rows.push(item); | |
} | |
} | |
}); | |
} | |
return { | |
fields: fields, | |
rows: rows | |
}; | |
} | |
function parseCsv(columns, content) { | |
return parseCsvAndTxt(columns, content, ','); | |
} | |
function parseTxt(columns, content) { | |
return parseCsvAndTxt(columns, content, '\t'); | |
} | |
function parseHTML(columns, content) { | |
var domParser = new DOMParser(); | |
var xmlDoc = domParser.parseFromString(content, 'text/html'); | |
var bodyNodes = getElementsByTagName(xmlDoc, 'body'); | |
var rows = []; | |
var fields = []; | |
if (bodyNodes.length) { | |
var tableNodes = getElementsByTagName(bodyNodes[0], 'table'); | |
if (tableNodes.length) { | |
var theadNodes = getElementsByTagName(tableNodes[0], 'thead'); | |
if (theadNodes.length) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(getElementsByTagName(theadNodes[0], 'tr'), function (rowNode) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(getElementsByTagName(rowNode, 'th'), function (cellNode) { | |
fields.push(cellNode.textContent); | |
}); | |
}); | |
var tbodyNodes = getElementsByTagName(tableNodes[0], 'tbody'); | |
if (tbodyNodes.length) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(getElementsByTagName(tbodyNodes[0], 'tr'), function (rowNode) { | |
var item = {}; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(getElementsByTagName(rowNode, 'td'), function (cellNode, colIndex) { | |
if (fields[colIndex]) { | |
item[fields[colIndex]] = cellNode.textContent || ''; | |
} | |
}); | |
rows.push(item); | |
}); | |
} | |
} | |
} | |
} | |
return { | |
fields: fields, | |
rows: rows | |
}; | |
} | |
function parseXML(columns, content) { | |
var domParser = new DOMParser(); | |
var xmlDoc = domParser.parseFromString(content, 'application/xml'); | |
var sheetNodes = getElementsByTagName(xmlDoc, 'Worksheet'); | |
var rows = []; | |
var fields = []; | |
if (sheetNodes.length) { | |
var tableNodes = getElementsByTagName(sheetNodes[0], 'Table'); | |
if (tableNodes.length) { | |
var rowNodes = getElementsByTagName(tableNodes[0], 'Row'); | |
if (rowNodes.length) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(getElementsByTagName(rowNodes[0], 'Cell'), function (cellNode) { | |
fields.push(cellNode.textContent); | |
}); | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(rowNodes, function (rowNode, index) { | |
if (index) { | |
var item = {}; | |
var cellNodes = getElementsByTagName(rowNode, 'Cell'); | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach(cellNodes, function (cellNode, colIndex) { | |
if (fields[colIndex]) { | |
item[fields[colIndex]] = cellNode.textContent; | |
} | |
}); | |
rows.push(item); | |
} | |
}); | |
} | |
} | |
} | |
return { | |
fields: fields, | |
rows: rows | |
}; | |
} | |
function clearColumnConvert(columns) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(columns, function (column) { | |
delete column._level; | |
delete column._colSpan; | |
delete column._rowSpan; | |
delete column._children; | |
delete column.childNodes; | |
}, { | |
children: 'children' | |
}); | |
} | |
/** | |
* 检查导入的列是否完整 | |
* @param {Array} fields 字段名列表 | |
* @param {Array} rows 数据列表 | |
*/ | |
function checkImportData(columns, fields) { | |
var tableFields = []; | |
columns.forEach(function (column) { | |
var field = column.property; | |
if (field) { | |
tableFields.push(field); | |
} | |
}); | |
return fields.some(function (field) { | |
return tableFields.indexOf(field) > -1; | |
}); | |
} | |
var tableExportMethodKeys = ['exportData', 'importByFile', 'importData', 'saveFile', 'readFile', 'print', 'openImport', 'openExport', 'openPrint']; | |
var tableExportHook = { | |
setupTable: function setupTable($xetable) { | |
var props = $xetable.props, | |
reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeTreeOpts = _$xetable$getComputeM.computeTreeOpts, | |
computePrintOpts = _$xetable$getComputeM.computePrintOpts, | |
computeExportOpts = _$xetable$getComputeM.computeExportOpts, | |
computeImportOpts = _$xetable$getComputeM.computeImportOpts, | |
computeCustomOpts = _$xetable$getComputeM.computeCustomOpts, | |
computeSeqOpts = _$xetable$getComputeM.computeSeqOpts, | |
computeRadioOpts = _$xetable$getComputeM.computeRadioOpts, | |
computeCheckboxOpts = _$xetable$getComputeM.computeCheckboxOpts; | |
var $xegrid = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xegrid', null); | |
var hasTreeChildren = function hasTreeChildren(row) { | |
var treeOpts = computeTreeOpts.value; | |
return row[treeOpts.children] && row[treeOpts.children].length; | |
}; | |
var getSeq = function getSeq(row, rowIndex, column, columnIndex) { | |
var seqOpts = computeSeqOpts.value; | |
var seqMethod = seqOpts.seqMethod || column.seqMethod; | |
if (seqMethod) { | |
return seqMethod({ | |
row: row, | |
rowIndex: rowIndex, | |
column: column, | |
columnIndex: columnIndex | |
}); | |
} | |
return $xetable.getRowSeq(row); | |
}; | |
var toBooleanValue = function toBooleanValue(cellValue) { | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isBoolean(cellValue) ? cellValue ? 'TRUE' : 'FALSE' : cellValue; | |
}; | |
var getLabelData = function getLabelData(opts, columns, datas) { | |
var isAllExpand = opts.isAllExpand; | |
var treeConfig = props.treeConfig; | |
var radioOpts = computeRadioOpts.value; | |
var checkboxOpts = computeCheckboxOpts.value; | |
var treeOpts = computeTreeOpts.value; | |
if (!htmlCellElem) { | |
htmlCellElem = document.createElement('div'); | |
} | |
if (treeConfig) { | |
// 如果是树表格只允许导出数据源 | |
var rest = []; | |
var expandMaps = new Map(); | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(datas, function (item, rowIndex, items, path, parent, nodes) { | |
var row = item._row || item; | |
var parentRow = parent && parent._row ? parent._row : parent; | |
if (isAllExpand || !parentRow || expandMaps.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)) { | |
var hasRowChild = hasTreeChildren(row); | |
var _item = { | |
_row: row, | |
_level: nodes.length - 1, | |
_hasChild: hasRowChild, | |
_expand: hasRowChild && $xetable.isTreeExpandByRow(row) | |
}; | |
columns.forEach(function (column, columnIndex) { | |
var cellValue = ''; | |
var renderOpts = column.editRender || column.cellRender; | |
var exportLabelMethod = column.exportMethod; | |
if (!exportLabelMethod && renderOpts && renderOpts.name) { | |
var compConf = VXETable.renderer.get(renderOpts.name); | |
if (compConf) { | |
exportLabelMethod = compConf.exportMethod; | |
} | |
} | |
if (exportLabelMethod) { | |
cellValue = exportLabelMethod({ | |
$table: $xetable, | |
row: row, | |
column: column, | |
options: opts | |
}); | |
} else { | |
switch (column.type) { | |
case 'seq': | |
cellValue = getSeq(row, rowIndex, column, columnIndex); | |
break; | |
case 'checkbox': | |
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row)); | |
_item._checkboxLabel = checkboxOpts.labelField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, checkboxOpts.labelField) : ''; | |
_item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({ | |
row: row | |
}); | |
break; | |
case 'radio': | |
cellValue = toBooleanValue($xetable.isCheckedByRadioRow(row)); | |
_item._radioLabel = radioOpts.labelField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, radioOpts.labelField) : ''; | |
_item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({ | |
row: row | |
}); | |
break; | |
default: | |
if (opts.original) { | |
cellValue = getCellValue(row, column); | |
} else { | |
cellValue = $xetable.getCellLabel(row, column); | |
if (column.type === 'html') { | |
htmlCellElem.innerHTML = cellValue; | |
cellValue = htmlCellElem.innerText.trim(); | |
} else { | |
var cell = $xetable.getCell(row, column); | |
if (cell) { | |
cellValue = cell.innerText.trim(); | |
} | |
} | |
} | |
} | |
} | |
_item[column.id] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(cellValue); | |
}); | |
expandMaps.set(row, 1); | |
rest.push(Object.assign(_item, row)); | |
} | |
}, treeOpts); | |
return rest; | |
} | |
return datas.map(function (row, rowIndex) { | |
var item = { | |
_row: row | |
}; | |
columns.forEach(function (column, columnIndex) { | |
var cellValue = ''; | |
var renderOpts = column.editRender || column.cellRender; | |
var exportLabelMethod = column.exportMethod; | |
if (!exportLabelMethod && renderOpts && renderOpts.name) { | |
var compConf = VXETable.renderer.get(renderOpts.name); | |
if (compConf) { | |
exportLabelMethod = compConf.exportMethod; | |
} | |
} | |
if (exportLabelMethod) { | |
cellValue = exportLabelMethod({ | |
$table: $xetable, | |
row: row, | |
column: column, | |
options: opts | |
}); | |
} else { | |
switch (column.type) { | |
case 'seq': | |
cellValue = getSeq(row, rowIndex, column, columnIndex); | |
break; | |
case 'checkbox': | |
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row)); | |
item._checkboxLabel = checkboxOpts.labelField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, checkboxOpts.labelField) : ''; | |
item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({ | |
row: row | |
}); | |
break; | |
case 'radio': | |
cellValue = toBooleanValue($xetable.isCheckedByRadioRow(row)); | |
item._radioLabel = radioOpts.labelField ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, radioOpts.labelField) : ''; | |
item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({ | |
row: row | |
}); | |
break; | |
default: | |
if (opts.original) { | |
cellValue = getCellValue(row, column); | |
} else { | |
cellValue = $xetable.getCellLabel(row, column); | |
if (column.type === 'html') { | |
htmlCellElem.innerHTML = cellValue; | |
cellValue = htmlCellElem.innerText.trim(); | |
} else { | |
var cell = $xetable.getCell(row, column); | |
if (cell) { | |
cellValue = cell.innerText.trim(); | |
} | |
} | |
} | |
} | |
} | |
item[column.id] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(cellValue); | |
}); | |
return item; | |
}); | |
}; | |
var getExportData = function getExportData(opts) { | |
var columns = opts.columns, | |
dataFilterMethod = opts.dataFilterMethod; | |
var datas = opts.data; | |
if (dataFilterMethod) { | |
datas = datas.filter(function (row, index) { | |
return dataFilterMethod({ | |
row: row, | |
$rowIndex: index | |
}); | |
}); | |
} | |
return getLabelData(opts, columns, datas); | |
}; | |
var getFooterCellValue = function getFooterCellValue(opts, items, column) { | |
var renderOpts = column.editRender || column.cellRender; | |
var exportLabelMethod = column.footerExportMethod; | |
if (!exportLabelMethod && renderOpts && renderOpts.name) { | |
var compConf = VXETable.renderer.get(renderOpts.name); | |
if (compConf) { | |
exportLabelMethod = compConf.footerExportMethod; | |
} | |
} | |
var _columnIndex = $xetable.getVTColumnIndex(column); | |
var cellValue = exportLabelMethod ? exportLabelMethod({ | |
$table: $xetable, | |
items: items, | |
itemIndex: _columnIndex, | |
_columnIndex: _columnIndex, | |
column: column, | |
options: opts | |
}) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(items[_columnIndex]); | |
return cellValue; | |
}; | |
var toCsv = function toCsv(opts, columns, datas) { | |
var content = csvBOM; | |
if (opts.isHeader) { | |
content += columns.map(function (column) { | |
return toTxtCellLabel(getHeaderTitle(opts, column)); | |
}).join(',') + enterSymbol; | |
} | |
datas.forEach(function (row) { | |
content += columns.map(function (column) { | |
return toTxtCellLabel(getCsvCellTypeLabel(column, row[column.id])); | |
}).join(',') + enterSymbol; | |
}); | |
if (opts.isFooter) { | |
var footerTableData = reactData.footerTableData; | |
var footers = getFooterData(opts, footerTableData); | |
footers.forEach(function (rows) { | |
content += columns.map(function (column) { | |
return toTxtCellLabel(getFooterCellValue(opts, rows, column)); | |
}).join(',') + enterSymbol; | |
}); | |
} | |
return content; | |
}; | |
var toTxt = function toTxt(opts, columns, datas) { | |
var content = ''; | |
if (opts.isHeader) { | |
content += columns.map(function (column) { | |
return toTxtCellLabel(getHeaderTitle(opts, column)); | |
}).join('\t') + enterSymbol; | |
} | |
datas.forEach(function (row) { | |
content += columns.map(function (column) { | |
return toTxtCellLabel(row[column.id]); | |
}).join('\t') + enterSymbol; | |
}); | |
if (opts.isFooter) { | |
var footerTableData = reactData.footerTableData; | |
var footers = getFooterData(opts, footerTableData); | |
footers.forEach(function (rows) { | |
content += columns.map(function (column) { | |
return toTxtCellLabel(getFooterCellValue(opts, rows, column)); | |
}).join(',') + enterSymbol; | |
}); | |
} | |
return content; | |
}; | |
var hasEllipsis = function hasEllipsis(column, property, allColumnOverflow) { | |
var columnOverflow = column[property]; | |
var headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(columnOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(columnOverflow) ? allColumnOverflow : columnOverflow; | |
var showEllipsis = headOverflow === 'ellipsis'; | |
var showTitle = headOverflow === 'title'; | |
var showTooltip = headOverflow === true || headOverflow === 'tooltip'; | |
var isEllipsis = showTitle || showTooltip || showEllipsis; // 虚拟滚动不支持动态高度 | |
var scrollXLoad = reactData.scrollXLoad, | |
scrollYLoad = reactData.scrollYLoad; | |
if ((scrollXLoad || scrollYLoad) && !isEllipsis) { | |
isEllipsis = true; | |
} | |
return isEllipsis; | |
}; | |
var toHtml = function toHtml(opts, columns, datas) { | |
var id = props.id, | |
border = props.border, | |
treeConfig = props.treeConfig, | |
allHeaderAlign = props.headerAlign, | |
allAlign = props.align, | |
allFooterAlign = props.footerAlign, | |
allColumnOverflow = props.showOverflow, | |
allColumnHeaderOverflow = props.showHeaderOverflow; | |
var isAllSelected = reactData.isAllSelected, | |
isIndeterminate = reactData.isIndeterminate, | |
mergeList = reactData.mergeList; | |
var treeOpts = computeTreeOpts.value; | |
var isPrint = opts.print, | |
isHeader = opts.isHeader, | |
isFooter = opts.isFooter, | |
isColgroup = opts.isColgroup, | |
isMerge = opts.isMerge, | |
colgroups = opts.colgroups, | |
original = opts.original; | |
var allCls = 'check-all'; | |
var clss = ['vxe-table', "border--".concat(toTableBorder(border)), isPrint ? 'is--print' : '', isHeader ? 'is--header' : ''].filter(function (cls) { | |
return cls; | |
}); | |
var tables = ["<table class=\"".concat(clss.join(' '), "\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"), "<colgroup>".concat(columns.map(function (column) { | |
return "<col style=\"width:".concat(column.renderWidth, "px\">"); | |
}).join(''), "</colgroup>")]; | |
if (isHeader) { | |
tables.push('<thead>'); | |
if (isColgroup && !original) { | |
colgroups.forEach(function (cols) { | |
tables.push("<tr>".concat(cols.map(function (column) { | |
var headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign; | |
var classNames = hasEllipsis(column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : []; | |
var cellTitle = getHeaderTitle(opts, column); | |
var childWidth = 0; | |
var countChild = 0; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree([column], function (item) { | |
if (!item.childNodes || !column.childNodes.length) { | |
countChild++; | |
} | |
childWidth += item.renderWidth; | |
}, { | |
children: 'childNodes' | |
}); | |
var cellWidth = childWidth - countChild; | |
if (headAlign) { | |
classNames.push("col--".concat(headAlign)); | |
} | |
if (column.type === 'checkbox') { | |
return "<th class=\"".concat(classNames.join(' '), "\" colspan=\"").concat(column._colSpan, "\" rowspan=\"").concat(column._rowSpan, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(cellWidth, "px\""), "><input type=\"checkbox\" class=\"").concat(allCls, "\" ").concat(isAllSelected ? 'checked' : '', "><span>").concat(cellTitle, "</span></div></th>"); | |
} | |
return "<th class=\"".concat(classNames.join(' '), "\" colspan=\"").concat(column._colSpan, "\" rowspan=\"").concat(column._rowSpan, "\" title=\"").concat(cellTitle, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(cellWidth, "px\""), "><span>").concat(formatText(cellTitle, true), "</span></div></th>"); | |
}).join(''), "</tr>")); | |
}); | |
} else { | |
tables.push("<tr>".concat(columns.map(function (column) { | |
var headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign; | |
var classNames = hasEllipsis(column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : []; | |
var cellTitle = getHeaderTitle(opts, column); | |
if (headAlign) { | |
classNames.push("col--".concat(headAlign)); | |
} | |
if (column.type === 'checkbox') { | |
return "<th class=\"".concat(classNames.join(' '), "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"checkbox\" class=\"").concat(allCls, "\" ").concat(isAllSelected ? 'checked' : '', "><span>").concat(cellTitle, "</span></div></th>"); | |
} | |
return "<th class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellTitle, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><span>").concat(formatText(cellTitle, true), "</span></div></th>"); | |
}).join(''), "</tr>")); | |
} | |
tables.push('</thead>'); | |
} | |
if (datas.length) { | |
tables.push('<tbody>'); | |
if (treeConfig) { | |
datas.forEach(function (item) { | |
tables.push('<tr>' + columns.map(function (column) { | |
var cellAlign = column.align || allAlign; | |
var classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : []; | |
var cellValue = item[column.id]; | |
if (cellAlign) { | |
classNames.push("col--".concat(cellAlign)); | |
} | |
if (column.treeNode) { | |
var treeIcon = ''; | |
if (item._hasChild) { | |
treeIcon = "<i class=\"".concat(item._expand ? 'vxe-table--tree-fold-icon' : 'vxe-table--tree-unfold-icon', "\"></i>"); | |
} | |
classNames.push('vxe-table--tree-node'); | |
if (column.type === 'radio') { | |
return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><div class=\"vxe-table--tree-node-wrapper\" style=\"padding-left: ").concat(item._level * treeOpts.indent, "px\"><div class=\"vxe-table--tree-icon-wrapper\">").concat(treeIcon, "</div><div class=\"vxe-table--tree-cell\"><input type=\"radio\" name=\"radio_").concat(id, "\" ").concat(item._radioDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._radioLabel, "</span></div></div></div></td>"); | |
} else if (column.type === 'checkbox') { | |
return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><div class=\"vxe-table--tree-node-wrapper\" style=\"padding-left: ").concat(item._level * treeOpts.indent, "px\"><div class=\"vxe-table--tree-icon-wrapper\">").concat(treeIcon, "</div><div class=\"vxe-table--tree-cell\"><input type=\"checkbox\" ").concat(item._checkboxDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._checkboxLabel, "</span></div></div></div></td>"); | |
} | |
return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><div class=\"vxe-table--tree-node-wrapper\" style=\"padding-left: ").concat(item._level * treeOpts.indent, "px\"><div class=\"vxe-table--tree-icon-wrapper\">").concat(treeIcon, "</div><div class=\"vxe-table--tree-cell\">").concat(cellValue, "</div></div></div></td>"); | |
} | |
if (column.type === 'radio') { | |
return "<td class=\"".concat(classNames.join(' '), "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"radio\" name=\"radio_").concat(id, "\" ").concat(item._radioDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._radioLabel, "</span></div></td>"); | |
} else if (column.type === 'checkbox') { | |
return "<td class=\"".concat(classNames.join(' '), "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"checkbox\" ").concat(item._checkboxDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._checkboxLabel, "</span></div></td>"); | |
} | |
return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), ">").concat(formatText(cellValue, true), "</div></td>"); | |
}).join('') + '</tr>'); | |
}); | |
} else { | |
datas.forEach(function (item) { | |
tables.push('<tr>' + columns.map(function (column) { | |
var cellAlign = column.align || allAlign; | |
var classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : []; | |
var cellValue = item[column.id]; | |
var rowSpan = 1; | |
var colSpan = 1; | |
if (isMerge && mergeList.length) { | |
var _rowIndex = $xetable.getVTRowIndex(item._row); | |
var _columnIndex = $xetable.getVTColumnIndex(column); | |
var spanRest = mergeBodyMethod(mergeList, _rowIndex, _columnIndex); | |
if (spanRest) { | |
var rowspan = spanRest.rowspan, | |
colspan = spanRest.colspan; | |
if (!rowspan || !colspan) { | |
return ''; | |
} | |
if (rowspan > 1) { | |
rowSpan = rowspan; | |
} | |
if (colspan > 1) { | |
colSpan = colspan; | |
} | |
} | |
} | |
if (cellAlign) { | |
classNames.push("col--".concat(cellAlign)); | |
} | |
if (column.type === 'radio') { | |
return "<td class=\"".concat(classNames.join(' '), "\" rowspan=\"").concat(rowSpan, "\" colspan=\"").concat(colSpan, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"radio\" name=\"radio_").concat(id, "\" ").concat(item._radioDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._radioLabel, "</span></div></td>"); | |
} else if (column.type === 'checkbox') { | |
return "<td class=\"".concat(classNames.join(' '), "\" rowspan=\"").concat(rowSpan, "\" colspan=\"").concat(colSpan, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"checkbox\" ").concat(item._checkboxDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._checkboxLabel, "</span></div></td>"); | |
} | |
return "<td class=\"".concat(classNames.join(' '), "\" rowspan=\"").concat(rowSpan, "\" colspan=\"").concat(colSpan, "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), ">").concat(formatText(cellValue, true), "</div></td>"); | |
}).join('') + '</tr>'); | |
}); | |
} | |
tables.push('</tbody>'); | |
} | |
if (isFooter) { | |
var footerTableData = reactData.footerTableData; | |
var footers = getFooterData(opts, footerTableData); | |
if (footers.length) { | |
tables.push('<tfoot>'); | |
footers.forEach(function (rows) { | |
tables.push("<tr>".concat(columns.map(function (column) { | |
var footAlign = column.footerAlign || column.align || allFooterAlign || allAlign; | |
var classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : []; | |
var cellValue = getFooterCellValue(opts, rows, column); | |
if (footAlign) { | |
classNames.push("col--".concat(footAlign)); | |
} | |
return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), ">").concat(formatText(cellValue, true), "</div></td>"); | |
}).join(''), "</tr>")); | |
}); | |
tables.push('</tfoot>'); | |
} | |
} // 是否半选状态 | |
var script = !isAllSelected && isIndeterminate ? "<script>(function(){var a=document.querySelector(\".".concat(allCls, "\");if(a){a.indeterminate=true}})()</script>") : ''; | |
tables.push('</table>', script); | |
return isPrint ? tables.join('') : createHtmlPage(opts, tables.join('')); | |
}; | |
var toXML = function toXML(opts, columns, datas) { | |
var xml = ['<?xml version="1.0"?>', '<?mso-application progid="Excel.Sheet"?>', '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">', '<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">', '<Version>16.00</Version>', '</DocumentProperties>', '<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">', '<WindowHeight>7920</WindowHeight>', '<WindowWidth>21570</WindowWidth>', '<WindowTopX>32767</WindowTopX>', '<WindowTopY>32767</WindowTopY>', '<ProtectStructure>False</ProtectStructure>', '<ProtectWindows>False</ProtectWindows>', '</ExcelWorkbook>', "<Worksheet ss:Name=\"".concat(opts.sheetName, "\">"), '<Table>', columns.map(function (column) { | |
return "<Column ss:Width=\"".concat(column.renderWidth, "\"/>"); | |
}).join('')].join(''); | |
if (opts.isHeader) { | |
xml += "<Row>".concat(columns.map(function (column) { | |
return "<Cell><Data ss:Type=\"String\">".concat(getHeaderTitle(opts, column), "</Data></Cell>"); | |
}).join(''), "</Row>"); | |
} | |
datas.forEach(function (row) { | |
xml += '<Row>' + columns.map(function (column) { | |
return "<Cell><Data ss:Type=\"String\">".concat(row[column.id], "</Data></Cell>"); | |
}).join('') + '</Row>'; | |
}); | |
if (opts.isFooter) { | |
var footerTableData = reactData.footerTableData; | |
var footers = getFooterData(opts, footerTableData); | |
footers.forEach(function (rows) { | |
xml += "<Row>".concat(columns.map(function (column) { | |
return "<Cell><Data ss:Type=\"String\">".concat(getFooterCellValue(opts, rows, column), "</Data></Cell>"); | |
}).join(''), "</Row>"); | |
}); | |
} | |
return "".concat(xml, "</Table></Worksheet></Workbook>"); | |
}; | |
var getContent = function getContent(opts, columns, datas) { | |
if (columns.length) { | |
switch (opts.type) { | |
case 'csv': | |
return toCsv(opts, columns, datas); | |
case 'txt': | |
return toTxt(opts, columns, datas); | |
case 'html': | |
return toHtml(opts, columns, datas); | |
case 'xml': | |
return toXML(opts, columns, datas); | |
} | |
} | |
return ''; | |
}; | |
var downloadFile = function downloadFile(opts, content) { | |
var filename = opts.filename, | |
type = opts.type, | |
download = opts.download; | |
if (!download) { | |
var blob = getExportBlobByContent(content, opts); | |
return Promise.resolve({ | |
type: type, | |
content: content, | |
blob: blob | |
}); | |
} | |
util_saveLocalFile({ | |
filename: filename, | |
type: type, | |
content: content | |
}).then(function () { | |
if (opts.message !== false) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
content: conf.i18n('vxe.table.expSuccess'), | |
status: 'success' | |
}); | |
} | |
}); | |
}; | |
var handleExport = function handleExport(opts) { | |
var remote = opts.remote, | |
columns = opts.columns, | |
colgroups = opts.colgroups, | |
exportMethod = opts.exportMethod, | |
afterExportMethod = opts.afterExportMethod; | |
return new Promise(function (resolve) { | |
if (remote) { | |
var params = { | |
options: opts, | |
$table: $xetable, | |
$grid: $xegrid | |
}; | |
resolve(exportMethod ? exportMethod(params) : params); | |
} else { | |
var datas = getExportData(opts); | |
resolve($xetable.preventEvent(null, 'event.export', { | |
options: opts, | |
columns: columns, | |
colgroups: colgroups, | |
datas: datas | |
}, function () { | |
return downloadFile(opts, getContent(opts, columns, datas)); | |
})); | |
} | |
}).then(function (params) { | |
clearColumnConvert(columns); | |
if (!opts.print) { | |
if (afterExportMethod) { | |
afterExportMethod({ | |
status: true, | |
options: opts, | |
$table: $xetable, | |
$grid: $xegrid | |
}); | |
} | |
} | |
return Object.assign({ | |
status: true | |
}, params); | |
}).catch(function () { | |
clearColumnConvert(columns); | |
if (!opts.print) { | |
if (afterExportMethod) { | |
afterExportMethod({ | |
status: false, | |
options: opts, | |
$table: $xetable, | |
$grid: $xegrid | |
}); | |
} | |
} | |
var params = { | |
status: false | |
}; | |
return Promise.reject(params); | |
}); | |
}; | |
var handleImport = function handleImport(content, opts) { | |
var tableFullColumn = internalData.tableFullColumn, | |
_importResolve = internalData._importResolve, | |
_importReject = internalData._importReject; | |
var rest = { | |
fields: [], | |
rows: [] | |
}; | |
switch (opts.type) { | |
case 'csv': | |
rest = parseCsv(tableFullColumn, content); | |
break; | |
case 'txt': | |
rest = parseTxt(tableFullColumn, content); | |
break; | |
case 'html': | |
rest = parseHTML(tableFullColumn, content); | |
break; | |
case 'xml': | |
rest = parseXML(tableFullColumn, content); | |
break; | |
} | |
var _rest = rest, | |
fields = _rest.fields, | |
rows = _rest.rows; | |
var status = checkImportData(tableFullColumn, fields); | |
if (status) { | |
$xetable.createData(rows).then(function (data) { | |
var loadRest; | |
if (opts.mode === 'insert') { | |
loadRest = $xetable.insert(data); | |
} else { | |
loadRest = $xetable.reloadData(data); | |
} | |
if (opts.message !== false) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
content: conf.i18n('vxe.table.impSuccess', [rows.length]), | |
status: 'success' | |
}); | |
} | |
return loadRest.then(function () { | |
if (_importResolve) { | |
_importResolve({ | |
status: true | |
}); | |
} | |
}); | |
}); | |
} else if (opts.message !== false) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
content: conf.i18n('vxe.error.impFields'), | |
status: 'error' | |
}); | |
if (_importReject) { | |
_importReject({ | |
status: false | |
}); | |
} | |
} | |
}; | |
var handleFileImport = function handleFileImport(file, opts) { | |
var importMethod = opts.importMethod, | |
afterImportMethod = opts.afterImportMethod; | |
var _parseFile = parseFile(file), | |
type = _parseFile.type, | |
filename = _parseFile.filename; // 检查类型,如果为自定义导出,则不需要校验类型 | |
if (!importMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.includes(VXETable.config.importTypes, type)) { | |
if (opts.message !== false) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
content: conf.i18n('vxe.error.notType', [type]), | |
status: 'error' | |
}); | |
} | |
var params = { | |
status: false | |
}; | |
return Promise.reject(params); | |
} | |
var rest = new Promise(function (resolve, reject) { | |
var _importResolve = function _importResolve(params) { | |
resolve(params); | |
internalData._importResolve = null; | |
internalData._importReject = null; | |
}; | |
var _importReject = function _importReject(params) { | |
reject(params); | |
internalData._importResolve = null; | |
internalData._importReject = null; | |
}; | |
internalData._importResolve = _importResolve; | |
internalData._importReject = _importReject; | |
if (window.FileReader) { | |
var options = Object.assign({ | |
mode: 'insert' | |
}, opts, { | |
type: type, | |
filename: filename | |
}); | |
if (options.remote) { | |
if (importMethod) { | |
Promise.resolve(importMethod({ | |
file: file, | |
options: options, | |
$table: $xetable | |
})).then(function () { | |
_importResolve({ | |
status: true | |
}); | |
}).catch(function () { | |
_importResolve({ | |
status: true | |
}); | |
}); | |
} else { | |
_importResolve({ | |
status: true | |
}); | |
} | |
} else { | |
var tableFullColumn = internalData.tableFullColumn; | |
$xetable.preventEvent(null, 'event.import', { | |
file: file, | |
options: options, | |
columns: tableFullColumn | |
}, function () { | |
var reader = new FileReader(); | |
reader.onerror = function () { | |
errLog('vxe.error.notType', [type]); | |
_importReject({ | |
status: false | |
}); | |
}; | |
reader.onload = function (e) { | |
handleImport(e.target.result, options); | |
}; | |
reader.readAsText(file, 'UTF-8'); | |
}); | |
} | |
} else { | |
// 不支持的浏览器 | |
if (true) { | |
errLog('vxe.error.notExp'); | |
} | |
_importResolve({ | |
status: true | |
}); | |
} | |
}); | |
return rest.then(function () { | |
if (afterImportMethod) { | |
afterImportMethod({ | |
status: true, | |
options: opts, | |
$table: $xetable | |
}); | |
} | |
}).catch(function (e) { | |
if (afterImportMethod) { | |
afterImportMethod({ | |
status: false, | |
options: opts, | |
$table: $xetable | |
}); | |
} | |
return Promise.reject(e); | |
}); | |
}; | |
var handleExportAndPrint = function handleExportAndPrint(options, isPrint) { | |
var treeConfig = props.treeConfig, | |
showHeader = props.showHeader, | |
showFooter = props.showFooter; | |
var initStore = reactData.initStore, | |
mergeList = reactData.mergeList, | |
isGroup = reactData.isGroup, | |
footerTableData = reactData.footerTableData, | |
exportStore = reactData.exportStore, | |
exportParams = reactData.exportParams; | |
var collectColumn = internalData.collectColumn; | |
var hasTree = treeConfig; | |
var customOpts = computeCustomOpts.value; | |
var selectRecords = $xetable.getCheckboxRecords(); | |
var hasFooter = !!footerTableData.length; | |
var hasMerge = !hasTree && mergeList.length; | |
var defOpts = Object.assign({ | |
message: true, | |
isHeader: showHeader, | |
isFooter: showFooter | |
}, options); | |
var types = defOpts.types || VXETable.config.exportTypes; | |
var modes = defOpts.modes; | |
var checkMethod = customOpts.checkMethod; | |
var exportColumns = collectColumn.slice(0); | |
var columns = defOpts.columns; // 处理类型 | |
var typeList = types.map(function (value) { | |
return { | |
value: value, | |
label: "vxe.export.types.".concat(value) | |
}; | |
}); | |
var modeList = modes.map(function (value) { | |
return { | |
value: value, | |
label: "vxe.export.modes.".concat(value) | |
}; | |
}); // 默认选中 | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(exportColumns, function (column, index, items, path, parent) { | |
var isColGroup = column.children && column.children.length; | |
if (isColGroup || defaultFilterExportColumn(column)) { | |
column.checked = columns ? columns.some(function (item) { | |
if (isColumnInfo(item)) { | |
return column === item; | |
} else if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(item)) { | |
return column.field === item; | |
} else { | |
var colid = item.id || item.colId; | |
var type = item.type; | |
var field = item.property || item.field; | |
if (colid) { | |
return column.id === colid; | |
} else if (field && type) { | |
return column.property === field && column.type === type; | |
} else if (field) { | |
return column.property === field; | |
} else if (type) { | |
return column.type === type; | |
} | |
} | |
}) : column.visible; | |
column.halfChecked = false; | |
column.disabled = parent && parent.disabled || (checkMethod ? !checkMethod({ | |
column: column | |
}) : false); | |
} | |
}); // 更新条件 | |
Object.assign(exportStore, { | |
columns: exportColumns, | |
typeList: typeList, | |
modeList: modeList, | |
hasFooter: hasFooter, | |
hasMerge: hasMerge, | |
hasTree: hasTree, | |
isPrint: isPrint, | |
hasColgroup: isGroup, | |
visible: true | |
}); // 默认参数 | |
if (!initStore.export) { | |
Object.assign(exportParams, { | |
mode: selectRecords.length ? 'selected' : 'current' | |
}, defOpts); | |
} | |
if (modes.indexOf(exportParams.mode) === -1) { | |
exportParams.mode = modes[0]; | |
} | |
if (types.indexOf(exportParams.type) === -1) { | |
exportParams.type = types[0]; | |
} | |
initStore.export = true; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}; | |
var exportMethods = { | |
/** | |
* 导出文件,支持 csv/html/xml/txt | |
* 如果是树表格,则默认是导出所有节点 | |
* 如果是启用了虚拟滚动,则只能导出数据源,可以配合 dataFilterMethod 函数自行转换数据 | |
* @param {Object} options 参数 | |
*/ | |
exportData: function exportData(options) { | |
var treeConfig = props.treeConfig; | |
var isGroup = reactData.isGroup, | |
tableGroupColumn = reactData.tableGroupColumn; | |
var tableFullColumn = internalData.tableFullColumn, | |
afterFullData = internalData.afterFullData; | |
var exportOpts = computeExportOpts.value; | |
var treeOpts = computeTreeOpts.value; | |
var opts = Object.assign({ | |
// filename: '', | |
// sheetName: '', | |
// original: false, | |
// message: false, | |
isHeader: true, | |
isFooter: true, | |
isColgroup: true, | |
// isMerge: false, | |
// isAllExpand: false, | |
download: true, | |
type: 'csv', | |
mode: 'current' // data: null, | |
// remote: false, | |
// dataFilterMethod: null, | |
// footerFilterMethod: null, | |
// exportMethod: null, | |
// columnFilterMethod: null, | |
// beforeExportMethod: null, | |
// afterExportMethod: null | |
}, exportOpts, { | |
print: false | |
}, options); | |
var type = opts.type, | |
mode = opts.mode, | |
columns = opts.columns, | |
original = opts.original, | |
beforeExportMethod = opts.beforeExportMethod; | |
var groups = []; | |
var customCols = columns && columns.length ? columns : null; | |
var columnFilterMethod = opts.columnFilterMethod; // 如果设置源数据,则默认导出设置了字段的列 | |
if (!customCols && !columnFilterMethod) { | |
columnFilterMethod = original ? function (_ref) { | |
var column = _ref.column; | |
return column.property; | |
} : function (_ref2) { | |
var column = _ref2.column; | |
return defaultFilterExportColumn(column); | |
}; | |
} | |
if (customCols) { | |
groups = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.searchTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.mapTree(customCols, function (item) { | |
var targetColumn; | |
if (item) { | |
if (isColumnInfo(item)) { | |
targetColumn = item; | |
} else if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(item)) { | |
targetColumn = $xetable.getColumnByField(item); | |
} else { | |
var colid = item.id || item.colId; | |
var _type = item.type; | |
var field = item.property || item.field; | |
if (colid) { | |
targetColumn = $xetable.getColumnById(colid); | |
} else if (field && _type) { | |
targetColumn = tableFullColumn.find(function (column) { | |
return column.property === field && column.type === _type; | |
}); | |
} else if (field) { | |
targetColumn = $xetable.getColumnByField(field); | |
} else if (_type) { | |
targetColumn = tableFullColumn.find(function (column) { | |
return column.type === _type; | |
}); | |
} | |
} | |
return targetColumn || {}; | |
} | |
}, { | |
children: 'childNodes', | |
mapChildren: '_children' | |
}), function (column, index) { | |
return isColumnInfo(column) && (!columnFilterMethod || columnFilterMethod({ | |
column: column, | |
$columnIndex: index | |
})); | |
}, { | |
children: '_children', | |
mapChildren: 'childNodes', | |
original: true | |
}); | |
} else { | |
groups = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.searchTree(isGroup ? tableGroupColumn : tableFullColumn, function (column, index) { | |
return column.visible && (!columnFilterMethod || columnFilterMethod({ | |
column: column, | |
$columnIndex: index | |
})); | |
}, { | |
children: 'children', | |
mapChildren: 'childNodes', | |
original: true | |
}); | |
} // 获取所有列 | |
var cols = []; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(groups, function (column) { | |
var isColGroup = column.children && column.children.length; | |
if (!isColGroup) { | |
cols.push(column); | |
} | |
}, { | |
children: 'childNodes' | |
}); // 构建分组层级 | |
opts.columns = cols; | |
opts.colgroups = convertToRows(groups); | |
if (!opts.filename) { | |
opts.filename = conf.i18n(opts.original ? 'vxe.table.expOriginFilename' : 'vxe.table.expFilename', [external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toDateString(Date.now(), 'yyyyMMddHHmmss')]); | |
} | |
if (!opts.sheetName) { | |
opts.sheetName = document.title; | |
} // 检查类型,如果为自定义导出,则不需要校验类型 | |
if (!opts.exportMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.includes(VXETable.config.exportTypes, type)) { | |
if (true) { | |
errLog('vxe.error.notType', [type]); | |
} | |
var params = { | |
status: false | |
}; | |
return Promise.reject(params); | |
} | |
if (!opts.print) { | |
if (beforeExportMethod) { | |
beforeExportMethod({ | |
options: opts, | |
$table: $xetable, | |
$grid: $xegrid | |
}); | |
} | |
} | |
if (!opts.data) { | |
opts.data = afterFullData; | |
if (mode === 'selected') { | |
var selectRecords = $xetable.getCheckboxRecords(); | |
if (['html', 'pdf'].indexOf(type) > -1 && treeConfig) { | |
opts.data = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.searchTree($xetable.getTableData().fullData, function (item) { | |
return $xetable.findRowIndexOf(selectRecords, item) > -1; | |
}, Object.assign({}, treeOpts, { | |
data: '_row' | |
})); | |
} else { | |
opts.data = selectRecords; | |
} | |
} else if (mode === 'all') { | |
if (true) { | |
if (!$xegrid) { | |
warnLog('vxe.error.errProp', ['all', 'mode=current,selected']); | |
} | |
} | |
if ($xegrid && !opts.remote) { | |
var gridReactData = $xegrid.reactData; | |
var _$xegrid$getComputeMa = $xegrid.getComputeMaps(), | |
computeProxyOpts = _$xegrid$getComputeMa.computeProxyOpts; | |
var proxyOpts = computeProxyOpts.value; | |
var beforeQueryAll = proxyOpts.beforeQueryAll, | |
afterQueryAll = proxyOpts.afterQueryAll, | |
_proxyOpts$ajax = proxyOpts.ajax, | |
ajax = _proxyOpts$ajax === void 0 ? {} : _proxyOpts$ajax, | |
_proxyOpts$props = proxyOpts.props, | |
_props = _proxyOpts$props === void 0 ? {} : _proxyOpts$props; | |
var ajaxMethods = ajax.queryAll; | |
if (true) { | |
if (!ajaxMethods) { | |
warnLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll']); | |
} | |
} | |
if (ajaxMethods) { | |
var _params = { | |
$table: $xetable, | |
$grid: $xegrid, | |
sort: gridReactData.sortData, | |
filters: gridReactData.filterData, | |
form: gridReactData.formData, | |
target: ajaxMethods, | |
options: opts | |
}; | |
return Promise.resolve((beforeQueryAll || ajaxMethods)(_params)).catch(function (e) { | |
return e; | |
}).then(function (rest) { | |
opts.data = (_props.list ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(rest, _props.list) : rest) || []; | |
if (afterQueryAll) { | |
afterQueryAll(_params); | |
} | |
return handleExport(opts); | |
}); | |
} | |
} | |
} | |
} | |
return handleExport(opts); | |
}, | |
importByFile: function importByFile(file, options) { | |
var opts = Object.assign({}, options); | |
var beforeImportMethod = opts.beforeImportMethod; | |
if (beforeImportMethod) { | |
beforeImportMethod({ | |
options: opts, | |
$table: $xetable | |
}); | |
} | |
return handleFileImport(file, opts); | |
}, | |
importData: function importData(options) { | |
var importOpts = computeImportOpts.value; | |
var opts = Object.assign({ | |
types: VXETable.config.importTypes // beforeImportMethod: null, | |
// afterImportMethod: null | |
}, importOpts, options); | |
var beforeImportMethod = opts.beforeImportMethod, | |
afterImportMethod = opts.afterImportMethod; | |
if (beforeImportMethod) { | |
beforeImportMethod({ | |
options: opts, | |
$table: $xetable | |
}); | |
} | |
return util_readLocalFile(opts).catch(function (e) { | |
if (afterImportMethod) { | |
afterImportMethod({ | |
status: false, | |
options: opts, | |
$table: $xetable | |
}); | |
} | |
return Promise.reject(e); | |
}).then(function (params) { | |
var file = params.file; | |
return handleFileImport(file, opts); | |
}); | |
}, | |
saveFile: function saveFile(options) { | |
return util_saveLocalFile(options); | |
}, | |
readFile: function readFile(options) { | |
return util_readLocalFile(options); | |
}, | |
print: function print(options) { | |
var printOpts = computePrintOpts.value; | |
var opts = Object.assign({ | |
original: false // beforePrintMethod | |
}, printOpts, options, { | |
type: 'html', | |
download: false, | |
remote: false, | |
print: true | |
}); | |
if (!opts.sheetName) { | |
opts.sheetName = document.title; | |
} | |
return new Promise(function (resolve) { | |
if (opts.content) { | |
resolve(handlePrint($xetable, opts, opts.content)); | |
} else { | |
resolve(exportMethods.exportData(opts).then(function (_ref3) { | |
var content = _ref3.content; | |
return handlePrint($xetable, opts, content); | |
})); | |
} | |
}); | |
}, | |
openImport: function openImport(options) { | |
var treeConfig = props.treeConfig, | |
importConfig = props.importConfig; | |
var initStore = reactData.initStore, | |
importStore = reactData.importStore, | |
importParams = reactData.importParams; | |
var importOpts = computeImportOpts.value; | |
var defOpts = Object.assign({ | |
mode: 'insert', | |
message: true, | |
types: VXETable.config.importTypes | |
}, options, importOpts); | |
var types = defOpts.types; | |
var isTree = !!treeConfig; | |
if (isTree) { | |
if (defOpts.message) { | |
VXETable.modal.message({ | |
content: conf.i18n('vxe.error.treeNotImp'), | |
status: 'error' | |
}); | |
} | |
return; | |
} | |
if (!importConfig) { | |
errLog('vxe.error.reqProp', ['import-config']); | |
} // 处理类型 | |
var typeList = types.map(function (value) { | |
return { | |
value: value, | |
label: "vxe.export.types.".concat(value) | |
}; | |
}); | |
var modeList = defOpts.modes.map(function (value) { | |
return { | |
value: value, | |
label: "vxe.import.modes.".concat(value) | |
}; | |
}); | |
Object.assign(importStore, { | |
file: null, | |
type: '', | |
filename: '', | |
modeList: modeList, | |
typeList: typeList, | |
visible: true | |
}); | |
Object.assign(importParams, defOpts); | |
initStore.import = true; | |
}, | |
openExport: function openExport(options) { | |
var exportOpts = computeExportOpts.value; | |
if (true) { | |
if (!props.exportConfig) { | |
errLog('vxe.error.reqProp', ['export-config']); | |
} | |
} | |
handleExportAndPrint(Object.assign({}, exportOpts, options)); | |
}, | |
openPrint: function openPrint(options) { | |
var printOpts = computePrintOpts.value; | |
if (true) { | |
if (!props.printConfig) { | |
errLog('vxe.error.reqProp', ['print-config']); | |
} | |
} | |
handleExportAndPrint(Object.assign({}, printOpts, options), true); | |
} | |
}; | |
return exportMethods; | |
}, | |
setupGrid: function setupGrid($xegrid) { | |
return $xegrid.extendTableMethods(tableExportMethodKeys); | |
} | |
}; | |
/* harmony default export */ var export_src_hook = (tableExportHook); | |
// CONCATENATED MODULE: ./packages/export/index.ts | |
var export_print = function print(options) { | |
var opts = Object.assign({}, options, { | |
type: 'html' | |
}); | |
handlePrint(null, opts, opts.content); | |
}; | |
var Export = { | |
ExportPanel: export_panel, | |
ImportPanel: import_panel, | |
install: function install(app) { | |
VXETable.saveFile = util_saveLocalFile; | |
VXETable.readFile = util_readLocalFile; | |
VXETable.print = export_print; | |
VXETable.setup({ | |
export: { | |
types: { | |
csv: 0, | |
html: 0, | |
xml: 0, | |
txt: 0 | |
} | |
} | |
}); | |
VXETable.hooks.add('$tableExport', export_src_hook); | |
dynamicApp.component(export_panel.name, export_panel); | |
dynamicApp.component(import_panel.name, import_panel); | |
app.component(export_panel.name, export_panel); | |
app.component(import_panel.name, import_panel); | |
} | |
}; | |
/* harmony default export */ var packages_export = (Export); | |
// CONCATENATED MODULE: ./packages/keyboard/src/hook.ts | |
function getTargetOffset(target, container) { | |
var offsetTop = 0; | |
var offsetLeft = 0; | |
var triggerCheckboxLabel = !browse.firefox && hasClass(target, 'vxe-checkbox--label'); | |
if (triggerCheckboxLabel) { | |
var checkboxLabelStyle = getComputedStyle(target); | |
offsetTop -= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(checkboxLabelStyle.paddingTop); | |
offsetLeft -= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(checkboxLabelStyle.paddingLeft); | |
} | |
while (target && target !== container) { | |
offsetTop += target.offsetTop; | |
offsetLeft += target.offsetLeft; | |
target = target.offsetParent; | |
if (triggerCheckboxLabel) { | |
var checkboxStyle = getComputedStyle(target); | |
offsetTop -= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(checkboxStyle.paddingTop); | |
offsetLeft -= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(checkboxStyle.paddingLeft); | |
} | |
} | |
return { | |
offsetTop: offsetTop, | |
offsetLeft: offsetLeft | |
}; | |
} | |
var tableKeyboardHook = { | |
setupTable: function setupTable($xetable) { | |
var props = $xetable.props, | |
reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
refElem = _$xetable$getRefMaps.refElem; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeEditOpts = _$xetable$getComputeM.computeEditOpts, | |
computeCheckboxOpts = _$xetable$getComputeM.computeCheckboxOpts, | |
computeMouseOpts = _$xetable$getComputeM.computeMouseOpts, | |
computeTreeOpts = _$xetable$getComputeM.computeTreeOpts; | |
function getCheckboxRangeRows(params, targetTrElem, moveRange) { | |
var countHeight = 0; | |
var rangeRows = []; | |
var isDown = moveRange > 0; | |
var moveSize = moveRange > 0 ? moveRange : Math.abs(moveRange) + targetTrElem.offsetHeight; | |
var scrollYLoad = reactData.scrollYLoad; | |
var afterFullData = internalData.afterFullData, | |
scrollYStore = internalData.scrollYStore; | |
if (scrollYLoad) { | |
var _rowIndex = $xetable.getVTRowIndex(params.row); | |
if (isDown) { | |
rangeRows = afterFullData.slice(_rowIndex, _rowIndex + Math.ceil(moveSize / scrollYStore.rowHeight)); | |
} else { | |
rangeRows = afterFullData.slice(_rowIndex - Math.floor(moveSize / scrollYStore.rowHeight) + 1, _rowIndex + 1); | |
} | |
} else { | |
var siblingProp = isDown ? 'next' : 'previous'; | |
while (targetTrElem && countHeight < moveSize) { | |
var rowNodeRest = $xetable.getRowNode(targetTrElem); | |
if (rowNodeRest) { | |
rangeRows.push(rowNodeRest.item); | |
countHeight += targetTrElem.offsetHeight; | |
targetTrElem = targetTrElem["".concat(siblingProp, "ElementSibling")]; | |
} | |
} | |
} | |
return rangeRows; | |
} | |
var handleCheckboxRangeEvent = function handleCheckboxRangeEvent(evnt, params) { | |
var column = params.column, | |
cell = params.cell; | |
if (column.type === 'checkbox') { | |
var el = refElem.value; | |
var elemStore = internalData.elemStore; | |
var disX = evnt.clientX; | |
var disY = evnt.clientY; | |
var bodyWrapperElem = elemStore["".concat(column.fixed || 'main', "-body-wrapper")] || elemStore['main-body-wrapper']; | |
var checkboxRangeElem = bodyWrapperElem.querySelector('.vxe-table--checkbox-range'); | |
var domMousemove = document.onmousemove; | |
var domMouseup = document.onmouseup; | |
var trElem = cell.parentNode; | |
var selectRecords = $xetable.getCheckboxRecords(); | |
var lastRangeRows = []; | |
var marginSize = 1; | |
var offsetRest = getTargetOffset(evnt.target, bodyWrapperElem); | |
var startTop = offsetRest.offsetTop + evnt.offsetY; | |
var startLeft = offsetRest.offsetLeft + evnt.offsetX; | |
var startScrollTop = bodyWrapperElem.scrollTop; | |
var rowHeight = trElem.offsetHeight; | |
var mouseScrollTimeout = null; | |
var isMouseScrollDown = false; | |
var mouseScrollSpaceSize = 1; | |
var triggerEvent = function triggerEvent(type, evnt) { | |
$xetable.dispatchEvent("checkbox-range-".concat(type), { | |
records: $xetable.getCheckboxRecords(), | |
reserves: $xetable.getCheckboxReserveRecords() | |
}, evnt); | |
}; | |
var handleChecked = function handleChecked(evnt) { | |
var clientX = evnt.clientX, | |
clientY = evnt.clientY; | |
var offsetLeft = clientX - disX; | |
var offsetTop = clientY - disY + (bodyWrapperElem.scrollTop - startScrollTop); | |
var rangeHeight = Math.abs(offsetTop); | |
var rangeWidth = Math.abs(offsetLeft); | |
var rangeTop = startTop; | |
var rangeLeft = startLeft; | |
if (offsetTop < marginSize) { | |
// 向上 | |
rangeTop += offsetTop; | |
if (rangeTop < marginSize) { | |
rangeTop = marginSize; | |
rangeHeight = startTop; | |
} | |
} else { | |
// 向下 | |
rangeHeight = Math.min(rangeHeight, bodyWrapperElem.scrollHeight - startTop - marginSize); | |
} | |
if (offsetLeft < marginSize) { | |
// 向左 | |
rangeLeft += offsetLeft; | |
if (rangeWidth > startLeft) { | |
rangeLeft = marginSize; | |
rangeWidth = startLeft; | |
} | |
} else { | |
// 向右 | |
rangeWidth = Math.min(rangeWidth, bodyWrapperElem.clientWidth - startLeft - marginSize); | |
} | |
checkboxRangeElem.style.height = "".concat(rangeHeight, "px"); | |
checkboxRangeElem.style.width = "".concat(rangeWidth, "px"); | |
checkboxRangeElem.style.left = "".concat(rangeLeft, "px"); | |
checkboxRangeElem.style.top = "".concat(rangeTop, "px"); | |
checkboxRangeElem.style.display = 'block'; | |
var rangeRows = getCheckboxRangeRows(params, trElem, offsetTop < marginSize ? -rangeHeight : rangeHeight); // 至少滑动 10px 才能有效匹配 | |
if (rangeHeight > 10 && rangeRows.length !== lastRangeRows.length) { | |
lastRangeRows = rangeRows; | |
if (evnt.ctrlKey) { | |
rangeRows.forEach(function (row) { | |
$xetable.handleSelectRow({ | |
row: row | |
}, selectRecords.indexOf(row) === -1); | |
}); | |
} else { | |
$xetable.setAllCheckboxRow(false); | |
$xetable.setCheckboxRow(rangeRows, true); | |
} | |
triggerEvent('change', evnt); | |
} | |
}; // 停止鼠标滚动 | |
var stopMouseScroll = function stopMouseScroll() { | |
clearTimeout(mouseScrollTimeout); | |
mouseScrollTimeout = null; | |
}; // 开始鼠标滚动 | |
var startMouseScroll = function startMouseScroll(evnt) { | |
stopMouseScroll(); | |
mouseScrollTimeout = setTimeout(function () { | |
if (mouseScrollTimeout) { | |
var scrollLeft = bodyWrapperElem.scrollLeft, | |
scrollTop = bodyWrapperElem.scrollTop, | |
clientHeight = bodyWrapperElem.clientHeight, | |
scrollHeight = bodyWrapperElem.scrollHeight; | |
var topSize = Math.ceil(mouseScrollSpaceSize * 50 / rowHeight); | |
if (isMouseScrollDown) { | |
if (scrollTop + clientHeight < scrollHeight) { | |
$xetable.scrollTo(scrollLeft, scrollTop + topSize); | |
startMouseScroll(evnt); | |
handleChecked(evnt); | |
} else { | |
stopMouseScroll(); | |
} | |
} else { | |
if (scrollTop) { | |
$xetable.scrollTo(scrollLeft, scrollTop - topSize); | |
startMouseScroll(evnt); | |
handleChecked(evnt); | |
} else { | |
stopMouseScroll(); | |
} | |
} | |
} | |
}, 50); | |
}; | |
addClass(el, 'drag--range'); | |
document.onmousemove = function (evnt) { | |
evnt.preventDefault(); | |
evnt.stopPropagation(); | |
var clientY = evnt.clientY; | |
var _getAbsolutePos = getAbsolutePos(bodyWrapperElem), | |
boundingTop = _getAbsolutePos.boundingTop; // 如果超过可视区,触发滚动 | |
if (clientY < boundingTop) { | |
isMouseScrollDown = false; | |
mouseScrollSpaceSize = boundingTop - clientY; | |
if (!mouseScrollTimeout) { | |
startMouseScroll(evnt); | |
} | |
} else if (clientY > boundingTop + bodyWrapperElem.clientHeight) { | |
isMouseScrollDown = true; | |
mouseScrollSpaceSize = clientY - boundingTop - bodyWrapperElem.clientHeight; | |
if (!mouseScrollTimeout) { | |
startMouseScroll(evnt); | |
} | |
} else if (mouseScrollTimeout) { | |
stopMouseScroll(); | |
} | |
handleChecked(evnt); | |
}; | |
document.onmouseup = function (evnt) { | |
stopMouseScroll(); | |
removeClass(el, 'drag--range'); | |
checkboxRangeElem.removeAttribute('style'); | |
document.onmousemove = domMousemove; | |
document.onmouseup = domMouseup; | |
triggerEvent('end', evnt); | |
}; | |
triggerEvent('start', evnt); | |
} | |
}; | |
var handleCellMousedownEvent = function handleCellMousedownEvent(evnt, params) { | |
var editConfig = props.editConfig, | |
checkboxConfig = props.checkboxConfig, | |
mouseConfig = props.mouseConfig; | |
var checkboxOpts = computeCheckboxOpts.value; | |
var mouseOpts = computeMouseOpts.value; | |
var editOpts = computeEditOpts.value; | |
if (mouseConfig && mouseOpts.area && $xetable.handleCellAreaEvent) { | |
return $xetable.handleCellAreaEvent(evnt, params); | |
} else { | |
if (checkboxConfig && checkboxOpts.range) { | |
handleCheckboxRangeEvent(evnt, params); | |
} | |
if (mouseConfig && mouseOpts.selected) { | |
if (!editConfig || editOpts.mode === 'cell') { | |
$xetable.handleSelected(params, evnt); | |
} | |
} | |
} | |
}; | |
var keyboardMethods = { | |
// 处理 Tab 键移动 | |
moveTabSelected: function moveTabSelected(args, isLeft, evnt) { | |
var editConfig = props.editConfig; | |
var afterFullData = internalData.afterFullData, | |
visibleColumn = internalData.visibleColumn; | |
var editOpts = computeEditOpts.value; | |
var targetRow; | |
var targetRowIndex; | |
var targetColumnIndex; | |
var params = Object.assign({}, args); | |
var _rowIndex = $xetable.getVTRowIndex(params.row); | |
var _columnIndex = $xetable.getVTColumnIndex(params.column); | |
evnt.preventDefault(); | |
if (isLeft) { | |
// 向左 | |
if (_columnIndex <= 0) { | |
// 如果已经是第一列,则移动到上一行 | |
if (_rowIndex > 0) { | |
targetRowIndex = _rowIndex - 1; | |
targetRow = afterFullData[targetRowIndex]; | |
targetColumnIndex = visibleColumn.length - 1; | |
} | |
} else { | |
targetColumnIndex = _columnIndex - 1; | |
} | |
} else { | |
if (_columnIndex >= visibleColumn.length - 1) { | |
// 如果已经是第一列,则移动到上一行 | |
if (_rowIndex < afterFullData.length - 1) { | |
targetRowIndex = _rowIndex + 1; | |
targetRow = afterFullData[targetRowIndex]; | |
targetColumnIndex = 0; | |
} | |
} else { | |
targetColumnIndex = _columnIndex + 1; | |
} | |
} | |
var targetColumn = visibleColumn[targetColumnIndex]; | |
if (targetColumn) { | |
if (targetRow) { | |
params.rowIndex = targetRowIndex; | |
params.row = targetRow; | |
} else { | |
params.rowIndex = _rowIndex; | |
} | |
params.columnIndex = targetColumnIndex; | |
params.column = targetColumn; | |
params.cell = $xetable.getCell(params.row, params.column); | |
if (editConfig) { | |
if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') { | |
if (editOpts.mode === 'row') { | |
$xetable.handleActived(params, evnt); | |
} else { | |
$xetable.scrollToRow(params.row, params.column).then(function () { | |
return $xetable.handleSelected(params, evnt); | |
}); | |
} | |
} | |
} else { | |
$xetable.scrollToRow(params.row, params.column).then(function () { | |
return $xetable.handleSelected(params, evnt); | |
}); | |
} | |
} | |
}, | |
// 处理当前行方向键移动 | |
moveCurrentRow: function moveCurrentRow(isUpArrow, isDwArrow, evnt) { | |
var treeConfig = props.treeConfig; | |
var currentRow = reactData.currentRow; | |
var afterFullData = internalData.afterFullData; | |
var treeOpts = computeTreeOpts.value; | |
var targetRow; | |
evnt.preventDefault(); | |
if (currentRow) { | |
if (treeConfig) { | |
var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(afterFullData, function (item) { | |
return item === currentRow; | |
}, treeOpts), | |
index = _XEUtils$findTree.index, | |
items = _XEUtils$findTree.items; | |
if (isUpArrow && index > 0) { | |
targetRow = items[index - 1]; | |
} else if (isDwArrow && index < items.length - 1) { | |
targetRow = items[index + 1]; | |
} | |
} else { | |
var _rowIndex = $xetable.getVTRowIndex(currentRow); | |
if (isUpArrow && _rowIndex > 0) { | |
targetRow = afterFullData[_rowIndex - 1]; | |
} else if (isDwArrow && _rowIndex < afterFullData.length - 1) { | |
targetRow = afterFullData[_rowIndex + 1]; | |
} | |
} | |
} else { | |
targetRow = afterFullData[0]; | |
} | |
if (targetRow) { | |
var params = { | |
$table: $xetable, | |
row: targetRow, | |
rowIndex: $xetable.getRowIndex(targetRow), | |
$rowIndex: $xetable.getVMRowIndex(targetRow) | |
}; | |
$xetable.scrollToRow(targetRow).then(function () { | |
return $xetable.triggerCurrentRowEvent(evnt, params); | |
}); | |
} | |
}, | |
// 处理可编辑方向键移动 | |
moveSelected: function moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) { | |
var afterFullData = internalData.afterFullData, | |
visibleColumn = internalData.visibleColumn; | |
var params = Object.assign({}, args); | |
var _rowIndex = $xetable.getVTRowIndex(params.row); | |
var _columnIndex = $xetable.getVTColumnIndex(params.column); | |
evnt.preventDefault(); | |
if (isUpArrow && _rowIndex > 0) { | |
// 移动到上一行 | |
params.rowIndex = _rowIndex - 1; | |
params.row = afterFullData[params.rowIndex]; | |
} else if (isDwArrow && _rowIndex < afterFullData.length - 1) { | |
// 移动到下一行 | |
params.rowIndex = _rowIndex + 1; | |
params.row = afterFullData[params.rowIndex]; | |
} else if (isLeftArrow && _columnIndex) { | |
// 移动到左侧单元格 | |
params.columnIndex = _columnIndex - 1; | |
params.column = visibleColumn[params.columnIndex]; | |
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) { | |
// 移动到右侧单元格 | |
params.columnIndex = _columnIndex + 1; | |
params.column = visibleColumn[params.columnIndex]; | |
} | |
$xetable.scrollToRow(params.row, params.column).then(function () { | |
params.cell = $xetable.getCell(params.row, params.column); | |
$xetable.handleSelected(params, evnt); | |
}); | |
}, | |
/** | |
* 表头单元格按下事件 | |
*/ | |
triggerHeaderCellMousedownEvent: function triggerHeaderCellMousedownEvent(evnt, params) { | |
var mouseConfig = props.mouseConfig; | |
var mouseOpts = computeMouseOpts.value; | |
if (mouseConfig && mouseOpts.area && $xetable.handleHeaderCellAreaEvent) { | |
var cell = evnt.currentTarget; | |
var triggerSort = getEventTargetNode(evnt, cell, 'vxe-cell--sort').flag; | |
var triggerFilter = getEventTargetNode(evnt, cell, 'vxe-cell--filter').flag; | |
$xetable.handleHeaderCellAreaEvent(evnt, Object.assign({ | |
cell: cell, | |
triggerSort: triggerSort, | |
triggerFilter: triggerFilter | |
}, params)); | |
} | |
$xetable.focus(); | |
if ($xetable.closeMenu) { | |
$xetable.closeMenu(); | |
} | |
}, | |
/** | |
* 单元格按下事件 | |
*/ | |
triggerCellMousedownEvent: function triggerCellMousedownEvent(evnt, params) { | |
var cell = evnt.currentTarget; | |
params.cell = cell; | |
handleCellMousedownEvent(evnt, params); | |
$xetable.focus(); | |
$xetable.closeFilter(); | |
if ($xetable.closeMenu) { | |
$xetable.closeMenu(); | |
} | |
} | |
}; | |
return keyboardMethods; | |
} | |
}; | |
/* harmony default export */ var keyboard_src_hook = (tableKeyboardHook); | |
// CONCATENATED MODULE: ./packages/keyboard/index.ts | |
var Keyboard = { | |
install: function install() { | |
VXETable.hooks.add('$tableKeyboard', keyboard_src_hook); | |
} | |
}; | |
/* harmony default export */ var packages_keyboard = (Keyboard); | |
// CONCATENATED MODULE: ./packages/validator/src/hook.ts | |
/** | |
* 校验规则 | |
*/ | |
var hook_Rule = /*#__PURE__*/function () { | |
function Rule(rule) { | |
_classCallCheck(this, Rule); | |
Object.assign(this, { | |
$options: rule, | |
required: rule.required, | |
min: rule.min, | |
max: rule.max, | |
type: rule.type, | |
pattern: rule.pattern, | |
validator: rule.validator, | |
trigger: rule.trigger, | |
maxWidth: rule.maxWidth | |
}); | |
} | |
/** | |
* 获取校验不通过的消息 | |
* 支持国际化翻译 | |
*/ | |
_createClass(Rule, [{ | |
key: "content", | |
get: function get() { | |
return getFuncText(this.$options.content || this.$options.message); | |
} | |
}, { | |
key: "message", | |
get: function get() { | |
return this.content; | |
} | |
}]); | |
return Rule; | |
}(); | |
var tableValidatorMethodKeys = ['fullValidate', 'validate', 'clearValidate']; | |
var validatorHook = { | |
setupTable: function setupTable($xetable) { | |
var props = $xetable.props, | |
reactData = $xetable.reactData, | |
internalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
refValidTooltip = _$xetable$getRefMaps.refValidTooltip; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeValidOpts = _$xetable$getComputeM.computeValidOpts, | |
computeTreeOpts = _$xetable$getComputeM.computeTreeOpts, | |
computeEditOpts = _$xetable$getComputeM.computeEditOpts; | |
var validatorMethods = {}; | |
var validatorPrivateMethods = {}; | |
var validRuleErr; | |
/** | |
* 聚焦到校验通过的单元格并弹出校验错误提示 | |
*/ | |
var handleValidError = function handleValidError(params) { | |
return new Promise(function (resolve) { | |
var validOpts = computeValidOpts.value; | |
if (validOpts.autoPos === false) { | |
$xetable.dispatchEvent('valid-error', params, null); | |
resolve(); | |
} else { | |
$xetable.handleActived(params, { | |
type: 'valid-error', | |
trigger: 'call' | |
}).then(function () { | |
setTimeout(function () { | |
resolve(validatorPrivateMethods.showValidTooltip(params)); | |
}, 10); | |
}); | |
} | |
}); | |
}; | |
/** | |
* 对表格数据进行校验 | |
* 如果不指定数据,则默认只校验临时变动的数据,例如新增或修改 | |
* 如果传 true 则校验当前表格数据 | |
* 如果传 row 指定行记录,则只验证传入的行 | |
* 如果传 rows 为多行记录,则只验证传入的行 | |
* 如果只传 callback 否则默认验证整个表格数据 | |
* 返回 Promise 对象,或者使用回调方式 | |
*/ | |
var beginValidate = function beginValidate(rows, cb, isFull) { | |
var validRest = {}; | |
var editRules = props.editRules, | |
treeConfig = props.treeConfig; | |
var afterFullData = internalData.afterFullData; | |
var treeOpts = computeTreeOpts.value; | |
var validOpts = computeValidOpts.value; | |
var vaildDatas; | |
if (rows === true) { | |
vaildDatas = afterFullData; | |
} else if (rows) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(rows)) { | |
cb = rows; | |
} else { | |
vaildDatas = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(rows) ? rows : [rows]; | |
} | |
} | |
if (!vaildDatas) { | |
if ($xetable.getInsertRecords) { | |
vaildDatas = $xetable.getInsertRecords().concat($xetable.getUpdateRecords()); | |
} else { | |
vaildDatas = []; | |
} | |
} | |
var rowValids = []; | |
internalData._lastCallTime = Date.now(); | |
validRuleErr = false; // 如果为快速校验,当存在某列校验不通过时将终止执行 | |
validatorMethods.clearValidate(); | |
if (editRules) { | |
var columns = $xetable.getColumns(); | |
var handleVaild = function handleVaild(row) { | |
if (isFull || !validRuleErr) { | |
var colVailds = []; | |
columns.forEach(function (column) { | |
if ((isFull || !validRuleErr) && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.has(editRules, column.property)) { | |
colVailds.push(validatorPrivateMethods.validCellRules('all', row, column).catch(function (_ref) { | |
var rule = _ref.rule, | |
rules = _ref.rules; | |
var rest = { | |
rule: rule, | |
rules: rules, | |
rowIndex: $xetable.getRowIndex(row), | |
row: row, | |
columnIndex: $xetable.getColumnIndex(column), | |
column: column, | |
$table: $xetable | |
}; | |
if (!validRest[column.property]) { | |
validRest[column.property] = []; | |
} | |
validRest[column.property].push(rest); | |
if (!isFull) { | |
validRuleErr = true; | |
return Promise.reject(rest); | |
} | |
})); | |
} | |
}); | |
rowValids.push(Promise.all(colVailds)); | |
} | |
}; | |
if (treeConfig) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(vaildDatas, handleVaild, treeOpts); | |
} else { | |
vaildDatas.forEach(handleVaild); | |
} | |
return Promise.all(rowValids).then(function () { | |
var ruleProps = Object.keys(validRest); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
if (ruleProps.length) { | |
return Promise.reject(validRest[ruleProps[0]][0]); | |
} | |
if (cb) { | |
cb(); | |
} | |
}); | |
}).catch(function (firstErrParams) { | |
return new Promise(function (resolve) { | |
var finish = function finish() { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
if (cb) { | |
cb(validRest); | |
resolve(); | |
} else { | |
resolve(validRest); | |
} | |
}); | |
}; | |
var posAndFinish = function posAndFinish() { | |
firstErrParams.cell = $xetable.getCell(firstErrParams.row, firstErrParams.column); | |
scrollToView(firstErrParams.cell); | |
handleValidError(firstErrParams).then(finish); | |
}; | |
/** | |
* 当校验不通过时 | |
* 将表格滚动到可视区 | |
* 由于提示信息至少需要占一行,定位向上偏移一行 | |
*/ | |
var row = firstErrParams.row; | |
var rowIndex = afterFullData.indexOf(row); | |
var locatRow = rowIndex > 0 ? afterFullData[rowIndex - 1] : row; | |
if (validOpts.autoPos === false) { | |
finish(); | |
} else { | |
if (treeConfig) { | |
$xetable.scrollToTreeRow(locatRow).then(posAndFinish); | |
} else { | |
$xetable.scrollToRow(locatRow).then(posAndFinish); | |
} | |
} | |
}); | |
}); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
if (cb) { | |
cb(); | |
} | |
}); | |
}; | |
validatorMethods = { | |
/** | |
* 完整校验,和 validate 的区别就是会给有效数据中的每一行进行校验 | |
*/ | |
fullValidate: function fullValidate(rows, cb) { | |
return beginValidate(rows, cb, true); | |
}, | |
/** | |
* 快速校验,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外) | |
*/ | |
validate: function validate(rows, cb) { | |
return beginValidate(rows, cb); | |
}, | |
clearValidate: function clearValidate() { | |
var validStore = reactData.validStore; | |
var validTip = refValidTooltip.value; | |
Object.assign(validStore, { | |
visible: false, | |
row: null, | |
column: null, | |
content: '', | |
rule: null | |
}); | |
if (validTip && validTip.reactData.visible) { | |
validTip.close(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
} | |
}; | |
var validErrorRuleValue = function validErrorRuleValue(rule, val) { | |
var type = rule.type, | |
min = rule.min, | |
max = rule.max, | |
pattern = rule.pattern; | |
var isNumType = type === 'number'; | |
var numVal = isNumType ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(val) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getSize(val); // 判断数值 | |
if (isNumType && isNaN(val)) { | |
return true; | |
} // 如果存在 min,判断最小值 | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(min) && numVal < external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(min)) { | |
return true; | |
} // 如果存在 max,判断最大值 | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(max) && numVal > external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(max)) { | |
return true; | |
} // 如果存在 pattern,正则校验 | |
if (pattern && !(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isRegExp(pattern) ? pattern : new RegExp(pattern)).test(val)) { | |
return true; | |
} | |
return false; | |
}; | |
validatorPrivateMethods = { | |
/** | |
* 校验数据 | |
* 按表格行、列顺序依次校验(同步或异步) | |
* 校验规则根据索引顺序依次校验,如果是异步则会等待校验完成才会继续校验下一列 | |
* 如果校验失败则,触发回调或者Promise<不通过列的错误消息> | |
* 如果是传回调方式这返回一个校验不通过列的错误消息 | |
* | |
* rule 配置: | |
* required=Boolean 是否必填 | |
* min=Number 最小长度 | |
* max=Number 最大长度 | |
* validator=Function({ cellValue, rule, rules, row, column, rowIndex, columnIndex }) 自定义校验,接收一个 Promise | |
* trigger=blur|change 触发方式(除非特殊场景,否则默认为空就行) | |
*/ | |
validCellRules: function validCellRules(validType, row, column, val) { | |
var editRules = props.editRules; | |
var property = column.property; | |
var errorRules = []; | |
var syncVailds = []; | |
if (property && editRules) { | |
var rules = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(editRules, property); | |
if (rules) { | |
var cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(val) ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property) : val; | |
rules.forEach(function (rule) { | |
var type = rule.type, | |
trigger = rule.trigger, | |
required = rule.required; | |
if (validType === 'all' || !trigger || validType === trigger) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(rule.validator)) { | |
var customValid = rule.validator({ | |
cellValue: cellValue, | |
rule: rule, | |
rules: rules, | |
row: row, | |
rowIndex: $xetable.getRowIndex(row), | |
column: column, | |
columnIndex: $xetable.getColumnIndex(column), | |
$table: $xetable | |
}); | |
if (customValid) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isError(customValid)) { | |
validRuleErr = true; | |
errorRules.push(new hook_Rule({ | |
type: 'custom', | |
trigger: trigger, | |
content: customValid.message, | |
rule: new hook_Rule(rule) | |
})); | |
} else if (customValid.catch) { | |
// 如果为异步校验(注:异步校验是并发无序的) | |
syncVailds.push(customValid.catch(function (e) { | |
validRuleErr = true; | |
errorRules.push(new hook_Rule({ | |
type: 'custom', | |
trigger: trigger, | |
content: e && e.message ? e.message : rule.content || rule.message, | |
rule: new hook_Rule(rule) | |
})); | |
})); | |
} | |
} | |
} else { | |
var isArrType = type === 'array'; | |
var hasEmpty = isArrType ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(cellValue) || !cellValue.length : eqEmptyValue(cellValue); | |
if (required ? hasEmpty || validErrorRuleValue(rule, cellValue) : !hasEmpty && validErrorRuleValue(rule, cellValue)) { | |
validRuleErr = true; | |
errorRules.push(new hook_Rule(rule)); | |
} | |
} | |
} | |
}); | |
} | |
} | |
return Promise.all(syncVailds).then(function () { | |
if (errorRules.length) { | |
var rest = { | |
rules: errorRules, | |
rule: errorRules[0] | |
}; | |
return Promise.reject(rest); | |
} | |
}); | |
}, | |
hasCellRules: function hasCellRules(type, row, column) { | |
var editRules = props.editRules; | |
var property = column.property; | |
if (property && editRules) { | |
var rules = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(editRules, property); | |
return rules && !!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.find(rules, function (rule) { | |
return type === 'all' || !rule.trigger || type === rule.trigger; | |
}); | |
} | |
return false; | |
}, | |
/** | |
* 触发校验 | |
*/ | |
triggerValidate: function triggerValidate(type) { | |
var editConfig = props.editConfig, | |
editRules = props.editRules; | |
var editStore = reactData.editStore, | |
validStore = reactData.validStore; | |
var actived = editStore.actived; | |
var editOpts = computeEditOpts.value; | |
if (editConfig && editRules && actived.row) { | |
var _actived$args = actived.args, | |
row = _actived$args.row, | |
column = _actived$args.column, | |
cell = _actived$args.cell; | |
if (validatorPrivateMethods.hasCellRules(type, row, column)) { | |
return validatorPrivateMethods.validCellRules(type, row, column).then(function () { | |
if (editOpts.mode === 'row') { | |
if (validStore.visible && validStore.row === row && validStore.column === column) { | |
validatorMethods.clearValidate(); | |
} | |
} | |
}).catch(function (_ref2) { | |
var rule = _ref2.rule; | |
// 如果校验不通过与触发方式一致,则聚焦提示错误,否则跳过并不作任何处理 | |
if (!rule.trigger || type === rule.trigger) { | |
var rest = { | |
rule: rule, | |
row: row, | |
column: column, | |
cell: cell | |
}; | |
validatorPrivateMethods.showValidTooltip(rest); | |
return Promise.reject(rest); | |
} | |
return Promise.resolve(); | |
}); | |
} | |
} | |
return Promise.resolve(); | |
}, | |
/** | |
* 弹出校验错误提示 | |
*/ | |
showValidTooltip: function showValidTooltip(params) { | |
var height = props.height; | |
var tableData = reactData.tableData, | |
validStore = reactData.validStore; | |
var validOpts = computeValidOpts.value; | |
var rule = params.rule, | |
row = params.row, | |
column = params.column, | |
cell = params.cell; | |
var validTip = refValidTooltip.value; | |
var content = rule.content; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
Object.assign(validStore, { | |
row: row, | |
column: column, | |
rule: rule, | |
content: content, | |
visible: true | |
}); | |
$xetable.dispatchEvent('valid-error', params, null); | |
if (validTip && (validOpts.message === 'tooltip' || validOpts.message === 'default' && !height && tableData.length < 2)) { | |
return validTip.open(cell, content); | |
} | |
}); | |
} | |
}; | |
return _objectSpread2(_objectSpread2({}, validatorMethods), validatorPrivateMethods); | |
}, | |
setupGrid: function setupGrid($xegrid) { | |
return $xegrid.extendTableMethods(tableValidatorMethodKeys); | |
} | |
}; | |
/* harmony default export */ var validator_src_hook = (validatorHook); | |
// CONCATENATED MODULE: ./packages/validator/index.ts | |
var Validator = { | |
install: function install() { | |
VXETable.hooks.add('$tableValidator', validator_src_hook); | |
} | |
}; | |
/* harmony default export */ var validator = (Validator); | |
// CONCATENATED MODULE: ./packages/header/src/util.ts | |
var util_getAllColumns = function getAllColumns(columns, parentColumn) { | |
var result = []; | |
columns.forEach(function (column) { | |
column.parentId = parentColumn ? parentColumn.id : null; | |
if (column.visible) { | |
if (column.children && column.children.length && column.children.some(function (column) { | |
return column.visible; | |
})) { | |
result.push(column); | |
result.push.apply(result, _toConsumableArray(getAllColumns(column.children, column))); | |
} else { | |
result.push(column); | |
} | |
} | |
}); | |
return result; | |
}; | |
var util_convertToRows = function convertToRows(originColumns) { | |
var maxLevel = 1; | |
var traverse = function traverse(column, parent) { | |
if (parent) { | |
column.level = parent.level + 1; | |
if (maxLevel < column.level) { | |
maxLevel = column.level; | |
} | |
} | |
if (column.children && column.children.length && column.children.some(function (column) { | |
return column.visible; | |
})) { | |
var colSpan = 0; | |
column.children.forEach(function (subColumn) { | |
if (subColumn.visible) { | |
traverse(subColumn, column); | |
colSpan += subColumn.colSpan; | |
} | |
}); | |
column.colSpan = colSpan; | |
} else { | |
column.colSpan = 1; | |
} | |
}; | |
originColumns.forEach(function (column) { | |
column.level = 1; | |
traverse(column); | |
}); | |
var rows = []; | |
for (var i = 0; i < maxLevel; i++) { | |
rows.push([]); | |
} | |
var allColumns = util_getAllColumns(originColumns); | |
allColumns.forEach(function (column) { | |
if (column.children && column.children.length && column.children.some(function (column) { | |
return column.visible; | |
})) { | |
column.rowSpan = 1; | |
} else { | |
column.rowSpan = maxLevel - column.level + 1; | |
} | |
rows[column.level - 1].push(column); | |
}); | |
return rows; | |
}; | |
// CONCATENATED MODULE: ./packages/header/src/header.ts | |
var renderType = 'header'; | |
/* harmony default export */ var header = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeTableHeader', | |
props: { | |
tableData: Array, | |
tableColumn: Array, | |
tableGroupColumn: Array, | |
fixedColumn: Array, | |
fixedType: { | |
type: String, | |
default: null | |
} | |
}, | |
setup: function setup(props) { | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var xID = $xetable.xID, | |
tableProps = $xetable.props, | |
tableReactData = $xetable.reactData, | |
tableInternalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
tableRefElem = _$xetable$getRefMaps.refElem, | |
refTableBody = _$xetable$getRefMaps.refTableBody, | |
refLeftContainer = _$xetable$getRefMaps.refLeftContainer, | |
refRightContainer = _$xetable$getRefMaps.refRightContainer, | |
refCellResizeBar = _$xetable$getRefMaps.refCellResizeBar; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeColumnOpts = _$xetable$getComputeM.computeColumnOpts; | |
var headerColumn = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])([]); | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refHeaderTable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refHeaderColgroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refHeaderTHead = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refHeaderXSpace = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refHeaderBorderRepair = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var uploadColumn = function uploadColumn() { | |
var isGroup = tableReactData.isGroup; | |
headerColumn.value = isGroup ? util_convertToRows(props.tableGroupColumn) : []; | |
}; | |
var resizeMousedown = function resizeMousedown(evnt, params) { | |
var column = params.column; | |
var fixedType = props.fixedType; | |
var tableBody = refTableBody.value; | |
var leftContainerElem = refLeftContainer.value; | |
var rightContainerElem = refRightContainer.value; | |
var resizeBarElem = refCellResizeBar.value; | |
var dragClientX = evnt.clientX; | |
var wrapperElem = refElem.value; | |
var dragBtnElem = evnt.target; | |
var cell = params.cell = dragBtnElem.parentNode; | |
var dragLeft = 0; | |
var tableBodyElem = tableBody.$el; | |
var pos = getOffsetPos(dragBtnElem, wrapperElem); | |
var dragBtnWidth = dragBtnElem.clientWidth; | |
var dragBtnOffsetWidth = Math.floor(dragBtnWidth / 2); | |
var minInterval = getColMinWidth(params) - dragBtnOffsetWidth; // 列之间的最小间距 | |
var dragMinLeft = pos.left - cell.clientWidth + dragBtnWidth + minInterval; | |
var dragPosLeft = pos.left + dragBtnOffsetWidth; | |
var domMousemove = document.onmousemove; | |
var domMouseup = document.onmouseup; | |
var isLeftFixed = fixedType === 'left'; | |
var isRightFixed = fixedType === 'right'; | |
var tableEl = tableRefElem.value; // 计算左右侧固定列偏移量 | |
var fixedOffsetWidth = 0; | |
if (isLeftFixed || isRightFixed) { | |
var siblingProp = isLeftFixed ? 'nextElementSibling' : 'previousElementSibling'; | |
var tempCellElem = cell[siblingProp]; | |
while (tempCellElem) { | |
if (hasClass(tempCellElem, 'fixed--hidden')) { | |
break; | |
} else if (!hasClass(tempCellElem, 'col--group')) { | |
fixedOffsetWidth += tempCellElem.offsetWidth; | |
} | |
tempCellElem = tempCellElem[siblingProp]; | |
} | |
if (isRightFixed && rightContainerElem) { | |
dragPosLeft = rightContainerElem.offsetLeft + fixedOffsetWidth; | |
} | |
} // 处理拖动事件 | |
var updateEvent = function updateEvent(evnt) { | |
evnt.stopPropagation(); | |
evnt.preventDefault(); | |
var offsetX = evnt.clientX - dragClientX; | |
var left = dragPosLeft + offsetX; | |
var scrollLeft = fixedType ? 0 : tableBodyElem.scrollLeft; | |
if (isLeftFixed) { | |
// 左固定列(不允许超过右侧固定列、不允许超过右边距) | |
left = Math.min(left, (rightContainerElem ? rightContainerElem.offsetLeft : tableBodyElem.clientWidth) - fixedOffsetWidth - minInterval); | |
} else if (isRightFixed) { | |
// 右侧固定列(不允许超过左侧固定列、不允许超过左边距) | |
dragMinLeft = (leftContainerElem ? leftContainerElem.clientWidth : 0) + fixedOffsetWidth + minInterval; | |
left = Math.min(left, dragPosLeft + cell.clientWidth - minInterval); | |
} else { | |
dragMinLeft = Math.max(tableBodyElem.scrollLeft, dragMinLeft); // left = Math.min(left, tableBodyElem.clientWidth + tableBodyElem.scrollLeft - 40) | |
} | |
dragLeft = Math.max(left, dragMinLeft); | |
resizeBarElem.style.left = "".concat(dragLeft - scrollLeft, "px"); | |
}; | |
tableInternalData._isResize = true; | |
addClass(tableEl, 'drag--resize'); | |
resizeBarElem.style.display = 'block'; | |
document.onmousemove = updateEvent; | |
document.onmouseup = function (evnt) { | |
document.onmousemove = domMousemove; | |
document.onmouseup = domMouseup; | |
column.resizeWidth = column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft); | |
resizeBarElem.style.display = 'none'; | |
tableInternalData._isResize = false; | |
tableInternalData._lastResizeTime = Date.now(); | |
$xetable.analyColumnWidth(); | |
$xetable.recalculate(true).then(function () { | |
$xetable.saveCustomResizable(); | |
$xetable.updateCellAreas(); | |
$xetable.dispatchEvent('resizable-change', params, evnt); | |
}); | |
removeClass(tableEl, 'drag--resize'); | |
}; | |
updateEvent(evnt); | |
if ($xetable.closeMenu) { | |
$xetable.closeMenu(); | |
} | |
}; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.tableColumn; | |
}, uploadColumn); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var fixedType = props.fixedType; | |
var internalData = $xetable.internalData; | |
var elemStore = internalData.elemStore; | |
var prefix = "".concat(fixedType || 'main', "-header-"); | |
elemStore["".concat(prefix, "wrapper")] = refElem.value; | |
elemStore["".concat(prefix, "table")] = refHeaderTable.value; | |
elemStore["".concat(prefix, "colgroup")] = refHeaderColgroup.value; | |
elemStore["".concat(prefix, "list")] = refHeaderTHead.value; | |
elemStore["".concat(prefix, "xSpace")] = refHeaderXSpace.value; | |
elemStore["".concat(prefix, "repair")] = refHeaderBorderRepair.value; | |
uploadColumn(); | |
}); | |
var renderVN = function renderVN() { | |
var fixedType = props.fixedType, | |
fixedColumn = props.fixedColumn, | |
tableColumn = props.tableColumn; | |
var resizable = tableProps.resizable, | |
border = tableProps.border, | |
columnKey = tableProps.columnKey, | |
headerRowClassName = tableProps.headerRowClassName, | |
headerCellClassName = tableProps.headerCellClassName, | |
headerRowStyle = tableProps.headerRowStyle, | |
headerCellStyle = tableProps.headerCellStyle, | |
allColumnHeaderOverflow = tableProps.showHeaderOverflow, | |
allHeaderAlign = tableProps.headerAlign, | |
allAlign = tableProps.align, | |
mouseConfig = tableProps.mouseConfig; | |
var isGroup = tableReactData.isGroup, | |
currentColumn = tableReactData.currentColumn, | |
scrollYLoad = tableReactData.scrollYLoad, | |
overflowX = tableReactData.overflowX, | |
scrollbarWidth = tableReactData.scrollbarWidth; | |
var columnOpts = computeColumnOpts.value; | |
var headerGroups = headerColumn.value; // 如果是使用优化模式 | |
if (!isGroup) { | |
if (fixedType) { | |
if (scrollYLoad || allColumnHeaderOverflow) { | |
tableColumn = fixedColumn; | |
} | |
} | |
headerGroups = [tableColumn]; | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-table--header-wrapper', fixedType ? "fixed-".concat(fixedType, "--wrapper") : 'body--wrapper'], | |
xid: xID | |
}, [fixedType ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refHeaderXSpace, | |
class: 'vxe-body--x-space' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
ref: refHeaderTable, | |
class: 'vxe-table--header', | |
xid: xID, | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [ | |
/** | |
* 列宽 | |
*/ | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('colgroup', { | |
ref: refHeaderColgroup | |
}, tableColumn.map(function (column, $columnIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('col', { | |
name: column.id, | |
key: $columnIndex | |
}); | |
}).concat(scrollbarWidth ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('col', { | |
name: 'col_gutter' | |
})] : [])), | |
/** | |
* 头部 | |
*/ | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('thead', { | |
ref: refHeaderTHead | |
}, headerGroups.map(function (cols, $rowIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', { | |
class: ['vxe-header--row', headerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(headerRowClassName) ? headerRowClassName({ | |
$table: $xetable, | |
$rowIndex: $rowIndex, | |
fixed: fixedType, | |
type: renderType | |
}) : headerRowClassName : ''], | |
style: headerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(headerRowStyle) ? headerRowStyle({ | |
$table: $xetable, | |
$rowIndex: $rowIndex, | |
fixed: fixedType, | |
type: renderType | |
}) : headerRowStyle : null | |
}, cols.map(function (column, $columnIndex) { | |
var _ref; | |
var type = column.type, | |
showHeaderOverflow = column.showHeaderOverflow, | |
headerAlign = column.headerAlign, | |
align = column.align, | |
headerClassName = column.headerClassName; | |
var isColGroup = column.children && column.children.length; | |
var fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : !!column.fixed && overflowX; | |
var headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(showHeaderOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow; | |
var headAlign = headerAlign || align || allHeaderAlign || allAlign; | |
var showEllipsis = headOverflow === 'ellipsis'; | |
var showTitle = headOverflow === 'title'; | |
var showTooltip = headOverflow === true || headOverflow === 'tooltip'; | |
var hasEllipsis = showTitle || showTooltip || showEllipsis; | |
var hasFilter = column.filters && column.filters.some(function (item) { | |
return item.checked; | |
}); | |
var columnIndex = $xetable.getColumnIndex(column); | |
var _columnIndex = $xetable.getVTColumnIndex(column); | |
var params = { | |
$table: $xetable, | |
$rowIndex: $rowIndex, | |
column: column, | |
columnIndex: columnIndex, | |
$columnIndex: $columnIndex, | |
_columnIndex: _columnIndex, | |
fixed: fixedType, | |
type: renderType, | |
isHidden: fixedHiddenColumn, | |
hasFilter: hasFilter | |
}; | |
var thOns = { | |
onClick: function onClick(evnt) { | |
return $xetable.triggerHeaderCellClickEvent(evnt, params); | |
}, | |
onDblclick: function onDblclick(evnt) { | |
return $xetable.triggerHeaderCellDblclickEvent(evnt, params); | |
} | |
}; // 纵向虚拟滚动不支持动态行高 | |
if (scrollYLoad && !hasEllipsis) { | |
showEllipsis = hasEllipsis = true; | |
} // 按下事件处理 | |
if (mouseConfig) { | |
thOns.onMousedown = function (evnt) { | |
return $xetable.triggerHeaderCellMousedownEvent(evnt, params); | |
}; | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('th', _objectSpread2(_objectSpread2({ | |
class: ['vxe-header--column', column.id, (_ref = {}, _defineProperty(_ref, "col--".concat(headAlign), headAlign), _defineProperty(_ref, "col--".concat(type), type), _defineProperty(_ref, 'col--last', $columnIndex === cols.length - 1), _defineProperty(_ref, 'col--fixed', column.fixed), _defineProperty(_ref, 'col--group', isColGroup), _defineProperty(_ref, 'col--ellipsis', hasEllipsis), _defineProperty(_ref, 'fixed--hidden', fixedHiddenColumn), _defineProperty(_ref, 'is--sortable', column.sortable), _defineProperty(_ref, 'col--filter', !!column.filters), _defineProperty(_ref, 'is--filter-active', hasFilter), _defineProperty(_ref, 'col--current', currentColumn === column), _ref), headerClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(headerClassName) ? headerClassName(params) : headerClassName : '', headerCellClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(headerCellClassName) ? headerCellClassName(params) : headerCellClassName : ''], | |
colid: column.id, | |
colspan: column.colSpan > 1 ? column.colSpan : null, | |
rowspan: column.rowSpan > 1 ? column.rowSpan : null, | |
style: headerCellStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle : null | |
}, thOns), {}, { | |
key: columnKey || isColGroup ? column.id : $columnIndex | |
}), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: ['vxe-cell', { | |
'c--title': showTitle, | |
'c--tooltip': showTooltip, | |
'c--ellipsis': showEllipsis | |
}] | |
}, column.renderHeader(params)), | |
/** | |
* 列宽拖动 | |
*/ | |
!fixedHiddenColumn && !isColGroup && (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || resizable) ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: ['vxe-resizable', { | |
'is--line': !border || border === 'none' | |
}], | |
onMousedown: function onMousedown(evnt) { | |
return resizeMousedown(evnt, params); | |
} | |
}) : null]); | |
}).concat(scrollbarWidth ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('th', { | |
class: 'vxe-header--gutter col--gutter' | |
})] : [])); | |
}))]), | |
/** | |
* 其他 | |
*/ | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refHeaderBorderRepair, | |
class: 'vxe-table--header-border-line' | |
})]); | |
}; | |
return renderVN; | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/header/index.ts | |
var Header = Object.assign(header, { | |
install: function install(app) { | |
dynamicApp.component(header.name, header); | |
app.component(header.name, header); | |
} | |
}); | |
/* harmony default export */ var packages_header = (Header); | |
// CONCATENATED MODULE: ./packages/footer/src/footer.ts | |
var footer_renderType = 'footer'; | |
function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) { | |
for (var mIndex = 0; mIndex < mergeFooterList.length; mIndex++) { | |
var _mergeFooterList$mInd = mergeFooterList[mIndex], | |
mergeRowIndex = _mergeFooterList$mInd.row, | |
mergeColIndex = _mergeFooterList$mInd.col, | |
mergeRowspan = _mergeFooterList$mInd.rowspan, | |
mergeColspan = _mergeFooterList$mInd.colspan; | |
if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) { | |
if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) { | |
return { | |
rowspan: mergeRowspan, | |
colspan: mergeColspan | |
}; | |
} | |
if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) { | |
return { | |
rowspan: 0, | |
colspan: 0 | |
}; | |
} | |
} | |
} | |
} | |
/* harmony default export */ var footer = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeTableFooter', | |
props: { | |
footerTableData: { | |
type: Array, | |
default: function _default() { | |
return []; | |
} | |
}, | |
tableColumn: { | |
type: Array, | |
default: function _default() { | |
return []; | |
} | |
}, | |
fixedColumn: { | |
type: Array, | |
default: function _default() { | |
return []; | |
} | |
}, | |
fixedType: { | |
type: String, | |
default: null | |
} | |
}, | |
setup: function setup(props) { | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var xID = $xetable.xID, | |
tableProps = $xetable.props, | |
tableReactData = $xetable.reactData, | |
tableInternalData = $xetable.internalData; | |
var _$xetable$getRefMaps = $xetable.getRefMaps(), | |
refTableHeader = _$xetable$getRefMaps.refTableHeader, | |
refTableBody = _$xetable$getRefMaps.refTableBody, | |
refValidTooltip = _$xetable$getRefMaps.refValidTooltip; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeTooltipOpts = _$xetable$getComputeM.computeTooltipOpts; | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refFooterTable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refFooterColgroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refFooterTFoot = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refFooterXSpace = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
/** | |
* 滚动处理 | |
* 如果存在列固定左侧,同步更新滚动状态 | |
* 如果存在列固定右侧,同步更新滚动状态 | |
*/ | |
var scrollEvent = function scrollEvent(evnt) { | |
var fixedType = props.fixedType; | |
var scrollXLoad = tableReactData.scrollXLoad; | |
var lastScrollLeft = tableInternalData.lastScrollLeft; | |
var validTip = refValidTooltip.value; | |
var tableHeader = refTableHeader.value; | |
var tableBody = refTableBody.value; | |
var headerElem = tableHeader ? tableHeader.$el : null; | |
var footerElem = refElem.value; | |
var bodyElem = tableBody.$el; | |
var scrollLeft = footerElem.scrollLeft; | |
var isX = scrollLeft !== lastScrollLeft; | |
tableInternalData.lastScrollLeft = scrollLeft; | |
tableInternalData.lastScrollTime = Date.now(); | |
if (headerElem) { | |
headerElem.scrollLeft = scrollLeft; | |
} | |
if (bodyElem) { | |
bodyElem.scrollLeft = scrollLeft; | |
} | |
if (scrollXLoad && isX) { | |
$xetable.triggerScrollXEvent(evnt); | |
} | |
if (isX && validTip && validTip.reactData.visible) { | |
validTip.updatePlacement(); | |
} | |
$xetable.dispatchEvent('scroll', { | |
type: footer_renderType, | |
fixed: fixedType, | |
scrollTop: bodyElem.scrollTop, | |
scrollLeft: scrollLeft, | |
isX: isX, | |
isY: false | |
}, evnt); | |
}; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var fixedType = props.fixedType; | |
var elemStore = tableInternalData.elemStore; | |
var prefix = "".concat(fixedType || 'main', "-footer-"); | |
elemStore["".concat(prefix, "wrapper")] = refElem.value; | |
elemStore["".concat(prefix, "table")] = refFooterTable.value; | |
elemStore["".concat(prefix, "colgroup")] = refFooterColgroup.value; | |
elemStore["".concat(prefix, "list")] = refFooterTFoot.value; | |
elemStore["".concat(prefix, "xSpace")] = refFooterXSpace.value; | |
}); | |
var renderVN = function renderVN() { | |
var fixedType = props.fixedType, | |
fixedColumn = props.fixedColumn, | |
tableColumn = props.tableColumn, | |
footerTableData = props.footerTableData; | |
var footerRowClassName = tableProps.footerRowClassName, | |
footerCellClassName = tableProps.footerCellClassName, | |
footerRowStyle = tableProps.footerRowStyle, | |
footerCellStyle = tableProps.footerCellStyle, | |
allFooterAlign = tableProps.footerAlign, | |
footerSpanMethod = tableProps.footerSpanMethod, | |
allAlign = tableProps.align, | |
columnKey = tableProps.columnKey, | |
allColumnFooterOverflow = tableProps.showFooterOverflow; | |
var visibleColumn = tableInternalData.visibleColumn; | |
var scrollYLoad = tableReactData.scrollYLoad, | |
overflowX = tableReactData.overflowX, | |
scrollbarWidth = tableReactData.scrollbarWidth, | |
currentColumn = tableReactData.currentColumn, | |
mergeFooterList = tableReactData.mergeFooterList; | |
var tooltipOpts = computeTooltipOpts.value; // 如果是使用优化模式 | |
if (fixedType) { | |
if (scrollYLoad || allColumnFooterOverflow) { | |
if (!mergeFooterList.length || !footerSpanMethod) { | |
tableColumn = fixedColumn; | |
} else { | |
tableColumn = visibleColumn; | |
} | |
} else { | |
tableColumn = visibleColumn; | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-table--footer-wrapper', fixedType ? "fixed-".concat(fixedType, "--wrapper") : 'body--wrapper'], | |
xid: xID, | |
onScroll: scrollEvent | |
}, [fixedType ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refFooterXSpace, | |
class: 'vxe-body--x-space' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('table', { | |
ref: refFooterTable, | |
class: 'vxe-table--footer', | |
xid: xID, | |
cellspacing: 0, | |
cellpadding: 0, | |
border: 0 | |
}, [ | |
/** | |
* 列宽 | |
*/ | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('colgroup', { | |
ref: refFooterColgroup | |
}, tableColumn.map(function (column, $columnIndex) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('col', { | |
name: column.id, | |
key: $columnIndex | |
}); | |
}).concat(scrollbarWidth ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('col', { | |
name: 'col_gutter' | |
})] : [])), | |
/** | |
* 底部 | |
*/ | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tfoot', { | |
ref: refFooterTFoot | |
}, footerTableData.map(function (list, _rowIndex) { | |
var $rowIndex = _rowIndex; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tr', { | |
class: ['vxe-footer--row', footerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(footerRowClassName) ? footerRowClassName({ | |
$table: $xetable, | |
_rowIndex: _rowIndex, | |
$rowIndex: $rowIndex, | |
fixed: fixedType, | |
type: footer_renderType | |
}) : footerRowClassName : ''], | |
style: footerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(footerRowStyle) ? footerRowStyle({ | |
$table: $xetable, | |
_rowIndex: _rowIndex, | |
$rowIndex: $rowIndex, | |
fixed: fixedType, | |
type: footer_renderType | |
}) : footerRowStyle : null | |
}, tableColumn.map(function (column, $columnIndex) { | |
var _ref2; | |
var type = column.type, | |
showFooterOverflow = column.showFooterOverflow, | |
footerAlign = column.footerAlign, | |
align = column.align, | |
footerClassName = column.footerClassName; | |
var showAllTip = tooltipOpts.showAll; | |
var isColGroup = column.children && column.children.length; | |
var fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX; | |
var footOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(showFooterOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow; | |
var footAlign = footerAlign || align || allFooterAlign || allAlign; | |
var showEllipsis = footOverflow === 'ellipsis'; | |
var showTitle = footOverflow === 'title'; | |
var showTooltip = footOverflow === true || footOverflow === 'tooltip'; | |
var hasEllipsis = showTitle || showTooltip || showEllipsis; | |
var attrs = { | |
colid: column.id | |
}; | |
var tfOns = {}; | |
var columnIndex = $xetable.getColumnIndex(column); | |
var _columnIndex = $xetable.getVTColumnIndex(column); | |
var itemIndex = _columnIndex; | |
var params = { | |
$table: $xetable, | |
_rowIndex: _rowIndex, | |
$rowIndex: $rowIndex, | |
column: column, | |
columnIndex: columnIndex, | |
$columnIndex: $columnIndex, | |
_columnIndex: _columnIndex, | |
itemIndex: itemIndex, | |
items: list, | |
fixed: fixedType, | |
type: footer_renderType, | |
data: footerTableData | |
}; // 纵向虚拟滚动不支持动态行高 | |
if (scrollYLoad && !hasEllipsis) { | |
showEllipsis = hasEllipsis = true; | |
} | |
if (showTitle || showTooltip || showAllTip) { | |
tfOns.onMouseenter = function (evnt) { | |
if (showTitle) { | |
updateCellTitle(evnt.currentTarget, column); | |
} else if (showTooltip || showAllTip) { | |
$xetable.triggerFooterTooltipEvent(evnt, params); | |
} | |
}; | |
} | |
if (showTooltip || showAllTip) { | |
tfOns.onMouseleave = function (evnt) { | |
if (showTooltip || showAllTip) { | |
$xetable.handleTargetLeaveEvent(evnt); | |
} | |
}; | |
} | |
tfOns.onClick = function (evnt) { | |
$xetable.dispatchEvent('footer-cell-click', Object.assign({ | |
cell: evnt.currentTarget | |
}, params), evnt); | |
}; | |
tfOns.onDblclick = function (evnt) { | |
$xetable.dispatchEvent('footer-cell-dblclick', Object.assign({ | |
cell: evnt.currentTarget | |
}, params), evnt); | |
}; // 合并行或列 | |
if (mergeFooterList.length) { | |
var spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex); | |
if (spanRest) { | |
var rowspan = spanRest.rowspan, | |
colspan = spanRest.colspan; | |
if (!rowspan || !colspan) { | |
return null; | |
} | |
if (rowspan > 1) { | |
attrs.rowspan = rowspan; | |
} | |
if (colspan > 1) { | |
attrs.colspan = colspan; | |
} | |
} | |
} else if (footerSpanMethod) { | |
// 自定义合并方法 | |
var _ref = footerSpanMethod(params) || {}, | |
_ref$rowspan = _ref.rowspan, | |
_rowspan = _ref$rowspan === void 0 ? 1 : _ref$rowspan, | |
_ref$colspan = _ref.colspan, | |
_colspan = _ref$colspan === void 0 ? 1 : _ref$colspan; | |
if (!_rowspan || !_colspan) { | |
return null; | |
} | |
if (_rowspan > 1) { | |
attrs.rowspan = _rowspan; | |
} | |
if (_colspan > 1) { | |
attrs.colspan = _colspan; | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', _objectSpread2(_objectSpread2(_objectSpread2({ | |
class: ['vxe-footer--column', column.id, (_ref2 = {}, _defineProperty(_ref2, "col--".concat(footAlign), footAlign), _defineProperty(_ref2, "col--".concat(type), type), _defineProperty(_ref2, 'col--last', $columnIndex === tableColumn.length - 1), _defineProperty(_ref2, 'fixed--hidden', fixedHiddenColumn), _defineProperty(_ref2, 'col--ellipsis', hasEllipsis), _defineProperty(_ref2, 'col--current', currentColumn === column), _ref2), getPropClass(footerClassName, params), getPropClass(footerCellClassName, params)] | |
}, attrs), {}, { | |
style: footerCellStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(footerCellStyle) ? footerCellStyle(params) : footerCellStyle : null | |
}, tfOns), {}, { | |
key: columnKey ? column.id : $columnIndex | |
}), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: ['vxe-cell', { | |
'c--title': showTitle, | |
'c--tooltip': showTooltip, | |
'c--ellipsis': showEllipsis | |
}] | |
}, column.renderFooter(params))]); | |
}).concat(scrollbarWidth ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('td', { | |
class: 'vxe-footer--gutter col--gutter' | |
})] : [])); | |
}))])]); | |
}; | |
return renderVN; | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/footer/index.ts | |
var Footer = Object.assign(footer, { | |
install: function install(app) { | |
dynamicApp.component(footer.name, footer); | |
app.component(footer.name, footer); | |
} | |
}); | |
/* harmony default export */ var packages_footer = (Footer); | |
// CONCATENATED MODULE: ./packages/table/src/cell.ts | |
function renderHelpIcon(params) { | |
var $table = params.$table, | |
column = params.column; | |
var titleHelp = column.titleHelp; | |
return titleHelp ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-cell-help-icon', titleHelp.icon || conf.icon.TABLE_HELP], | |
onMouseenter: function onMouseenter(evnt) { | |
$table.triggerHeaderHelpEvent(evnt, params); | |
}, | |
onMouseleave: function onMouseleave(evnt) { | |
$table.handleTargetLeaveEvent(evnt); | |
} | |
})] : []; | |
} | |
function renderTitleContent(params, content) { | |
var $table = params.$table, | |
column = params.column; | |
var props = $table.props, | |
internalData = $table.internalData; | |
var _$table$getComputeMap = $table.getComputeMaps(), | |
computeTooltipOpts = _$table$getComputeMap.computeTooltipOpts; | |
var allColumnHeaderOverflow = props.showHeaderOverflow; | |
var type = column.type, | |
showHeaderOverflow = column.showHeaderOverflow; | |
var tooltipOpts = computeTooltipOpts.value; | |
var showAllTip = tooltipOpts.showAll; | |
var headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(showHeaderOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow; | |
var showTitle = headOverflow === 'title'; | |
var showTooltip = headOverflow === true || headOverflow === 'tooltip'; | |
var ons = {}; | |
if (showTitle || showTooltip || showAllTip) { | |
ons.onMouseenter = function (evnt) { | |
if (internalData._isResize) { | |
return; | |
} | |
if (showTitle) { | |
updateCellTitle(evnt.currentTarget, column); | |
} else if (showTooltip || showAllTip) { | |
$table.triggerHeaderTooltipEvent(evnt, params); | |
} | |
}; | |
} | |
if (showTooltip || showAllTip) { | |
ons.onMouseleave = function (evnt) { | |
if (internalData._isResize) { | |
return; | |
} | |
if (showTooltip || showAllTip) { | |
$table.handleTargetLeaveEvent(evnt); | |
} | |
}; | |
} | |
return [type === 'html' && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(content) ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({ | |
class: 'vxe-cell--title', | |
innerHTML: content | |
}, ons)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({ | |
class: 'vxe-cell--title' | |
}, ons), content)]; | |
} | |
function getFooterContent(params) { | |
var $table = params.$table, | |
column = params.column, | |
_columnIndex = params._columnIndex, | |
items = params.items; | |
var slots = column.slots, | |
editRender = column.editRender, | |
cellRender = column.cellRender; | |
var renderOpts = editRender || cellRender; | |
var footerSlot = slots ? slots.footer : null; | |
if (footerSlot) { | |
return $table.callSlot(footerSlot, params); | |
} | |
if (renderOpts) { | |
var compConf = VXETable.renderer.get(renderOpts.name); | |
if (compConf && compConf.renderFooter) { | |
return compConf.renderFooter(renderOpts, params); | |
} | |
} | |
return [formatText(items[_columnIndex], 1)]; | |
} | |
function getDefaultCellLabel(params) { | |
var $table = params.$table, | |
row = params.row, | |
column = params.column; | |
return formatText($table.getCellLabel(row, column), 1); | |
} | |
var Cell = { | |
createColumn: function createColumn($xetable, columnOpts) { | |
var type = columnOpts.type, | |
sortable = columnOpts.sortable, | |
filters = columnOpts.filters, | |
editRender = columnOpts.editRender, | |
treeNode = columnOpts.treeNode; | |
var props = $xetable.props; | |
var editConfig = props.editConfig; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeEditOpts = _$xetable$getComputeM.computeEditOpts, | |
computeCheckboxOpts = _$xetable$getComputeM.computeCheckboxOpts; | |
var checkboxOpts = computeCheckboxOpts.value; | |
var editOpts = computeEditOpts.value; | |
var renConfs = { | |
renderHeader: Cell.renderDefaultHeader, | |
renderCell: treeNode ? Cell.renderTreeCell : Cell.renderDefaultCell, | |
renderFooter: Cell.renderDefaultFooter | |
}; | |
switch (type) { | |
case 'seq': | |
renConfs.renderHeader = Cell.renderSeqHeader; | |
renConfs.renderCell = treeNode ? Cell.renderTreeIndexCell : Cell.renderSeqCell; | |
break; | |
case 'radio': | |
renConfs.renderHeader = Cell.renderRadioHeader; | |
renConfs.renderCell = treeNode ? Cell.renderTreeRadioCell : Cell.renderRadioCell; | |
break; | |
case 'checkbox': | |
renConfs.renderHeader = Cell.renderCheckboxHeader; | |
renConfs.renderCell = checkboxOpts.checkField ? treeNode ? Cell.renderTreeSelectionCellByProp : Cell.renderCheckboxCellByProp : treeNode ? Cell.renderTreeSelectionCell : Cell.renderCheckboxCell; | |
break; | |
case 'expand': | |
renConfs.renderCell = Cell.renderExpandCell; | |
renConfs.renderData = Cell.renderExpandData; | |
break; | |
case 'html': | |
renConfs.renderCell = treeNode ? Cell.renderTreeHTMLCell : Cell.renderHTMLCell; | |
if (filters && sortable) { | |
renConfs.renderHeader = Cell.renderSortAndFilterHeader; | |
} else if (sortable) { | |
renConfs.renderHeader = Cell.renderSortHeader; | |
} else if (filters) { | |
renConfs.renderHeader = Cell.renderFilterHeader; | |
} | |
break; | |
default: | |
if (editConfig && editRender) { | |
renConfs.renderHeader = Cell.renderEditHeader; | |
renConfs.renderCell = editOpts.mode === 'cell' ? treeNode ? Cell.renderTreeCellEdit : Cell.renderCellEdit : treeNode ? Cell.renderTreeRowEdit : Cell.renderRowEdit; | |
} else if (filters && sortable) { | |
renConfs.renderHeader = Cell.renderSortAndFilterHeader; | |
} else if (sortable) { | |
renConfs.renderHeader = Cell.renderSortHeader; | |
} else if (filters) { | |
renConfs.renderHeader = Cell.renderFilterHeader; | |
} | |
} | |
return util_createColumn($xetable, columnOpts, renConfs); | |
}, | |
/** | |
* 单元格 | |
*/ | |
renderHeaderTitle: function renderHeaderTitle(params) { | |
var $table = params.$table, | |
column = params.column; | |
var slots = column.slots, | |
editRender = column.editRender, | |
cellRender = column.cellRender; | |
var renderOpts = editRender || cellRender; | |
var headerSlot = slots ? slots.header : null; | |
if (headerSlot) { | |
return renderTitleContent(params, $table.callSlot(headerSlot, params)); | |
} | |
if (renderOpts) { | |
var compConf = VXETable.renderer.get(renderOpts.name); | |
if (compConf && compConf.renderHeader) { | |
return renderTitleContent(params, compConf.renderHeader(renderOpts, params)); | |
} | |
} | |
return renderTitleContent(params, formatText(column.getTitle(), 1)); | |
}, | |
renderDefaultHeader: function renderDefaultHeader(params) { | |
return renderHelpIcon(params).concat(Cell.renderHeaderTitle(params)); | |
}, | |
renderDefaultCell: function renderDefaultCell(params) { | |
var $table = params.$table, | |
row = params.row, | |
column = params.column; | |
var slots = column.slots, | |
editRender = column.editRender, | |
cellRender = column.cellRender; | |
var renderOpts = editRender || cellRender; | |
var defaultSlot = slots ? slots.default : null; | |
if (defaultSlot) { | |
return $table.callSlot(defaultSlot, params); | |
} | |
if (renderOpts) { | |
var funName = editRender ? 'renderCell' : 'renderDefault'; | |
var compConf = VXETable.renderer.get(renderOpts.name); | |
var compFn = compConf ? compConf[funName] : null; | |
if (compFn) { | |
return compFn(renderOpts, Object.assign({ | |
$type: editRender ? 'edit' : 'cell' | |
}, params)); | |
} | |
} | |
var cellValue = $table.getCellLabel(row, column); | |
var cellPlaceholder = editRender ? editRender.placeholder : ''; | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--label' | |
}, editRender && eqEmptyValue(cellValue) ? [// 如果设置占位符 | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--placeholder' | |
}, formatText(getFuncText(cellPlaceholder), 1))] : formatText(cellValue, 1))]; | |
}, | |
renderTreeCell: function renderTreeCell(params) { | |
return Cell.renderTreeIcon(params, Cell.renderDefaultCell(params)); | |
}, | |
renderDefaultFooter: function renderDefaultFooter(params) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--item' | |
}, getFooterContent(params))]; | |
}, | |
/** | |
* 树节点 | |
*/ | |
renderTreeIcon: function renderTreeIcon(params, cellVNodes) { | |
var $table = params.$table, | |
isHidden = params.isHidden; | |
var reactData = $table.reactData; | |
var _$table$getComputeMap2 = $table.getComputeMaps(), | |
computeTreeOpts = _$table$getComputeMap2.computeTreeOpts; | |
var treeExpandeds = reactData.treeExpandeds, | |
treeLazyLoadeds = reactData.treeLazyLoadeds; | |
var treeOpts = computeTreeOpts.value; | |
var row = params.row, | |
column = params.column, | |
level = params.level; | |
var slots = column.slots; | |
var children = treeOpts.children, | |
hasChild = treeOpts.hasChild, | |
indent = treeOpts.indent, | |
lazy = treeOpts.lazy, | |
trigger = treeOpts.trigger, | |
iconLoaded = treeOpts.iconLoaded, | |
showIcon = treeOpts.showIcon, | |
iconOpen = treeOpts.iconOpen, | |
iconClose = treeOpts.iconClose; | |
var rowChilds = row[children]; | |
var iconSlot = slots ? slots.icon : null; | |
var hasLazyChilds = false; | |
var isAceived = false; | |
var isLazyLoaded = false; | |
var ons = {}; | |
if (iconSlot) { | |
return $table.callSlot(iconSlot, params); | |
} | |
if (!isHidden) { | |
isAceived = $table.findRowIndexOf(treeExpandeds, row) > -1; | |
if (lazy) { | |
isLazyLoaded = $table.findRowIndexOf(treeLazyLoadeds, row) > -1; | |
hasLazyChilds = row[hasChild]; | |
} | |
} | |
if (!trigger || trigger === 'default') { | |
ons.onClick = function (evnt) { | |
return $table.triggerTreeExpandEvent(evnt, params); | |
}; | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: ['vxe-cell--tree-node', { | |
'is--active': isAceived | |
}], | |
style: { | |
paddingLeft: "".concat(level * indent, "px") | |
} | |
}, [showIcon && (rowChilds && rowChilds.length || hasLazyChilds) ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', _objectSpread2({ | |
class: 'vxe-tree--btn-wrapper' | |
}, ons), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-tree--node-btn', isLazyLoaded ? iconLoaded || conf.icon.TABLE_TREE_LOADED : isAceived ? iconOpen || conf.icon.TABLE_TREE_OPEN : iconClose || conf.icon.TABLE_TREE_CLOSE] | |
})])] : null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-tree-cell' | |
}, cellVNodes)])]; | |
}, | |
/** | |
* 索引 | |
*/ | |
renderSeqHeader: function renderSeqHeader(params) { | |
var $table = params.$table, | |
column = params.column; | |
var slots = column.slots; | |
var headerSlot = slots ? slots.header : null; | |
return renderTitleContent(params, headerSlot ? $table.callSlot(headerSlot, params) : formatText(column.getTitle(), 1)); | |
}, | |
renderSeqCell: function renderSeqCell(params) { | |
var $table = params.$table, | |
column = params.column; | |
var props = $table.props; | |
var treeConfig = props.treeConfig; | |
var _$table$getComputeMap3 = $table.getComputeMaps(), | |
computeSeqOpts = _$table$getComputeMap3.computeSeqOpts; | |
var seqOpts = computeSeqOpts.value; | |
var slots = column.slots; | |
var defaultSlot = slots ? slots.default : null; | |
if (defaultSlot) { | |
return $table.callSlot(defaultSlot, params); | |
} | |
var seq = params.seq; | |
var seqMethod = seqOpts.seqMethod; | |
return [formatText(seqMethod ? seqMethod(params) : treeConfig ? seq : (seqOpts.startIndex || 0) + seq, 1)]; | |
}, | |
renderTreeIndexCell: function renderTreeIndexCell(params) { | |
return Cell.renderTreeIcon(params, Cell.renderSeqCell(params)); | |
}, | |
/** | |
* 单选 | |
*/ | |
renderRadioHeader: function renderRadioHeader(params) { | |
var $table = params.$table, | |
column = params.column; | |
var slots = column.slots; | |
var headerSlot = slots ? slots.header : null; | |
var titleSlot = slots ? slots.title : null; | |
return renderTitleContent(params, headerSlot ? $table.callSlot(headerSlot, params) : [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-radio--label' | |
}, titleSlot ? $table.callSlot(titleSlot, params) : formatText(column.getTitle(), 1))]); | |
}, | |
renderRadioCell: function renderRadioCell(params) { | |
var $table = params.$table, | |
column = params.column, | |
isHidden = params.isHidden; | |
var reactData = $table.reactData; | |
var _$table$getComputeMap4 = $table.getComputeMaps(), | |
computeRadioOpts = _$table$getComputeMap4.computeRadioOpts; | |
var selectRow = reactData.selectRow; | |
var radioOpts = computeRadioOpts.value; | |
var slots = column.slots; | |
var labelField = radioOpts.labelField, | |
checkMethod = radioOpts.checkMethod, | |
visibleMethod = radioOpts.visibleMethod; | |
var row = params.row; | |
var defaultSlot = slots ? slots.default : null; | |
var radioSlot = slots ? slots.radio : null; | |
var isChecked = row === selectRow; | |
var isVisible = !visibleMethod || visibleMethod({ | |
row: row | |
}); | |
var isDisabled = !!checkMethod; | |
var ons; | |
if (!isHidden) { | |
ons = { | |
onClick: function onClick(evnt) { | |
if (!isDisabled && isVisible) { | |
$table.triggerRadioRowEvent(evnt, params); | |
} | |
} | |
}; | |
if (checkMethod) { | |
isDisabled = !checkMethod({ | |
row: row | |
}); | |
} | |
} | |
var radioParams = _objectSpread2(_objectSpread2({}, params), {}, { | |
checked: isChecked, | |
disabled: isDisabled, | |
visible: isVisible | |
}); | |
if (radioSlot) { | |
return $table.callSlot(radioSlot, radioParams); | |
} | |
var radioVNs = []; | |
if (isVisible) { | |
radioVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-radio--icon vxe-radio--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-radio--icon vxe-radio--unchecked-icon' | |
})); | |
} | |
if (defaultSlot || labelField) { | |
radioVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-radio--label' | |
}, defaultSlot ? $table.callSlot(defaultSlot, radioParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField))); | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({ | |
class: ['vxe-cell--radio', { | |
'is--checked': isChecked, | |
'is--disabled': isDisabled | |
}] | |
}, ons), radioVNs)]; | |
}, | |
renderTreeRadioCell: function renderTreeRadioCell(params) { | |
return Cell.renderTreeIcon(params, Cell.renderRadioCell(params)); | |
}, | |
/** | |
* 多选 | |
*/ | |
renderCheckboxHeader: function renderCheckboxHeader(params) { | |
var $table = params.$table, | |
column = params.column, | |
isHidden = params.isHidden; | |
var reactData = $table.reactData; | |
var _$table$getComputeMap5 = $table.getComputeMaps(), | |
computeIsAllCheckboxDisabled = _$table$getComputeMap5.computeIsAllCheckboxDisabled, | |
computeCheckboxOpts = _$table$getComputeMap5.computeCheckboxOpts; | |
var isAllCheckboxIndeterminate = reactData.isIndeterminate, | |
isAllSelected = reactData.isAllSelected; | |
var isAllCheckboxDisabled = computeIsAllCheckboxDisabled.value; | |
var slots = column.slots; | |
var headerSlot = slots ? slots.header : null; | |
var titleSlot = slots ? slots.title : null; | |
var checkboxOpts = computeCheckboxOpts.value; | |
var headerTitle = column.getTitle(); | |
var isChecked = false; | |
var ons; | |
if (!isHidden) { | |
isChecked = isAllCheckboxDisabled ? false : isAllSelected; | |
ons = { | |
onClick: function onClick(evnt) { | |
if (!isAllCheckboxDisabled) { | |
$table.triggerCheckAllEvent(evnt, !isChecked); | |
} | |
} | |
}; | |
} | |
var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, { | |
checked: isChecked, | |
disabled: isAllCheckboxDisabled, | |
indeterminate: isAllCheckboxIndeterminate | |
}); | |
if (headerSlot) { | |
return renderTitleContent(checkboxParams, $table.callSlot(headerSlot, checkboxParams)); | |
} | |
if (checkboxOpts.checkStrictly ? !checkboxOpts.showHeader : checkboxOpts.showHeader === false) { | |
return renderTitleContent(checkboxParams, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : headerTitle)]); | |
} | |
return renderTitleContent(checkboxParams, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({ | |
class: ['vxe-cell--checkbox', { | |
'is--checked': isChecked, | |
'is--disabled': isAllCheckboxDisabled, | |
'is--indeterminate': isAllCheckboxIndeterminate | |
}], | |
title: conf.i18n('vxe.table.allTitle') | |
}, ons), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
})].concat(titleSlot || headerTitle ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : headerTitle)] : []))]); | |
}, | |
renderCheckboxCell: function renderCheckboxCell(params) { | |
var $table = params.$table, | |
row = params.row, | |
column = params.column, | |
isHidden = params.isHidden; | |
var props = $table.props, | |
reactData = $table.reactData; | |
var treeConfig = props.treeConfig; | |
var selection = reactData.selection, | |
treeIndeterminates = reactData.treeIndeterminates; | |
var _$table$getComputeMap6 = $table.getComputeMaps(), | |
computeCheckboxOpts = _$table$getComputeMap6.computeCheckboxOpts; | |
var checkboxOpts = computeCheckboxOpts.value; | |
var labelField = checkboxOpts.labelField, | |
checkMethod = checkboxOpts.checkMethod, | |
visibleMethod = checkboxOpts.visibleMethod; | |
var slots = column.slots; | |
var defaultSlot = slots ? slots.default : null; | |
var checkboxSlot = slots ? slots.checkbox : null; | |
var indeterminate = false; | |
var isChecked = false; | |
var isVisible = !visibleMethod || visibleMethod({ | |
row: row | |
}); | |
var isDisabled = !!checkMethod; | |
var ons; | |
if (!isHidden) { | |
isChecked = $table.findRowIndexOf(selection, row) > -1; | |
ons = { | |
onClick: function onClick(evnt) { | |
if (!isDisabled && isVisible) { | |
$table.triggerCheckRowEvent(evnt, params, !isChecked); | |
} | |
} | |
}; | |
if (checkMethod) { | |
isDisabled = !checkMethod({ | |
row: row | |
}); | |
} | |
if (treeConfig) { | |
indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1; | |
} | |
} | |
var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, { | |
checked: isChecked, | |
disabled: isDisabled, | |
visible: isVisible, | |
indeterminate: indeterminate | |
}); | |
if (checkboxSlot) { | |
return $table.callSlot(checkboxSlot, checkboxParams); | |
} | |
var checkVNs = []; | |
if (isVisible) { | |
checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
})); | |
} | |
if (defaultSlot || labelField) { | |
checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField))); | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({ | |
class: ['vxe-cell--checkbox', { | |
'is--checked': isChecked, | |
'is--disabled': isDisabled, | |
'is--indeterminate': indeterminate | |
}] | |
}, ons), checkVNs)]; | |
}, | |
renderTreeSelectionCell: function renderTreeSelectionCell(params) { | |
return Cell.renderTreeIcon(params, Cell.renderCheckboxCell(params)); | |
}, | |
renderCheckboxCellByProp: function renderCheckboxCellByProp(params) { | |
var $table = params.$table, | |
row = params.row, | |
column = params.column, | |
isHidden = params.isHidden; | |
var props = $table.props, | |
reactData = $table.reactData; | |
var treeConfig = props.treeConfig; | |
var treeIndeterminates = reactData.treeIndeterminates; | |
var _$table$getComputeMap7 = $table.getComputeMaps(), | |
computeCheckboxOpts = _$table$getComputeMap7.computeCheckboxOpts; | |
var checkboxOpts = computeCheckboxOpts.value; | |
var labelField = checkboxOpts.labelField, | |
property = checkboxOpts.checkField, | |
halfField = checkboxOpts.halfField, | |
checkMethod = checkboxOpts.checkMethod, | |
visibleMethod = checkboxOpts.visibleMethod; | |
var slots = column.slots; | |
var defaultSlot = slots ? slots.default : null; | |
var checkboxSlot = slots ? slots.checkbox : null; | |
var indeterminate = false; | |
var isChecked = false; | |
var isVisible = !visibleMethod || visibleMethod({ | |
row: row | |
}); | |
var isDisabled = !!checkMethod; | |
var ons; | |
if (!isHidden) { | |
isChecked = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, property); | |
ons = { | |
onClick: function onClick(evnt) { | |
if (!isDisabled && isVisible) { | |
$table.triggerCheckRowEvent(evnt, params, !isChecked); | |
} | |
} | |
}; | |
if (checkMethod) { | |
isDisabled = !checkMethod({ | |
row: row | |
}); | |
} | |
if (treeConfig) { | |
indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1; | |
} | |
} | |
var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, { | |
checked: isChecked, | |
disabled: isDisabled, | |
visible: isVisible, | |
indeterminate: indeterminate | |
}); | |
if (checkboxSlot) { | |
return $table.callSlot(checkboxSlot, checkboxParams); | |
} | |
var checkVNs = []; | |
if (isVisible) { | |
checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
})); | |
if (defaultSlot || labelField) { | |
checkVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField))); | |
} | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', _objectSpread2({ | |
class: ['vxe-cell--checkbox', { | |
'is--checked': isChecked, | |
'is--disabled': isDisabled, | |
'is--indeterminate': halfField && !isChecked ? row[halfField] : indeterminate | |
}] | |
}, ons), checkVNs)]; | |
}, | |
renderTreeSelectionCellByProp: function renderTreeSelectionCellByProp(params) { | |
return Cell.renderTreeIcon(params, Cell.renderCheckboxCellByProp(params)); | |
}, | |
/** | |
* 展开行 | |
*/ | |
renderExpandCell: function renderExpandCell(params) { | |
var $table = params.$table, | |
isHidden = params.isHidden, | |
row = params.row, | |
column = params.column; | |
var reactData = $table.reactData; | |
var rowExpandeds = reactData.rowExpandeds, | |
expandLazyLoadeds = reactData.expandLazyLoadeds; | |
var _$table$getComputeMap8 = $table.getComputeMaps(), | |
computeExpandOpts = _$table$getComputeMap8.computeExpandOpts; | |
var expandOpts = computeExpandOpts.value; | |
var lazy = expandOpts.lazy, | |
labelField = expandOpts.labelField, | |
iconLoaded = expandOpts.iconLoaded, | |
showIcon = expandOpts.showIcon, | |
iconOpen = expandOpts.iconOpen, | |
iconClose = expandOpts.iconClose, | |
visibleMethod = expandOpts.visibleMethod; | |
var slots = column.slots; | |
var defaultSlot = slots ? slots.default : null; | |
var iconSlot = slots ? slots.icon : null; | |
var isAceived = false; | |
var isLazyLoaded = false; | |
if (iconSlot) { | |
return $table.callSlot(iconSlot, params); | |
} | |
if (!isHidden) { | |
isAceived = $table.findRowIndexOf(rowExpandeds, params.row) > -1; | |
if (lazy) { | |
isLazyLoaded = $table.findRowIndexOf(expandLazyLoadeds, row) > -1; | |
} | |
} | |
return [showIcon && (!visibleMethod || visibleMethod(params)) ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-table--expanded', { | |
'is--active': isAceived | |
}], | |
onClick: function onClick(evnt) { | |
$table.triggerRowExpandEvent(evnt, params); | |
} | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-table--expand-btn', isLazyLoaded ? iconLoaded || conf.icon.TABLE_EXPAND_LOADED : isAceived ? iconOpen || conf.icon.TABLE_EXPAND_OPEN : iconClose || conf.icon.TABLE_EXPAND_CLOSE] | |
})]) : null, defaultSlot || labelField ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-table--expand-label' | |
}, defaultSlot ? $table.callSlot(defaultSlot, params) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, labelField)) : null]; | |
}, | |
renderExpandData: function renderExpandData(params) { | |
var $table = params.$table, | |
column = params.column; | |
var slots = column.slots, | |
contentRender = column.contentRender; | |
var contentSlot = slots ? slots.content : null; | |
if (contentSlot) { | |
return $table.callSlot(contentSlot, params); | |
} | |
if (contentRender) { | |
var compConf = VXETable.renderer.get(contentRender.name); | |
if (compConf && compConf.renderExpand) { | |
return compConf.renderExpand(contentRender, params); | |
} | |
} | |
return []; | |
}, | |
/** | |
* HTML 标签 | |
*/ | |
renderHTMLCell: function renderHTMLCell(params) { | |
var $table = params.$table, | |
column = params.column; | |
var slots = column.slots; | |
var defaultSlot = slots ? slots.default : null; | |
if (defaultSlot) { | |
return $table.callSlot(defaultSlot, params); | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--html', | |
innerHTML: getDefaultCellLabel(params) | |
})]; | |
}, | |
renderTreeHTMLCell: function renderTreeHTMLCell(params) { | |
return Cell.renderTreeIcon(params, Cell.renderHTMLCell(params)); | |
}, | |
/** | |
* 排序和筛选 | |
*/ | |
renderSortAndFilterHeader: function renderSortAndFilterHeader(params) { | |
return Cell.renderDefaultHeader(params).concat(Cell.renderSortIcon(params)).concat(Cell.renderFilterIcon(params)); | |
}, | |
/** | |
* 排序 | |
*/ | |
renderSortHeader: function renderSortHeader(params) { | |
return Cell.renderDefaultHeader(params).concat(Cell.renderSortIcon(params)); | |
}, | |
renderSortIcon: function renderSortIcon(params) { | |
var $table = params.$table, | |
column = params.column; | |
var _$table$getComputeMap9 = $table.getComputeMaps(), | |
computeSortOpts = _$table$getComputeMap9.computeSortOpts; | |
var sortOpts = computeSortOpts.value; | |
var showIcon = sortOpts.showIcon, | |
iconAsc = sortOpts.iconAsc, | |
iconDesc = sortOpts.iconDesc; | |
var order = column.order; | |
return showIcon ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--sort' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-sort--asc-btn', iconAsc || conf.icon.TABLE_SORT_ASC, { | |
'sort--active': order === 'asc' | |
}], | |
title: conf.i18n('vxe.table.sortAsc'), | |
onClick: function onClick(evnt) { | |
$table.triggerSortEvent(evnt, column, 'asc'); | |
} | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-sort--desc-btn', iconDesc || conf.icon.TABLE_SORT_DESC, { | |
'sort--active': order === 'desc' | |
}], | |
title: conf.i18n('vxe.table.sortDesc'), | |
onClick: function onClick(evnt) { | |
$table.triggerSortEvent(evnt, column, 'desc'); | |
} | |
})])] : []; | |
}, | |
/** | |
* 筛选 | |
*/ | |
renderFilterHeader: function renderFilterHeader(params) { | |
return Cell.renderDefaultHeader(params).concat(Cell.renderFilterIcon(params)); | |
}, | |
renderFilterIcon: function renderFilterIcon(params) { | |
var $table = params.$table, | |
column = params.column, | |
hasFilter = params.hasFilter; | |
var reactData = $table.reactData; | |
var filterStore = reactData.filterStore; | |
var _$table$getComputeMap10 = $table.getComputeMaps(), | |
computeFilterOpts = _$table$getComputeMap10.computeFilterOpts; | |
var filterOpts = computeFilterOpts.value; | |
var showIcon = filterOpts.showIcon, | |
iconNone = filterOpts.iconNone, | |
iconMatch = filterOpts.iconMatch; | |
return showIcon ? [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: ['vxe-cell--filter', { | |
'is--active': filterStore.visible && filterStore.column === column | |
}] | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-filter--btn', hasFilter ? iconMatch || conf.icon.TABLE_FILTER_MATCH : iconNone || conf.icon.TABLE_FILTER_NONE], | |
title: conf.i18n('vxe.table.filter'), | |
onClick: function onClick(evnt) { | |
$table.triggerFilterEvent(evnt, params.column, params); | |
} | |
})])] : []; | |
}, | |
/** | |
* 可编辑 | |
*/ | |
renderEditHeader: function renderEditHeader(params) { | |
var $table = params.$table, | |
column = params.column; | |
var props = $table.props; | |
var _$table$getComputeMap11 = $table.getComputeMaps(), | |
computeEditOpts = _$table$getComputeMap11.computeEditOpts; | |
var editConfig = props.editConfig, | |
editRules = props.editRules; | |
var editOpts = computeEditOpts.value; | |
var sortable = column.sortable, | |
filters = column.filters, | |
editRender = column.editRender; | |
var isRequired = false; | |
if (editRules) { | |
var columnRules = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(editRules, params.column.property); | |
if (columnRules) { | |
isRequired = columnRules.some(function (rule) { | |
return rule.required; | |
}); | |
} | |
} | |
return (isEnableConf(editConfig) ? [isRequired && editOpts.showAsterisk ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: 'vxe-cell--required-icon' | |
}) : null, isEnableConf(editRender) && editOpts.showIcon ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-cell--edit-icon', editOpts.icon || conf.icon.TABLE_EDIT] | |
}) : null] : []).concat(Cell.renderDefaultHeader(params)).concat(sortable ? Cell.renderSortIcon(params) : []).concat(filters ? Cell.renderFilterIcon(params) : []); | |
}, | |
// 行格编辑模式 | |
renderRowEdit: function renderRowEdit(params) { | |
var $table = params.$table, | |
column = params.column; | |
var reactData = $table.reactData; | |
var editStore = reactData.editStore; | |
var actived = editStore.actived; | |
var editRender = column.editRender; | |
return Cell.runRenderer(params, isEnableConf(editRender) && actived && actived.row === params.row); | |
}, | |
renderTreeRowEdit: function renderTreeRowEdit(params) { | |
return Cell.renderTreeIcon(params, Cell.renderRowEdit(params)); | |
}, | |
// 单元格编辑模式 | |
renderCellEdit: function renderCellEdit(params) { | |
var $table = params.$table, | |
column = params.column; | |
var reactData = $table.reactData; | |
var editStore = reactData.editStore; | |
var actived = editStore.actived; | |
var editRender = column.editRender; | |
return Cell.runRenderer(params, isEnableConf(editRender) && actived && actived.row === params.row && actived.column === params.column); | |
}, | |
renderTreeCellEdit: function renderTreeCellEdit(params) { | |
return Cell.renderTreeIcon(params, Cell.renderCellEdit(params)); | |
}, | |
runRenderer: function runRenderer(params, isEdit) { | |
var $table = params.$table, | |
column = params.column; | |
var slots = column.slots, | |
editRender = column.editRender, | |
formatter = column.formatter; | |
var defaultSlot = slots ? slots.default : null; | |
var editSlot = slots ? slots.edit : null; | |
var compConf = VXETable.renderer.get(editRender.name); | |
if (isEdit) { | |
if (editSlot) { | |
return $table.callSlot(editSlot, params); | |
} | |
return compConf && compConf.renderEdit ? compConf.renderEdit(editRender, Object.assign({ | |
$type: 'edit' | |
}, params)) : []; | |
} | |
if (defaultSlot) { | |
return $table.callSlot(defaultSlot, params); | |
} | |
if (formatter) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-cell--label' | |
}, getDefaultCellLabel(params))]; | |
} | |
return Cell.renderDefaultCell(params); | |
} | |
}; | |
/* harmony default export */ var src_cell = (Cell); | |
// CONCATENATED MODULE: ./packages/table/src/column.ts | |
var columnProps = { | |
// 列唯一主键 | |
colId: [String, Number], | |
// 渲染类型 index,radio,checkbox,expand,html | |
type: String, | |
// 列字段名 | |
field: String, | |
// 列标题 | |
title: String, | |
// 列宽度 | |
width: [Number, String], | |
// 列最小宽度,把剩余宽度按比例分配 | |
minWidth: [Number, String], | |
// 是否允许拖动列宽调整大小 | |
resizable: { | |
type: Boolean, | |
default: null | |
}, | |
// 将列固定在左侧或者右侧 | |
fixed: String, | |
// 列对其方式 | |
align: String, | |
// 表头对齐方式 | |
headerAlign: String, | |
// 表尾列的对齐方式 | |
footerAlign: String, | |
// 当内容过长时显示为省略号 | |
showOverflow: { | |
type: [Boolean, String], | |
default: null | |
}, | |
// 当表头内容过长时显示为省略号 | |
showHeaderOverflow: { | |
type: [Boolean, String], | |
default: null | |
}, | |
// 当表尾内容过长时显示为省略号 | |
showFooterOverflow: { | |
type: [Boolean, String], | |
default: null | |
}, | |
// 给单元格附加 className | |
className: [String, Function], | |
// 给表头单元格附加 className | |
headerClassName: [String, Function], | |
// 给表尾单元格附加 className | |
footerClassName: [String, Function], | |
// 格式化显示内容 | |
formatter: [Function, Array, String], | |
// 是否允许排序 | |
sortable: Boolean, | |
// 自定义排序的属性 | |
sortBy: [String, Function], | |
// 排序的字段类型,比如字符串转数值等 | |
sortType: String, | |
// 配置筛选条件数组 | |
filters: { | |
type: Array, | |
default: null | |
}, | |
// 筛选是否允许多选 | |
filterMultiple: { | |
type: Boolean, | |
default: true | |
}, | |
// 自定义筛选方法 | |
filterMethod: Function, | |
// 筛选重置方法 | |
filterResetMethod: Function, | |
// 筛选复原方法 | |
filterRecoverMethod: Function, | |
// 筛选模板配置项 | |
filterRender: Object, | |
// 指定为树节点 | |
treeNode: Boolean, | |
// 是否可视 | |
visible: { | |
type: Boolean, | |
default: null | |
}, | |
// 单元格数据导出方法 | |
exportMethod: Function, | |
// 表尾单元格数据导出方法 | |
footerExportMethod: Function, | |
// 标题帮助图标配置项 | |
titleHelp: Object, | |
// 单元格值类型 | |
cellType: String, | |
// 单元格渲染配置项 | |
cellRender: Object, | |
// 单元格编辑渲染配置项 | |
editRender: Object, | |
// 内容渲染配置项 | |
contentRender: Object, | |
// 额外的参数 | |
params: Object | |
}; | |
/* harmony default export */ var src_column = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeColumn', | |
props: columnProps, | |
setup: function setup(props, _ref) { | |
var slots = _ref.slots; | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var colgroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('xecolgroup', null); | |
var column = src_cell.createColumn($xetable, props); | |
column.slots = slots; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('$xegrid', null); | |
watchColumn(props, column); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | |
assemColumn($xetable, refElem.value, column, colgroup); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
destroyColumn($xetable, column); | |
}); | |
var renderVN = function renderVN() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem | |
}); | |
}; | |
return renderVN; | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/column/index.ts | |
var Column = Object.assign(src_column, { | |
install: function install(app) { | |
dynamicApp.component(src_column.name, src_column); | |
app.component(src_column.name, src_column); // 兼容旧用法 | |
dynamicApp.component('VxeTableColumn', src_column); | |
app.component('VxeTableColumn', src_column); | |
} | |
}); | |
/* harmony default export */ var packages_column = (Column); | |
// CONCATENATED MODULE: ./packages/table/src/group.ts | |
/* harmony default export */ var table_src_group = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeColgroup', | |
props: columnProps, | |
setup: function setup(props, _ref) { | |
var slots = _ref.slots; | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var $xetable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xetable', {}); | |
var colgroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('xecolgroup', null); | |
var column = src_cell.createColumn($xetable, props); | |
var columnSlots = {}; | |
if (slots.header) { | |
columnSlots.header = slots.header; | |
} | |
var xecolumn = { | |
column: column | |
}; | |
column.slots = columnSlots; | |
column.children = []; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('xecolgroup', xecolumn); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('$xegrid', null); | |
watchColumn(props, column); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | |
assemColumn($xetable, refElem.value, column, colgroup); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
destroyColumn($xetable, column); | |
}); | |
var renderVN = function renderVN() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem | |
}, slots.default ? slots.default() : []); | |
}; | |
return renderVN; | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/colgroup/index.ts | |
var Colgroup = Object.assign(table_src_group, { | |
install: function install(app) { | |
dynamicApp.component(table_src_group.name, table_src_group); | |
app.component(table_src_group.name, table_src_group); // 兼容旧用法 | |
dynamicApp.component('VxeTableColgroup', table_src_group); | |
app.component('VxeTableColgroup', table_src_group); | |
} | |
}); | |
/* harmony default export */ var packages_colgroup = (Colgroup); | |
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.sort.js | |
var es_array_sort = __webpack_require__("4e82"); | |
// CONCATENATED MODULE: ./packages/table/src/props.ts | |
/* harmony default export */ var src_props = ({ | |
/** 基本属性 */ | |
id: String, | |
// 数据 | |
data: Array, | |
// 表格的高度 | |
height: [Number, String], | |
// 表格的最大高度 | |
maxHeight: [Number, String], | |
// 所有列是否允许拖动列宽调整大小 | |
resizable: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.resizable; | |
} | |
}, | |
// 是否带有斑马纹 | |
stripe: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.stripe; | |
} | |
}, | |
// 是否带有边框 | |
border: { | |
type: [Boolean, String], | |
default: function _default() { | |
return conf.table.border; | |
} | |
}, | |
// 是否圆角边框 | |
round: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.round; | |
} | |
}, | |
// 表格的尺寸 | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.table.size || conf.size; | |
} | |
}, | |
// 列的宽度是否自撑开(可能会被废弃的参数,不要使用) | |
fit: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.fit; | |
} | |
}, | |
// 表格是否加载中 | |
loading: Boolean, | |
// 所有的列对其方式 | |
align: { | |
type: String, | |
default: function _default() { | |
return conf.table.align; | |
} | |
}, | |
// 所有的表头列的对齐方式 | |
headerAlign: { | |
type: String, | |
default: function _default() { | |
return conf.table.headerAlign; | |
} | |
}, | |
// 所有的表尾列的对齐方式 | |
footerAlign: { | |
type: String, | |
default: function _default() { | |
return conf.table.footerAlign; | |
} | |
}, | |
// 是否显示表头 | |
showHeader: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.showHeader; | |
} | |
}, | |
// (即将废弃)是否要高亮当前选中行 | |
highlightCurrentRow: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.highlightCurrentRow; | |
} | |
}, | |
// (即将废弃)鼠标移到行是否要高亮显示 | |
highlightHoverRow: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.highlightHoverRow; | |
} | |
}, | |
// (即将废弃)是否要高亮当前选中列 | |
highlightCurrentColumn: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.highlightCurrentColumn; | |
} | |
}, | |
// (即将废弃)鼠标移到列是否要高亮显示 | |
highlightHoverColumn: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.highlightHoverColumn; | |
} | |
}, | |
// (即将废弃)激活单元格编辑时是否高亮显示 | |
highlightCell: Boolean, | |
// 是否显示表尾合计 | |
showFooter: Boolean, | |
// 表尾合计的计算方法 | |
footerMethod: Function, | |
// 给行附加 className | |
rowClassName: [String, Function], | |
// 给单元格附加 className | |
cellClassName: [String, Function], | |
// 给表头的行附加 className | |
headerRowClassName: [String, Function], | |
// 给表头的单元格附加 className | |
headerCellClassName: [String, Function], | |
// 给表尾的行附加 className | |
footerRowClassName: [String, Function], | |
// 给表尾的单元格附加 className | |
footerCellClassName: [String, Function], | |
// 给单元格附加样式 | |
cellStyle: [Object, Function], | |
// 给表头单元格附加样式 | |
headerCellStyle: [Object, Function], | |
// 给表尾单元格附加样式 | |
footerCellStyle: [Object, Function], | |
// 给行附加样式 | |
rowStyle: [Object, Function], | |
// 给表头行附加样式 | |
headerRowStyle: [Object, Function], | |
// 给表尾行附加样式 | |
footerRowStyle: [Object, Function], | |
// 合并指定单元格 | |
mergeCells: Array, | |
// 合并指定的表尾 | |
mergeFooterItems: Array, | |
// 自定义合并行或列的方法 | |
spanMethod: Function, | |
// 表尾合并行或列 | |
footerSpanMethod: Function, | |
// 设置所有内容过长时显示为省略号 | |
showOverflow: { | |
type: [Boolean, String], | |
default: function _default() { | |
return conf.table.showOverflow; | |
} | |
}, | |
// 设置表头所有内容过长时显示为省略号 | |
showHeaderOverflow: { | |
type: [Boolean, String], | |
default: function _default() { | |
return conf.table.showHeaderOverflow; | |
} | |
}, | |
// 设置表尾所有内容过长时显示为省略号 | |
showFooterOverflow: { | |
type: [Boolean, String], | |
default: function _default() { | |
return conf.table.showFooterOverflow; | |
} | |
}, | |
/** 高级属性 */ | |
// 主键配置 | |
columnKey: Boolean, | |
rowKey: Boolean, | |
rowId: { | |
type: String, | |
default: function _default() { | |
return conf.table.rowId; | |
} | |
}, | |
zIndex: Number, | |
emptyText: { | |
type: String, | |
default: function _default() { | |
return conf.table.emptyText; | |
} | |
}, | |
keepSource: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.keepSource; | |
} | |
}, | |
// 是否自动监听父容器变化去更新响应式表格宽高 | |
autoResize: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.autoResize; | |
} | |
}, | |
// 是否自动根据状态属性去更新响应式表格宽高 | |
syncResize: [Boolean, String, Number], | |
// 列配置信息 | |
columnConfig: Object, | |
// 行配置信息 | |
rowConfig: Object, | |
// 列调整配置项 | |
resizableConfig: Object, | |
// 序号配置项 | |
seqConfig: Object, | |
// 排序配置项 | |
sortConfig: Object, | |
// 筛选配置项 | |
filterConfig: Object, | |
// 单选框配置 | |
radioConfig: Object, | |
// 复选框配置项 | |
checkboxConfig: Object, | |
// tooltip 配置项 | |
tooltipConfig: Object, | |
// 导出配置项 | |
exportConfig: Object, | |
// 导入配置项 | |
importConfig: Object, | |
// 打印配置项 | |
printConfig: Object, | |
// 展开行配置项 | |
expandConfig: Object, | |
// 树形结构配置项 | |
treeConfig: Object, | |
// 快捷菜单配置项 | |
menuConfig: Object, | |
// 鼠标配置项 | |
mouseConfig: Object, | |
// 区域配置项 | |
areaConfig: Object, | |
// 按键配置项 | |
keyboardConfig: Object, | |
// 复制粘/贴配置项 | |
clipConfig: Object, | |
// 查找/替换配置项 | |
fnrConfig: Object, | |
// 编辑配置项 | |
editConfig: Object, | |
// 校验配置项 | |
validConfig: Object, | |
// 校验规则配置项 | |
editRules: Object, | |
// 空内容渲染配置项 | |
emptyRender: Object, | |
// 自定义列配置项 | |
customConfig: Object, | |
// 横向虚拟滚动配置项 | |
scrollX: Object, | |
// 纵向虚拟滚动配置项 | |
scrollY: Object, | |
// (即将废弃)优化相关 | |
animat: { | |
type: Boolean, | |
default: function _default() { | |
return conf.table.animat; | |
} | |
}, | |
delayHover: { | |
type: Number, | |
default: function _default() { | |
return conf.table.delayHover; | |
} | |
}, | |
// 额外的参数 | |
params: Object | |
}); | |
// CONCATENATED MODULE: ./packages/table/src/emits.ts | |
/* harmony default export */ var emits = (['update:data', 'keydown', 'paste', 'copy', 'cut', 'current-change', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'filter-change', 'filter-visible', 'clear-filter', 'resizable-change', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'edit-actived', 'edit-disabled', 'valid-error', 'scroll', 'custom', 'change-fnr', 'open-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-start', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-end']); | |
// CONCATENATED MODULE: ./packages/grid/src/grid.ts | |
var tableComponentPropKeys = Object.keys(src_props); | |
var tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'createData', 'createRow', 'revertData', 'clearData', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getData', 'getCheckboxRecords', 'getRowById', 'getRowid', 'getTableData', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'isCheckedByCheckboxRow', 'isIndeterminateByCheckboxRow', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'setRadioRow', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'sort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'focus', 'blur', 'connect']; | |
var gridComponentEmits = [].concat(_toConsumableArray(emits), ['page-change', 'form-submit', 'form-submit-invalid', 'form-reset', 'form-collapse', 'form-toggle-collapse', 'toolbar-button-click', 'toolbar-tool-click', 'zoom']); | |
/* harmony default export */ var grid = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeGrid', | |
props: _objectSpread2(_objectSpread2({}, src_props), {}, { | |
columns: Array, | |
pagerConfig: Object, | |
proxyConfig: Object, | |
toolbarConfig: Object, | |
formConfig: Object, | |
zoomConfig: Object, | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.grid.size || conf.size; | |
} | |
} | |
}), | |
emits: gridComponentEmits, | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var instance = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["getCurrentInstance"])(); | |
var computeSize = useSize(props); | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
tableLoading: false, | |
proxyInited: false, | |
isZMax: false, | |
tableData: [], | |
pendingRecords: [], | |
filterData: [], | |
formData: {}, | |
sortData: [], | |
tZindex: 0, | |
tablePage: { | |
total: 0, | |
pageSize: 10, | |
currentPage: 1 | |
} | |
}); | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refTable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refForm = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refToolbar = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refPager = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refFormWrapper = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refToolbarWrapper = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refTopWrapper = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refBottomWrapper = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refPagerWrapper = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var extendTableMethods = function extendTableMethods(methodKeys) { | |
var funcs = {}; | |
methodKeys.forEach(function (name) { | |
funcs[name] = function () { | |
var $xetable = refTable.value; | |
return $xetable && $xetable[name].apply($xetable, arguments); | |
}; | |
}); | |
return funcs; | |
}; | |
var gridExtendTableMethods = extendTableMethods(tableComponentMethodKeys); | |
tableComponentMethodKeys.forEach(function (name) { | |
gridExtendTableMethods[name] = function () { | |
var $xetable = refTable.value; | |
return $xetable && $xetable[name].apply($xetable, arguments); | |
}; | |
}); | |
var computeProxyOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.grid.proxyConfig, props.proxyConfig); | |
}); | |
var computeIsMsg = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var proxyOpts = computeProxyOpts.value; | |
return proxyOpts.message !== false; | |
}); | |
var computePagerOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.grid.pagerConfig, props.pagerConfig); | |
}); | |
var computeFormOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.grid.formConfig, props.formConfig); | |
}); | |
var computeToolbarOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.grid.toolbarConfig, props.toolbarConfig); | |
}); | |
var computeZoomOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.grid.zoomConfig, props.zoomConfig); | |
}); | |
var computeStyles = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return reactData.isZMax ? { | |
zIndex: reactData.tZindex | |
} : null; | |
}); | |
var computeTableExtendProps = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var rest = {}; | |
var gridProps = props; | |
tableComponentPropKeys.forEach(function (key) { | |
rest[key] = gridProps[key]; | |
}); | |
return rest; | |
}); | |
var refMaps = { | |
refElem: refElem, | |
refTable: refTable, | |
refForm: refForm, | |
refToolbar: refToolbar, | |
refPager: refPager | |
}; | |
var computeMaps = { | |
computeProxyOpts: computeProxyOpts, | |
computePagerOpts: computePagerOpts, | |
computeFormOpts: computeFormOpts, | |
computeToolbarOpts: computeToolbarOpts, | |
computeZoomOpts: computeZoomOpts | |
}; | |
var $xegrid = { | |
xID: xID, | |
props: props, | |
context: context, | |
instance: instance, | |
reactData: reactData, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
}, | |
getComputeMaps: function getComputeMaps() { | |
return computeMaps; | |
} | |
}; | |
var gridMethods = {}; | |
var handleRowClassName = function handleRowClassName(params) { | |
var pendingRecords = reactData.pendingRecords; | |
var rowClassName = props.rowClassName; | |
var clss = []; | |
if (pendingRecords.some(function (item) { | |
return item === params.row; | |
})) { | |
clss.push('row--pending'); | |
} | |
clss.push(rowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(rowClassName) ? rowClassName(params) : rowClassName : ''); | |
return clss; | |
}; | |
var handleActiveMethod = function handleActiveMethod(params) { | |
var editConfig = props.editConfig; | |
var pendingRecords = reactData.pendingRecords; | |
var $xetable = refTable.value; | |
var activeMethod = editConfig ? editConfig.activeMethod : null; | |
return $xetable.findRowIndexOf(pendingRecords, params.row) === -1 && (!activeMethod || activeMethod(params)); | |
}; | |
var computeTableProps = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var seqConfig = props.seqConfig, | |
pagerConfig = props.pagerConfig, | |
loading = props.loading, | |
editConfig = props.editConfig, | |
proxyConfig = props.proxyConfig; | |
var isZMax = reactData.isZMax, | |
tableLoading = reactData.tableLoading, | |
tablePage = reactData.tablePage, | |
tableData = reactData.tableData; | |
var tableExtendProps = computeTableExtendProps.value; | |
var proxyOpts = computeProxyOpts.value; | |
var tableProps = Object.assign({}, tableExtendProps); | |
if (isZMax) { | |
if (tableExtendProps.maxHeight) { | |
tableProps.maxHeight = 'auto'; | |
} else { | |
tableProps.height = 'auto'; | |
} | |
} | |
if (proxyConfig) { | |
tableProps.loading = loading || tableLoading; | |
tableProps.data = tableData; | |
tableProps.rowClassName = handleRowClassName; | |
if (proxyOpts.seq && isEnableConf(pagerConfig)) { | |
tableProps.seqConfig = Object.assign({}, seqConfig, { | |
startIndex: (tablePage.currentPage - 1) * tablePage.pageSize | |
}); | |
} | |
} | |
if (editConfig) { | |
tableProps.editConfig = Object.assign({}, editConfig, { | |
activeMethod: handleActiveMethod | |
}); | |
} | |
return tableProps; | |
}); | |
var initToolbar = function initToolbar() { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var $xetable = refTable.value; | |
var $xetoolbar = refToolbar.value; | |
if ($xetable && $xetoolbar) { | |
$xetable.connect($xetoolbar); | |
} | |
}); | |
}; | |
var initPages = function initPages() { | |
var pagerConfig = props.pagerConfig; | |
var tablePage = reactData.tablePage; | |
var pagerOpts = computePagerOpts.value; | |
var currentPage = pagerOpts.currentPage, | |
pageSize = pagerOpts.pageSize; | |
if (pagerConfig) { | |
if (currentPage) { | |
tablePage.currentPage = currentPage; | |
} | |
if (pageSize) { | |
tablePage.pageSize = pageSize; | |
} | |
} | |
}; | |
var triggerPendingEvent = function triggerPendingEvent(code) { | |
var pendingRecords = reactData.pendingRecords; | |
var isMsg = computeIsMsg.value; | |
var $xetable = refTable.value; | |
var selectRecords = $xetable.getCheckboxRecords(); | |
if (selectRecords.length) { | |
var plus = []; | |
var minus = []; | |
selectRecords.forEach(function (data) { | |
if (pendingRecords.some(function (item) { | |
return data === item; | |
})) { | |
minus.push(data); | |
} else { | |
plus.push(data); | |
} | |
}); | |
if (minus.length) { | |
reactData.pendingRecords = pendingRecords.filter(function (item) { | |
return $xetable.findRowIndexOf(minus, item) === -1; | |
}).concat(plus); | |
} else if (plus.length) { | |
reactData.pendingRecords = pendingRecords.concat(plus); | |
} | |
gridExtendTableMethods.clearCheckboxRow(); | |
} else { | |
if (isMsg) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
id: code, | |
content: conf.i18n('vxe.grid.selectOneRecord'), | |
status: 'warning' | |
}); | |
} | |
} | |
}; | |
var getRespMsg = function getRespMsg(rest, defaultMsg) { | |
var proxyOpts = computeProxyOpts.value; | |
var _proxyOpts$props = proxyOpts.props, | |
proxyProps = _proxyOpts$props === void 0 ? {} : _proxyOpts$props; | |
var msg; | |
if (rest && proxyProps.message) { | |
msg = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(rest, proxyProps.message); | |
} | |
return msg || conf.i18n(defaultMsg); | |
}; | |
var handleDeleteRow = function handleDeleteRow(code, alertKey, callback) { | |
var isMsg = computeIsMsg.value; | |
var selectRecords = gridExtendTableMethods.getCheckboxRecords(); | |
if (isMsg) { | |
if (selectRecords.length) { | |
return VXETable.modal.confirm({ | |
id: "cfm_".concat(code), | |
content: conf.i18n(alertKey), | |
escClosable: true | |
}).then(function (type) { | |
if (type === 'confirm') { | |
callback(); | |
} | |
}); | |
} else { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
id: "msg_".concat(code), | |
content: conf.i18n('vxe.grid.selectOneRecord'), | |
status: 'warning' | |
}); | |
} | |
} else { | |
if (selectRecords.length) { | |
callback(); | |
} | |
} | |
return Promise.resolve(); | |
}; | |
var pageChangeEvent = function pageChangeEvent(params) { | |
var proxyConfig = props.proxyConfig; | |
var tablePage = reactData.tablePage; | |
var currentPage = params.currentPage, | |
pageSize = params.pageSize; | |
tablePage.currentPage = currentPage; | |
tablePage.pageSize = pageSize; | |
gridMethods.dispatchEvent('page-change', params); | |
if (proxyConfig) { | |
gridMethods.commitProxy('query'); | |
} | |
}; | |
var sortChangeEvent = function sortChangeEvent(params) { | |
var $xetable = refTable.value; | |
var proxyConfig = props.proxyConfig; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeSortOpts = _$xetable$getComputeM.computeSortOpts; | |
var sortOpts = computeSortOpts.value; // 如果是服务端排序 | |
if (sortOpts.remote) { | |
reactData.sortData = params.sortList; | |
if (proxyConfig) { | |
reactData.tablePage.currentPage = 1; | |
gridMethods.commitProxy('query'); | |
} | |
} | |
gridMethods.dispatchEvent('sort-change', params); | |
}; | |
var filterChangeEvent = function filterChangeEvent(params) { | |
var $xetable = refTable.value; | |
var proxyConfig = props.proxyConfig; | |
var _$xetable$getComputeM2 = $xetable.getComputeMaps(), | |
computeFilterOpts = _$xetable$getComputeM2.computeFilterOpts; | |
var filterOpts = computeFilterOpts.value; // 如果是服务端过滤 | |
if (filterOpts.remote) { | |
reactData.filterData = params.filterList; | |
if (proxyConfig) { | |
reactData.tablePage.currentPage = 1; | |
gridMethods.commitProxy('query'); | |
} | |
} | |
gridMethods.dispatchEvent('filter-change', params); | |
}; | |
var submitFormEvent = function submitFormEvent(params) { | |
var proxyConfig = props.proxyConfig; | |
if (proxyConfig) { | |
gridMethods.commitProxy('reload'); | |
} | |
gridMethods.dispatchEvent('form-submit', params); | |
}; | |
var resetFormEvent = function resetFormEvent(params) { | |
var proxyConfig = props.proxyConfig; | |
if (proxyConfig) { | |
gridMethods.commitProxy('reload'); | |
} | |
gridMethods.dispatchEvent('form-reset', params); | |
}; | |
var submitInvalidEvent = function submitInvalidEvent(params) { | |
gridMethods.dispatchEvent('form-submit-invalid', params); | |
}; | |
var collapseEvent = function collapseEvent(params) { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
return gridExtendTableMethods.recalculate(true); | |
}); | |
gridMethods.dispatchEvent('form-toggle-collapse', params); | |
gridMethods.dispatchEvent('form-collapse', params); | |
}; | |
var handleZoom = function handleZoom(isMax) { | |
var isZMax = reactData.isZMax; | |
if (isMax ? !isZMax : isZMax) { | |
reactData.isZMax = !isZMax; | |
if (reactData.tZindex < getLastZIndex()) { | |
reactData.tZindex = nextZIndex(); | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])().then(function () { | |
return gridExtendTableMethods.recalculate(true); | |
}).then(function () { | |
return reactData.isZMax; | |
}); | |
}; | |
var getFuncSlot = function getFuncSlot(optSlots, slotKey) { | |
var funcSlot = optSlots[slotKey]; | |
if (funcSlot) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(funcSlot)) { | |
if (slots[funcSlot]) { | |
return slots[funcSlot]; | |
} else { | |
if (true) { | |
errLog('vxe.error.notSlot', [funcSlot]); | |
} | |
} | |
} else { | |
return funcSlot; | |
} | |
} | |
return null; | |
}; | |
/** | |
* 渲染表单 | |
*/ | |
var renderForms = function renderForms() { | |
var formConfig = props.formConfig, | |
proxyConfig = props.proxyConfig; | |
var formData = reactData.formData; | |
var proxyOpts = computeProxyOpts.value; | |
var formOpts = computeFormOpts.value; | |
var restVNs = []; | |
if (isEnableConf(formConfig) || slots.form) { | |
var slotVNs = []; | |
if (slots.form) { | |
slotVNs = slots.form({ | |
$grid: $xegrid | |
}); | |
} else { | |
if (formOpts.items) { | |
var formSlots = {}; | |
if (!formOpts.inited) { | |
formOpts.inited = true; | |
var beforeItem = proxyOpts.beforeItem; | |
if (proxyOpts && beforeItem) { | |
formOpts.items.forEach(function (item) { | |
beforeItem({ | |
$grid: $xegrid, | |
item: item | |
}); | |
}); | |
} | |
} // 处理插槽 | |
formOpts.items.forEach(function (item) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.each(item.slots, function (func) { | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(func)) { | |
if (slots[func]) { | |
formSlots[func] = slots[func]; | |
} | |
} | |
}); | |
}); | |
slotVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-form'), _objectSpread2(_objectSpread2({ | |
ref: refForm | |
}, Object.assign({}, formOpts, { | |
data: proxyConfig && proxyOpts.form ? formData : formOpts.data | |
})), {}, { | |
onSubmit: submitFormEvent, | |
onReset: resetFormEvent, | |
onSubmitInvalid: submitInvalidEvent, | |
onCollapse: collapseEvent | |
}), formSlots)); | |
} | |
} | |
restVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refFormWrapper, | |
class: 'vxe-grid--form-wrapper' | |
}, slotVNs)); | |
} | |
return restVNs; | |
}; | |
/** | |
* 渲染工具栏 | |
*/ | |
var renderToolbars = function renderToolbars() { | |
var toolbarConfig = props.toolbarConfig; | |
var toolbarOpts = computeToolbarOpts.value; | |
var restVNs = []; | |
if (isEnableConf(toolbarConfig) || slots.toolbar) { | |
var slotVNs = []; | |
if (slots.toolbar) { | |
slotVNs = slots.toolbar({ | |
$grid: $xegrid | |
}); | |
} else { | |
var toolbarOptSlots = toolbarOpts.slots; | |
var buttonsSlot; | |
var toolsSlot; | |
var toolbarSlots = {}; | |
if (toolbarOptSlots) { | |
buttonsSlot = getFuncSlot(toolbarOptSlots, 'buttons'); | |
toolsSlot = getFuncSlot(toolbarOptSlots, 'tools'); | |
if (buttonsSlot) { | |
toolbarSlots.buttons = buttonsSlot; | |
} | |
if (toolsSlot) { | |
toolbarSlots.tools = toolsSlot; | |
} | |
} | |
slotVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-toolbar'), _objectSpread2({ | |
ref: refToolbar | |
}, toolbarOpts), toolbarSlots)); | |
} | |
restVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refToolbarWrapper, | |
class: 'vxe-grid--toolbar-wrapper' | |
}, slotVNs)); | |
} | |
return restVNs; | |
}; | |
/** | |
* 渲染表格顶部区域 | |
*/ | |
var renderTops = function renderTops() { | |
if (slots.top) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refTopWrapper, | |
class: 'vxe-grid--top-wrapper' | |
}, slots.top({ | |
$grid: $xegrid | |
}))]; | |
} | |
return []; | |
}; | |
var tableCompEvents = {}; | |
emits.forEach(function (name) { | |
var type = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.camelCase("on-".concat(name)); | |
tableCompEvents[type] = function () { | |
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | |
args[_key] = arguments[_key]; | |
} | |
return emit.apply(void 0, [name].concat(args)); | |
}; | |
}); | |
/** | |
* 渲染表格 | |
*/ | |
var renderTables = function renderTables() { | |
var proxyConfig = props.proxyConfig; | |
var tableProps = computeTableProps.value; | |
var proxyOpts = computeProxyOpts.value; | |
var tableOns = Object.assign({}, tableCompEvents); | |
var emptySlot = slots.empty; | |
if (proxyConfig) { | |
if (proxyOpts.sort) { | |
tableOns.onSortChange = sortChangeEvent; | |
} | |
if (proxyOpts.filter) { | |
tableOns.onFilterChange = filterChangeEvent; | |
} | |
} | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-table'), _objectSpread2(_objectSpread2({ | |
ref: refTable | |
}, tableProps), tableOns), emptySlot ? { | |
empty: function empty() { | |
return emptySlot({}); | |
} | |
} : {})]; | |
}; | |
/** | |
* 渲染表格底部区域 | |
*/ | |
var renderBottoms = function renderBottoms() { | |
if (slots.bottom) { | |
return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refBottomWrapper, | |
class: 'vxe-grid--bottom-wrapper' | |
}, slots.bottom({ | |
$grid: $xegrid | |
}))]; | |
} | |
return []; | |
}; | |
/** | |
* 渲染分页 | |
*/ | |
var renderPagers = function renderPagers() { | |
var pagerConfig = props.pagerConfig; | |
var pagerOpts = computePagerOpts.value; | |
var restVNs = []; | |
if (isEnableConf(pagerConfig) || slots.pager) { | |
var slotVNs = []; | |
if (slots.pager) { | |
slotVNs = slots.pager({ | |
$grid: $xegrid | |
}); | |
} else { | |
var pagerOptSlots = pagerOpts.slots; | |
var pagerSlots = {}; | |
var leftSlot; | |
var rightSlot; | |
if (pagerOptSlots) { | |
leftSlot = getFuncSlot(pagerOptSlots, 'left'); | |
rightSlot = getFuncSlot(pagerOptSlots, 'right'); | |
if (leftSlot) { | |
pagerSlots.buttons = leftSlot; | |
} | |
if (rightSlot) { | |
pagerSlots.tools = rightSlot; | |
} | |
} | |
slotVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-pager'), _objectSpread2(_objectSpread2(_objectSpread2({ | |
ref: refPager | |
}, pagerOpts), props.proxyConfig ? reactData.tablePage : {}), {}, { | |
onPageChange: pageChangeEvent | |
}), pagerSlots)); | |
} | |
restVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refPagerWrapper, | |
class: 'vxe-grid--pager-wrapper' | |
}, slotVNs)); | |
} | |
return restVNs; | |
}; | |
var initProxy = function initProxy() { | |
var proxyConfig = props.proxyConfig, | |
formConfig = props.formConfig; | |
var proxyInited = reactData.proxyInited; | |
var proxyOpts = computeProxyOpts.value; | |
var formOpts = computeFormOpts.value; | |
if (proxyConfig) { | |
if (isEnableConf(formConfig) && proxyOpts.form && formOpts.items) { | |
var formData = {}; | |
formOpts.items.forEach(function (item) { | |
var field = item.field, | |
itemRender = item.itemRender; | |
if (field) { | |
var itemValue = null; | |
if (itemRender) { | |
var defaultValue = itemRender.defaultValue; | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(defaultValue)) { | |
itemValue = defaultValue({ | |
item: item | |
}); | |
} else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(defaultValue)) { | |
itemValue = defaultValue; | |
} | |
} | |
formData[field] = itemValue; | |
} | |
}); | |
reactData.formData = formData; | |
} | |
if (!proxyInited && proxyOpts.autoLoad !== false) { | |
reactData.proxyInited = true; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
return gridMethods.commitProxy('_init'); | |
}); | |
} | |
} | |
}; | |
gridMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$grid: $xegrid, | |
$event: evnt | |
}, params)); | |
}, | |
/** | |
* 提交指令,支持 code 或 button | |
* @param {String/Object} code 字符串或对象 | |
*/ | |
commitProxy: function commitProxy(proxyTarget) { | |
var toolbarConfig = props.toolbarConfig, | |
pagerConfig = props.pagerConfig; | |
var tablePage = reactData.tablePage, | |
formData = reactData.formData; | |
var isMsg = computeIsMsg.value; | |
var proxyOpts = computeProxyOpts.value; | |
var toolbarOpts = computeToolbarOpts.value; | |
var beforeQuery = proxyOpts.beforeQuery, | |
afterQuery = proxyOpts.afterQuery, | |
beforeDelete = proxyOpts.beforeDelete, | |
afterDelete = proxyOpts.afterDelete, | |
beforeSave = proxyOpts.beforeSave, | |
afterSave = proxyOpts.afterSave, | |
_proxyOpts$ajax = proxyOpts.ajax, | |
ajax = _proxyOpts$ajax === void 0 ? {} : _proxyOpts$ajax, | |
_proxyOpts$props2 = proxyOpts.props, | |
proxyProps = _proxyOpts$props2 === void 0 ? {} : _proxyOpts$props2; | |
var $xetable = refTable.value; | |
var button = null; | |
var code = null; | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(proxyTarget)) { | |
var buttons = toolbarOpts.buttons; | |
var matchObj = toolbarConfig && buttons ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(buttons, function (item) { | |
return item.code === proxyTarget; | |
}, { | |
children: 'dropdowns' | |
}) : null; | |
button = matchObj ? matchObj.item : null; | |
code = proxyTarget; | |
} else { | |
button = proxyTarget; | |
code = button.code; | |
} | |
var btnParams = button ? button.params : null; | |
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { | |
args[_key2 - 1] = arguments[_key2]; | |
} | |
switch (code) { | |
case 'insert': | |
$xetable.insert({}); | |
break; | |
case 'insert_actived': | |
$xetable.insert({}).then(function (_ref) { | |
var row = _ref.row; | |
return $xetable.setActiveRow(row); | |
}); | |
break; | |
case 'mark_cancel': | |
triggerPendingEvent(code); | |
break; | |
case 'remove': | |
return handleDeleteRow(code, 'vxe.grid.removeSelectRecord', function () { | |
return $xetable.removeCheckboxRow(); | |
}); | |
case 'import': | |
$xetable.importData(btnParams); | |
break; | |
case 'open_import': | |
$xetable.openImport(btnParams); | |
break; | |
case 'export': | |
$xetable.exportData(btnParams); | |
break; | |
case 'open_export': | |
$xetable.openExport(btnParams); | |
break; | |
case 'reset_custom': | |
$xetable.resetColumn(true); | |
break; | |
case '_init': | |
case 'reload': | |
case 'query': | |
{ | |
var ajaxMethods = ajax.query; | |
if (ajaxMethods) { | |
var isInited = code === '_init'; | |
var isReload = code === 'reload'; | |
var sortList = []; | |
var filterList = []; | |
var pageParams = {}; | |
if (pagerConfig) { | |
if (isInited || isReload) { | |
tablePage.currentPage = 1; | |
} | |
if (isEnableConf(pagerConfig)) { | |
pageParams = _objectSpread2({}, tablePage); | |
} | |
} | |
if (isInited) { | |
var _$xetable$getComputeM3 = $xetable.getComputeMaps(), | |
computeSortOpts = _$xetable$getComputeM3.computeSortOpts; | |
var sortOpts = computeSortOpts.value; | |
var defaultSort = sortOpts.defaultSort; // 如果使用默认排序 | |
if (defaultSort) { | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(defaultSort)) { | |
defaultSort = [defaultSort]; | |
} | |
sortList = defaultSort.map(function (item) { | |
return { | |
property: item.field, | |
order: item.order | |
}; | |
}); | |
} | |
filterList = $xetable.getCheckedFilters(); | |
} else { | |
if (isReload) { | |
reactData.pendingRecords = []; | |
$xetable.clearAll(); | |
} else { | |
sortList = $xetable.getSortColumns(); | |
filterList = $xetable.getCheckedFilters(); | |
} | |
} | |
var params = { | |
code: code, | |
button: button, | |
$grid: $xegrid, | |
page: pageParams, | |
sort: sortList.length ? sortList[0] : {}, | |
sorts: sortList, | |
filters: filterList, | |
form: formData, | |
options: ajaxMethods | |
}; | |
reactData.sortData = sortList; | |
reactData.filterData = filterList; | |
reactData.tableLoading = true; | |
var applyArgs = [params].concat(args); | |
return Promise.resolve((beforeQuery || ajaxMethods).apply(void 0, _toConsumableArray(applyArgs))).catch(function (e) { | |
return e; | |
}).then(function (rest) { | |
reactData.tableLoading = false; | |
if (rest) { | |
if (isEnableConf(pagerConfig)) { | |
var total = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(rest, proxyProps.total || 'page.total') || 0; | |
tablePage.total = total; | |
reactData.tableData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(rest, proxyProps.result || 'result') || []; // 检验当前页码,不能超出当前最大页数 | |
var pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1); | |
if (tablePage.currentPage > pageCount) { | |
tablePage.currentPage = pageCount; | |
} | |
} else { | |
reactData.tableData = (proxyProps.list ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(rest, proxyProps.list) : rest) || []; | |
} | |
} else { | |
reactData.tableData = []; | |
} | |
if (afterQuery) { | |
afterQuery.apply(void 0, _toConsumableArray(applyArgs)); | |
} | |
}); | |
} else { | |
if (true) { | |
errLog('vxe.error.notFunc', ['proxy-config.ajax.query']); | |
} | |
} | |
break; | |
} | |
case 'delete': | |
{ | |
var _ajaxMethods = ajax.delete; | |
if (_ajaxMethods) { | |
var selectRecords = gridExtendTableMethods.getCheckboxRecords(); | |
var removeRecords = selectRecords.filter(function (row) { | |
return !$xetable.isInsertByRow(row); | |
}); | |
var body = { | |
removeRecords: removeRecords | |
}; | |
var _applyArgs = [{ | |
$grid: $xegrid, | |
code: code, | |
button: button, | |
body: body, | |
options: _ajaxMethods | |
}].concat(args); | |
if (selectRecords.length) { | |
return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', function () { | |
if (!removeRecords.length) { | |
return $xetable.remove(selectRecords); | |
} | |
reactData.tableLoading = true; | |
return Promise.resolve((beforeDelete || _ajaxMethods).apply(void 0, _toConsumableArray(_applyArgs))).then(function (rest) { | |
reactData.tableLoading = false; | |
reactData.pendingRecords = reactData.pendingRecords.filter(function (row) { | |
return $xetable.findRowIndexOf(removeRecords, row) === -1; | |
}); | |
if (isMsg) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
content: getRespMsg(rest, 'vxe.grid.delSuccess'), | |
status: 'success' | |
}); | |
} | |
if (afterDelete) { | |
afterDelete.apply(void 0, _toConsumableArray(_applyArgs)); | |
} else { | |
gridMethods.commitProxy('query'); | |
} | |
}).catch(function (rest) { | |
reactData.tableLoading = false; | |
if (isMsg) { | |
if (true) { | |
if (!VXETable.modal.message) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
id: code, | |
content: getRespMsg(rest, 'vxe.grid.operError'), | |
status: 'error' | |
}); | |
} | |
}); | |
}); | |
} else { | |
if (isMsg) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
id: code, | |
content: conf.i18n('vxe.grid.selectOneRecord'), | |
status: 'warning' | |
}); | |
} | |
} | |
} else { | |
if (true) { | |
errLog('vxe.error.notFunc', ['proxy-config.ajax.delete']); | |
} | |
} | |
break; | |
} | |
case 'save': | |
{ | |
var _ajaxMethods2 = ajax.save; | |
if (_ajaxMethods2) { | |
var _body = Object.assign({ | |
pendingRecords: reactData.pendingRecords | |
}, $xetable.getRecordset()); | |
var insertRecords = _body.insertRecords, | |
_removeRecords = _body.removeRecords, | |
updateRecords = _body.updateRecords, | |
pendingRecords = _body.pendingRecords; | |
var _applyArgs2 = [{ | |
$grid: $xegrid, | |
code: code, | |
button: button, | |
body: _body, | |
options: _ajaxMethods2 | |
}].concat(args); // 排除掉新增且标记为删除的数据 | |
if (insertRecords.length) { | |
_body.pendingRecords = pendingRecords.filter(function (row) { | |
return $xetable.findRowIndexOf(insertRecords, row) === -1; | |
}); | |
} // 排除已标记为删除的数据 | |
if (pendingRecords.length) { | |
_body.insertRecords = insertRecords.filter(function (row) { | |
return $xetable.findRowIndexOf(pendingRecords, row) === -1; | |
}); | |
} // 只校验新增和修改的数据 | |
return $xetable.validate(_body.insertRecords.concat(updateRecords)).then(function (errMap) { | |
if (errMap) { | |
// 如果校验不通过 | |
return; | |
} | |
if (_body.insertRecords.length || _removeRecords.length || updateRecords.length || _body.pendingRecords.length) { | |
reactData.tableLoading = true; | |
return Promise.resolve((beforeSave || _ajaxMethods2).apply(void 0, _toConsumableArray(_applyArgs2))).then(function (rest) { | |
reactData.tableLoading = false; | |
reactData.pendingRecords = []; | |
if (isMsg) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
content: getRespMsg(rest, 'vxe.grid.saveSuccess'), | |
status: 'success' | |
}); | |
} | |
if (afterSave) { | |
afterSave.apply(void 0, _toConsumableArray(_applyArgs2)); | |
} else { | |
gridMethods.commitProxy('query'); | |
} | |
}).catch(function (rest) { | |
reactData.tableLoading = false; | |
if (isMsg) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
id: code, | |
content: getRespMsg(rest, 'vxe.grid.operError'), | |
status: 'error' | |
}); | |
} | |
}); | |
} else { | |
if (isMsg) { | |
// 检测弹窗模块 | |
if (true) { | |
if (!VXETable.modal) { | |
errLog('vxe.error.reqModule', ['Modal']); | |
} | |
} | |
VXETable.modal.message({ | |
id: code, | |
content: conf.i18n('vxe.grid.dataUnchanged'), | |
status: 'info' | |
}); | |
} | |
} | |
}); | |
} else { | |
if (true) { | |
errLog('vxe.error.notFunc', ['proxy-config.ajax.save']); | |
} | |
} | |
break; | |
} | |
default: | |
{ | |
var btnMethod = VXETable.commands.get(code); | |
if (btnMethod) { | |
btnMethod.apply(void 0, [{ | |
code: code, | |
button: button, | |
$grid: $xegrid, | |
$table: $xetable | |
}].concat(args)); | |
} | |
} | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); | |
}, | |
zoom: function zoom() { | |
if (reactData.isZMax) { | |
return gridMethods.revert(); | |
} | |
return gridMethods.maximize(); | |
}, | |
isMaximized: function isMaximized() { | |
return reactData.isZMax; | |
}, | |
maximize: function maximize() { | |
return handleZoom(true); | |
}, | |
revert: function revert() { | |
return handleZoom(); | |
}, | |
getFormItems: function getFormItems(itemIndex) { | |
var formOpts = computeFormOpts.value; | |
var formConfig = props.formConfig; | |
var items = formOpts.items; | |
var itemList = []; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(isEnableConf(formConfig) && items ? items : [], function (item) { | |
itemList.push(item); | |
}, { | |
children: 'children' | |
}); | |
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(itemIndex) ? itemList : itemList[itemIndex]; | |
}, | |
getPendingRecords: function getPendingRecords() { | |
return reactData.pendingRecords; | |
}, | |
getProxyInfo: function getProxyInfo() { | |
if (props.proxyConfig) { | |
var sortData = reactData.sortData; | |
return { | |
data: reactData.tableData, | |
filter: reactData.filterData, | |
form: reactData.formData, | |
sort: sortData.length ? sortData[0] : {}, | |
sorts: sortData, | |
pager: reactData.tablePage, | |
pendingRecords: reactData.pendingRecords | |
}; | |
} | |
return null; | |
} | |
}; // 检查插槽 | |
if (true) { | |
gridMethods.loadColumn = function (columns) { | |
var $xetable = refTable.value; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(columns, function (column) { | |
if (column.slots) { | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.each(column.slots, function (func) { | |
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(func)) { | |
if (!slots[func]) { | |
errLog('vxe.error.notSlot', [func]); | |
} | |
} | |
}); | |
} | |
}); | |
return $xetable.loadColumn(columns); | |
}; | |
gridMethods.reloadColumn = function (columns) { | |
gridExtendTableMethods.clearAll(); | |
return gridMethods.loadColumn(columns); | |
}; | |
} | |
var gridPrivateMethods = { | |
extendTableMethods: extendTableMethods, | |
callSlot: function callSlot(slotFunc, params) { | |
if (slotFunc) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(slotFunc)) { | |
slotFunc = slots[slotFunc] || null; | |
} | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(slotFunc)) { | |
return slotFunc(params); | |
} | |
} | |
return []; | |
}, | |
/** | |
* 获取需要排除的高度 | |
*/ | |
getExcludeHeight: function getExcludeHeight() { | |
var height = props.height; | |
var isZMax = reactData.isZMax; | |
var el = refElem.value; | |
var formWrapper = refFormWrapper.value; | |
var toolbarWrapper = refToolbarWrapper.value; | |
var topWrapper = refTopWrapper.value; | |
var bottomWrapper = refBottomWrapper.value; | |
var pagerWrapper = refPagerWrapper.value; | |
var parentPaddingSize = isZMax || height !== 'auto' ? 0 : getPaddingTopBottomSize(el.parentNode); | |
return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper); | |
}, | |
getParentHeight: function getParentHeight() { | |
var el = refElem.value; | |
if (el) { | |
return (reactData.isZMax ? getDomNode().visibleHeight : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(getComputedStyle(el.parentNode).height)) - gridPrivateMethods.getExcludeHeight(); | |
} | |
return 0; | |
}, | |
triggerToolbarBtnEvent: function triggerToolbarBtnEvent(button, evnt) { | |
gridMethods.commitProxy(button, evnt); | |
gridMethods.dispatchEvent('toolbar-button-click', { | |
code: button.code, | |
button: button | |
}, evnt); | |
}, | |
triggerToolbarTolEvent: function triggerToolbarTolEvent(tool, evnt) { | |
gridMethods.commitProxy(tool, evnt); | |
gridMethods.dispatchEvent('toolbar-tool-click', { | |
code: tool.code, | |
tool: tool, | |
$event: evnt | |
}); | |
}, | |
triggerZoomEvent: function triggerZoomEvent(evnt) { | |
gridMethods.zoom(); | |
gridMethods.dispatchEvent('zoom', { | |
type: reactData.isZMax ? 'max' : 'revert' | |
}, evnt); | |
} | |
}; | |
Object.assign($xegrid, gridExtendTableMethods, gridMethods, gridPrivateMethods); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.columns; | |
}, function (value) { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
return $xegrid.loadColumn(value || []); | |
}); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.toolbarConfig; | |
}, function (value) { | |
if (value) { | |
initToolbar(); | |
} | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.proxyConfig; | |
}, function () { | |
initProxy(); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () { | |
return props.pagerConfig; | |
}, function () { | |
initPages(); | |
}); | |
var handleGlobalKeydownEvent = function handleGlobalKeydownEvent(evnt) { | |
var zoomOpts = computeZoomOpts.value; | |
var isEsc = hasEventKey(evnt, EVENT_KEYS.ESCAPE); | |
if (isEsc && reactData.isZMax && zoomOpts.escRestore !== false) { | |
gridPrivateMethods.triggerZoomEvent(evnt); | |
} | |
}; | |
VXETable.hooks.forEach(function (options) { | |
var setupGrid = options.setupGrid; | |
if (setupGrid) { | |
var hookRest = setupGrid($xegrid); | |
if (hookRest && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isObject(hookRest)) { | |
Object.assign($xegrid, hookRest); | |
} | |
} | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var data = props.data, | |
columns = props.columns, | |
proxyConfig = props.proxyConfig; | |
var proxyOpts = computeProxyOpts.value; | |
var formOpts = computeFormOpts.value; | |
if (proxyConfig && (data || proxyOpts.form && formOpts.data)) { | |
errLog('errConflicts', ['grid.data', 'grid.proxy-config']); | |
} | |
if (columns && columns.length) { | |
$xegrid.loadColumn(columns); | |
} | |
initToolbar(); | |
initPages(); | |
initProxy(); | |
}); | |
GlobalEvent.on($xegrid, 'keydown', handleGlobalKeydownEvent); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
GlobalEvent.off($xegrid, 'keydown'); | |
}); | |
var renderVN = function renderVN() { | |
var _ref2; | |
var vSize = computeSize.value; | |
var styles = computeStyles.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-grid', (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, 'is--animat', !!props.animat), _defineProperty(_ref2, 'is--round', props.round), _defineProperty(_ref2, 'is--maximize', reactData.isZMax), _defineProperty(_ref2, 'is--loading', props.loading || reactData.tableLoading), _ref2)], | |
style: styles | |
}, renderForms().concat(renderToolbars(), renderTops(), renderTables(), renderBottoms(), renderPagers())); | |
}; | |
$xegrid.renderVN = renderVN; | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('$xegrid', $xegrid); | |
return $xegrid; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/grid/index.ts | |
var Grid = Object.assign(grid, { | |
install: function install(app) { | |
dynamicApp.component(grid.name, grid); | |
app.component(grid.name, grid); | |
} | |
}); | |
/* harmony default export */ var packages_grid = (Grid); | |
// CONCATENATED MODULE: ./packages/toolbar/src/toolbar.ts | |
/* harmony default export */ var toolbar = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxeToolbar', | |
props: { | |
loading: Boolean, | |
refresh: [Boolean, Object], | |
import: [Boolean, Object], | |
export: [Boolean, Object], | |
print: [Boolean, Object], | |
zoom: [Boolean, Object], | |
custom: [Boolean, Object], | |
buttons: { | |
type: Array, | |
default: function _default() { | |
return conf.toolbar.buttons; | |
} | |
}, | |
tools: { | |
type: Array, | |
default: function _default() { | |
return conf.toolbar.tools; | |
} | |
}, | |
perfect: { | |
type: Boolean, | |
default: function _default() { | |
return conf.toolbar.perfect; | |
} | |
}, | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.toolbar.size || conf.size; | |
} | |
}, | |
className: [String, Function] | |
}, | |
emits: ['button-click', 'tool-click'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var computeSize = useSize(props); | |
var reactData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
isRefresh: false, | |
columns: [] | |
}); | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refCustomWrapper = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var customStore = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ | |
isAll: false, | |
isIndeterminate: false, | |
activeBtn: false, | |
activeWrapper: false, | |
visible: false | |
}); | |
var refMaps = { | |
refElem: refElem | |
}; | |
var $xetoolbar = { | |
xID: xID, | |
props: props, | |
context: context, | |
reactData: reactData, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
} | |
}; | |
var toolbarMethods = {}; | |
var $xegrid = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xegrid', null); | |
var $xetable; | |
var computeRefreshOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.toolbar.refresh, props.refresh); | |
}); | |
var computeImportOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.toolbar.import, props.import); | |
}); | |
var computeExportOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.toolbar.export, props.export); | |
}); | |
var computePrintOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.toolbar.print, props.print); | |
}); | |
var computeZoomOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.toolbar.zoom, props.zoom); | |
}); | |
var computeCustomOpts = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Object.assign({}, conf.toolbar.custom, props.custom); | |
}); | |
var checkTable = function checkTable() { | |
if ($xetable) { | |
return true; | |
} | |
errLog('vxe.error.barUnableLink'); | |
}; | |
var checkCustomStatus = function checkCustomStatus() { | |
var columns = reactData.columns; | |
var _$xetable$getComputeM = $xetable.getComputeMaps(), | |
computeTableCustomOpts = _$xetable$getComputeM.computeCustomOpts; | |
var tableCustomOpts = computeTableCustomOpts.value; | |
var checkMethod = tableCustomOpts.checkMethod; | |
customStore.isAll = columns.every(function (column) { | |
return (checkMethod ? !checkMethod({ | |
column: column | |
}) : false) || column.visible; | |
}); | |
customStore.isIndeterminate = !customStore.isAll && columns.some(function (column) { | |
return (!checkMethod || checkMethod({ | |
column: column | |
})) && (column.visible || column.halfVisible); | |
}); | |
}; | |
var showCustom = function showCustom() { | |
customStore.visible = true; | |
checkCustomStatus(); | |
}; | |
var handleTableCustom = function handleTableCustom() { | |
$xetable.handleCustom(); | |
}; | |
var closeCustom = function closeCustom() { | |
var custom = props.custom; | |
var customOpts = computeCustomOpts.value; | |
if (customStore.visible) { | |
customStore.visible = false; | |
if (custom && !customOpts.immediate) { | |
handleTableCustom(); | |
} | |
} | |
}; | |
var emitCustomEvent = function emitCustomEvent(type, evnt) { | |
var comp = $xegrid || $xetable; | |
comp.dispatchEvent('custom', { | |
type: type | |
}, evnt); | |
}; | |
var confirmCustomEvent = function confirmCustomEvent(evnt) { | |
closeCustom(); | |
emitCustomEvent('confirm', evnt); | |
}; | |
var customOpenEvent = function customOpenEvent(evnt) { | |
if (checkTable()) { | |
if (!customStore.visible) { | |
showCustom(); | |
emitCustomEvent('open', evnt); | |
} | |
} | |
}; | |
var customColseEvent = function customColseEvent(evnt) { | |
if (customStore.visible) { | |
closeCustom(); | |
emitCustomEvent('close', evnt); | |
} | |
}; | |
var resetCustomEvent = function resetCustomEvent(evnt) { | |
var columns = reactData.columns; | |
var _$xetable$getComputeM2 = $xetable.getComputeMaps(), | |
computeTableCustomOpts = _$xetable$getComputeM2.computeCustomOpts; | |
var tableCustomOpts = computeTableCustomOpts.value; | |
var checkMethod = tableCustomOpts.checkMethod; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(columns, function (column) { | |
if (!checkMethod || checkMethod({ | |
column: column | |
})) { | |
column.visible = column.defaultVisible; | |
column.halfVisible = false; | |
} | |
column.resizeWidth = 0; | |
}); | |
$xetable.saveCustomResizable(true); | |
closeCustom(); | |
emitCustomEvent('reset', evnt); | |
}; | |
var handleOptionCheck = function handleOptionCheck(column) { | |
var columns = reactData.columns; | |
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(columns, function (item) { | |
return item === column; | |
}); | |
if (matchObj && matchObj.parent) { | |
var parent = matchObj.parent; | |
if (parent.children && parent.children.length) { | |
parent.visible = parent.children.every(function (column) { | |
return column.visible; | |
}); | |
parent.halfVisible = !parent.visible && parent.children.some(function (column) { | |
return column.visible || column.halfVisible; | |
}); | |
handleOptionCheck(parent); | |
} | |
} | |
}; | |
var changeCustomOption = function changeCustomOption(column) { | |
var isChecked = !column.visible; | |
var customOpts = computeCustomOpts.value; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree([column], function (item) { | |
item.visible = isChecked; | |
item.halfVisible = false; | |
}); | |
handleOptionCheck(column); | |
if (props.custom && customOpts.immediate) { | |
handleTableCustom(); | |
} | |
checkCustomStatus(); | |
}; | |
var allCustomEvent = function allCustomEvent() { | |
var columns = reactData.columns; | |
var _$xetable$getComputeM3 = $xetable.getComputeMaps(), | |
computeTableCustomOpts = _$xetable$getComputeM3.computeCustomOpts; | |
var tableCustomOpts = computeTableCustomOpts.value; | |
var checkMethod = tableCustomOpts.checkMethod; | |
var isAll = !customStore.isAll; | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(columns, function (column) { | |
if (!checkMethod || checkMethod({ | |
column: column | |
})) { | |
column.visible = isAll; | |
column.halfVisible = false; | |
} | |
}); | |
customStore.isAll = isAll; | |
checkCustomStatus(); | |
}; | |
var handleGlobalMousedownEvent = function handleGlobalMousedownEvent(evnt) { | |
var customWrapperElem = refCustomWrapper.value; | |
if (!getEventTargetNode(evnt, customWrapperElem).flag) { | |
customColseEvent(evnt); | |
} | |
}; | |
var handleGlobalBlurEvent = function handleGlobalBlurEvent(evnt) { | |
customColseEvent(evnt); | |
}; | |
var handleClickSettingEvent = function handleClickSettingEvent(evnt) { | |
if (customStore.visible) { | |
customColseEvent(evnt); | |
} else { | |
customOpenEvent(evnt); | |
} | |
}; | |
var handleMouseenterSettingEvent = function handleMouseenterSettingEvent(evnt) { | |
customStore.activeBtn = true; | |
customOpenEvent(evnt); | |
}; | |
var handleMouseleaveSettingEvent = function handleMouseleaveSettingEvent(evnt) { | |
customStore.activeBtn = false; | |
setTimeout(function () { | |
if (!customStore.activeBtn && !customStore.activeWrapper) { | |
customColseEvent(evnt); | |
} | |
}, 300); | |
}; | |
var handleWrapperMouseenterEvent = function handleWrapperMouseenterEvent(evnt) { | |
customStore.activeWrapper = true; | |
customOpenEvent(evnt); | |
}; | |
var handleWrapperMouseleaveEvent = function handleWrapperMouseleaveEvent(evnt) { | |
customStore.activeWrapper = false; | |
setTimeout(function () { | |
if (!customStore.activeBtn && !customStore.activeWrapper) { | |
customColseEvent(evnt); | |
} | |
}, 300); | |
}; | |
var refreshEvent = function refreshEvent() { | |
var isRefresh = reactData.isRefresh; | |
var refreshOpts = computeRefreshOpts.value; | |
if (!isRefresh) { | |
var query = refreshOpts.query; | |
if (query) { | |
reactData.isRefresh = true; | |
try { | |
Promise.resolve(query({})).catch(function (e) { | |
return e; | |
}).then(function () { | |
reactData.isRefresh = false; | |
}); | |
} catch (e) { | |
reactData.isRefresh = false; | |
} | |
} else if ($xegrid) { | |
reactData.isRefresh = true; | |
$xegrid.commitProxy('reload').catch(function (e) { | |
return e; | |
}).then(function () { | |
reactData.isRefresh = false; | |
}); | |
} | |
} | |
}; | |
var zoomEvent = function zoomEvent(evnt) { | |
if ($xegrid) { | |
$xegrid.triggerZoomEvent(evnt); | |
} | |
}; | |
var btnEvent = function btnEvent(evnt, item) { | |
var code = item.code; | |
if (code) { | |
if ($xegrid) { | |
$xegrid.triggerToolbarBtnEvent(item, evnt); | |
} else { | |
var commandMethod = VXETable.commands.get(code); | |
var params = { | |
code: code, | |
button: item, | |
$table: $xetable, | |
$event: evnt | |
}; | |
if (commandMethod) { | |
commandMethod(params, evnt); | |
} | |
$xetoolbar.dispatchEvent('button-click', params, evnt); | |
} | |
} | |
}; | |
var tolEvent = function tolEvent(evnt, item) { | |
var code = item.code; | |
if (code) { | |
if ($xegrid) { | |
$xegrid.triggerToolbarTolEvent(item, evnt); | |
} else { | |
var commandMethod = VXETable.commands.get(code); | |
var params = { | |
code: code, | |
tool: item, | |
$table: $xetable, | |
$event: evnt | |
}; | |
if (commandMethod) { | |
commandMethod(params, evnt); | |
} | |
$xetoolbar.dispatchEvent('tool-click', params, evnt); | |
} | |
} | |
}; | |
var importEvent = function importEvent() { | |
if (checkTable()) { | |
$xetable.openImport(); | |
} | |
}; | |
var exportEvent = function exportEvent() { | |
if (checkTable()) { | |
$xetable.openExport(); | |
} | |
}; | |
var printEvent = function printEvent() { | |
if (checkTable()) { | |
$xetable.openPrint(); | |
} | |
}; | |
var renderDropdowns = function renderDropdowns(item, isBtn) { | |
var dropdowns = item.dropdowns; | |
var downVNs = []; | |
if (dropdowns) { | |
return dropdowns.map(function (child, index) { | |
if (child.visible === false) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])(); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
key: index, | |
disabled: child.disabled, | |
loading: child.loading, | |
type: child.type, | |
icon: child.icon, | |
circle: child.circle, | |
round: child.round, | |
status: child.status, | |
content: child.name, | |
onClick: function onClick(evnt) { | |
return isBtn ? btnEvent(evnt, child) : tolEvent(evnt, child); | |
} | |
}); | |
}); | |
} | |
return downVNs; | |
}; | |
/** | |
* 渲染按钮 | |
*/ | |
var renderBtns = function renderBtns() { | |
var buttons = props.buttons; | |
var buttonsSlot = slots.buttons; | |
if (buttonsSlot) { | |
return buttonsSlot({ | |
$grid: $xegrid, | |
$table: $xetable | |
}); | |
} | |
var btnVNs = []; | |
if (buttons) { | |
buttons.forEach(function (item) { | |
var dropdowns = item.dropdowns, | |
buttonRender = item.buttonRender; | |
if (item.visible !== false) { | |
var compConf = buttonRender ? VXETable.renderer.get(buttonRender.name) : null; | |
if (buttonRender && compConf && compConf.renderToolbarButton) { | |
btnVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-button--item' | |
}, compConf.renderToolbarButton(buttonRender, { | |
$grid: $xegrid, | |
$table: $xetable, | |
button: item | |
}))); | |
} else { | |
btnVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
disabled: item.disabled, | |
loading: item.loading, | |
type: item.type, | |
icon: item.icon, | |
circle: item.circle, | |
round: item.round, | |
status: item.status, | |
content: item.name, | |
destroyOnClose: item.destroyOnClose, | |
placement: item.placement, | |
transfer: item.transfer, | |
onClick: function onClick(evnt) { | |
return btnEvent(evnt, item); | |
} | |
}, dropdowns && dropdowns.length ? { | |
dropdowns: function dropdowns() { | |
return renderDropdowns(item, true); | |
} | |
} : {})); | |
} | |
} | |
}); | |
} | |
return btnVNs; | |
}; | |
/** | |
* 渲染右侧工具 | |
*/ | |
var renderRightTools = function renderRightTools() { | |
var tools = props.tools; | |
var toolsSlot = slots.tools; | |
if (toolsSlot) { | |
return toolsSlot({ | |
$grid: $xegrid, | |
$table: $xetable | |
}); | |
} | |
var btnVNs = []; | |
if (tools) { | |
tools.forEach(function (item) { | |
var dropdowns = item.dropdowns, | |
toolRender = item.toolRender; | |
if (item.visible !== false) { | |
var compConf = toolRender ? VXETable.renderer.get(toolRender.name) : null; | |
if (toolRender && compConf && compConf.renderToolbarTool) { | |
btnVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-tool--item' | |
}, compConf.renderToolbarTool(toolRender, { | |
$grid: $xegrid, | |
$table: $xetable, | |
tool: item | |
}))); | |
} else { | |
btnVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
disabled: item.disabled, | |
loading: item.loading, | |
type: item.type, | |
icon: item.icon, | |
circle: item.circle, | |
round: item.round, | |
status: item.status, | |
content: item.name, | |
destroyOnClose: item.destroyOnClose, | |
placement: item.placement, | |
transfer: item.transfer, | |
onClick: function onClick(evnt) { | |
return tolEvent(evnt, item); | |
} | |
}, dropdowns && dropdowns.length ? { | |
dropdowns: function dropdowns() { | |
return renderDropdowns(item, false); | |
} | |
} : {})); | |
} | |
} | |
}); | |
} | |
return btnVNs; | |
}; | |
var renderCustoms = function renderCustoms() { | |
var columns = reactData.columns; | |
var customOpts = computeCustomOpts.value; | |
var colVNs = []; | |
var customBtnOns = {}; | |
var customWrapperOns = {}; | |
var checkMethod; | |
if ($xetable) { | |
var _$xetable$getComputeM4 = $xetable.getComputeMaps(), | |
computeTableCustomOpts = _$xetable$getComputeM4.computeCustomOpts; | |
var tableCustomOpts = computeTableCustomOpts.value; | |
checkMethod = tableCustomOpts.checkMethod; | |
} | |
if (customOpts.trigger === 'manual') {// 手动触发 | |
} else if (customOpts.trigger === 'hover') { | |
// hover 触发 | |
customBtnOns.onMouseenter = handleMouseenterSettingEvent; | |
customBtnOns.onMouseleave = handleMouseleaveSettingEvent; | |
customWrapperOns.onMouseenter = handleWrapperMouseenterEvent; | |
customWrapperOns.onMouseleave = handleWrapperMouseleaveEvent; | |
} else { | |
// 点击触发 | |
customBtnOns.onClick = handleClickSettingEvent; | |
} | |
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(columns, function (column) { | |
var colTitle = formatText(column.getTitle(), 1); | |
var colKey = column.getKey(); | |
var isColGroup = column.children && column.children.length; | |
var isDisabled = checkMethod ? !checkMethod({ | |
column: column | |
}) : false; | |
if (isColGroup || colKey) { | |
colVNs.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: ['vxe-custom--option', "level--".concat(column.level), { | |
'is--group': isColGroup, | |
'is--checked': column.visible, | |
'is--indeterminate': column.halfVisible, | |
'is--disabled': isDisabled | |
}], | |
title: colTitle, | |
onClick: function onClick() { | |
if (!isDisabled) { | |
changeCustomOption(column); | |
} | |
} | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, colTitle)])); | |
} | |
}); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: ['vxe-custom--wrapper', { | |
'is--active': customStore.visible | |
}], | |
ref: refCustomWrapper | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), _objectSpread2({ | |
circle: true, | |
icon: customOpts.icon || conf.icon.TOOLBAR_TOOLS_CUSTOM, | |
title: conf.i18n('vxe.toolbar.custom') | |
}, customBtnOns)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-custom--option-wrapper' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', { | |
class: 'vxe-custom--header' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('li', { | |
class: ['vxe-custom--option', { | |
'is--checked': customStore.isAll, | |
'is--indeterminate': customStore.isIndeterminate | |
}], | |
title: conf.i18n('vxe.table.allTitle'), | |
onClick: allCustomEvent | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-checkbox--label' | |
}, conf.i18n('vxe.toolbar.customAll'))])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('ul', _objectSpread2({ | |
class: 'vxe-custom--body' | |
}, customWrapperOns), colVNs), customOpts.isFooter === false ? null : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-custom--footer' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: 'btn--confirm', | |
onClick: confirmCustomEvent | |
}, conf.i18n('vxe.toolbar.customConfirm')), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: 'btn--reset', | |
onClick: resetCustomEvent | |
}, conf.i18n('vxe.toolbar.customRestore'))])])]); | |
}; | |
toolbarMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$toolbar: $xetoolbar, | |
$event: evnt | |
}, params)); | |
}, | |
syncUpdate: function syncUpdate(params) { | |
var collectColumn = params.collectColumn; | |
$xetable = params.$table; | |
reactData.columns = collectColumn; | |
} | |
}; | |
Object.assign($xetoolbar, toolbarMethods); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () { | |
GlobalEvent.on($xetoolbar, 'mousedown', handleGlobalMousedownEvent); | |
GlobalEvent.on($xetoolbar, 'blur', handleGlobalBlurEvent); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUnmounted"])(function () { | |
GlobalEvent.off($xetoolbar, 'mousedown'); | |
GlobalEvent.off($xetoolbar, 'blur'); | |
}); | |
Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { | |
var refresh = props.refresh; | |
var refreshOpts = computeRefreshOpts.value; | |
if (refresh && !$xegrid && !refreshOpts.query) { | |
warnLog('vxe.error.notFunc', ['query']); | |
} | |
}); | |
var renderVN = function renderVN() { | |
var _ref; | |
var perfect = props.perfect, | |
loading = props.loading, | |
refresh = props.refresh, | |
zoom = props.zoom, | |
custom = props.custom, | |
className = props.className; | |
var vSize = computeSize.value; | |
var refreshOpts = computeRefreshOpts.value; | |
var importOpts = computeImportOpts.value; | |
var exportOpts = computeExportOpts.value; | |
var printOpts = computePrintOpts.value; | |
var zoomOpts = computeZoomOpts.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
ref: refElem, | |
class: ['vxe-toolbar', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({ | |
$toolbar: $xetoolbar | |
}) : className : '', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--perfect', perfect), _defineProperty(_ref, 'is--loading', loading), _ref)] | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-buttons--wrapper' | |
}, renderBtns()), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-tools--wrapper' | |
}, renderRightTools()), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', { | |
class: 'vxe-tools--operate' | |
}, [props.import ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
circle: true, | |
icon: importOpts.icon || conf.icon.TOOLBAR_TOOLS_IMPORT, | |
title: conf.i18n('vxe.toolbar.import'), | |
onClick: importEvent | |
}) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])(), props.export ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
circle: true, | |
icon: exportOpts.icon || conf.icon.TOOLBAR_TOOLS_EXPORT, | |
title: conf.i18n('vxe.toolbar.export'), | |
onClick: exportEvent | |
}) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])(), props.print ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
circle: true, | |
icon: printOpts.icon || conf.icon.TOOLBAR_TOOLS_PRINT, | |
title: conf.i18n('vxe.toolbar.print'), | |
onClick: printEvent | |
}) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])(), refresh ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
circle: true, | |
icon: reactData.isRefresh ? refreshOpts.iconLoading || conf.icon.TOOLBAR_TOOLS_REFRESH_LOADING : refreshOpts.icon || conf.icon.TOOLBAR_TOOLS_REFRESH, | |
title: conf.i18n('vxe.toolbar.refresh'), | |
onClick: refreshEvent | |
}) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])(), zoom && $xegrid ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-button'), { | |
circle: true, | |
icon: $xegrid.isMaximized() ? zoomOpts.iconOut || conf.icon.TOOLBAR_TOOLS_ZOOM_OUT : zoomOpts.iconIn || conf.icon.TOOLBAR_TOOLS_ZOOM_IN, | |
title: conf.i18n("vxe.toolbar.zoom".concat($xegrid.isMaximized() ? 'Out' : 'In')), | |
onClick: zoomEvent | |
}) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])(), custom ? renderCustoms() : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])()])]); | |
}; | |
$xetoolbar.renderVN = renderVN; | |
return $xetoolbar; | |
}, | |
render: function render() { | |
return this.renderVN(); | |
} | |
})); | |
// CONCATENATED MODULE: ./packages/toolbar/index.ts | |
var Toolbar = Object.assign(toolbar, { | |
install: function install(app) { | |
dynamicApp.component(toolbar.name, toolbar); | |
app.component(toolbar.name, toolbar); | |
} | |
}); | |
/* harmony default export */ var packages_toolbar = (Toolbar); | |
// CONCATENATED MODULE: ./packages/pager/src/pager.ts | |
/* harmony default export */ var pager = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ | |
name: 'VxePager', | |
props: { | |
size: { | |
type: String, | |
default: function _default() { | |
return conf.pager.size || conf.size; | |
} | |
}, | |
// 自定义布局 | |
layouts: { | |
type: Array, | |
default: function _default() { | |
return conf.pager.layouts || ['PrevJump', 'PrevPage', 'Jump', 'PageCount', 'NextPage', 'NextJump', 'Sizes', 'Total']; | |
} | |
}, | |
// 当前页 | |
currentPage: { | |
type: Number, | |
default: 1 | |
}, | |
// 加载中 | |
loading: Boolean, | |
// 每页大小 | |
pageSize: { | |
type: Number, | |
default: function _default() { | |
return conf.pager.pageSize || 10; | |
} | |
}, | |
// 总条数 | |
total: { | |
type: Number, | |
default: 0 | |
}, | |
// 显示页码按钮的数量 | |
pagerCount: { | |
type: Number, | |
default: function _default() { | |
return conf.pager.pagerCount || 7; | |
} | |
}, | |
// 每页大小选项列表 | |
pageSizes: { | |
type: Array, | |
default: function _default() { | |
return conf.pager.pageSizes || [10, 15, 20, 50, 100]; | |
} | |
}, | |
// 列对其方式 | |
align: { | |
type: String, | |
default: function _default() { | |
return conf.pager.align; | |
} | |
}, | |
// 带边框 | |
border: { | |
type: Boolean, | |
default: function _default() { | |
return conf.pager.border; | |
} | |
}, | |
// 带背景颜色 | |
background: { | |
type: Boolean, | |
default: function _default() { | |
return conf.pager.background; | |
} | |
}, | |
// 配套的样式 | |
perfect: { | |
type: Boolean, | |
default: function _default() { | |
return conf.pager.perfect; | |
} | |
}, | |
// 当只有一页时隐藏 | |
autoHidden: { | |
type: Boolean, | |
default: function _default() { | |
return conf.pager.autoHidden; | |
} | |
}, | |
transfer: { | |
type: Boolean, | |
default: function _default() { | |
return conf.pager.transfer; | |
} | |
}, | |
className: [String, Function], | |
// 自定义图标 | |
iconPrevPage: String, | |
iconJumpPrev: String, | |
iconJumpNext: String, | |
iconNextPage: String, | |
iconJumpMore: String | |
}, | |
emits: ['update:pageSize', 'update:currentPage', 'page-change'], | |
setup: function setup(props, context) { | |
var slots = context.slots, | |
emit = context.emit; | |
var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId(); | |
var computeSize = useSize(props); | |
var $xegrid = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('$xegrid', null); | |
var refElem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(); | |
var refMaps = { | |
refElem: refElem | |
}; | |
var $xepager = { | |
xID: xID, | |
props: props, | |
context: context, | |
getRefMaps: function getRefMaps() { | |
return refMaps; | |
} | |
}; | |
var pagerMethods = {}; | |
var pagerPrivateMethods = {}; | |
var getPageCount = function getPageCount(total, size) { | |
return Math.max(Math.ceil(total / size), 1); | |
}; | |
var computePageCount = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return getPageCount(props.total, props.pageSize); | |
}); | |
var jumpPageEvent = function jumpPageEvent(evnt, currentPage) { | |
emit('update:currentPage', currentPage); | |
if (evnt && currentPage !== props.currentPage) { | |
pagerMethods.dispatchEvent('page-change', { | |
type: 'current', | |
pageSize: props.pageSize, | |
currentPage: currentPage | |
}, evnt); | |
} | |
}; | |
var changeCurrentPage = function changeCurrentPage(currentPage, evnt) { | |
emit('update:currentPage', currentPage); | |
if (evnt && currentPage !== props.currentPage) { | |
pagerMethods.dispatchEvent('page-change', { | |
type: 'current', | |
pageSize: props.pageSize, | |
currentPage: currentPage | |
}, evnt); | |
} | |
}; | |
var triggerJumpEvent = function triggerJumpEvent(evnt) { | |
var inputElem = evnt.target; | |
var inpValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(inputElem.value); | |
var pageCount = computePageCount.value; | |
var current = inpValue <= 0 ? 1 : inpValue >= pageCount ? pageCount : inpValue; | |
inputElem.value = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(current); | |
changeCurrentPage(current, evnt); | |
}; | |
var computeNumList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
var pagerCount = props.pagerCount; | |
var pageCount = computePageCount.value; | |
var len = pageCount > pagerCount ? pagerCount - 2 : pagerCount; | |
var rest = []; | |
for (var index = 0; index < len; index++) { | |
rest.push(index); | |
} | |
return rest; | |
}); | |
var computeOffsetNumber = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return Math.floor((props.pagerCount - 2) / 2); | |
}); | |
var computeSizeList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { | |
return props.pageSizes.map(function (item) { | |
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(item)) { | |
return { | |
value: item, | |
label: "".concat(conf.i18n('vxe.pager.pagesize', [item])) | |
}; | |
} | |
return _objectSpread2({ | |
value: '', | |
label: '' | |
}, item); | |
}); | |
}); | |
var handlePrevPage = function handlePrevPage(evnt) { | |
var currentPage = props.currentPage; | |
var pageCount = computePageCount.value; | |
if (currentPage > 1) { | |
changeCurrentPage(Math.min(pageCount, Math.max(currentPage - 1, 1)), evnt); | |
} | |
}; | |
var handleNextPage = function handleNextPage(evnt) { | |
var currentPage = props.currentPage; | |
var pageCount = computePageCount.value; | |
if (currentPage < pageCount) { | |
changeCurrentPage(Math.min(pageCount, currentPage + 1), evnt); | |
} | |
}; | |
var handlePrevJump = function handlePrevJump(evnt) { | |
var numList = computeNumList.value; | |
changeCurrentPage(Math.max(props.currentPage - numList.length, 1), evnt); | |
}; | |
var handleNextJump = function handleNextJump(evnt) { | |
var pageCount = computePageCount.value; | |
var numList = computeNumList.value; | |
changeCurrentPage(Math.min(props.currentPage + numList.length, pageCount), evnt); | |
}; | |
var pageSizeEvent = function pageSizeEvent(params) { | |
var value = params.value; | |
var pageSize = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(value); | |
emit('update:pageSize', pageSize); | |
pagerMethods.dispatchEvent('page-change', { | |
type: 'size', | |
pageSize: pageSize, | |
currentPage: Math.min(props.currentPage, getPageCount(props.total, pageSize)) | |
}); | |
}; | |
var jumpKeydownEvent = function jumpKeydownEvent(evnt) { | |
if (hasEventKey(evnt, EVENT_KEYS.ENTER)) { | |
triggerJumpEvent(evnt); | |
} else if (hasEventKey(evnt, EVENT_KEYS.ARROW_UP)) { | |
evnt.preventDefault(); | |
handleNextPage(evnt); | |
} else if (hasEventKey(evnt, EVENT_KEYS.ARROW_DOWN)) { | |
evnt.preventDefault(); | |
handlePrevPage(evnt); | |
} | |
}; // 上一页 | |
var renderPrevPage = function renderPrevPage() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: ['vxe-pager--prev-btn', { | |
'is--disabled': props.currentPage <= 1 | |
}], | |
type: 'button', | |
title: conf.i18n('vxe.pager.prevPage'), | |
onClick: handlePrevPage | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-pager--btn-icon', props.iconPrevPage || conf.icon.PAGER_PREV_PAGE] | |
})]); | |
}; // 向上翻页 | |
var renderPrevJump = function renderPrevJump(tagName) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(tagName || 'button', { | |
class: ['vxe-pager--jump-prev', { | |
'is--fixed': !tagName, | |
'is--disabled': props.currentPage <= 1 | |
}], | |
type: 'button', | |
title: conf.i18n('vxe.pager.prevJump'), | |
onClick: handlePrevJump | |
}, [tagName ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-pager--jump-more-icon', props.iconJumpMore || conf.icon.PAGER_JUMP_MORE] | |
}) : null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-pager--jump-icon', props.iconJumpPrev || conf.icon.PAGER_JUMP_PREV] | |
})]); | |
}; // 向下翻页 | |
var renderNextJump = function renderNextJump(tagName) { | |
var pageCount = computePageCount.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(tagName || 'button', { | |
class: ['vxe-pager--jump-next', { | |
'is--fixed': !tagName, | |
'is--disabled': props.currentPage >= pageCount | |
}], | |
type: 'button', | |
title: conf.i18n('vxe.pager.nextJump'), | |
onClick: handleNextJump | |
}, [tagName ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-pager--jump-more-icon', props.iconJumpMore || conf.icon.PAGER_JUMP_MORE] | |
}) : null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-pager--jump-icon', props.iconJumpNext || conf.icon.PAGER_JUMP_NEXT] | |
})]); | |
}; // 下一页 | |
var renderNextPage = function renderNextPage() { | |
var pageCount = computePageCount.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: ['vxe-pager--next-btn', { | |
'is--disabled': props.currentPage >= pageCount | |
}], | |
type: 'button', | |
title: conf.i18n('vxe.pager.nextPage'), | |
onClick: handleNextPage | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('i', { | |
class: ['vxe-pager--btn-icon', props.iconNextPage || conf.icon.PAGER_NEXT_PAGE] | |
})]); | |
}; // 页数 | |
var renderNumber = function renderNumber(showJump) { | |
var currentPage = props.currentPage, | |
pagerCount = props.pagerCount; | |
var nums = []; | |
var pageCount = computePageCount.value; | |
var numList = computeNumList.value; | |
var offsetNumber = computeOffsetNumber.value; | |
var isOv = pageCount > pagerCount; | |
var isLt = isOv && currentPage > offsetNumber + 1; | |
var isGt = isOv && currentPage < pageCount - offsetNumber; | |
var startNumber = 1; | |
if (isOv) { | |
if (currentPage >= pageCount - offsetNumber) { | |
startNumber = Math.max(pageCount - numList.length + 1, 1); | |
} else { | |
startNumber = Math.max(currentPage - offsetNumber, 1); | |
} | |
} | |
if (showJump && isLt) { | |
nums.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: 'vxe-pager--num-btn', | |
type: 'button', | |
onClick: function onClick(evnt) { | |
return jumpPageEvent(evnt, 1); | |
} | |
}, 1), renderPrevJump('span')); | |
} | |
numList.forEach(function (item, index) { | |
var number = startNumber + index; | |
if (number <= pageCount) { | |
nums.push(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
key: number, | |
class: ['vxe-pager--num-btn', { | |
'is--active': currentPage === number | |
}], | |
type: 'button', | |
onClick: function onClick(evnt) { | |
return jumpPageEvent(evnt, number); | |
} | |
}, number)); | |
} | |
}); | |
if (showJump && isGt) { | |
nums.push(renderNextJump('button'), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('button', { | |
class: 'vxe-pager--num-btn', | |
type: 'button', | |
onClick: function onClick(evnt) { | |
return jumpPageEvent(evnt, pageCount); | |
} | |
}, pageCount)); | |
} | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-pager--btn-wrapper' | |
}, nums); | |
}; // jumpNumber | |
var renderJumpNumber = function renderJumpNumber() { | |
return renderNumber(true); | |
}; // sizes | |
var renderSizes = function renderSizes() { | |
var sizeList = computeSizeList.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])('vxe-select'), { | |
class: 'vxe-pager--sizes', | |
modelValue: props.pageSize, | |
placement: 'top', | |
transfer: props.transfer, | |
options: sizeList, | |
onChange: pageSizeEvent | |
}); | |
}; // Jump | |
var renderJump = function renderJump(isFull) { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-pager--jump' | |
}, [isFull ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-pager--goto-text' | |
}, conf.i18n('vxe.pager.goto')) : null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('input', { | |
class: 'vxe-pager--goto', | |
value: props.currentPage, | |
type: 'text', | |
autocomplete: 'off', | |
onKeydown: jumpKeydownEvent, | |
onBlur: triggerJumpEvent | |
}), isFull ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-pager--classifier-text' | |
}, conf.i18n('vxe.pager.pageClassifier')) : null]); | |
}; // FullJump | |
var renderFullJump = function renderFullJump() { | |
return renderJump(true); | |
}; // PageCount | |
var renderPageCount = function renderPageCount() { | |
var pageCount = computePageCount.value; | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-pager--count' | |
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-pager--separator' | |
}), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', pageCount)]); | |
}; // total | |
var renderTotal = function renderTotal() { | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('span', { | |
class: 'vxe-pager--total' | |
}, conf.i18n('vxe.pager.total', [props.total])); | |
}; | |
pagerMethods = { | |
dispatchEvent: function dispatchEvent(type, params, evnt) { | |
emit(type, Object.assign({ | |
$pager: $xepager, | |
$event: evnt | |
}, params)); | |
}, | |
prevPage: function prevPage() { | |
handlePrevPage(); | |
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment