(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("xe-utils"));
else if(typeof define === 'function' && define.amd)
define(["xe-utils"], factory);
else if(typeof exports === 'object')
exports["VXETable"] = factory(require("xe-utils"));
else
root["VXETable"] = factory(root["XEUtils"]);
})((typeof self !== 'undefined' ? self : this), function(__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('(?b)', 'g') -> /(?b)/g and it causes SyntaxError
var $RegExp = global.RegExp;
module.exports = fails(function () {
var re = $RegExp('(?b)', 'g');
return re.exec('b').groups.a !== 'b' ||
'b'.replace(re, '$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, '$') !== '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 state to , 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) + '}[^<]*") : '';
tables.push('', script);
return isPrint ? tables.join('') : createHtmlPage(opts, tables.join(''));
}
function toXML($xetable, opts, columns, datas) {
var xml = ['', '', '', '', '16.00', '', '', '7920', '21570', '32767', '32767', 'False', 'False', '', ""), '', columns.map(function (column) {
return "");
}).join('')].join('');
if (opts.isHeader) {
xml += "".concat(columns.map(function (column) {
return "| ".concat(getHeaderTitle(opts, column), " | ");
}).join(''), "
");
}
datas.forEach(function (row) {
xml += '' + columns.map(function (column) {
return "| ".concat(row[column.id], " | ");
}).join('') + '
';
});
if (opts.isFooter) {
var footerTableData = $xetable.footerTableData;
var footers = getFooterData(opts, footerTableData);
footers.forEach(function (rows) {
xml += "".concat(columns.map(function (column) {
return "| ".concat(getFooterCellValue($xetable, opts, rows, column), " | ");
}).join(''), "
");
});
}
return "".concat(xml, "
");
}
function getContent($xetable, opts, columns, datas) {
if (columns.length) {
switch (opts.type) {
case 'csv':
return toCsv($xetable, opts, columns, datas);
case 'txt':
return toTxt($xetable, opts, columns, datas);
case 'html':
return toHtml($xetable, opts, columns, datas);
case 'xml':
return toXML($xetable, opts, columns, datas);
}
}
return '';
}
/**
* 保存文件到本地
* @param {*} options 参数
*/
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();
document.body.removeChild(linkElem);
requestAnimationFrame(function () {
if (linkElem.parentNode) {
linkElem.parentNode.removeChild(linkElem);
}
URL.revokeObjectURL(url);
});
}
return Promise.resolve();
}
return Promise.reject(new Error(getLog('vxe.error.notExp')));
}
function downloadFile($xetable, 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
});
}
saveLocalFile({
filename: filename,
type: type,
content: content
}).then(function () {
if (opts.message !== false) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
content: src_conf.i18n('vxe.table.expSuccess'),
status: 'success'
});
}
});
}
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'
});
}
function handleExport($xetable, 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: $xetable.$xegrid
};
resolve(exportMethod ? exportMethod(params) : params);
} else {
var datas = getExportData($xetable, opts);
resolve($xetable.preventEvent(null, 'event.export', {
options: opts,
columns: columns,
colgroups: colgroups,
datas: datas
}, function () {
return downloadFile($xetable, opts, getContent($xetable, opts, columns, datas));
}));
}
}).then(function (params) {
clearColumnConvert(columns);
if (!opts.print) {
if (afterExportMethod) {
afterExportMethod({
status: true,
options: opts,
$table: $xetable,
$grid: $xetable.$xegrid
});
}
}
return Object.assign({
status: true
}, params);
}).catch(function () {
clearColumnConvert(columns);
if (!opts.print) {
if (afterExportMethod) {
afterExportMethod({
status: false,
options: opts,
$table: $xetable,
$grid: $xetable.$xegrid
});
}
}
var params = {
status: false
};
return Promise.reject(params);
});
}
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, 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
};
}
/**
* 检查导入的列是否完整
* @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;
});
}
function handleImport($xetable, content, opts) {
var tableFullColumn = $xetable.tableFullColumn,
_importResolve = $xetable._importResolve,
_importReject = $xetable._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 (false) {}
v_x_e_table.modal.message({
content: src_conf.i18n('vxe.table.impSuccess', [rows.length]),
status: 'success'
});
}
return loadRest.then(function () {
if (_importResolve) {
_importResolve({
status: true
});
}
});
});
} else if (opts.message !== false) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
content: src_conf.i18n('vxe.error.impFields'),
status: 'error'
});
if (_importReject) {
_importReject({
status: false
});
}
}
}
function handleFileImport($xetable, file, opts) {
var importMethod = opts.importMethod,
afterImportMethod = opts.afterImportMethod;
var _UtilTools$parseFile = utils.parseFile(file),
type = _UtilTools$parseFile.type,
filename = _UtilTools$parseFile.filename; // 检查类型,如果为自定义导出,则不需要校验类型
if (!importMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.includes(v_x_e_table.config.importTypes, type)) {
if (opts.message !== false) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
content: src_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);
$xetable._importResolve = null;
$xetable._importReject = null;
};
var _importReject = function _importReject(params) {
reject(params);
$xetable._importResolve = null;
$xetable._importReject = null;
};
$xetable._importResolve = _importResolve;
$xetable._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 {
$xetable.preventEvent(null, 'event.import', {
file: file,
options: options,
columns: $xetable.tableFullColumn
}, function () {
var reader = new FileReader();
reader.onerror = function () {
errLog('vxe.error.notType', [type]);
_importReject({
status: false
});
};
reader.onload = function (e) {
handleImport($xetable, e.target.result, options);
};
reader.readAsText(file, options.encoding || 'UTF-8');
});
}
} else {
// 不支持的浏览器
if (false) {}
_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);
});
}
/**
* 读取本地文件
* @param {*} options 参数
*/
function readLocalFile() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
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 = options.types || [];
var isAllType = !types.length || types.some(function (type) {
return type === '*';
});
fileInput.multiple = !!options.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 _UtilTools$parseFile2 = utils.parseFile(files[fIndex]),
type = _UtilTools$parseFile2.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 (options.message !== false) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
content: src_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, content) {
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);
}
}
function handleExportAndPrint($xetable, options, isPrint) {
var initStore = $xetable.initStore,
customOpts = $xetable.customOpts,
collectColumn = $xetable.collectColumn,
footerTableData = $xetable.footerTableData,
treeConfig = $xetable.treeConfig,
mergeList = $xetable.mergeList,
isGroup = $xetable.isGroup,
exportParams = $xetable.exportParams;
var selectRecords = $xetable.getCheckboxRecords();
var hasFooter = !!footerTableData.length;
var hasTree = treeConfig;
var hasMerge = !hasTree && mergeList.length;
var defOpts = Object.assign({
message: true,
isHeader: true
}, options);
var types = defOpts.types || v_x_e_table.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($xetable.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 $xetable.$nextTick();
}
var mixin_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 mixin_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 = mixin_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;
};
/* harmony default export */ var export_src_mixin = ({
methods: {
/**
* 导出文件,支持 csv/html/xml/txt
* 如果是树表格,则默认是导出所有节点
* 如果是启用了虚拟滚动,则只能导出数据源,可以配合 dataFilterMethod 函数自行转换数据
* @param {Object} options 参数
*/
_exportData: function _exportData(options) {
var _this = this;
var $xegrid = this.$xegrid,
isGroup = this.isGroup,
tableGroupColumn = this.tableGroupColumn,
tableFullColumn = this.tableFullColumn,
afterFullData = this.afterFullData,
treeConfig = this.treeConfig,
treeOpts = this.treeOpts,
exportOpts = this.exportOpts;
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 = _this.getColumnByField(item);
} else {
var colid = item.id || item.colId;
var _type = item.type;
var field = item.property || item.field;
if (colid) {
targetColumn = _this.getColumnById(colid);
} else if (field && _type) {
targetColumn = tableFullColumn.find(function (column) {
return column.property === field && column.type === _type;
});
} else if (field) {
targetColumn = _this.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 = mixin_convertToRows(groups);
if (!opts.filename) {
opts.filename = src_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(v_x_e_table.config.exportTypes, type)) {
if (false) {}
var params = {
status: false
};
return Promise.reject(params);
}
if (!opts.print) {
if (beforeExportMethod) {
beforeExportMethod({
options: opts,
$table: this,
$grid: $xegrid
});
}
}
if (!opts.data) {
opts.data = afterFullData;
if (mode === 'selected') {
var selectRecords = this.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(this.getTableData().fullData, function (item) {
return selectRecords.indexOf(item) > -1;
}, Object.assign({}, treeOpts, {
data: '_row'
}));
} else {
opts.data = selectRecords;
}
} else if (mode === 'all') {
if (false) {}
if ($xegrid && !opts.remote) {
var _$xegrid$proxyOpts = $xegrid.proxyOpts,
beforeQueryAll = _$xegrid$proxyOpts.beforeQueryAll,
afterQueryAll = _$xegrid$proxyOpts.afterQueryAll,
_$xegrid$proxyOpts$aj = _$xegrid$proxyOpts.ajax,
ajax = _$xegrid$proxyOpts$aj === void 0 ? {} : _$xegrid$proxyOpts$aj,
_$xegrid$proxyOpts$pr = _$xegrid$proxyOpts.props,
props = _$xegrid$proxyOpts$pr === void 0 ? {} : _$xegrid$proxyOpts$pr;
var ajaxMethods = ajax.queryAll;
if (false) {}
if (ajaxMethods) {
var _params = {
$table: this,
$grid: $xegrid,
sort: $xegrid.sortData,
filters: $xegrid.filterData,
form: $xegrid.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(_this, opts);
});
}
}
}
}
return handleExport(this, opts);
},
_importByFile: function _importByFile(file, options) {
var opts = Object.assign({}, options);
var beforeImportMethod = opts.beforeImportMethod;
if (beforeImportMethod) {
beforeImportMethod({
options: opts,
$table: this
});
}
return handleFileImport(this, file, opts);
},
_importData: function _importData(options) {
var _this2 = this;
var opts = Object.assign({
types: v_x_e_table.config.importTypes // beforeImportMethod: null,
// afterImportMethod: null
}, this.importOpts, options);
var beforeImportMethod = opts.beforeImportMethod,
afterImportMethod = opts.afterImportMethod;
if (beforeImportMethod) {
beforeImportMethod({
options: opts,
$table: this
});
}
return readLocalFile(opts).catch(function (e) {
if (afterImportMethod) {
afterImportMethod({
status: false,
options: opts,
$table: _this2
});
}
return Promise.reject(e);
}).then(function (params) {
var file = params.file;
return handleFileImport(_this2, file, opts);
});
},
_saveFile: function _saveFile(options) {
return saveLocalFile(options);
},
_readFile: function _readFile(options) {
return readLocalFile(options);
},
_print: function _print(options) {
var _this3 = this;
var opts = Object.assign({
original: false // beforePrintMethod
}, this.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(_this3, opts, opts.content));
} else {
resolve(_this3.exportData(opts).then(function (_ref3) {
var content = _ref3.content;
return handlePrint(_this3, opts, content);
}));
}
});
},
_openImport: function _openImport(options) {
var defOpts = Object.assign({
mode: 'insert',
message: true,
types: v_x_e_table.config.importTypes
}, options, this.importOpts);
var types = defOpts.types;
var isTree = !!this.getTreeStatus();
if (isTree) {
if (defOpts.message) {
v_x_e_table.modal.message({
content: src_conf.i18n('vxe.error.treeNotImp'),
status: 'error'
});
}
return;
}
if (!this.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(this.importStore, {
file: null,
type: '',
filename: '',
modeList: modeList,
typeList: typeList,
visible: true
});
Object.assign(this.importParams, defOpts);
this.initStore.import = true;
},
_openExport: function _openExport(options) {
var exportOpts = this.exportOpts;
if (false) {}
return handleExportAndPrint(this, Object.assign({}, exportOpts, options));
},
_openPrint: function _openPrint(options) {
var printOpts = this.printOpts;
if (false) {}
return handleExportAndPrint(this, Object.assign({}, printOpts, options), true);
}
}
});
// CONCATENATED MODULE: ./packages/export/index.js
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(Vue) {
v_x_e_table.reg('export');
v_x_e_table.saveFile = saveLocalFile;
v_x_e_table.readFile = readLocalFile;
v_x_e_table.print = print;
v_x_e_table.setup({
export: {
types: {
csv: 0,
html: 0,
xml: 0,
txt: 0
}
}
});
packages_table.mixins.push(export_src_mixin);
Vue.component(export_panel.name, export_panel);
Vue.component(import_panel.name, import_panel);
}
};
/* harmony default export */ var packages_export = (Export);
// CONCATENATED MODULE: ./packages/keyboard/src/mixin.js
function getTargetOffset(target, container) {
var offsetTop = 0;
var offsetLeft = 0;
var triggerCheckboxLabel = !browse.firefox && dom.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
};
}
function getCheckboxRangeRows(_vm, params, targetTrElem, moveRange) {
var countHeight = 0;
var rangeRows = [];
var isDown = moveRange > 0;
var moveSize = moveRange > 0 ? moveRange : Math.abs(moveRange) + targetTrElem.offsetHeight;
var afterFullData = _vm.afterFullData,
scrollYStore = _vm.scrollYStore,
scrollYLoad = _vm.scrollYLoad;
if (scrollYLoad) {
var _rowIndex = _vm.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) {
rangeRows.push(_vm.getRowNode(targetTrElem).item);
countHeight += targetTrElem.offsetHeight;
targetTrElem = targetTrElem["".concat(siblingProp, "ElementSibling")];
}
}
return rangeRows;
}
/* harmony default export */ var keyboard_src_mixin = ({
methods: {
// 处理 Tab 键移动
moveTabSelected: function moveTabSelected(args, isLeft, evnt) {
var _this = this;
var afterFullData = this.afterFullData,
visibleColumn = this.visibleColumn,
editConfig = this.editConfig,
editOpts = this.editOpts;
var targetRow;
var targetRowIndex;
var targetColumnIndex;
var params = Object.assign({}, args);
var _rowIndex = this.getVTRowIndex(params.row);
var _columnIndex = this.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 = this.getCell(params.row, params.column);
if (editConfig) {
if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') {
if (editOpts.mode === 'row') {
this.handleActived(params, evnt);
} else {
this.scrollToRow(params.row, params.column).then(function () {
return _this.handleSelected(params, evnt);
});
}
}
} else {
this.scrollToRow(params.row, params.column).then(function () {
return _this.handleSelected(params, evnt);
});
}
}
},
// 处理当前行方向键移动
moveCurrentRow: function moveCurrentRow(isUpArrow, isDwArrow, evnt) {
var _this2 = this;
var currentRow = this.currentRow,
treeConfig = this.treeConfig,
treeOpts = this.treeOpts,
afterFullData = this.afterFullData;
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 = this.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: this,
row: targetRow
};
this.scrollToRow(targetRow).then(function () {
return _this2.triggerCurrentRowEvent(evnt, params);
});
}
},
// 处理可编辑方向键移动
moveSelected: function moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
var _this3 = this;
var afterFullData = this.afterFullData,
visibleColumn = this.visibleColumn;
var params = Object.assign({}, args);
var _rowIndex = this.getVTRowIndex(params.row);
var _columnIndex = this.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];
}
this.scrollToRow(params.row, params.column).then(function () {
params.cell = _this3.getCell(params.row, params.column);
_this3.handleSelected(params, evnt);
});
},
/**
* 表头单元格按下事件
*/
triggerHeaderCellMousedownEvent: function triggerHeaderCellMousedownEvent(evnt, params) {
var mouseConfig = this.mouseConfig,
mouseOpts = this.mouseOpts;
if (mouseConfig && mouseOpts.area && this.handleHeaderCellAreaEvent) {
var cell = evnt.currentTarget;
var triggerSort = dom.getEventTargetNode(evnt, cell, 'vxe-cell--sort').flag;
var triggerFilter = dom.getEventTargetNode(evnt, cell, 'vxe-cell--filter').flag;
this.handleHeaderCellAreaEvent(evnt, Object.assign({
cell: cell,
triggerSort: triggerSort,
triggerFilter: triggerFilter
}, params));
}
this.focus();
this.closeMenu();
},
/**
* 单元格按下事件
*/
triggerCellMousedownEvent: function triggerCellMousedownEvent(evnt, params) {
var cell = evnt.currentTarget;
params.cell = cell;
this.handleCellMousedownEvent(evnt, params);
this.focus();
this.closeFilter();
this.closeMenu();
},
handleCellMousedownEvent: function handleCellMousedownEvent(evnt, params) {
var editConfig = this.editConfig,
editOpts = this.editOpts,
handleSelected = this.handleSelected,
checkboxConfig = this.checkboxConfig,
checkboxOpts = this.checkboxOpts,
mouseConfig = this.mouseConfig,
mouseOpts = this.mouseOpts;
if (mouseConfig && mouseOpts.area && this.handleCellAreaEvent) {
return this.handleCellAreaEvent(evnt, params);
} else {
if (checkboxConfig && checkboxOpts.range) {
this.handleCheckboxRangeEvent(evnt, params);
}
if (mouseConfig && mouseOpts.selected) {
if (!editConfig || editOpts.mode === 'cell') {
handleSelected(params, evnt);
}
}
}
},
handleCheckboxRangeEvent: function handleCheckboxRangeEvent(evnt, params) {
var _this4 = this;
var column = params.column,
cell = params.cell;
if (column.type === 'checkbox') {
var $el = this.$el,
elemStore = this.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 = this.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) {
_this4.emitEvent("checkbox-range-".concat(type), {
records: _this4.getCheckboxRecords(),
reserves: _this4.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(_this4, params, trElem, offsetTop < marginSize ? -rangeHeight : rangeHeight); // 至少滑动 10px 才能有效匹配
if (rangeHeight > 10 && rangeRows.length !== lastRangeRows.length) {
lastRangeRows = rangeRows;
if (evnt.ctrlKey) {
rangeRows.forEach(function (row) {
_this4.handleSelectRow({
row: row
}, selectRecords.indexOf(row) === -1);
});
} else {
_this4.setAllCheckboxRow(false);
_this4.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) {
_this4.scrollTo(scrollLeft, scrollTop + topSize);
startMouseScroll(evnt);
handleChecked(evnt);
} else {
stopMouseScroll();
}
} else {
if (scrollTop) {
_this4.scrollTo(scrollLeft, scrollTop - topSize);
startMouseScroll(evnt);
handleChecked(evnt);
} else {
stopMouseScroll();
}
}
}
}, 50);
};
dom.addClass($el, 'drag--range');
document.onmousemove = function (evnt) {
evnt.preventDefault();
evnt.stopPropagation();
var clientY = evnt.clientY;
var _DomTools$getAbsolute = dom.getAbsolutePos(bodyWrapperElem),
boundingTop = _DomTools$getAbsolute.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();
dom.removeClass($el, 'drag--range');
checkboxRangeElem.removeAttribute('style');
document.onmousemove = domMousemove;
document.onmouseup = domMouseup;
triggerEvent('end', evnt);
};
triggerEvent('start', evnt);
}
}
}
});
// CONCATENATED MODULE: ./packages/keyboard/index.js
var Keyboard = {
install: function install() {
v_x_e_table.reg('keyboard');
packages_table.mixins.push(keyboard_src_mixin);
}
};
/* harmony default export */ var packages_keyboard = (Keyboard);
// CONCATENATED MODULE: ./packages/validator/src/mixin.js
/**
* 校验规则
*/
var mixin_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;
}();
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;
}
/* harmony default export */ var validator_src_mixin = ({
methods: {
/**
* 完整校验,和 validate 的区别就是会给有效数据中的每一行进行校验
*/
_fullValidate: function _fullValidate(rows, cb) {
return this.beginValidate(rows, cb, true);
},
/**
* 快速校验,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
*/
_validate: function _validate(rows, cb) {
return this.beginValidate(rows, cb);
},
/**
* 聚焦到校验通过的单元格并弹出校验错误提示
*/
handleValidError: function handleValidError(params) {
var _this = this;
return new Promise(function (resolve) {
if (_this.validOpts.autoPos === false) {
_this.emitEvent('valid-error', params);
resolve();
} else {
_this.handleActived(params, {
type: 'valid-error',
trigger: 'call'
}).then(function () {
setTimeout(function () {
resolve(_this.showValidTooltip(params));
}, 10);
});
}
});
},
/**
* 对表格数据进行校验
* 如果不指定数据,则默认只校验临时变动的数据,例如新增或修改
* 如果传 true 则校验当前表格数据
* 如果传 row 指定行记录,则只验证传入的行
* 如果传 rows 为多行记录,则只验证传入的行
* 如果只传 callback 否则默认验证整个表格数据
* 返回 Promise 对象,或者使用回调方式
*/
beginValidate: function beginValidate(rows, cb, isFull) {
var _this2 = this;
var validRest = {};
var editRules = this.editRules,
afterFullData = this.afterFullData,
treeConfig = this.treeConfig,
treeOpts = this.treeOpts;
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) {
vaildDatas = this.getInsertRecords().concat(this.getUpdateRecords());
}
var rowValids = [];
this.lastCallTime = Date.now();
this.validRuleErr = false; // 如果为快速校验,当存在某列校验不通过时将终止执行
this.clearValidate();
if (editRules) {
var columns = this.getColumns();
var handleVaild = function handleVaild(row) {
if (isFull || !_this2.validRuleErr) {
var colVailds = [];
columns.forEach(function (column) {
if ((isFull || !_this2.validRuleErr) && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.has(editRules, column.property)) {
colVailds.push(_this2.validCellRules('all', row, column).catch(function (_ref) {
var rule = _ref.rule,
rules = _ref.rules;
var rest = {
rule: rule,
rules: rules,
rowIndex: _this2.getRowIndex(row),
row: row,
columnIndex: _this2.getColumnIndex(column),
column: column,
field: column.property,
$table: _this2
};
if (!validRest[column.property]) {
validRest[column.property] = [];
}
validRest[column.property].push(rest);
if (!isFull) {
_this2.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 _this2.$nextTick().then(function () {
if (ruleProps.length) {
return Promise.reject(validRest[ruleProps[0]][0]);
}
if (cb) {
cb();
}
});
}).catch(function (firstErrParams) {
return new Promise(function (resolve, reject) {
var finish = function finish() {
_this2.$nextTick(function () {
if (cb) {
cb(validRest);
resolve();
} else {
if (src_conf.validToReject === 'obsolete') {
// 已废弃,校验失败将不会执行catch
reject(validRest);
} else {
resolve(validRest);
}
}
});
};
var posAndFinish = function posAndFinish() {
firstErrParams.cell = _this2.getCell(firstErrParams.row, firstErrParams.column);
dom.scrollToView(firstErrParams.cell);
_this2.handleValidError(firstErrParams).then(finish);
};
/**
* 当校验不通过时
* 将表格滚动到可视区
* 由于提示信息至少需要占一行,定位向上偏移一行
*/
var row = firstErrParams.row;
var rowIndex = afterFullData.indexOf(row);
var locatRow = rowIndex > 0 ? afterFullData[rowIndex - 1] : row;
if (_this2.validOpts.autoPos === false) {
finish();
} else {
if (treeConfig) {
_this2.scrollToTreeRow(locatRow).then(posAndFinish);
} else {
_this2.scrollToRow(locatRow).then(posAndFinish);
}
}
});
});
}
return this.$nextTick().then(function () {
if (cb) {
cb();
}
});
},
hasCellRules: function hasCellRules(type, row, column) {
var editRules = this.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;
},
/**
* 校验数据
* 按表格行、列顺序依次校验(同步或异步)
* 校验规则根据索引顺序依次校验,如果是异步则会等待校验完成才会继续校验下一列
* 如果校验失败则,触发回调或者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 _this3 = this;
var editRules = this.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: _this3.getRowIndex(row),
column: column,
columnIndex: _this3.getColumnIndex(column),
field: column.property,
$table: _this3
});
if (customValid) {
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isError(customValid)) {
_this3.validRuleErr = true;
errorRules.push(new mixin_Rule({
type: 'custom',
trigger: trigger,
content: customValid.message,
rule: new mixin_Rule(rule)
}));
} else if (customValid.catch) {
// 如果为异步校验(注:异步校验是并发无序的)
syncVailds.push(customValid.catch(function (e) {
_this3.validRuleErr = true;
errorRules.push(new mixin_Rule({
type: 'custom',
trigger: trigger,
content: e && e.message ? e.message : rule.content || rule.message,
rule: new mixin_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) ? !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)) {
_this3.validRuleErr = true;
errorRules.push(new mixin_Rule(rule));
}
}
}
});
}
}
return Promise.all(syncVailds).then(function () {
if (errorRules.length) {
var rest = {
rules: errorRules,
rule: errorRules[0]
};
return Promise.reject(rest);
}
});
},
_clearValidate: function _clearValidate() {
var validTip = this.$refs.validTip;
Object.assign(this.validStore, {
visible: false,
row: null,
column: null,
content: '',
rule: null
});
if (validTip && validTip.visible) {
validTip.close();
}
return this.$nextTick();
},
/**
* 触发校验
*/
triggerValidate: function triggerValidate(type) {
var _this4 = this;
var editConfig = this.editConfig,
editStore = this.editStore,
editRules = this.editRules,
validStore = this.validStore;
var actived = editStore.actived;
if (actived.row && editRules) {
var _actived$args = actived.args,
row = _actived$args.row,
column = _actived$args.column,
cell = _actived$args.cell;
if (this.hasCellRules(type, row, column)) {
return this.validCellRules(type, row, column).then(function () {
if (editConfig.mode === 'row') {
if (validStore.visible && validStore.row === row && validStore.column === column) {
_this4.clearValidate();
}
}
}).catch(function (_ref2) {
var rule = _ref2.rule;
// 如果校验不通过与触发方式一致,则聚焦提示错误,否则跳过并不作任何处理
if (!rule.trigger || type === rule.trigger) {
var rest = {
rule: rule,
row: row,
column: column,
cell: cell
};
_this4.showValidTooltip(rest);
return Promise.reject(rest);
}
return Promise.resolve();
});
}
}
return Promise.resolve();
},
/**
* 弹出校验错误提示
*/
showValidTooltip: function showValidTooltip(params) {
var _this5 = this;
var $refs = this.$refs,
height = this.height,
tableData = this.tableData,
validOpts = this.validOpts;
var rule = params.rule,
row = params.row,
column = params.column,
cell = params.cell;
var validTip = $refs.validTip;
var content = rule.content;
return this.$nextTick(function () {
Object.assign(_this5.validStore, {
row: row,
column: column,
rule: rule,
content: content,
visible: true
});
_this5.emitEvent('valid-error', params);
if (validTip && (validOpts.message === 'tooltip' || validOpts.message === 'default' && !height && tableData.length < 2)) {
return validTip.open(cell, content);
}
});
}
}
});
// CONCATENATED MODULE: ./packages/validator/index.js
var Validator = {
install: function install() {
v_x_e_table.reg('valid');
packages_table.mixins.push(validator_src_mixin);
}
};
/* harmony default export */ var validator = (Validator);
// CONCATENATED MODULE: ./packages/footer/src/footer.js
var footer_cellType = '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 = ({
name: 'VxeTableFooter',
props: {
footerTableData: Array,
tableColumn: Array,
fixedColumn: Array,
fixedType: String,
size: String
},
mounted: function mounted() {
var $xetable = this.$parent,
$el = this.$el,
$refs = this.$refs,
fixedType = this.fixedType;
var elemStore = $xetable.elemStore;
var prefix = "".concat(fixedType || 'main', "-footer-");
elemStore["".concat(prefix, "wrapper")] = $el;
elemStore["".concat(prefix, "table")] = $refs.table;
elemStore["".concat(prefix, "colgroup")] = $refs.colgroup;
elemStore["".concat(prefix, "list")] = $refs.tfoot;
elemStore["".concat(prefix, "xSpace")] = $refs.xSpace;
},
destroyed: function destroyed() {
var $xetable = this.$parent,
fixedType = this.fixedType;
var elemStore = $xetable.elemStore;
var prefix = "".concat(fixedType || 'main', "-footer-");
elemStore["".concat(prefix, "wrapper")] = null;
elemStore["".concat(prefix, "table")] = null;
elemStore["".concat(prefix, "colgroup")] = null;
elemStore["".concat(prefix, "list")] = null;
elemStore["".concat(prefix, "xSpace")] = null;
},
render: function render(h) {
var _e = this._e,
$xetable = this.$parent,
fixedType = this.fixedType,
fixedColumn = this.fixedColumn,
tableColumn = this.tableColumn,
footerTableData = this.footerTableData;
var tableListeners = $xetable.$listeners,
tId = $xetable.tId,
footerRowClassName = $xetable.footerRowClassName,
footerCellClassName = $xetable.footerCellClassName,
footerRowStyle = $xetable.footerRowStyle,
footerCellStyle = $xetable.footerCellStyle,
allFooterAlign = $xetable.footerAlign,
mergeFooterList = $xetable.mergeFooterList,
footerSpanMethod = $xetable.footerSpanMethod,
allAlign = $xetable.align,
scrollXLoad = $xetable.scrollXLoad,
columnKey = $xetable.columnKey,
columnOpts = $xetable.columnOpts,
allColumnFooterOverflow = $xetable.showFooterOverflow,
currentColumn = $xetable.currentColumn,
overflowX = $xetable.overflowX,
scrollbarWidth = $xetable.scrollbarWidth,
tooltipOpts = $xetable.tooltipOpts,
visibleColumn = $xetable.visibleColumn; // 如果是使用优化模式
if (fixedType) {
if (scrollXLoad || allColumnFooterOverflow) {
if (!mergeFooterList.length || !footerSpanMethod) {
tableColumn = fixedColumn;
} else {
tableColumn = visibleColumn;
}
} else {
tableColumn = visibleColumn;
}
}
return h('div', {
class: ['vxe-table--footer-wrapper', fixedType ? "fixed-".concat(fixedType, "--wrapper") : 'body--wrapper'],
attrs: {
xid: tId
},
on: {
scroll: this.scrollEvent
}
}, [fixedType ? _e() : h('div', {
class: 'vxe-body--x-space',
ref: 'xSpace'
}), h('table', {
class: 'vxe-table--footer',
attrs: {
xid: tId,
cellspacing: 0,
cellpadding: 0,
border: 0
},
ref: 'table'
}, [
/**
* 列宽
*/
h('colgroup', {
ref: 'colgroup'
}, tableColumn.map(function (column, $columnIndex) {
return h('col', {
attrs: {
name: column.id
},
key: $columnIndex
});
}).concat(scrollbarWidth ? [h('col', {
attrs: {
name: 'col_gutter'
}
})] : [])),
/**
* 底部
*/
h('tfoot', {
ref: 'tfoot'
}, footerTableData.map(function (list, _rowIndex) {
var $rowIndex = _rowIndex;
return 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_cellType
}) : 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_cellType
}) : 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 || tooltipOpts.enabled;
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_cellType,
data: footerTableData
}; // 虚拟滚动不支持动态高度
if (scrollXLoad && !hasEllipsis) {
showEllipsis = hasEllipsis = true;
}
if (showTitle || showTooltip || showAllTip) {
tfOns.mouseenter = function (evnt) {
if (showTitle) {
dom.updateCellTitle(evnt.currentTarget, column);
} else if (showTooltip || showAllTip) {
$xetable.triggerFooterTooltipEvent(evnt, params);
}
};
}
if (showTooltip || showAllTip) {
tfOns.mouseleave = function (evnt) {
if (showTooltip || showAllTip) {
$xetable.handleTargetLeaveEvent(evnt);
}
};
}
if (tableListeners['footer-cell-click']) {
tfOns.click = function (evnt) {
$xetable.emitEvent('footer-cell-click', Object.assign({
cell: evnt.currentTarget
}, params), evnt);
};
}
if (tableListeners['footer-cell-dblclick']) {
tfOns.dblclick = function (evnt) {
$xetable.emitEvent('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 h('td', {
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), utils.getClass(footerClassName, params), utils.getClass(footerCellClassName, params)],
attrs: attrs,
style: footerCellStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(footerCellStyle) ? footerCellStyle(params) : footerCellStyle : null,
on: tfOns,
key: columnKey || columnOpts.useKey ? column.id : $columnIndex
}, [h('div', {
class: ['vxe-cell', {
'c--title': showTitle,
'c--tooltip': showTooltip,
'c--ellipsis': showEllipsis
}]
}, column.renderFooter(h, params))]);
}).concat(scrollbarWidth ? [h('td', {
class: 'vxe-footer--gutter col--gutter'
})] : []));
}))])]);
},
methods: {
/**
* 滚动处理
* 如果存在列固定左侧,同步更新滚动状态
* 如果存在列固定右侧,同步更新滚动状态
*/
scrollEvent: function scrollEvent(evnt) {
var $xetable = this.$parent,
fixedType = this.fixedType;
var $refs = $xetable.$refs,
scrollXLoad = $xetable.scrollXLoad,
triggerScrollXEvent = $xetable.triggerScrollXEvent,
lastScrollLeft = $xetable.lastScrollLeft;
var tableHeader = $refs.tableHeader,
tableBody = $refs.tableBody,
tableFooter = $refs.tableFooter,
validTip = $refs.validTip;
var headerElem = tableHeader ? tableHeader.$el : null;
var footerElem = tableFooter ? tableFooter.$el : null;
var bodyElem = tableBody.$el;
var scrollLeft = footerElem ? footerElem.scrollLeft : 0;
var isX = scrollLeft !== lastScrollLeft;
$xetable.lastScrollLeft = scrollLeft;
$xetable.lastScrollTime = Date.now();
if (headerElem) {
headerElem.scrollLeft = scrollLeft;
}
if (bodyElem) {
bodyElem.scrollLeft = scrollLeft;
}
if (scrollXLoad && isX) {
triggerScrollXEvent(evnt);
}
if (isX && validTip && validTip.visible) {
validTip.updatePlacement();
}
$xetable.emitEvent('scroll', {
type: footer_cellType,
fixed: fixedType,
scrollTop: bodyElem.scrollTop,
scrollLeft: scrollLeft,
isX: isX,
isY: false
}, evnt);
}
}
});
// CONCATENATED MODULE: ./packages/footer/index.js
var Footer = Object.assign(footer, {
install: function install(Vue) {
Vue.component(footer.name, footer);
}
});
/* harmony default export */ var packages_footer = (Footer);
// CONCATENATED MODULE: ./packages/table/src/column.js
var column_props = {
// 列唯一主键
colId: [String, Number],
// 渲染类型 seq,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,
// 在 v3 中废弃
remoteSort: {
type: Boolean,
default: null
},
// 在 v3 中只支持字符串类型
sortBy: [String, Function],
// 排序的字段类型,比如字符串转数值等
sortType: String,
// 在 v3 中废弃
sortMethod: Function,
// 配置筛选条件数组
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,
// 已废弃,被 titlePrefix 替换
titleHelp: Object,
// 标题帮助图标配置项
titlePrefix: Object,
// 单元格值类型
cellType: String,
// 单元格渲染配置项
cellRender: Object,
// 单元格编辑渲染配置项
editRender: Object,
// 内容渲染配置项
contentRender: Object,
// 额外的参数
params: Object
};
var column_watch = {};
Object.keys(column_props).forEach(function (name) {
column_watch[name] = function (value) {
this.columnConfig.update(name, value);
};
});
/* harmony default export */ var src_column = ({
name: 'VxeColumn',
props: column_props,
provide: function provide() {
return {
$xecolumn: this,
$xegrid: null
};
},
inject: {
$xetable: {
default: null
},
$xecolumn: {
default: null
}
},
watch: column_watch,
created: function created() {
this.columnConfig = this.createColumn(this.$xetable, this);
},
mounted: function mounted() {
utils.assemColumn(this);
},
destroyed: function destroyed() {
utils.destroyColumn(this);
},
render: function render(h) {
return h('div', this.$slots.default);
},
methods: src_cell
});
// CONCATENATED MODULE: ./packages/column/index.js
var Column = Object.assign(src_column, {
install: function install(Vue) {
Vue.component(src_column.name, src_column); // 兼容旧用法
Vue.component('VxeTableColumn', src_column);
}
});
/* harmony default export */ var packages_column = (Column);
// CONCATENATED MODULE: ./packages/table/src/group.js
/* harmony default export */ var src_group = ({
name: 'VxeColgroup',
extends: src_column,
provide: function provide() {
return {
xecolgroup: this,
$xegrid: null
};
}
});
// CONCATENATED MODULE: ./packages/colgroup/index.js
var Colgroup = Object.assign(src_group, {
install: function install(Vue) {
Vue.component(src_group.name, src_group); // 兼容旧用法
Vue.component('VxeTableColgroup', src_group);
}
});
/* harmony default export */ var colgroup = (Colgroup);
// CONCATENATED MODULE: ./packages/grid/src/grid.js
var grid_methods = {};
var propKeys = Object.keys(packages_table.props);
function renderDefaultForm(h, _vm) {
var $scopedSlots = _vm.$scopedSlots,
proxyConfig = _vm.proxyConfig,
proxyOpts = _vm.proxyOpts,
formData = _vm.formData,
formConfig = _vm.formConfig,
formOpts = _vm.formOpts;
if (isEnableConf(formConfig) && formOpts.items && formOpts.items.length) {
var formSlots = {};
if (!formOpts.inited) {
formOpts.inited = true;
var beforeItem = proxyOpts.beforeItem;
if (proxyOpts && beforeItem) {
formOpts.items.forEach(function (item) {
beforeItem.call(_vm, {
$grid: _vm,
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 ($scopedSlots[func]) {
formSlots[func] = $scopedSlots[func];
}
}
});
});
return [h('vxe-form', {
props: Object.assign({}, formOpts, {
data: proxyConfig && proxyOpts.form ? formData : formOpts.data
}),
on: {
submit: _vm.submitEvent,
reset: _vm.resetEvent,
collapse: _vm.collapseEvent,
'submit-invalid': _vm.submitInvalidEvent
},
scopedSlots: formSlots
})];
}
return [];
}
function getFuncSlot(_vm, optSlots, slotKey) {
var $scopedSlots = _vm.$scopedSlots;
var funcSlot = optSlots[slotKey];
if (funcSlot) {
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(funcSlot)) {
if ($scopedSlots[funcSlot]) {
return $scopedSlots[funcSlot];
} else {
if (false) {}
}
} else {
return funcSlot;
}
}
return null;
}
function getToolbarSlots(_vm) {
var $scopedSlots = _vm.$scopedSlots,
toolbarOpts = _vm.toolbarOpts;
var toolbarOptSlots = toolbarOpts.slots;
var buttonsSlot;
var toolsSlot;
var slots = {};
if (false) {}
if (toolbarOptSlots) {
buttonsSlot = getFuncSlot(_vm, toolbarOptSlots, 'buttons');
toolsSlot = getFuncSlot(_vm, toolbarOptSlots, 'tools');
if (buttonsSlot) {
slots.buttons = buttonsSlot;
}
if (toolsSlot) {
slots.tools = toolsSlot;
}
}
return slots;
}
function getPagerSlots(_vm) {
var pagerOpts = _vm.pagerOpts;
var pagerOptSlots = pagerOpts.slots;
var slots = {};
var leftSlot;
var rightSlot;
if (pagerOptSlots) {
leftSlot = getFuncSlot(_vm, pagerOptSlots, 'left');
rightSlot = getFuncSlot(_vm, pagerOptSlots, 'right');
if (leftSlot) {
slots.left = leftSlot;
}
if (rightSlot) {
slots.right = rightSlot;
}
}
return slots;
}
function getTableOns(_vm) {
var $listeners = _vm.$listeners,
proxyConfig = _vm.proxyConfig,
proxyOpts = _vm.proxyOpts;
var ons = {};
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.each($listeners, function (cb, type) {
ons[type] = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_vm.$emit.apply(_vm, [type].concat(args));
};
});
if (proxyConfig) {
if (proxyOpts.sort) {
ons['sort-change'] = _vm.sortChangeEvent;
}
if (proxyOpts.filter) {
ons['filter-change'] = _vm.filterChangeEvent;
}
}
return ons;
}
Object.keys(packages_table.methods).forEach(function (name) {
grid_methods[name] = function () {
var _this$$refs$xTable;
return this.$refs.xTable && (_this$$refs$xTable = this.$refs.xTable)[name].apply(_this$$refs$xTable, arguments);
};
});
/* harmony default export */ var grid = ({
name: 'VxeGrid',
mixins: [size],
props: _objectSpread2(_objectSpread2({}, packages_table.props), {}, {
columns: Array,
pagerConfig: [Boolean, Object],
proxyConfig: Object,
toolbar: [Boolean, Object],
toolbarConfig: [Boolean, Object],
formConfig: [Boolean, Object],
zoomConfig: Object,
size: {
type: String,
default: function _default() {
return src_conf.grid.size || src_conf.size;
}
}
}),
provide: function provide() {
return {
$xegrid: this
};
},
data: function data() {
return {
tableLoading: false,
isZMax: false,
tableData: [],
pendingRecords: [],
filterData: [],
formData: {},
sortData: [],
tZindex: 0,
tablePage: {
total: 0,
pageSize: src_conf.pager.pageSize || 10,
currentPage: 1
}
};
},
computed: {
isMsg: function isMsg() {
return this.proxyOpts.message !== false;
},
proxyOpts: function proxyOpts() {
return Object.assign({}, src_conf.grid.proxyConfig, this.proxyConfig);
},
pagerOpts: function pagerOpts() {
return Object.assign({}, src_conf.grid.pagerConfig, this.pagerConfig);
},
formOpts: function formOpts() {
return Object.assign({}, src_conf.grid.formConfig, this.formConfig);
},
toolbarOpts: function toolbarOpts() {
return Object.assign({}, src_conf.grid.toolbarConfig, this.toolbarConfig || this.toolbar);
},
zoomOpts: function zoomOpts() {
return Object.assign({}, src_conf.grid.zoomConfig, this.zoomConfig);
},
renderStyle: function renderStyle() {
return this.isZMax ? {
zIndex: this.tZindex
} : null;
},
tableExtendProps: function tableExtendProps() {
var _this = this;
var rest = {};
propKeys.forEach(function (key) {
rest[key] = _this[key];
});
return rest;
},
tableProps: function tableProps() {
var isZMax = this.isZMax,
seqConfig = this.seqConfig,
pagerConfig = this.pagerConfig,
loading = this.loading,
editConfig = this.editConfig,
proxyConfig = this.proxyConfig,
proxyOpts = this.proxyOpts,
tableExtendProps = this.tableExtendProps,
tableLoading = this.tableLoading,
tablePage = this.tablePage,
tableData = this.tableData;
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 = this.handleRowClassName;
if (proxyOpts.seq && isEnableConf(pagerConfig)) {
tableProps.seqConfig = Object.assign({}, seqConfig, {
startIndex: (tablePage.currentPage - 1) * tablePage.pageSize
});
}
}
if (editConfig) {
tableProps.editConfig = Object.assign({}, editConfig, {
beforeEditMethod: this.handleBeforeEditMethod
});
}
return tableProps;
}
},
watch: {
columns: function columns(value) {
var _this2 = this;
this.$nextTick(function () {
return _this2.loadColumn(value);
});
},
toolbar: function toolbar(value) {
if (value) {
this.initToolbar();
}
},
toolbarConfig: function toolbarConfig(value) {
if (value) {
this.initToolbar();
}
},
proxyConfig: function proxyConfig() {
this.initProxy();
},
pagerConfig: function pagerConfig() {
this.initPages();
}
},
created: function created() {
var data = this.data,
formOpts = this.formOpts,
proxyOpts = this.proxyOpts,
proxyConfig = this.proxyConfig;
if (proxyConfig && (data || proxyOpts.form && formOpts.data)) {
errLog('vxe.error.errConflicts', ['grid.data', 'grid.proxy-config']);
}
if (false) {}
this.initPages();
GlobalEvent.on(this, 'keydown', this.handleGlobalKeydownEvent);
},
mounted: function mounted() {
if (this.columns && this.columns.length) {
this.loadColumn(this.columns);
}
this.initToolbar();
this.initProxy();
},
destroyed: function destroyed() {
GlobalEvent.off(this, 'keydown');
},
render: function render(h) {
var _ref;
var $scopedSlots = this.$scopedSlots,
vSize = this.vSize,
isZMax = this.isZMax;
var hasForm = !!($scopedSlots.form || isEnableConf(this.formConfig));
var hasToolbar = !!($scopedSlots.toolbar || isEnableConf(this.toolbarConfig) || this.toolbar);
var hasPager = !!($scopedSlots.pager || isEnableConf(this.pagerConfig));
return h('div', {
class: ['vxe-grid', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--animat', !!this.animat), _defineProperty(_ref, 'is--round', this.round), _defineProperty(_ref, 'is--maximize', isZMax), _defineProperty(_ref, 'is--loading', this.loading || this.tableLoading), _ref)],
style: this.renderStyle
}, [
/**
* 渲染表单
*/
hasForm ? h('div', {
ref: 'formWrapper',
class: 'vxe-grid--form-wrapper'
}, $scopedSlots.form ? $scopedSlots.form.call(this, {
$grid: this
}, h) : renderDefaultForm(h, this)) : null,
/**
* 渲染工具栏
*/
hasToolbar ? h('div', {
ref: 'toolbarWrapper',
class: 'vxe-grid--toolbar-wrapper'
}, $scopedSlots.toolbar ? $scopedSlots.toolbar.call(this, {
$grid: this
}, h) : [h('vxe-toolbar', {
props: this.toolbarOpts,
ref: 'xToolbar',
scopedSlots: getToolbarSlots(this)
})]) : null,
/**
* 渲染表格顶部区域
*/
$scopedSlots.top ? h('div', {
ref: 'topWrapper',
class: 'vxe-grid--top-wrapper'
}, $scopedSlots.top.call(this, {
$grid: this
}, h)) : null,
/**
* 渲染表格
*/
h('vxe-table', {
props: this.tableProps,
on: getTableOns(this),
scopedSlots: $scopedSlots,
ref: 'xTable'
}),
/**
* 渲染表格底部区域
*/
$scopedSlots.bottom ? h('div', {
ref: 'bottomWrapper',
class: 'vxe-grid--bottom-wrapper'
}, $scopedSlots.bottom.call(this, {
$grid: this
}, h)) : null,
/**
* 渲染分页
*/
hasPager ? h('div', {
ref: 'pagerWrapper',
class: 'vxe-grid--pager-wrapper'
}, $scopedSlots.pager ? $scopedSlots.pager.call(this, {
$grid: this
}, h) : [h('vxe-pager', {
props: _objectSpread2(_objectSpread2({}, this.pagerOpts), this.proxyConfig ? this.tablePage : {}),
on: {
'page-change': this.pageChangeEvent
},
scopedSlots: getPagerSlots(this)
})]) : null]);
},
methods: _objectSpread2(_objectSpread2({}, grid_methods), {}, {
callSlot: function callSlot(slotFunc, params, h, vNodes) {
if (slotFunc) {
var $scopedSlots = this.$scopedSlots;
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(slotFunc)) {
slotFunc = $scopedSlots[slotFunc] || null;
}
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(slotFunc)) {
return getSlotVNs(slotFunc.call(this, params, h, vNodes));
}
}
return [];
},
getParentHeight: function getParentHeight() {
var $el = this.$el,
isZMax = this.isZMax;
return (isZMax ? dom.getDomNode().visibleHeight : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(getComputedStyle($el.parentNode).height)) - this.getExcludeHeight();
},
/**
* 获取需要排除的高度
*/
getExcludeHeight: function getExcludeHeight() {
var $refs = this.$refs,
$el = this.$el,
isZMax = this.isZMax,
height = this.height;
var formWrapper = $refs.formWrapper,
toolbarWrapper = $refs.toolbarWrapper,
topWrapper = $refs.topWrapper,
bottomWrapper = $refs.bottomWrapper,
pagerWrapper = $refs.pagerWrapper;
var parentPaddingSize = isZMax || height !== 'auto' ? 0 : getPaddingTopBottomSize($el.parentNode);
return parentPaddingSize + getPaddingTopBottomSize($el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper);
},
handleRowClassName: function handleRowClassName(params) {
var rowClassName = this.rowClassName;
var clss = [];
if (this.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;
},
handleBeforeEditMethod: function handleBeforeEditMethod(params) {
var editConfig = this.editConfig;
var beforeEditMethod = editConfig ? editConfig.beforeEditMethod || editConfig.activeMethod : null;
if (this.pendingRecords.indexOf(params.row) === -1) {
return !beforeEditMethod || beforeEditMethod(_objectSpread2(_objectSpread2({}, params), {}, {
$grid: this
}));
}
return false;
},
initToolbar: function initToolbar() {
var _this3 = this;
this.$nextTick(function () {
var _this3$$refs = _this3.$refs,
xTable = _this3$$refs.xTable,
xToolbar = _this3$$refs.xToolbar;
if (xTable && xToolbar) {
xTable.connect(xToolbar);
}
});
},
initPages: function initPages() {
var tablePage = this.tablePage,
pagerConfig = this.pagerConfig,
pagerOpts = this.pagerOpts;
var currentPage = pagerOpts.currentPage,
pageSize = pagerOpts.pageSize;
if (pagerConfig) {
if (currentPage) {
tablePage.currentPage = currentPage;
}
if (pageSize) {
tablePage.pageSize = pageSize;
}
}
},
initProxy: function initProxy() {
var _this4 = this;
var proxyInited = this.proxyInited,
proxyConfig = this.proxyConfig,
proxyOpts = this.proxyOpts,
formConfig = this.formConfig,
formOpts = this.formOpts;
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;
}
});
this.formData = formData;
}
if (!proxyInited && proxyOpts.autoLoad !== false) {
this.proxyInited = true;
this.$nextTick(function () {
return _this4.commitProxy('_init');
});
}
}
},
handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {
var isEsc = evnt.keyCode === 27;
if (isEsc && this.isZMax && this.zoomOpts.escRestore !== false) {
this.triggerZoomEvent(evnt);
}
},
/**
* 提交指令,支持 code 或 button
* @param {String/Object} code 字符串或对象
*/
commitProxy: function commitProxy(proxyTarget) {
var _this5 = this;
var $refs = this.$refs,
toolbar = this.toolbar,
toolbarConfig = this.toolbarConfig,
toolbarOpts = this.toolbarOpts,
proxyOpts = this.proxyOpts,
tablePage = this.tablePage,
pagerConfig = this.pagerConfig,
editRules = this.editRules,
formData = this.formData,
isMsg = this.isMsg;
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$props = proxyOpts.props,
proxyProps = _proxyOpts$props === void 0 ? {} : _proxyOpts$props;
var $xetable = $refs.xTable;
var button;
var code;
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(proxyTarget)) {
var matchObj = toolbarConfig || toolbar ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(toolbarOpts.buttons, function (item) {
return item.code === proxyTarget;
}, {
children: 'dropdowns'
}) : null;
code = proxyTarget;
button = matchObj ? matchObj.item : null;
} 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':
this.insert();
break;
case 'insert_actived':
this.insert().then(function (_ref2) {
var row = _ref2.row;
return _this5.setActiveRow(row);
});
break;
case 'mark_cancel':
this.triggerPendingEvent(code);
break;
case 'remove':
return this.handleDeleteRow(code, 'vxe.grid.removeSelectRecord', function () {
return _this5.removeCheckboxRow();
});
case 'import':
this.importData(btnParams);
break;
case 'open_import':
this.openImport(btnParams);
break;
case 'export':
this.exportData(btnParams);
break;
case 'open_export':
this.openExport(btnParams);
break;
case 'reset_custom':
this.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 sortOpts = $xetable.sortOpts;
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 {
field: item.field,
property: item.field,
order: item.order
};
});
}
filterList = $xetable.getCheckedFilters();
} else {
if (isReload) {
this.pendingRecords = [];
$xetable.clearAll();
} else {
sortList = $xetable.getSortColumns();
filterList = $xetable.getCheckedFilters();
}
}
var params = {
code: code,
button: button,
$grid: this,
page: pageParams,
sort: sortList.length ? sortList[0] : {},
sorts: sortList,
filters: filterList,
form: formData,
options: ajaxMethods
};
this.sortData = sortList;
this.filterData = filterList;
this.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) {
_this5.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 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(total);
_this5.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 {
_this5.tableData = (proxyProps.list ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(rest, proxyProps.list) : rest) || [];
}
} else {
_this5.tableData = [];
}
if (afterQuery) {
afterQuery.apply(void 0, _toConsumableArray(applyArgs));
}
});
} else {
if (false) {}
}
break;
}
case 'delete':
{
var _ajaxMethods = ajax.delete;
if (_ajaxMethods) {
var selectRecords = $xetable.getCheckboxRecords();
var removeRecords = selectRecords.filter(function (row) {
return !$xetable.isInsertByRow(row);
});
var body = {
removeRecords: removeRecords
};
var _applyArgs = [{
$grid: this,
code: code,
button: button,
body: body,
options: _ajaxMethods
}].concat(args);
if (selectRecords.length) {
return this.handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', function () {
if (!removeRecords.length) {
return $xetable.remove(selectRecords);
}
_this5.tableLoading = true;
return Promise.resolve((beforeDelete || _ajaxMethods).apply(void 0, _toConsumableArray(_applyArgs))).then(function (rest) {
_this5.tableLoading = false;
_this5.pendingRecords = _this5.pendingRecords.filter(function (row) {
return removeRecords.indexOf(row) === -1;
});
if (isMsg) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
content: _this5.getRespMsg(rest, 'vxe.grid.delSuccess'),
status: 'success'
});
}
if (afterDelete) {
afterDelete.apply(void 0, _toConsumableArray(_applyArgs));
} else {
_this5.commitProxy('query');
}
}).catch(function (rest) {
_this5.tableLoading = false;
if (isMsg) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
id: code,
content: _this5.getRespMsg(rest, 'vxe.grid.operError'),
status: 'error'
});
}
});
});
} else {
if (isMsg) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
id: code,
content: src_conf.i18n('vxe.grid.selectOneRecord'),
status: 'warning'
});
}
}
} else {
if (false) {}
}
break;
}
case 'save':
{
var _ajaxMethods2 = ajax.save;
if (_ajaxMethods2) {
var _body = Object.assign({
pendingRecords: this.pendingRecords
}, this.getRecordset());
var insertRecords = _body.insertRecords,
_removeRecords = _body.removeRecords,
updateRecords = _body.updateRecords,
pendingRecords = _body.pendingRecords;
var _applyArgs2 = [{
$grid: this,
code: code,
button: button,
body: _body,
options: _ajaxMethods2
}].concat(args); // 排除掉新增且标记为删除的数据
if (insertRecords.length) {
_body.pendingRecords = pendingRecords.filter(function (row) {
return insertRecords.indexOf(row) === -1;
});
} // 排除已标记为删除的数据
if (pendingRecords.length) {
_body.insertRecords = insertRecords.filter(function (row) {
return pendingRecords.indexOf(row) === -1;
});
}
var restPromise = Promise.resolve();
if (editRules) {
// 只校验新增和修改的数据
restPromise = this.validate(_body.insertRecords.concat(updateRecords));
}
return restPromise.then(function (errMap) {
if (errMap) {
// 如果校验不通过
return;
}
if (_body.insertRecords.length || _removeRecords.length || updateRecords.length || _body.pendingRecords.length) {
_this5.tableLoading = true;
return Promise.resolve((beforeSave || _ajaxMethods2).apply(void 0, _toConsumableArray(_applyArgs2))).then(function (rest) {
_this5.tableLoading = false;
_this5.pendingRecords = [];
if (isMsg) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
content: _this5.getRespMsg(rest, 'vxe.grid.saveSuccess'),
status: 'success'
});
}
if (afterSave) {
afterSave.apply(void 0, _toConsumableArray(_applyArgs2));
} else {
_this5.commitProxy('query');
}
}).catch(function (rest) {
_this5.tableLoading = false;
if (isMsg) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
id: code,
content: _this5.getRespMsg(rest, 'vxe.grid.operError'),
status: 'error'
});
}
});
} else {
if (isMsg) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
id: code,
content: src_conf.i18n('vxe.grid.dataUnchanged'),
status: 'info'
});
}
}
});
} else {
if (false) {}
}
break;
}
default:
{
var btnMethod = v_x_e_table.commands.get(code);
if (btnMethod) {
btnMethod.apply(void 0, [{
code: code,
button: button,
$grid: this,
$table: $xetable
}].concat(args));
}
}
}
return this.$nextTick();
},
getRespMsg: function getRespMsg(rest, defaultMsg) {
var _this$proxyOpts$props = this.proxyOpts.props,
proxyProps = _this$proxyOpts$props === void 0 ? {} : _this$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 || src_conf.i18n(defaultMsg);
},
handleDeleteRow: function handleDeleteRow(code, alertKey, callback) {
var selectRecords = this.getCheckboxRecords();
if (this.isMsg) {
if (selectRecords.length) {
return v_x_e_table.modal.confirm({
id: "cfm_".concat(code),
content: src_conf.i18n(alertKey),
escClosable: true
}).then(function (type) {
if (type === 'confirm') {
callback();
}
});
} else {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
id: "msg_".concat(code),
content: src_conf.i18n('vxe.grid.selectOneRecord'),
status: 'warning'
});
}
} else {
if (selectRecords.length) {
callback();
}
}
return Promise.resolve();
},
getFormItems: function getFormItems(itemIndex) {
var formConfig = this.formConfig,
formOpts = this.formOpts;
var itemList = [];
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(isEnableConf(formConfig) && formOpts.items ? formOpts.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 this.pendingRecords;
},
triggerToolbarBtnEvent: function triggerToolbarBtnEvent(button, evnt) {
this.commitProxy(button, evnt);
this.$emit('toolbar-button-click', {
code: button.code,
button: button,
$grid: this,
$event: evnt
});
},
triggerToolbarTolEvent: function triggerToolbarTolEvent(tool, evnt) {
this.commitProxy(tool, evnt);
this.$emit('toolbar-tool-click', {
code: tool.code,
tool: tool,
$grid: this,
$event: evnt
});
},
triggerPendingEvent: function triggerPendingEvent(code) {
var pendingRecords = this.pendingRecords,
isMsg = this.isMsg;
var selectRecords = this.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) {
this.pendingRecords = pendingRecords.filter(function (item) {
return minus.indexOf(item) === -1;
}).concat(plus);
} else if (plus.length) {
this.pendingRecords = pendingRecords.concat(plus);
}
this.clearCheckboxRow();
} else {
if (isMsg) {
// 检测弹窗模块
if (false) {}
v_x_e_table.modal.message({
id: code,
content: src_conf.i18n('vxe.grid.selectOneRecord'),
status: 'warning'
});
}
}
},
pageChangeEvent: function pageChangeEvent(params) {
var proxyConfig = this.proxyConfig,
tablePage = this.tablePage;
var currentPage = params.currentPage,
pageSize = params.pageSize;
tablePage.currentPage = currentPage;
tablePage.pageSize = pageSize;
this.$emit('page-change', Object.assign({
$grid: this
}, params));
if (proxyConfig) {
this.commitProxy('query');
}
},
sortChangeEvent: function sortChangeEvent(params) {
var $table = params.$table,
column = params.column,
sortList = params.sortList;
var isRemote = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isBoolean(column.remoteSort) ? column.remoteSort : $table.sortOpts.remote; // 如果是服务端排序
if (isRemote) {
this.sortData = sortList;
if (this.proxyConfig) {
this.tablePage.currentPage = 1;
this.commitProxy('query');
}
}
this.$emit('sort-change', Object.assign({
$grid: this
}, params));
},
filterChangeEvent: function filterChangeEvent(params) {
var $table = params.$table,
filterList = params.filterList; // 如果是服务端过滤
if ($table.filterOpts.remote) {
this.filterData = filterList;
if (this.proxyConfig) {
this.tablePage.currentPage = 1;
this.commitProxy('query');
}
}
this.$emit('filter-change', Object.assign({
$grid: this
}, params));
},
submitEvent: function submitEvent(params) {
var proxyConfig = this.proxyConfig;
if (proxyConfig) {
this.commitProxy('reload');
}
this.$emit('form-submit', Object.assign({
$grid: this
}, params));
},
resetEvent: function resetEvent(params) {
var proxyConfig = this.proxyConfig;
if (proxyConfig) {
this.commitProxy('reload');
}
this.$emit('form-reset', Object.assign({
$grid: this
}, params));
},
submitInvalidEvent: function submitInvalidEvent(params) {
this.$emit('form-submit-invalid', Object.assign({
$grid: this
}, params));
},
collapseEvent: function collapseEvent(params) {
var _this6 = this;
this.$nextTick(function () {
return _this6.recalculate(true);
});
this.$emit('form-toggle-collapse', Object.assign({
$grid: this
}, params));
this.$emit('form-collapse', Object.assign({
$grid: this
}, params));
},
triggerZoomEvent: function triggerZoomEvent(evnt) {
this.zoom();
this.$emit('zoom', {
$grid: this,
type: this.isZMax ? 'max' : 'revert',
$event: evnt
});
},
zoom: function zoom() {
return this[this.isZMax ? 'revert' : 'maximize']();
},
isMaximized: function isMaximized() {
return this.isZMax;
},
maximize: function maximize() {
return this.handleZoom(true);
},
revert: function revert() {
return this.handleZoom();
},
handleZoom: function handleZoom(isMax) {
var _this7 = this;
var isZMax = this.isZMax;
if (isMax ? !isZMax : isZMax) {
this.isZMax = !isZMax;
if (this.tZindex < utils.getLastZIndex()) {
this.tZindex = utils.nextZIndex();
}
}
return this.$nextTick().then(function () {
return _this7.recalculate(true);
}).then(function () {
return _this7.isZMax;
});
},
getProxyInfo: function getProxyInfo() {
var sortData = this.sortData,
proxyConfig = this.proxyConfig;
if (proxyConfig) {
return {
data: this.tableData,
filter: this.filterData,
form: this.formData,
sort: sortData.length ? sortData[0] : {},
sorts: sortData,
pager: this.tablePage,
pendingRecords: this.pendingRecords
};
}
return null;
}
}, false ? undefined : null)
});
// CONCATENATED MODULE: ./packages/grid/index.js
var Grid = Object.assign(grid, {
install: function install(Vue) {
v_x_e_table.Grid = grid;
v_x_e_table.GridComponent = grid;
Vue.component(grid.name, grid);
}
});
/* harmony default export */ var packages_grid = (Grid);
// CONCATENATED MODULE: ./packages/toolbar/src/toolbar.js
var renderDropdowns = function renderDropdowns(h, _vm, item, isBtn) {
var _e = _vm._e;
var dropdowns = item.dropdowns;
if (dropdowns) {
return dropdowns.map(function (child) {
return child.visible === false ? _e() : h('vxe-button', {
on: {
click: function click(evnt) {
return isBtn ? _vm.btnEvent(evnt, child) : _vm.tolEvent(evnt, child);
}
},
props: {
disabled: child.disabled,
loading: child.loading,
type: child.type,
icon: child.icon,
circle: child.circle,
round: child.round,
status: child.status,
content: child.name
}
});
});
}
return [];
};
/**
* 渲染按钮
*/
function renderBtns(h, _vm) {
var _e = _vm._e,
$scopedSlots = _vm.$scopedSlots,
$xegrid = _vm.$xegrid,
$xetable = _vm.$xetable,
_vm$buttons = _vm.buttons,
buttons = _vm$buttons === void 0 ? [] : _vm$buttons;
var buttonsSlot = $scopedSlots.buttons;
if (buttonsSlot) {
return buttonsSlot.call(_vm, {
$grid: $xegrid,
$table: $xetable
}, h);
}
return buttons.map(function (item) {
var dropdowns = item.dropdowns,
buttonRender = item.buttonRender;
var compConf = buttonRender ? v_x_e_table.renderer.get(buttonRender.name) : null;
if (item.visible === false) {
return _e();
}
if (compConf) {
var renderToolbarButton = compConf.renderToolbarButton || compConf.renderButton;
if (renderToolbarButton) {
return h('span', {
class: 'vxe-button--item'
}, getSlotVNs(renderToolbarButton.call(_vm, h, buttonRender, {
$grid: $xegrid,
$table: $xetable,
button: item
})));
}
}
return h('vxe-button', {
on: {
click: function click(evnt) {
return _vm.btnEvent(evnt, item);
}
},
props: {
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
},
scopedSlots: dropdowns && dropdowns.length ? {
dropdowns: function dropdowns() {
return renderDropdowns(h, _vm, item, true);
}
} : null
});
});
}
/**
* 渲染右侧工具
*/
function renderRightTools(h, _vm) {
var _e = _vm._e,
$scopedSlots = _vm.$scopedSlots,
$xegrid = _vm.$xegrid,
$xetable = _vm.$xetable,
_vm$tools = _vm.tools,
tools = _vm$tools === void 0 ? [] : _vm$tools;
var toolsSlot = $scopedSlots.tools;
if (toolsSlot) {
return toolsSlot.call(_vm, {
$grid: $xegrid,
$table: $xetable
}, h);
}
return tools.map(function (item) {
var dropdowns = item.dropdowns,
toolRender = item.toolRender;
var compConf = toolRender ? v_x_e_table.renderer.get(toolRender.name) : null;
if (item.visible === false) {
return _e();
}
if (compConf) {
var renderToolbarTool = compConf.renderToolbarTool;
if (renderToolbarTool) {
return h('span', {
class: 'vxe-tool--item'
}, getSlotVNs(renderToolbarTool.call(_vm, h, toolRender, {
$grid: $xegrid,
$table: $xetable,
tool: item
})));
}
}
return h('vxe-button', {
on: {
click: function click(evnt) {
return _vm.tolEvent(evnt, item);
}
},
props: {
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
},
scopedSlots: dropdowns && dropdowns.length ? {
dropdowns: function dropdowns() {
return renderDropdowns(h, _vm, item, false);
}
} : null
});
});
}
function renderCustoms(h, _vm) {
var $xetable = _vm.$xetable,
customStore = _vm.customStore,
customOpts = _vm.customOpts,
columns = _vm.columns;
var cols = [];
var customBtnOns = {};
var customWrapperOns = {};
var checkMethod = $xetable ? $xetable.customOpts.checkMethod : null;
if (customOpts.trigger === 'manual') {// 手动触发
} else if (customOpts.trigger === 'hover') {
// hover 触发
customBtnOns.mouseenter = _vm.handleMouseenterSettingEvent;
customBtnOns.mouseleave = _vm.handleMouseleaveSettingEvent;
customWrapperOns.mouseenter = _vm.handleWrapperMouseenterEvent;
customWrapperOns.mouseleave = _vm.handleWrapperMouseleaveEvent;
} else {
// 点击触发
customBtnOns.click = _vm.handleClickSettingEvent;
}
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(columns, function (column) {
var colTitle = utils.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) {
var isChecked = column.visible;
var isIndeterminate = column.halfVisible;
cols.push(h('li', {
class: ['vxe-custom--option', "level--".concat(column.level), {
'is--group': isColGroup,
'is--checked': isChecked,
'is--indeterminate': isIndeterminate,
'is--disabled': isDisabled
}],
attrs: {
title: colTitle
},
on: {
click: function click() {
if (!isDisabled) {
_vm.changeCustomOption(column);
}
}
}
}, [h('span', {
class: ['vxe-checkbox--icon', isIndeterminate ? src_conf.icon.TABLE_CHECKBOX_INDETERMINATE : isChecked ? src_conf.icon.TABLE_CHECKBOX_CHECKED : src_conf.icon.TABLE_CHECKBOX_UNCHECKED]
}), h('span', {
class: 'vxe-checkbox--label'
}, colTitle)]));
}
});
var isAllChecked = customStore.isAll;
var isAllIndeterminate = customStore.isIndeterminate;
return h('div', {
class: ['vxe-custom--wrapper', {
'is--active': customStore.visible
}],
ref: 'customWrapper'
}, [h('vxe-button', {
props: {
circle: true,
icon: customOpts.icon || src_conf.icon.TOOLBAR_TOOLS_CUSTOM
},
attrs: {
title: src_conf.i18n('vxe.toolbar.custom')
},
on: customBtnOns
}), h('div', {
class: 'vxe-custom--option-wrapper'
}, [h('ul', {
class: 'vxe-custom--header'
}, [h('li', {
class: ['vxe-custom--option', {
'is--checked': isAllChecked,
'is--indeterminate': isAllIndeterminate
}],
attrs: {
title: src_conf.i18n('vxe.table.allTitle')
},
on: {
click: _vm.allCustomEvent
}
}, [h('span', {
class: ['vxe-checkbox--icon', isAllIndeterminate ? src_conf.icon.TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? src_conf.icon.TABLE_CHECKBOX_CHECKED : src_conf.icon.TABLE_CHECKBOX_UNCHECKED]
}), h('span', {
class: 'vxe-checkbox--label'
}, src_conf.i18n('vxe.toolbar.customAll'))])]), h('ul', {
class: 'vxe-custom--body',
on: customWrapperOns
}, cols), customOpts.isFooter === false ? null : h('div', {
class: 'vxe-custom--footer'
}, [h('button', {
class: 'btn--confirm',
on: {
click: _vm.confirmCustomEvent
}
}, src_conf.i18n('vxe.toolbar.customConfirm')), h('button', {
class: 'btn--reset',
on: {
click: _vm.resetCustomEvent
}
}, src_conf.i18n('vxe.toolbar.customRestore'))])])]);
}
/* harmony default export */ var src_toolbar = ({
name: 'VxeToolbar',
mixins: [size],
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 src_conf.toolbar.buttons;
}
},
tools: {
type: Array,
default: function _default() {
return src_conf.toolbar.tools;
}
},
perfect: {
type: Boolean,
default: function _default() {
return src_conf.toolbar.perfect;
}
},
size: {
type: String,
default: function _default() {
return src_conf.toolbar.size || src_conf.size;
}
},
className: [String, Function]
},
inject: {
$xegrid: {
default: null
}
},
data: function data() {
return {
$xetable: null,
isRefresh: false,
columns: [],
customStore: {
isAll: false,
isIndeterminate: false,
visible: false
}
};
},
computed: {
refreshOpts: function refreshOpts() {
return Object.assign({}, src_conf.toolbar.refresh, this.refresh);
},
importOpts: function importOpts() {
return Object.assign({}, src_conf.toolbar.import, this.import);
},
exportOpts: function exportOpts() {
return Object.assign({}, src_conf.toolbar.export, this.export);
},
printOpts: function printOpts() {
return Object.assign({}, src_conf.toolbar.print, this.print);
},
zoomOpts: function zoomOpts() {
return Object.assign({}, src_conf.toolbar.zoom, this.zoom);
},
customOpts: function customOpts() {
return Object.assign({}, src_conf.toolbar.custom, this.custom);
}
},
created: function created() {
var _this = this;
var refresh = this.refresh,
refreshOpts = this.refreshOpts;
this.$nextTick(function () {
var $xetable = _this.fintTable();
var queryMethod = refreshOpts.queryMethod || refreshOpts.query;
if (refresh && !_this.$xegrid && !queryMethod) {
warnLog('vxe.error.notFunc', ['queryMethod']);
}
if ($xetable) {
$xetable.connect(_this);
}
if (false) {}
});
GlobalEvent.on(this, 'mousedown', this.handleGlobalMousedownEvent);
GlobalEvent.on(this, 'blur', this.handleGlobalBlurEvent);
},
destroyed: function destroyed() {
GlobalEvent.off(this, 'mousedown');
GlobalEvent.off(this, 'blur');
},
render: function render(h) {
var _ref;
var _e = this._e,
$xegrid = this.$xegrid,
perfect = this.perfect,
loading = this.loading,
importOpts = this.importOpts,
exportOpts = this.exportOpts,
refresh = this.refresh,
refreshOpts = this.refreshOpts,
zoom = this.zoom,
zoomOpts = this.zoomOpts,
custom = this.custom,
vSize = this.vSize,
className = this.className;
return h('div', {
class: ['vxe-toolbar', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({
$toolbar: this
}) : className : '', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--perfect', perfect), _defineProperty(_ref, 'is--loading', loading), _ref)]
}, [h('div', {
class: 'vxe-buttons--wrapper'
}, renderBtns(h, this)), h('div', {
class: 'vxe-tools--wrapper'
}, renderRightTools(h, this)), h('div', {
class: 'vxe-tools--operate'
}, [this.import ? h('vxe-button', {
props: {
circle: true,
icon: importOpts.icon || src_conf.icon.TOOLBAR_TOOLS_IMPORT
},
attrs: {
title: src_conf.i18n('vxe.toolbar.import')
},
on: {
click: this.importEvent
}
}) : _e(), this.export ? h('vxe-button', {
props: {
circle: true,
icon: exportOpts.icon || src_conf.icon.TOOLBAR_TOOLS_EXPORT
},
attrs: {
title: src_conf.i18n('vxe.toolbar.export')
},
on: {
click: this.exportEvent
}
}) : _e(), this.print ? h('vxe-button', {
props: {
circle: true,
icon: this.printOpts.icon || src_conf.icon.TOOLBAR_TOOLS_PRINT
},
attrs: {
title: src_conf.i18n('vxe.toolbar.print')
},
on: {
click: this.printEvent
}
}) : _e(), refresh ? h('vxe-button', {
props: {
circle: true,
icon: this.isRefresh ? refreshOpts.iconLoading || src_conf.icon.TOOLBAR_TOOLS_REFRESH_LOADING : refreshOpts.icon || src_conf.icon.TOOLBAR_TOOLS_REFRESH
},
attrs: {
title: src_conf.i18n('vxe.toolbar.refresh')
},
on: {
click: this.refreshEvent
}
}) : _e(), zoom && $xegrid ? h('vxe-button', {
props: {
circle: true,
icon: $xegrid.isMaximized() ? zoomOpts.iconOut || src_conf.icon.TOOLBAR_TOOLS_MINIMIZE : zoomOpts.iconIn || src_conf.icon.TOOLBAR_TOOLS_FULLSCREEN
},
attrs: {
title: src_conf.i18n("vxe.toolbar.zoom".concat($xegrid.isMaximized() ? 'Out' : 'In'))
},
on: {
click: $xegrid.triggerZoomEvent
}
}) : _e(), custom ? renderCustoms(h, this) : _e()])]);
},
methods: {
syncUpdate: function syncUpdate(params) {
var collectColumn = params.collectColumn,
$table = params.$table;
this.$xetable = $table;
this.columns = collectColumn;
},
fintTable: function fintTable() {
var $children = this.$parent.$children;
var selfIndex = $children.indexOf(this);
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.find($children, function (comp, index) {
return comp && comp.loadData && index > selfIndex && comp.$vnode.componentOptions.tag === 'vxe-table';
});
},
checkTable: function checkTable() {
if (this.$xetable) {
return true;
}
errLog('vxe.error.barUnableLink');
},
showCustom: function showCustom() {
this.customStore.visible = true;
this.checkCustomStatus();
},
closeCustom: function closeCustom() {
var custom = this.custom,
customStore = this.customStore;
if (customStore.visible) {
customStore.visible = false;
if (custom && !customStore.immediate) {
this.handleTableCustom();
}
}
},
confirmCustomEvent: function confirmCustomEvent(evnt) {
this.closeCustom();
this.emitCustomEvent('confirm', evnt);
},
customOpenEvent: function customOpenEvent(evnt) {
var customStore = this.customStore;
if (this.checkTable()) {
if (!customStore.visible) {
this.showCustom();
this.emitCustomEvent('open', evnt);
}
}
},
customColseEvent: function customColseEvent(evnt) {
var customStore = this.customStore;
if (customStore.visible) {
this.closeCustom();
this.emitCustomEvent('close', evnt);
}
},
resetCustomEvent: function resetCustomEvent(evnt) {
var $xetable = this.$xetable,
columns = this.columns;
var checkMethod = $xetable.customOpts.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);
this.closeCustom();
this.emitCustomEvent('reset', evnt);
},
emitCustomEvent: function emitCustomEvent(type, evnt) {
var $xetable = this.$xetable,
$xegrid = this.$xegrid;
var comp = $xegrid || $xetable;
comp.$emit('custom', {
type: type,
$table: $xetable,
$grid: $xegrid,
$event: evnt
});
},
changeCustomOption: function changeCustomOption(column) {
var isChecked = !column.visible;
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree([column], function (item) {
item.visible = isChecked;
item.halfVisible = false;
});
this.handleOptionCheck(column);
if (this.custom && this.customOpts.immediate) {
this.handleTableCustom();
}
this.checkCustomStatus();
},
handleOptionCheck: function handleOptionCheck(column) {
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(this.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;
});
this.handleOptionCheck(parent);
}
}
},
handleTableCustom: function handleTableCustom() {
var $xetable = this.$xetable;
$xetable.handleCustom();
},
checkCustomStatus: function checkCustomStatus() {
var $xetable = this.$xetable,
columns = this.columns;
var checkMethod = $xetable.customOpts.checkMethod;
this.customStore.isAll = columns.every(function (column) {
return (checkMethod ? !checkMethod({
column: column
}) : false) || column.visible;
});
this.customStore.isIndeterminate = !this.customStore.isAll && columns.some(function (column) {
return (!checkMethod || checkMethod({
column: column
})) && (column.visible || column.halfVisible);
});
},
allCustomEvent: function allCustomEvent() {
var $xetable = this.$xetable,
columns = this.columns,
customStore = this.customStore;
var checkMethod = $xetable.customOpts.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;
this.checkCustomStatus();
},
handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {
if (!dom.getEventTargetNode(evnt, this.$refs.customWrapper).flag) {
this.customColseEvent(evnt);
}
},
handleGlobalBlurEvent: function handleGlobalBlurEvent(evnt) {
this.customColseEvent(evnt);
},
handleClickSettingEvent: function handleClickSettingEvent(evnt) {
if (this.customStore.visible) {
this.customColseEvent(evnt);
} else {
this.customOpenEvent(evnt);
}
},
handleMouseenterSettingEvent: function handleMouseenterSettingEvent(evnt) {
this.customStore.activeBtn = true;
this.customOpenEvent(evnt);
},
handleMouseleaveSettingEvent: function handleMouseleaveSettingEvent(evnt) {
var _this2 = this;
var customStore = this.customStore;
customStore.activeBtn = false;
setTimeout(function () {
if (!customStore.activeBtn && !customStore.activeWrapper) {
_this2.customColseEvent(evnt);
}
}, 300);
},
handleWrapperMouseenterEvent: function handleWrapperMouseenterEvent(evnt) {
this.customStore.activeWrapper = true;
this.customOpenEvent(evnt);
},
handleWrapperMouseleaveEvent: function handleWrapperMouseleaveEvent(evnt) {
var _this3 = this;
var customStore = this.customStore;
customStore.activeWrapper = false;
setTimeout(function () {
if (!customStore.activeBtn && !customStore.activeWrapper) {
_this3.customColseEvent(evnt);
}
}, 300);
},
refreshEvent: function refreshEvent() {
var _this4 = this;
var $xegrid = this.$xegrid,
refreshOpts = this.refreshOpts,
isRefresh = this.isRefresh;
if (!isRefresh) {
var queryMethod = refreshOpts.queryMethod || refreshOpts.query;
if (queryMethod) {
this.isRefresh = true;
try {
Promise.resolve(queryMethod({})).catch(function (e) {
return e;
}).then(function () {
_this4.isRefresh = false;
});
} catch (e) {
this.isRefresh = false;
}
} else if ($xegrid) {
this.isRefresh = true;
$xegrid.commitProxy(refreshOpts.code || 'reload').catch(function (e) {
return e;
}).then(function () {
_this4.isRefresh = false;
});
}
}
},
btnEvent: function btnEvent(evnt, item) {
var $xegrid = this.$xegrid,
$xetable = this.$xetable;
var code = item.code;
if (code) {
if ($xegrid) {
$xegrid.triggerToolbarBtnEvent(item, evnt);
} else {
var commandMethod = v_x_e_table.commands.get(code);
var params = {
code: code,
button: item,
$xegrid: $xegrid,
$table: $xetable,
$event: evnt
};
if (commandMethod) {
commandMethod.call(this, params, evnt);
}
this.$emit('button-click', params);
}
}
},
tolEvent: function tolEvent(evnt, item) {
var $xegrid = this.$xegrid,
$xetable = this.$xetable;
var code = item.code;
if (code) {
if ($xegrid) {
$xegrid.triggerToolbarTolEvent(item, evnt);
} else {
var commandMethod = v_x_e_table.commands.get(code);
var params = {
code: code,
tool: item,
$xegrid: $xegrid,
$table: $xetable,
$event: evnt
};
if (commandMethod) {
commandMethod.call(this, params, evnt);
}
this.$emit('tool-click', params);
}
}
},
importEvent: function importEvent() {
if (this.checkTable()) {
this.$xetable.openImport(this.importOpts);
}
},
exportEvent: function exportEvent() {
if (this.checkTable()) {
this.$xetable.openExport(this.exportOpts);
}
},
printEvent: function printEvent() {
if (this.checkTable()) {
this.$xetable.openPrint(this.printOpts);
}
}
}
});
// CONCATENATED MODULE: ./packages/toolbar/index.js
var Toolbar = Object.assign(src_toolbar, {
install: function install(Vue) {
Vue.component(src_toolbar.name, src_toolbar);
}
});
/* harmony default export */ var packages_toolbar = (Toolbar);
// CONCATENATED MODULE: ./packages/pager/src/pager.js
/* harmony default export */ var pager = ({
name: 'VxePager',
mixins: [size],
props: {
size: {
type: String,
default: function _default() {
return src_conf.pager.size || src_conf.size;
}
},
// 自定义布局
layouts: {
type: Array,
default: function _default() {
return src_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 src_conf.pager.pageSize || 10;
}
},
// 总条数
total: {
type: Number,
default: 0
},
// 显示页码按钮的数量
pagerCount: {
type: Number,
default: function _default() {
return src_conf.pager.pagerCount || 7;
}
},
// 每页大小选项列表
pageSizes: {
type: Array,
default: function _default() {
return src_conf.pager.pageSizes || [10, 15, 20, 50, 100];
}
},
// 列对其方式
align: {
type: String,
default: function _default() {
return src_conf.pager.align;
}
},
// 带边框
border: {
type: Boolean,
default: function _default() {
return src_conf.pager.border;
}
},
// 带背景颜色
background: {
type: Boolean,
default: function _default() {
return src_conf.pager.background;
}
},
// 配套的样式
perfect: {
type: Boolean,
default: function _default() {
return src_conf.pager.perfect;
}
},
// 当只有一页时隐藏
autoHidden: {
type: Boolean,
default: function _default() {
return src_conf.pager.autoHidden;
}
},
transfer: {
type: Boolean,
default: function _default() {
return src_conf.pager.transfer;
}
},
className: [String, Function],
// 自定义图标
iconPrevPage: String,
iconJumpPrev: String,
iconJumpNext: String,
iconNextPage: String,
iconJumpMore: String
},
inject: {
$xegrid: {
default: null
}
},
data: function data() {
return {
inpCurrPage: this.currentPage
};
},
computed: {
isSizes: function isSizes() {
return this.layouts.some(function (name) {
return name === 'Sizes';
});
},
pageCount: function pageCount() {
return this.getPageCount(this.total, this.pageSize);
},
numList: function numList() {
var len = this.pageCount > this.pagerCount ? this.pagerCount - 2 : this.pagerCount;
var rest = [];
for (var index = 0; index < len; index++) {
rest.push(index);
}
return rest;
},
offsetNumber: function offsetNumber() {
return Math.floor((this.pagerCount - 2) / 2);
},
sizeList: function sizeList() {
return this.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(src_conf.i18n('vxe.pager.pagesize', [item]))
};
}
return _objectSpread2({
value: '',
label: ''
}, item);
});
}
},
watch: {
currentPage: function currentPage(value) {
this.inpCurrPage = value;
}
},
render: function render(h) {
var _this = this,
_ref;
var $scopedSlots = this.$scopedSlots,
$xegrid = this.$xegrid,
vSize = this.vSize,
align = this.align,
className = this.className;
var childNodes = [];
if ($scopedSlots.left) {
childNodes.push(h('span', {
class: 'vxe-pager--left-wrapper'
}, $scopedSlots.left.call(this, {
$grid: $xegrid
})));
}
this.layouts.forEach(function (name) {
childNodes.push(_this["render".concat(name)](h));
});
if ($scopedSlots.right) {
childNodes.push(h('span', {
class: 'vxe-pager--right-wrapper'
}, $scopedSlots.right.call(this, {
$grid: $xegrid
})));
}
return h('div', {
class: ['vxe-pager', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({
$pager: this
}) : className : '', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, "align--".concat(align), align), _defineProperty(_ref, 'is--border', this.border), _defineProperty(_ref, 'is--background', this.background), _defineProperty(_ref, 'is--perfect', this.perfect), _defineProperty(_ref, 'is--hidden', this.autoHidden && this.pageCount === 1), _defineProperty(_ref, 'is--loading', this.loading), _ref)]
}, [h('div', {
class: 'vxe-pager--wrapper'
}, childNodes)]);
},
methods: {
// 上一页
renderPrevPage: function renderPrevPage(h) {
return h('button', {
class: ['vxe-pager--prev-btn', {
'is--disabled': this.currentPage <= 1
}],
attrs: {
type: 'button',
title: src_conf.i18n('vxe.pager.prevPage')
},
on: {
click: this.prevPage
}
}, [h('i', {
class: ['vxe-pager--btn-icon', this.iconPrevPage || src_conf.icon.PAGER_PREV_PAGE]
})]);
},
// 向上翻页
renderPrevJump: function renderPrevJump(h, tagName) {
return h(tagName || 'button', {
class: ['vxe-pager--jump-prev', {
'is--fixed': !tagName,
'is--disabled': this.currentPage <= 1
}],
attrs: {
type: 'button',
title: src_conf.i18n('vxe.pager.prevJump')
},
on: {
click: this.prevJump
}
}, [tagName ? h('i', {
class: ['vxe-pager--jump-more-icon', this.iconJumpMore || src_conf.icon.PAGER_JUMP_MORE]
}) : null, h('i', {
class: ['vxe-pager--jump-icon', this.iconJumpPrev || src_conf.icon.PAGER_JUMP_PREV]
})]);
},
// number
renderNumber: function renderNumber(h) {
return h('span', {
class: 'vxe-pager--btn-wrapper'
}, this.renderPageBtn(h));
},
// jumpNumber
renderJumpNumber: function renderJumpNumber(h) {
return h('span', {
class: 'vxe-pager--btn-wrapper'
}, this.renderPageBtn(h, true));
},
// 向下翻页
renderNextJump: function renderNextJump(h, tagName) {
return h(tagName || 'button', {
class: ['vxe-pager--jump-next', {
'is--fixed': !tagName,
'is--disabled': this.currentPage >= this.pageCount
}],
attrs: {
type: 'button',
title: src_conf.i18n('vxe.pager.nextJump')
},
on: {
click: this.nextJump
}
}, [tagName ? h('i', {
class: ['vxe-pager--jump-more-icon', this.iconJumpMore || src_conf.icon.PAGER_JUMP_MORE]
}) : null, h('i', {
class: ['vxe-pager--jump-icon', this.iconJumpNext || src_conf.icon.PAGER_JUMP_NEXT]
})]);
},
// 下一页
renderNextPage: function renderNextPage(h) {
return h('button', {
class: ['vxe-pager--next-btn', {
'is--disabled': this.currentPage >= this.pageCount
}],
attrs: {
type: 'button',
title: src_conf.i18n('vxe.pager.nextPage')
},
on: {
click: this.nextPage
}
}, [h('i', {
class: ['vxe-pager--btn-icon', this.iconNextPage || src_conf.icon.PAGER_NEXT_PAGE]
})]);
},
// sizes
renderSizes: function renderSizes(h) {
var _this2 = this;
return h('vxe-select', {
class: 'vxe-pager--sizes',
props: {
value: this.pageSize,
placement: 'top',
transfer: this.transfer,
options: this.sizeList
},
on: {
change: function change(_ref2) {
var value = _ref2.value;
_this2.pageSizeEvent(value);
}
}
});
},
// FullJump
renderFullJump: function renderFullJump(h) {
return this.renderJump(h, true);
},
// Jump
renderJump: function renderJump(h, isFull) {
return h('span', {
class: 'vxe-pager--jump'
}, [isFull ? h('span', {
class: 'vxe-pager--goto-text'
}, src_conf.i18n('vxe.pager.goto')) : null, h('input', {
class: 'vxe-pager--goto',
domProps: {
value: this.inpCurrPage
},
attrs: {
type: 'text',
autocomplete: 'off'
},
on: {
input: this.jumpInputEvent,
keydown: this.jumpKeydownEvent,
blur: this.triggerJumpEvent
}
}), isFull ? h('span', {
class: 'vxe-pager--classifier-text'
}, src_conf.i18n('vxe.pager.pageClassifier')) : null]);
},
// PageCount
renderPageCount: function renderPageCount(h) {
return h('span', {
class: 'vxe-pager--count'
}, [h('span', {
class: 'vxe-pager--separator'
}), h('span', this.pageCount)]);
},
// total
renderTotal: function renderTotal(h) {
return h('span', {
class: 'vxe-pager--total'
}, src_conf.i18n('vxe.pager.total', [this.total]));
},
// number
renderPageBtn: function renderPageBtn(h, showJump) {
var _this3 = this;
var numList = this.numList,
currentPage = this.currentPage,
pageCount = this.pageCount,
pagerCount = this.pagerCount,
offsetNumber = this.offsetNumber;
var nums = [];
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(h('button', {
class: 'vxe-pager--num-btn',
attrs: {
type: 'button'
},
on: {
click: function click() {
return _this3.jumpPage(1);
}
}
}, 1), this.renderPrevJump(h, 'span'));
}
numList.forEach(function (item, index) {
var number = startNumber + index;
if (number <= pageCount) {
nums.push(h('button', {
class: ['vxe-pager--num-btn', {
'is--active': currentPage === number
}],
attrs: {
type: 'button'
},
on: {
click: function click() {
return _this3.jumpPage(number);
}
},
key: number
}, number));
}
});
if (showJump && isGt) {
nums.push(this.renderNextJump(h, 'button'), h('button', {
class: 'vxe-pager--num-btn',
attrs: {
type: 'button'
},
on: {
click: function click() {
return _this3.jumpPage(pageCount);
}
}
}, pageCount));
}
return nums;
},
getPageCount: function getPageCount(total, size) {
return Math.max(Math.ceil(total / size), 1);
},
prevPage: function prevPage() {
var currentPage = this.currentPage,
pageCount = this.pageCount;
if (currentPage > 1) {
this.jumpPage(Math.min(pageCount, Math.max(currentPage - 1, 1)));
}
},
nextPage: function nextPage() {
var currentPage = this.currentPage,
pageCount = this.pageCount;
if (currentPage < pageCount) {
this.jumpPage(Math.min(pageCount, currentPage + 1));
}
},
prevJump: function prevJump() {
this.jumpPage(Math.max(this.currentPage - this.numList.length, 1));
},
nextJump: function nextJump() {
this.jumpPage(Math.min(this.currentPage + this.numList.length, this.pageCount));
},
jumpPage: function jumpPage(currentPage) {
if (currentPage !== this.currentPage) {
this.$emit('update:currentPage', currentPage);
this.$emit('page-change', {
type: 'current',
pageSize: this.pageSize,
currentPage: currentPage
});
}
},
pageSizeEvent: function pageSizeEvent(pageSize) {
this.changePageSize(pageSize);
},
changePageSize: function changePageSize(pageSize) {
if (pageSize !== this.pageSize) {
this.$emit('update:pageSize', pageSize);
this.$emit('page-change', {
type: 'size',
pageSize: pageSize,
currentPage: Math.min(this.currentPage, this.getPageCount(this.total, pageSize))
});
}
},
jumpInputEvent: function jumpInputEvent(evnt) {
this.inpCurrPage = evnt.target.value;
},
jumpKeydownEvent: function jumpKeydownEvent(evnt) {
if (evnt.keyCode === 13) {
this.triggerJumpEvent(evnt);
} else if (evnt.keyCode === 38) {
evnt.preventDefault();
this.nextPage();
} else if (evnt.keyCode === 40) {
evnt.preventDefault();
this.prevPage();
}
},
triggerJumpEvent: function triggerJumpEvent(evnt) {
var value = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(evnt.target.value);
var current = value <= 0 ? 1 : value >= this.pageCount ? this.pageCount : value;
evnt.target.value = current;
this.jumpPage(current);
}
}
});
// CONCATENATED MODULE: ./packages/pager/index.js
var Pager = Object.assign(pager, {
install: function install(Vue) {
Vue.component(pager.name, pager);
}
});
/* harmony default export */ var packages_pager = (Pager);
// CONCATENATED MODULE: ./packages/checkbox/index.js
var Checkbox = Object.assign(src_checkbox, {
install: function install(Vue) {
Vue.component(src_checkbox.name, src_checkbox);
}
});
/* harmony default export */ var packages_checkbox = (Checkbox);
// CONCATENATED MODULE: ./packages/checkbox/src/group.js
/* harmony default export */ var checkbox_src_group = ({
name: 'VxeCheckboxGroup',
props: {
value: Array,
disabled: Boolean,
max: [String, Number],
size: {
type: String,
default: function _default() {
return src_conf.checkbox.size || src_conf.size;
}
}
},
inject: {
$xeform: {
default: null
},
$xeformiteminfo: {
default: null
}
},
provide: function provide() {
return {
$xecheckboxgroup: this
};
},
computed: {
vSize: function vSize() {
return this.size || this.$parent.size || this.$parent.vSize;
},
isMaximize: function isMaximize() {
var value = this.value,
max = this.max;
if (max) {
return value.length >= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(max);
}
return false;
}
},
render: function render(h) {
var $scopedSlots = this.$scopedSlots;
return h('div', {
class: 'vxe-checkbox-group'
}, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : []);
},
methods: {
handleChecked: function handleChecked(params, evnt) {
var checked = params.checked,
label = params.label;
var checklist = this.value || [];
var checkIndex = checklist.indexOf(label);
if (checked) {
if (checkIndex === -1) {
checklist.push(label);
}
} else {
checklist.splice(checkIndex, 1);
}
this.$emit('input', checklist);
this.$emit('change', Object.assign({
checklist: checklist
}, params)); // 自动更新校验状态
if (this.$xeform && this.$xeformiteminfo) {
this.$xeform.triggerItemEvent(evnt, this.$xeformiteminfo.itemConfig.field, checklist);
}
}
}
});
// CONCATENATED MODULE: ./packages/checkbox-group/index.js
var CheckboxGroup = Object.assign(checkbox_src_group, {
install: function install(Vue) {
Vue.component(checkbox_src_group.name, checkbox_src_group);
}
});
/* harmony default export */ var checkbox_group = (CheckboxGroup);
// CONCATENATED MODULE: ./packages/radio/index.js
var Radio = Object.assign(src_radio, {
install: function install(Vue) {
Vue.component(src_radio.name, src_radio);
}
});
/* harmony default export */ var packages_radio = (Radio);
// CONCATENATED MODULE: ./packages/radio/src/group.js
/* harmony default export */ var radio_src_group = ({
name: 'VxeRadioGroup',
props: {
value: [String, Number, Boolean],
disabled: Boolean,
strict: {
type: Boolean,
default: function _default() {
return src_conf.radioGroup.strict;
}
},
size: {
type: String,
default: function _default() {
return src_conf.radioGroup.size || src_conf.size;
}
}
},
inject: {
$xeform: {
default: null
},
$xeformiteminfo: {
default: null
}
},
provide: function provide() {
return {
$xeradiogroup: this
};
},
computed: {
vSize: function vSize() {
return this.size || this.$parent.size || this.$parent.vSize;
}
},
data: function data() {
return {
name: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId('xegroup_')
};
},
render: function render(h) {
var $scopedSlots = this.$scopedSlots;
return h('div', {
class: 'vxe-radio-group'
}, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : []);
},
methods: {
handleChecked: function handleChecked(params, evnt) {
this.$emit('input', params.label);
this.$emit('change', params); // 自动更新校验状态
if (this.$xeform && this.$xeformiteminfo) {
this.$xeform.triggerItemEvent(evnt, this.$xeformiteminfo.itemConfig.field, params.label);
}
}
}
});
// CONCATENATED MODULE: ./packages/radio-group/index.js
var RadioGroup = Object.assign(radio_src_group, {
install: function install(Vue) {
Vue.component(radio_src_group.name, radio_src_group);
}
});
/* harmony default export */ var radio_group = (RadioGroup);
// CONCATENATED MODULE: ./packages/radio/src/button.js
/* harmony default export */ var src_button = ({
name: 'VxeRadioButton',
props: {
value: [String, Number, Boolean],
label: [String, Number, Boolean],
title: [String, Number],
content: [String, Number],
disabled: Boolean,
strict: {
type: Boolean,
default: function _default() {
return src_conf.radioButton.strict;
}
},
size: {
type: String,
default: function _default() {
return src_conf.radioButton.size || src_conf.size;
}
}
},
inject: {
$xeradiogroup: {
default: null
},
$xeform: {
default: null
},
$xeformiteminfo: {
default: null
}
},
computed: {
vSize: function vSize() {
return this.size || this.$parent.size || this.$parent.vSize;
},
isDisabled: function isDisabled() {
var $xeradiogroup = this.$xeradiogroup;
return this.disabled || $xeradiogroup && $xeradiogroup.disabled;
},
isStrict: function isStrict() {
var $xeradiogroup = this.$xeradiogroup;
return $xeradiogroup ? $xeradiogroup.strict : this.strict;
}
},
render: function render(h) {
var _ref;
var $scopedSlots = this.$scopedSlots,
$xeradiogroup = this.$xeradiogroup,
isDisabled = this.isDisabled,
title = this.title,
vSize = this.vSize,
value = this.value,
label = this.label,
content = this.content;
var attrs = {};
if (title) {
attrs.title = title;
}
return h('label', {
class: ['vxe-radio', 'vxe-radio-button', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--disabled', isDisabled), _ref)],
attrs: attrs
}, [h('input', {
class: 'vxe-radio--input',
attrs: {
type: 'radio',
name: $xeradiogroup ? $xeradiogroup.name : null,
disabled: isDisabled
},
domProps: {
checked: $xeradiogroup ? $xeradiogroup.value === label : value === label
},
on: {
change: this.changeEvent,
click: this.clickEvent
}
}), h('span', {
class: 'vxe-radio--label'
}, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [getFuncText(content)])]);
},
methods: {
handleValue: function handleValue(label, evnt) {
var $xeradiogroup = this.$xeradiogroup;
var params = {
label: label,
$event: evnt
};
if ($xeradiogroup) {
$xeradiogroup.handleChecked(params, evnt);
} else {
this.$emit('input', label);
this.$emit('change', params); // 自动更新校验状态
if (this.$xeform && this.$xeformiteminfo) {
this.$xeform.triggerItemEvent(evnt, this.$xeformiteminfo.itemConfig.field, label);
}
}
},
changeEvent: function changeEvent(evnt) {
var isDisabled = this.isDisabled;
if (!isDisabled) {
this.handleValue(this.label, evnt);
}
},
clickEvent: function clickEvent(evnt) {
var $xeradiogroup = this.$xeradiogroup,
isDisabled = this.isDisabled,
isStrict = this.isStrict;
if (!isDisabled && !isStrict) {
if (this.label === ($xeradiogroup ? $xeradiogroup.value : this.value)) {
this.handleValue(null, evnt);
}
}
}
}
});
// CONCATENATED MODULE: ./packages/radio-button/index.js
var RadioButton = Object.assign(src_button, {
install: function install(Vue) {
Vue.component(src_button.name, src_button);
}
});
/* harmony default export */ var radio_button = (RadioButton);
// CONCATENATED MODULE: ./packages/input/index.js
var Input = Object.assign(input, {
install: function install(Vue) {
Vue.component(input.name, input);
}
});
/* harmony default export */ var packages_input = (Input);
// CONCATENATED MODULE: ./packages/textarea/src/textarea.js
var autoTxtElem;
/* harmony default export */ var src_textarea = ({
name: 'VxeTextarea',
mixins: [size],
model: {
prop: 'value',
event: 'modelValue'
},
props: {
value: [String, Number],
immediate: {
type: Boolean,
default: true
},
name: String,
readonly: Boolean,
disabled: Boolean,
placeholder: String,
maxlength: [String, Number],
rows: {
type: [String, Number],
default: 2
},
cols: {
type: [String, Number],
default: null
},
showWordCount: Boolean,
countMethod: Function,
autosize: [Boolean, Object],
form: String,
resize: {
type: String,
default: function _default() {
return src_conf.textarea.resize;
}
},
className: String,
size: {
type: String,
default: function _default() {
return src_conf.textarea.size || src_conf.size;
}
}
},
inject: {
$xeform: {
default: null
},
$xeformiteminfo: {
default: null
}
},
data: function data() {
return {
inputValue: this.value
};
},
computed: {
inputCount: function inputCount() {
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.getSize(this.inputValue);
},
isCountError: function isCountError() {
return this.maxlength && this.inputCount > external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(this.maxlength);
},
defaultEvents: function defaultEvents() {
var _this = this;
var evnts = {};
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.each(this.$listeners, function (cb, name) {
if (['input', 'change', 'blur'].indexOf(name) === -1) {
evnts[name] = _this.triggerEvent;
}
});
evnts.input = this.inputEvent;
evnts.change = this.changeEvent;
evnts.blur = this.blurEvent;
return evnts;
},
sizeOpts: function sizeOpts() {
return Object.assign({
minRows: 1,
maxRows: 10
}, src_conf.textarea.autosize, this.autosize);
}
},
watch: {
value: function value(val) {
this.inputValue = val;
this.updateAutoTxt();
}
},
mounted: function mounted() {
var autosize = this.autosize;
if (autosize) {
this.updateAutoTxt();
this.handleResize();
}
},
render: function render(h) {
var _ref;
var className = this.className,
defaultEvents = this.defaultEvents,
inputValue = this.inputValue,
vSize = this.vSize,
name = this.name,
form = this.form,
resize = this.resize,
placeholder = this.placeholder,
readonly = this.readonly,
disabled = this.disabled,
maxlength = this.maxlength,
autosize = this.autosize,
showWordCount = this.showWordCount,
countMethod = this.countMethod,
rows = this.rows,
cols = this.cols;
var attrs = {
name: name,
form: form,
placeholder: placeholder,
maxlength: maxlength,
readonly: readonly,
disabled: disabled,
rows: rows,
cols: cols
};
if (placeholder) {
attrs.placeholder = getFuncText(placeholder);
}
return h('div', {
class: ['vxe-textarea', className, (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--autosize', autosize), _defineProperty(_ref, 'is--disabled', disabled), _defineProperty(_ref, 'def--rows', !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(rows)), _defineProperty(_ref, 'def--cols', !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(cols)), _ref)]
}, [h('textarea', {
ref: 'textarea',
class: 'vxe-textarea--inner',
domProps: {
value: inputValue
},
attrs: attrs,
style: resize ? {
resize: resize
} : null,
on: defaultEvents
}), showWordCount ? h('span', {
class: ['vxe-textarea--count', {
'is--error': this.isCountError
}]
}, countMethod ? "".concat(countMethod({
value: inputValue
})) : "".concat(this.inputCount).concat(maxlength ? "/".concat(maxlength) : '')) : null]);
},
methods: {
focus: function focus() {
this.$refs.textarea.focus();
return this.$nextTick();
},
blur: function blur() {
this.$refs.textarea.blur();
return this.$nextTick();
},
triggerEvent: function triggerEvent(evnt) {
var inputValue = this.inputValue;
this.$emit(evnt.type, {
value: inputValue,
$event: evnt
});
},
emitUpdate: function emitUpdate(value, evnt) {
this.inputValue = value;
this.$emit('modelValue', value);
if (this.value !== value) {
this.$emit('change', {
value: value,
$event: evnt
}); // 自动更新校验状态
if (this.$xeform && this.$xeformiteminfo) {
this.$xeform.triggerItemEvent(evnt, this.$xeformiteminfo.itemConfig.field, value);
}
}
},
inputEvent: function inputEvent(evnt) {
var immediate = this.immediate;
var value = evnt.target.value;
this.inputValue = value;
if (immediate) {
this.emitUpdate(value, evnt);
}
this.handleResize();
this.triggerEvent(evnt);
},
changeEvent: function changeEvent(evnt) {
var immediate = this.immediate;
if (immediate) {
this.triggerEvent(evnt);
} else {
this.emitUpdate(this.inputValue, evnt);
}
},
blurEvent: function blurEvent(evnt) {
var inputValue = this.inputValue,
immediate = this.immediate;
if (!immediate) {
this.emitUpdate(inputValue, evnt);
}
this.$emit('blur', {
value: inputValue,
$event: evnt
});
},
updateAutoTxt: function updateAutoTxt() {
var $refs = this.$refs,
inputValue = this.inputValue,
size = this.size,
autosize = this.autosize;
if (autosize) {
if (!autoTxtElem) {
autoTxtElem = document.createElement('div');
}
if (!autoTxtElem.parentNode) {
document.body.appendChild(autoTxtElem);
}
var textElem = $refs.textarea;
var textStyle = getComputedStyle(textElem);
autoTxtElem.className = ['vxe-textarea--autosize', size ? "size--".concat(size) : ''].join(' ');
autoTxtElem.style.width = "".concat(textElem.clientWidth, "px");
autoTxtElem.style.padding = textStyle.padding;
autoTxtElem.innerHTML = ('' + (inputValue || ' ')).replace(/\n$/, '\n ');
}
},
handleResize: function handleResize() {
var _this2 = this;
if (this.autosize) {
this.$nextTick(function () {
var $refs = _this2.$refs,
sizeOpts = _this2.sizeOpts;
var minRows = sizeOpts.minRows,
maxRows = sizeOpts.maxRows;
var textElem = $refs.textarea;
var sizeHeight = autoTxtElem.clientHeight;
var textStyle = getComputedStyle(textElem);
var lineHeight = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(textStyle.lineHeight);
var paddingTop = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(textStyle.paddingTop);
var paddingBottom = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(textStyle.paddingBottom);
var borderTopWidth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(textStyle.borderTopWidth);
var borderBottomWidth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(textStyle.borderBottomWidth);
var intervalHeight = paddingTop + paddingBottom + borderTopWidth + borderBottomWidth;
var rowNum = (sizeHeight - intervalHeight) / lineHeight;
var textRows = rowNum && /[0-9]/.test(rowNum) ? rowNum : Math.floor(rowNum) + 1;
var vaildRows = textRows;
if (textRows < minRows) {
vaildRows = minRows;
} else if (textRows > maxRows) {
vaildRows = maxRows;
}
textElem.style.height = "".concat(vaildRows * lineHeight + intervalHeight, "px");
});
}
}
}
});
// CONCATENATED MODULE: ./packages/textarea/index.js
var Textarea = Object.assign(src_textarea, {
install: function install(Vue) {
Vue.component(src_textarea.name, src_textarea);
}
});
/* harmony default export */ var packages_textarea = (Textarea);
// CONCATENATED MODULE: ./packages/button/src/button.js
/* harmony default export */ var button_src_button = ({
name: 'VxeButton',
mixins: [size],
props: {
type: String,
size: {
type: String,
default: function _default() {
return src_conf.button.size || src_conf.size;
}
},
name: [String, Number],
content: String,
placement: String,
status: String,
icon: String,
round: Boolean,
circle: Boolean,
disabled: Boolean,
loading: Boolean,
destroyOnClose: Boolean,
className: String,
transfer: {
type: Boolean,
default: function _default() {
return src_conf.button.transfer;
}
}
},
data: function data() {
return {
inited: false,
showPanel: false,
animatVisible: false,
panelIndex: 0,
panelStyle: null,
panelPlacement: null
};
},
computed: {
isText: function isText() {
return this.type === 'text';
},
isFormBtn: function isFormBtn() {
return ['submit', 'reset', 'button'].indexOf(this.type) > -1;
},
btnType: function btnType() {
return this.isText ? this.type : 'button';
}
},
created: function created() {
GlobalEvent.on(this, 'mousewheel', this.handleGlobalMousewheelEvent);
},
beforeDestroy: function beforeDestroy() {
var panelElem = this.$refs.panel;
if (panelElem && panelElem.parentNode) {
panelElem.parentNode.removeChild(panelElem);
}
},
destroyed: function destroyed() {
GlobalEvent.off(this, 'mousewheel');
},
render: function render(h) {
var _ref,
_ref2,
_this = this,
_ref3,
_ref4;
var $scopedSlots = this.$scopedSlots,
$listeners = this.$listeners,
className = this.className,
inited = this.inited,
type = this.type,
destroyOnClose = this.destroyOnClose,
isFormBtn = this.isFormBtn,
status = this.status,
btnType = this.btnType,
vSize = this.vSize,
name = this.name,
disabled = this.disabled,
loading = this.loading,
showPanel = this.showPanel,
animatVisible = this.animatVisible,
panelPlacement = this.panelPlacement;
var downsSlot = $scopedSlots.dropdowns;
return downsSlot ? h('div', {
class: ['vxe-button--dropdown', className, (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--active', showPanel), _ref)]
}, [h('button', {
ref: 'xBtn',
class: ['vxe-button', "type--".concat(btnType), (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, "theme--".concat(status), status), _defineProperty(_ref2, 'is--round', this.round), _defineProperty(_ref2, 'is--circle', this.circle), _defineProperty(_ref2, 'is--disabled', disabled || loading), _defineProperty(_ref2, 'is--loading', loading), _ref2)],
attrs: {
name: name,
type: isFormBtn ? type : 'button',
disabled: disabled || loading
},
on: Object.assign({
mouseenter: this.mouseenterTargetEvent,
mouseleave: this.mouseleaveEvent
}, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.objectMap($listeners, function (cb, type) {
return function (evnt) {
return _this.$emit(type, {
$event: evnt
});
};
}))
}, this.renderContent(h).concat([h('i', {
class: "vxe-button--dropdown-arrow ".concat(src_conf.icon.BUTTON_DROPDOWN)
})])), h('div', {
ref: 'panel',
class: ['vxe-button--dropdown-panel', (_ref3 = {}, _defineProperty(_ref3, "size--".concat(vSize), vSize), _defineProperty(_ref3, 'animat--leave', animatVisible), _defineProperty(_ref3, 'animat--enter', showPanel), _ref3)],
attrs: {
placement: panelPlacement
},
style: this.panelStyle
}, inited ? [h('div', {
class: 'vxe-button--dropdown-wrapper',
on: {
mousedown: this.mousedownDropdownEvent,
click: this.clickDropdownEvent,
mouseenter: this.mouseenterEvent,
mouseleave: this.mouseleaveEvent
}
}, destroyOnClose && !showPanel ? [] : downsSlot.call(this, {}, h))] : null)]) : h('button', {
ref: 'xBtn',
class: ['vxe-button', "type--".concat(btnType), className, (_ref4 = {}, _defineProperty(_ref4, "size--".concat(vSize), vSize), _defineProperty(_ref4, "theme--".concat(status), status), _defineProperty(_ref4, 'is--round', this.round), _defineProperty(_ref4, 'is--circle', this.circle), _defineProperty(_ref4, 'is--disabled', disabled || loading), _defineProperty(_ref4, 'is--loading', loading), _ref4)],
attrs: {
name: name,
type: isFormBtn ? type : 'button',
disabled: disabled || loading
},
on: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.objectMap($listeners, function (cb, type) {
return function (evnt) {
return _this.$emit(type, {
$event: evnt
});
};
})
}, this.renderContent(h));
},
methods: {
renderContent: function renderContent(h) {
var $scopedSlots = this.$scopedSlots,
content = this.content,
icon = this.icon,
loading = this.loading;
var contents = [];
if (loading) {
contents.push(h('i', {
class: ['vxe-button--loading-icon', src_conf.icon.BUTTON_LOADING]
}));
} else if ($scopedSlots.icon) {
contents.push(h('span', {
class: 'vxe-button--custom-icon'
}, $scopedSlots.icon.call(this, {})));
} else if (icon) {
contents.push(h('i', {
class: ['vxe-button--icon', icon]
}));
}
if ($scopedSlots.default) {
contents.push(h('span', {
class: 'vxe-button--content'
}, $scopedSlots.default.call(this, {})));
} else if (content) {
contents.push(h('span', {
class: 'vxe-button--content'
}, [getFuncText(content)]));
}
return contents;
},
handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {
if (this.showPanel && !dom.getEventTargetNode(evnt, this.$refs.panel).flag) {
this.closePanel();
}
},
updateZindex: function updateZindex() {
if (this.panelIndex < utils.getLastZIndex()) {
this.panelIndex = utils.nextZIndex();
}
},
mousedownDropdownEvent: function mousedownDropdownEvent(evnt) {
var isLeftBtn = evnt.button === 0;
if (isLeftBtn) {
evnt.stopPropagation();
}
},
clickDropdownEvent: function clickDropdownEvent(evnt) {
var _this2 = this;
var dropdownElem = evnt.currentTarget;
var panelElem = this.$refs.panel;
var _DomTools$getEventTar = dom.getEventTargetNode(evnt, dropdownElem, 'vxe-button'),
flag = _DomTools$getEventTar.flag,
targetElem = _DomTools$getEventTar.targetElem;
if (flag) {
if (panelElem) {
panelElem.dataset.active = 'N';
}
this.showPanel = false;
setTimeout(function () {
if (!panelElem || panelElem.dataset.active !== 'Y') {
_this2.animatVisible = false;
}
}, 350);
this.$emit('dropdown-click', {
name: targetElem.getAttribute('name'),
$event: evnt
});
}
},
mouseenterTargetEvent: function mouseenterTargetEvent() {
var _this3 = this;
var panelElem = this.$refs.panel;
panelElem.dataset.active = 'Y';
if (!this.inited) {
this.inited = true;
if (this.transfer) {
document.body.appendChild(panelElem);
}
}
this.showTime = setTimeout(function () {
if (panelElem.dataset.active === 'Y') {
_this3.mouseenterEvent();
} else {
_this3.animatVisible = false;
}
}, 250);
},
mouseenterEvent: function mouseenterEvent() {
var _this4 = this;
var panelElem = this.$refs.panel;
panelElem.dataset.active = 'Y';
this.animatVisible = true;
setTimeout(function () {
if (panelElem.dataset.active === 'Y') {
_this4.showPanel = true;
_this4.updateZindex();
_this4.updatePlacement();
setTimeout(function () {
if (_this4.showPanel) {
_this4.updatePlacement();
}
}, 50);
}
}, 20);
},
mouseleaveEvent: function mouseleaveEvent() {
this.closePanel();
},
closePanel: function closePanel() {
var _this5 = this;
var panelElem = this.$refs.panel;
clearTimeout(this.showTime);
if (panelElem) {
panelElem.dataset.active = 'N';
setTimeout(function () {
if (panelElem.dataset.active !== 'Y') {
_this5.showPanel = false;
setTimeout(function () {
if (panelElem.dataset.active !== 'Y') {
_this5.animatVisible = false;
}
}, 350);
}
}, 100);
} else {
this.animatVisible = false;
this.showPanel = false;
}
},
updatePlacement: function updatePlacement() {
var _this6 = this;
return this.$nextTick().then(function () {
var $refs = _this6.$refs,
transfer = _this6.transfer,
placement = _this6.placement,
panelIndex = _this6.panelIndex;
var targetElem = $refs.xBtn;
var panelElem = $refs.panel;
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 _DomTools$getAbsolute = dom.getAbsolutePos(targetElem),
top = _DomTools$getAbsolute.top,
left = _DomTools$getAbsolute.left,
boundingTop = _DomTools$getAbsolute.boundingTop,
visibleHeight = _DomTools$getAbsolute.visibleHeight,
visibleWidth = _DomTools$getAbsolute.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");
}
}
}
}
_this6.panelStyle = panelStyle;
_this6.panelPlacement = panelPlacement;
return _this6.$nextTick();
}
});
},
focus: function focus() {
this.$el.focus();
return this.$nextTick();
},
blur: function blur() {
this.$el.blur();
return this.$nextTick();
}
}
});
// CONCATENATED MODULE: ./packages/button/index.js
var Button = Object.assign(button_src_button, {
install: function install(Vue) {
Vue.component(button_src_button.name, button_src_button);
}
});
/* harmony default export */ var packages_button = (Button);
// CONCATENATED MODULE: ./packages/modal/index.js
/* eslint-disable @typescript-eslint/no-use-before-define */
var ModalClass = null;
function openModal(opts) {
var options = Object.assign({}, opts, {
transfer: true
});
return new Promise(function (resolve) {
if (options && options.id && allActivedModals.some(function (comp) {
return comp.id === options.id;
})) {
resolve('exist');
} else {
var events = options.events || {};
options.events = Object.assign({}, events, {
hide: function hide(params) {
if (events.hide) {
events.hide.call(this, params);
}
setTimeout(function () {
return $modal.$destroy();
}, $modal.isMsg ? 500 : 100);
resolve(params.type);
}
});
var $modal = new ModalClass({
el: document.createElement('div'),
propsData: options
});
setTimeout(function () {
if ($modal.isDestroy) {
$modal.close();
} else {
$modal.open();
}
});
}
});
}
/**
* 全局关闭动态的活动窗口(只能用于关闭动态的创建的活动窗口)
* 如果传 id 则关闭指定的窗口
* 如果不传则关闭所有窗口
*/
function closeModal(id) {
var modals = arguments.length ? [getModal(id)] : allActivedModals;
modals.forEach(function ($modal) {
if ($modal) {
$modal.isDestroy = true;
$modal.close('close');
}
});
return Promise.resolve();
}
function getModal(id) {
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.find(allActivedModals, function ($modal) {
return $modal.id === id;
});
}
var ModalController = {
get: getModal,
close: closeModal,
open: openModal
};
var modal_modal = ModalController;
var shortcutTypes = ['alert', 'confirm', 'message'];
shortcutTypes.forEach(function (type, index) {
var defOpts = index === 2 ? {
mask: false,
lockView: false,
showHeader: false
} : {
showFooter: true
};
defOpts.type = type;
defOpts.dblclickZoom = false;
if (index === 1) {
defOpts.status = 'question';
}
ModalController[type] = function (content, title, options) {
var opts = {};
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isObject(content)) {
opts = content;
} else {
if (title) {
opts = index === 2 ? {
status: title
} : {
title: title
};
}
opts.content = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(content);
}
return openModal(Object.assign({
type: type
}, defOpts, opts, options));
};
});
var Modal = Object.assign(modal, {
install: function install(Vue) {
v_x_e_table._modal = 1;
Vue.component(modal.name, modal);
ModalClass = Vue.extend(modal);
v_x_e_table.modal = ModalController;
if (!Vue.prototype.$vxe) {
Vue.prototype.$vxe = {
modal: ModalController
};
} else {
Vue.prototype.$vxe.modal = ModalController;
}
}
});
/* harmony default export */ var packages_modal = (Modal);
// CONCATENATED MODULE: ./packages/tooltip/src/tooltip.js
function updateTipStyle(_vm) {
var wrapperElem = _vm.$el,
tipTarget = _vm.tipTarget,
tipStore = _vm.tipStore;
if (tipTarget) {
var _DomTools$getDomNode = dom.getDomNode(),
scrollTop = _DomTools$getDomNode.scrollTop,
scrollLeft = _DomTools$getDomNode.scrollLeft,
visibleWidth = _DomTools$getDomNode.visibleWidth;
var _DomTools$getAbsolute = dom.getAbsolutePos(tipTarget),
top = _DomTools$getAbsolute.top,
left = _DomTools$getAbsolute.left;
var marginSize = 6;
var offsetHeight = wrapperElem.offsetHeight;
var offsetWidth = wrapperElem.offsetWidth;
var tipTop = top - offsetHeight - marginSize;
var tipLeft = Math.max(marginSize, left + Math.floor((tipTarget.offsetWidth - offsetWidth) / 2));
if (tipLeft + offsetWidth + marginSize > scrollLeft + visibleWidth) {
tipLeft = scrollLeft + visibleWidth - offsetWidth - marginSize;
}
if (top - offsetHeight < scrollTop + marginSize) {
tipStore.placement = 'bottom';
tipTop = top + tipTarget.offsetHeight + marginSize;
}
tipStore.style.top = "".concat(tipTop, "px");
tipStore.style.left = "".concat(tipLeft, "px");
tipStore.arrowStyle.left = "".concat(left - tipLeft + tipTarget.offsetWidth / 2, "px");
}
}
function showTip(_vm) {
var $el = _vm.$el,
tipStore = _vm.tipStore,
zIndex = _vm.zIndex;
var parentNode = $el.parentNode;
if (!parentNode) {
document.body.appendChild($el);
}
_vm.updateValue(true);
_vm.updateZindex();
tipStore.placement = 'top';
tipStore.style = {
width: 'auto',
left: 0,
top: 0,
zIndex: zIndex || _vm.tipZindex
};
tipStore.arrowStyle = {
left: '50%'
};
return _vm.updatePlacement();
}
function tooltip_renderContent(h, _vm) {
var $scopedSlots = _vm.$scopedSlots,
useHTML = _vm.useHTML,
tipContent = _vm.tipContent;
if ($scopedSlots.content) {
return h('div', {
key: 1,
class: 'vxe-table--tooltip-content'
}, $scopedSlots.content.call(this, {}));
}
if (useHTML) {
return h('div', {
key: 2,
class: 'vxe-table--tooltip-content',
domProps: {
innerHTML: tipContent
}
});
}
return h('div', {
key: 3,
class: 'vxe-table--tooltip-content'
}, utils.formatText(tipContent));
}
/* harmony default export */ var tooltip = ({
name: 'VxeTooltip',
mixins: [size],
props: {
value: Boolean,
size: {
type: String,
default: function _default() {
return src_conf.tooltip.size || src_conf.size;
}
},
trigger: {
type: String,
default: function _default() {
return src_conf.tooltip.trigger;
}
},
theme: {
type: String,
default: function _default() {
return src_conf.tooltip.theme;
}
},
content: {
type: [String, Number],
default: null
},
useHTML: Boolean,
zIndex: [String, Number],
isArrow: {
type: Boolean,
default: true
},
enterable: Boolean,
enterDelay: {
type: Number,
default: function _default() {
return src_conf.tooltip.enterDelay;
}
},
leaveDelay: {
type: Number,
default: function _default() {
return src_conf.tooltip.leaveDelay;
}
}
},
data: function data() {
return {
isUpdate: false,
visible: false,
tipContent: '',
tipActive: false,
tipTarget: null,
tipZindex: 0,
tipStore: {
style: {},
placement: '',
arrowStyle: null
}
};
},
watch: {
content: function content(value) {
this.tipContent = value;
},
value: function value(_value) {
if (!this.isUpdate) {
this[_value ? 'open' : 'close']();
}
this.isUpdate = false;
}
},
created: function created() {
var _this = this;
this.showDelayTip = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.debounce(function () {
if (_this.tipActive) {
showTip(_this);
}
}, this.enterDelay, {
leading: false,
trailing: true
});
},
mounted: function mounted() {
var $el = this.$el,
trigger = this.trigger,
content = this.content,
value = this.value;
var parentNode = $el.parentNode;
if (parentNode) {
var target;
this.tipContent = content;
this.tipZindex = utils.nextZIndex();
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.arrayEach($el.children, function (elem, index) {
if (index > 1) {
parentNode.insertBefore(elem, $el);
if (!target) {
target = elem;
}
}
});
parentNode.removeChild($el);
this.target = target;
if (target) {
if (trigger === 'hover') {
target.onmouseleave = this.targetMouseleaveEvent;
target.onmouseenter = this.targetMouseenterEvent;
} else if (trigger === 'click') {
target.onclick = this.clickEvent;
}
}
if (value) {
this.open();
}
}
},
beforeDestroy: function beforeDestroy() {
var $el = this.$el,
target = this.target,
trigger = this.trigger;
var parentNode = $el.parentNode;
if (parentNode) {
parentNode.removeChild($el);
}
if (target) {
if (trigger === 'hover') {
target.onmouseenter = null;
target.onmouseleave = null;
} else if (trigger === 'click') {
target.onclick = null;
}
}
},
render: function render(h) {
var _ref;
var $scopedSlots = this.$scopedSlots,
vSize = this.vSize,
theme = this.theme,
tipActive = this.tipActive,
isArrow = this.isArrow,
visible = this.visible,
tipStore = this.tipStore,
enterable = this.enterable;
var on;
if (enterable) {
on = {
mouseenter: this.wrapperMouseenterEvent,
mouseleave: this.wrapperMouseleaveEvent
};
}
return h('div', {
class: ['vxe-table--tooltip-wrapper', "theme--".concat(theme), (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, "placement--".concat(tipStore.placement), tipStore.placement), _defineProperty(_ref, 'is--enterable', enterable), _defineProperty(_ref, 'is--visible', visible), _defineProperty(_ref, 'is--arrow', isArrow), _defineProperty(_ref, 'is--actived', tipActive), _ref)],
style: tipStore.style,
ref: 'tipWrapper',
on: on
}, [tooltip_renderContent(h, this), h('div', {
class: 'vxe-table--tooltip-arrow',
style: tipStore.arrowStyle
})].concat($scopedSlots.default ? $scopedSlots.default.call(this, {}) : []));
},
methods: {
open: function open(target, content) {
return this.toVisible(target || this.target, content);
},
close: function close() {
this.tipTarget = null;
this.tipActive = false;
Object.assign(this.tipStore, {
style: {},
placement: '',
arrowStyle: null
});
this.updateValue(false);
return this.$nextTick();
},
updateValue: function updateValue(value) {
if (value !== this.visible) {
this.visible = value;
this.isUpdate = true;
if (this.$listeners.input) {
this.$emit('input', this.visible);
}
}
},
updateZindex: function updateZindex() {
if (this.tipZindex < utils.getLastZIndex()) {
this.tipZindex = utils.nextZIndex();
}
},
toVisible: function toVisible(target, content) {
if (target) {
var trigger = this.trigger,
enterDelay = this.enterDelay;
this.tipActive = true;
this.tipTarget = target;
if (content) {
this.tipContent = content;
}
if (enterDelay && trigger === 'hover') {
this.showDelayTip();
} else {
return showTip(this);
}
}
return this.$nextTick();
},
updatePlacement: function updatePlacement() {
var _this2 = this;
return this.$nextTick().then(function () {
var wrapperElem = _this2.$el,
tipTarget = _this2.tipTarget;
if (tipTarget && wrapperElem) {
updateTipStyle(_this2);
return _this2.$nextTick().then(function () {
return updateTipStyle(_this2);
});
}
});
},
isActived: function isActived() {
return this.tipActive;
},
setActived: function setActived(actived) {
this.tipActive = !!actived;
},
clickEvent: function clickEvent() {
this[this.visible ? 'close' : 'open']();
},
targetMouseenterEvent: function targetMouseenterEvent() {
this.open();
},
targetMouseleaveEvent: function targetMouseleaveEvent() {
var _this3 = this;
var trigger = this.trigger,
enterable = this.enterable,
leaveDelay = this.leaveDelay;
this.tipActive = false;
if (enterable && trigger === 'hover') {
setTimeout(function () {
if (!_this3.tipActive) {
_this3.close();
}
}, leaveDelay);
} else {
this.close();
}
},
wrapperMouseenterEvent: function wrapperMouseenterEvent() {
this.tipActive = true;
},
wrapperMouseleaveEvent: function wrapperMouseleaveEvent() {
var _this4 = this;
var trigger = this.trigger,
enterable = this.enterable,
leaveDelay = this.leaveDelay;
this.tipActive = false;
if (enterable && trigger === 'hover') {
setTimeout(function () {
if (!_this4.tipActive) {
_this4.close();
}
}, leaveDelay);
}
}
}
});
// CONCATENATED MODULE: ./packages/tooltip/index.js
var Tooltip = Object.assign(tooltip, {
install: function install(Vue) {
v_x_e_table._tooltip = 1;
Vue.component(tooltip.name, tooltip);
}
});
/* harmony default export */ var packages_tooltip = (Tooltip);
// CONCATENATED MODULE: ./packages/form/src/util.js
var util_ItemConfig = /*#__PURE__*/function () {
function ItemConfig($xeform, item) {
_classCallCheck(this, ItemConfig);
Object.assign(this, {
id: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.uniqueId('item_'),
title: item.title,
field: item.field,
span: item.span,
align: item.align,
titleAlign: item.titleAlign,
titleWidth: item.titleWidth,
titleColon: item.titleColon,
titleAsterisk: item.titleAsterisk,
titlePrefix: item.titlePrefix,
titleSuffix: item.titleSuffix,
titleOverflow: item.titleOverflow,
resetValue: item.resetValue,
visible: item.visible,
visibleMethod: item.visibleMethod,
folding: item.folding,
collapseNode: item.collapseNode,
className: item.className,
itemRender: item.itemRender,
// 渲染属性
showError: false,
errRule: null,
slots: item.slots,
children: []
});
if (false) { var compConf; }
}
_createClass(ItemConfig, [{
key: "update",
value: function update(name, value) {
this[name] = value;
}
}]);
return ItemConfig;
}();
function isItem(option) {
return option instanceof util_ItemConfig;
}
function getItemConfig($xeform, _vm, options) {
return isItem(_vm) ? _vm : new util_ItemConfig($xeform, _vm, options);
}
var util_handleFieldOrItem = function handleFieldOrItem($xeform, fieldOrItem) {
if (fieldOrItem) {
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(fieldOrItem) ? $xeform.getItemByField(fieldOrItem) : fieldOrItem;
}
return null;
};
function isHiddenItem($xeform, formItem) {
var collapseAll = $xeform.collapseAll;
var folding = formItem.folding,
visible = formItem.visible;
return visible === false || folding && collapseAll;
}
function isActivetem($xeform, formItem) {
var visibleMethod = formItem.visibleMethod,
itemRender = formItem.itemRender,
visible = formItem.visible,
field = formItem.field;
if (visible === false) {
return visible;
}
var compConf = isEnableConf(itemRender) ? v_x_e_table.renderer.get(itemRender.name) : null;
if (!visibleMethod && compConf && compConf.itemVisibleMethod) {
visibleMethod = compConf.itemVisibleMethod;
}
if (!visibleMethod) {
return true;
}
var data = $xeform.data;
return visibleMethod({
data: data,
field: field,
property: field,
item: formItem,
$form: $xeform
});
}
function createItem($xeform, _vm) {
return getItemConfig($xeform, _vm);
}
function destroyItem(_vm) {
var $xeform = _vm.$xeform,
itemConfig = _vm.itemConfig;
var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree($xeform.staticItems, function (option) {
return option === itemConfig;
});
if (matchObj) {
matchObj.items.splice(matchObj.index, 1);
}
}
function assemItem(_vm) {
var $el = _vm.$el,
$xeform = _vm.$xeform,
$xeformgather = _vm.$xeformgather,
itemConfig = _vm.itemConfig;
var itemGather = $xeformgather ? $xeformgather.itemConfig : null;
itemConfig.slots = _vm.$scopedSlots;
if (itemGather) {
if (!itemGather.children) {
itemGather.children = [];
}
itemGather.children.splice([].indexOf.call($xeformgather.$el.children, $el), 0, itemConfig);
} else {
$xeform.staticItems.splice([].indexOf.call($xeform.$refs.hideItem.children, $el), 0, itemConfig);
}
}
// CONCATENATED MODULE: ./packages/form/src/render.js
function renderPrefixIcon(h, titlePrefix) {
return h('span', {
class: 'vxe-form--item-title-prefix'
}, [h('i', {
class: titlePrefix.icon || src_conf.icon.FORM_PREFIX
})]);
}
function render_renderSuffixIcon(h, titleSuffix) {
return h('span', {
class: 'vxe-form--item-title-suffix'
}, [h('i', {
class: titleSuffix.icon || src_conf.icon.FORM_SUFFIX
})]);
}
function renderTitle(h, _vm, item) {
var data = _vm.data,
tooltipOpts = _vm.tooltipOpts;
var slots = item.slots,
field = item.field,
itemRender = item.itemRender,
titlePrefix = item.titlePrefix,
titleSuffix = item.titleSuffix;
var compConf = isEnableConf(itemRender) ? v_x_e_table.renderer.get(itemRender.name) : null;
var params = {
data: data,
field: field,
property: field,
item: item,
$form: _vm
};
var contVNs = [];
var titVNs = [];
if (titlePrefix) {
titVNs.push(titlePrefix.content || titlePrefix.message ? h('vxe-tooltip', {
props: _objectSpread2(_objectSpread2(_objectSpread2({}, tooltipOpts), titlePrefix), {}, {
content: getFuncText(titlePrefix.content || titlePrefix.message)
})
}, [renderPrefixIcon(h, titlePrefix)]) : renderPrefixIcon(h, titlePrefix));
}
titVNs.push(h('span', {
class: 'vxe-form--item-title-label'
}, compConf && compConf.renderItemTitle ? getSlotVNs(compConf.renderItemTitle(itemRender, params)) : slots && slots.title ? _vm.callSlot(slots.title, params, h) : getFuncText(item.title)));
contVNs.push(h('div', {
class: 'vxe-form--item-title-content'
}, titVNs));
var fixVNs = [];
if (titleSuffix) {
fixVNs.push(titleSuffix.content || titleSuffix.message ? h('vxe-tooltip', {
props: _objectSpread2(_objectSpread2(_objectSpread2({}, tooltipOpts), titlePrefix), {}, {
content: getFuncText(titleSuffix.content || titleSuffix.message)
})
}, [render_renderSuffixIcon(h, titleSuffix)]) : render_renderSuffixIcon(h, titleSuffix));
}
contVNs.push(h('div', {
class: 'vxe-form--item-title-postfix'
}, fixVNs));
return contVNs;
}
// CONCATENATED MODULE: ./packages/form/src/form-config-item.js
/**
* 配置式项
*/
var VxeFormConfigItem = {
name: 'VxeFormConfigItem',
props: {
itemConfig: Object
},
inject: {
$xeform: {
default: null
}
},
provide: function provide() {
return {
$xeformgather: null,
$xeformiteminfo: this
};
},
render: function render(h) {
var _e = this._e,
$xeform = this.$xeform,
item = this.itemConfig;
var rules = $xeform.rules,
data = $xeform.data,
collapseAll = $xeform.collapseAll,
validOpts = $xeform.validOpts,
allTitleAlign = $xeform.titleAlign,
allTitleWidth = $xeform.titleWidth,
allTitleColon = $xeform.titleColon,
allTitleAsterisk = $xeform.titleAsterisk,
allTitleOverflow = $xeform.titleOverflow;
var slots = item.slots,
title = item.title,
folding = item.folding,
visible = item.visible,
field = item.field,
collapseNode = item.collapseNode,
itemRender = item.itemRender,
showError = item.showError,
errRule = item.errRule,
className = item.className,
titleOverflow = item.titleOverflow,
children = item.children;
var compConf = isEnableConf(itemRender) ? v_x_e_table.renderer.get(itemRender.name) : null;
var itemClassName = compConf ? compConf.itemClassName : '';
var span = item.span || $xeform.span;
var align = item.align || $xeform.align;
var titleAlign = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign;
var titleWidth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleWidth) ? allTitleWidth : item.titleWidth;
var titleColon = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleColon) ? allTitleColon : item.titleColon;
var titleAsterisk = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk;
var itemOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(titleOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(titleOverflow) ? allTitleOverflow : titleOverflow;
var showEllipsis = itemOverflow === 'ellipsis';
var showTitle = itemOverflow === 'title';
var showTooltip = itemOverflow === true || itemOverflow === 'tooltip';
var hasEllipsis = showTitle || showTooltip || showEllipsis;
var params = {
data: data,
field: field,
property: field,
item: item,
$form: $xeform
};
var isRequired;
if (visible === false) {
return _e();
} // 如果为项集合
var isGather = children && children.length > 0;
if (isGather) {
var childVNs = item.children.map(function (childItem, index) {
return h(VxeFormConfigItem, {
key: index,
props: {
itemConfig: childItem
}
});
});
return childVNs.length ? h('div', {
class: ['vxe-form--gather vxe-row', item.id, span ? "vxe-col--".concat(span, " is--span") : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className(params) : className : '']
}, childVNs) : _e();
}
if (rules) {
var itemRules = rules[field];
if (itemRules) {
isRequired = itemRules.some(function (rule) {
return rule.required;
});
}
}
var contentVNs = [];
if (slots && slots.default) {
contentVNs = $xeform.callSlot(slots.default, params, h);
} else if (compConf && compConf.renderItemContent) {
contentVNs = getSlotVNs(compConf.renderItemContent.call($xeform, h, itemRender, params));
} else if (compConf && compConf.renderItem) {
contentVNs = getSlotVNs(compConf.renderItem.call($xeform, h, itemRender, params));
} else if (field) {
contentVNs = [external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toValueString(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, field))];
}
var ons = showTooltip ? {
mouseenter: function mouseenter(evnt) {
$xeform.triggerTitleTipEvent(evnt, params);
},
mouseleave: $xeform.handleTitleTipLeaveEvent
} : {};
return h('div', {
class: ['vxe-form--item', item.id, span ? "vxe-col--".concat(span, " is--span") : null, className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className(params) : className : '', itemClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(itemClassName) ? itemClassName(params) : itemClassName : '', {
'is--title': title,
'is--colon': titleColon,
'is--asterisk': titleAsterisk,
'is--required': isRequired,
'is--hidden': folding && collapseAll,
'is--active': isActivetem($xeform, item),
'is--error': showError
}],
props: {
itemConfig: item
},
key: item.id
}, [h('div', {
class: 'vxe-form--item-inner'
}, [title || slots && slots.title ? h('div', {
class: ['vxe-form--item-title', titleAlign ? "align--".concat(titleAlign) : null, {
'is--ellipsis': hasEllipsis
}],
style: titleWidth ? {
width: isNaN(titleWidth) ? titleWidth : "".concat(titleWidth, "px")
} : null,
attrs: {
title: showTitle ? getFuncText(title) : null
},
on: ons
}, renderTitle(h, $xeform, item)) : null, h('div', {
class: ['vxe-form--item-content', align ? "align--".concat(align) : null]
}, contentVNs.concat([collapseNode ? h('div', {
class: 'vxe-form--item-trigger-node',
on: {
click: $xeform.toggleCollapseEvent
}
}, [h('span', {
class: 'vxe-form--item-trigger-text'
}, collapseAll ? src_conf.i18n('vxe.form.unfolding') : src_conf.i18n('vxe.form.folding')), h('i', {
class: ['vxe-form--item-trigger-icon', collapseAll ? src_conf.icon.FORM_FOLDING : src_conf.icon.FORM_UNFOLDING]
})]) : null, errRule && validOpts.showMessage ? h('div', {
class: 'vxe-form--item-valid',
style: errRule.maxWidth ? {
width: "".concat(errRule.maxWidth, "px")
} : null
}, errRule.content) : null]))])]);
}
};
/* harmony default export */ var form_config_item = (VxeFormConfigItem);
// CONCATENATED MODULE: ./packages/form/src/form.js
var form_Rule = /*#__PURE__*/function () {
function Rule(rule) {
_classCallCheck(this, Rule);
Object.assign(this, {
$options: rule,
required: rule.required,
min: rule.min,
max: rule.min,
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;
}();
function form_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;
}
function getResetValue(value, resetValue) {
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(value)) {
resetValue = [];
}
return resetValue;
}
/* harmony default export */ var src_form = ({
name: 'VxeForm',
mixins: [size],
props: {
collapseStatus: {
type: Boolean,
default: true
},
loading: Boolean,
data: Object,
size: {
type: String,
default: function _default() {
return src_conf.form.size || src_conf.size;
}
},
span: {
type: [String, Number],
default: function _default() {
return src_conf.form.span;
}
},
align: {
type: String,
default: function _default() {
return src_conf.form.align;
}
},
titleAlign: {
type: String,
default: function _default() {
return src_conf.form.titleAlign;
}
},
titleWidth: {
type: [String, Number],
default: function _default() {
return src_conf.form.titleWidth;
}
},
titleColon: {
type: Boolean,
default: function _default() {
return src_conf.form.titleColon;
}
},
titleAsterisk: {
type: Boolean,
default: function _default() {
return src_conf.form.titleAsterisk;
}
},
titleOverflow: {
type: [Boolean, String],
default: null
},
className: [String, Function],
readonly: Boolean,
items: Array,
rules: Object,
preventSubmit: {
type: Boolean,
default: function _default() {
return src_conf.form.preventSubmit;
}
},
validConfig: Object,
tooltipConfig: Object,
customLayout: {
type: Boolean,
default: function _default() {
return src_conf.form.customLayout;
}
}
},
data: function data() {
return {
collapseAll: this.collapseStatus,
staticItems: [],
formItems: [],
tooltipTimeout: null,
tooltipStore: {
item: null,
visible: false
}
};
},
provide: function provide() {
return {
$xeform: this,
$xeformgather: null,
$xeformitem: null,
$xeformiteminfo: null
};
},
computed: {
validOpts: function validOpts() {
return Object.assign({}, src_conf.form.validConfig, this.validConfig);
},
tooltipOpts: function tooltipOpts() {
return Object.assign({}, src_conf.tooltip, src_conf.form.tooltipConfig, this.tooltipConfig);
}
},
watch: {
staticItems: function staticItems(value) {
this.formItems = value;
},
items: function items(value) {
this.loadItem(value);
},
collapseStatus: function collapseStatus(value) {
this.collapseAll = !!value;
}
},
created: function created() {
var _this = this;
this.$nextTick(function () {
var items = _this.items;
if (false) {}
if (items) {
_this.loadItem(items);
}
});
},
render: function render(h) {
var _ref;
var _e = this._e,
loading = this.loading,
className = this.className,
data = this.data,
vSize = this.vSize,
tooltipOpts = this.tooltipOpts,
formItems = this.formItems,
customLayout = this.customLayout;
var hasUseTooltip = v_x_e_table._tooltip;
var defaultSlot = this.$scopedSlots.default;
return h('form', {
class: ['vxe-form', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({
items: formItems,
data: data,
$form: this
}) : className : '', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--loading', loading), _ref)],
on: {
submit: this.submitEvent,
reset: this.resetEvent
}
}, [h('div', {
class: 'vxe-form--wrapper vxe-row'
}, customLayout ? defaultSlot ? defaultSlot.call(this, h, {}) : [] : formItems.map(function (item, index) {
return h(form_config_item, {
key: index,
props: {
itemConfig: item
}
});
})), h('div', {
class: 'vxe-form-slots',
ref: 'hideItem'
}, customLayout ? [] : defaultSlot ? defaultSlot.call(this, h, {}) : []),
/**
* 加载中
*/
h(packages_loading, {
class: 'vxe-form--loading',
props: {
value: loading
}
}),
/**
* 工具提示
*/
hasUseTooltip ? h('vxe-tooltip', {
ref: 'tooltip',
props: tooltipOpts
}) : _e()]);
},
methods: {
callSlot: function callSlot(slotFunc, params, h) {
if (slotFunc) {
var $scopedSlots = this.$scopedSlots;
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isString(slotFunc)) {
slotFunc = $scopedSlots[slotFunc] || null;
}
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(slotFunc)) {
return getSlotVNs(slotFunc.call(this, params, h));
}
}
return [];
},
loadItem: function loadItem(list) {
var _this2 = this;
if (false) { var $scopedSlots; }
this.staticItems = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.mapTree(list, function (item) {
return createItem(_this2, item);
}, {
children: 'children'
});
return this.$nextTick();
},
getItems: function getItems() {
var itemList = [];
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(this.formItems, function (item) {
itemList.push(item);
}, {
children: 'children'
});
return itemList;
},
getItemByField: function getItemByField(field) {
var rest = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.findTree(this.formItems, function (item) {
return item.field === field;
}, {
children: 'children'
});
return rest ? rest.item : null;
},
toggleCollapse: function toggleCollapse() {
var status = !this.collapseAll;
this.collapseAll = status;
this.$emit('update:collapseStatus', status);
return this.$nextTick();
},
toggleCollapseEvent: function toggleCollapseEvent(evnt) {
this.toggleCollapse();
var status = this.collapseAll;
this.$emit('toggle-collapse', {
status: status,
collapse: status,
data: this.data,
$form: this,
$event: evnt
}, evnt);
this.$emit('collapse', {
status: status,
collapse: status,
data: this.data,
$form: this,
$event: evnt
}, evnt);
},
submitEvent: function submitEvent(evnt) {
var _this3 = this;
evnt.preventDefault();
if (!this.preventSubmit) {
this.clearValidate();
this.beginValidate(this.getItems()).then(function (errMap) {
if (errMap) {
_this3.$emit('submit-invalid', {
data: _this3.data,
errMap: errMap,
$form: _this3,
$event: evnt
});
} else {
_this3.$emit('submit', {
data: _this3.data,
$event: evnt
});
}
});
}
},
reset: function reset() {
var _this4 = this;
var data = this.data;
if (data) {
var itemList = this.getItems();
itemList.forEach(function (item) {
var field = item.field,
resetValue = item.resetValue,
itemRender = item.itemRender;
if (isEnableConf(itemRender)) {
var compConf = v_x_e_table.renderer.get(itemRender.name);
if (compConf && compConf.itemResetMethod) {
compConf.itemResetMethod({
data: data,
field: field,
property: field,
item: item,
$form: _this4
});
} else if (field) {
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(data, field, resetValue === null ? getResetValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, field), undefined) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.clone(resetValue, true));
}
}
});
}
return this.clearValidate();
},
resetEvent: function resetEvent(evnt) {
evnt.preventDefault();
this.reset();
this.$emit('reset', {
data: this.data,
$form: this,
$event: evnt
});
},
closeTooltip: function closeTooltip() {
var tooltipStore = this.tooltipStore;
var $tooltip = this.$refs.tooltip;
if (tooltipStore.visible) {
Object.assign(tooltipStore, {
item: null,
visible: false
});
if ($tooltip) {
$tooltip.close();
}
}
return this.$nextTick();
},
triggerTitleTipEvent: function triggerTitleTipEvent(evnt, params) {
var item = params.item;
var tooltipStore = this.tooltipStore;
var $tooltip = this.$refs.tooltip;
var overflowElem = evnt.currentTarget.children[0];
var content = (overflowElem.textContent || '').trim();
var isCellOverflow = overflowElem.scrollWidth > overflowElem.clientWidth;
clearTimeout(this.tooltipTimeout);
if (tooltipStore.item !== item) {
this.closeTooltip();
}
if (content && isCellOverflow) {
Object.assign(tooltipStore, {
item: item,
visible: true
});
if ($tooltip) {
$tooltip.open(overflowElem, content);
}
}
},
handleTitleTipLeaveEvent: function handleTitleTipLeaveEvent() {
var _this5 = this;
var tooltipOpts = this.tooltipOpts;
var $tooltip = this.$refs.tooltip;
if ($tooltip) {
$tooltip.setActived(false);
}
if (tooltipOpts.enterable) {
this.tooltipTimeout = setTimeout(function () {
$tooltip = _this5.$refs.tooltip;
if ($tooltip && !$tooltip.isActived()) {
_this5.closeTooltip();
}
}, tooltipOpts.leaveDelay);
} else {
this.closeTooltip();
}
},
clearValidate: function clearValidate(fieldOrItem) {
if (fieldOrItem) {
var item = util_handleFieldOrItem(this, fieldOrItem);
if (item) {
item.showError = false;
}
} else {
this.getItems().forEach(function (item) {
item.showError = false;
});
}
return this.$nextTick();
},
validate: function validate(callback) {
this.clearValidate();
return this.beginValidate(this.getItems(), '', callback);
},
validateField: function validateField(fieldOrItem, callback) {
var item = util_handleFieldOrItem(this, fieldOrItem);
return this.beginValidate(item ? [item] : [], '', callback);
},
beginValidate: function beginValidate(itemList, type, callback) {
var _this6 = this;
var data = this.data,
formRules = this.rules,
validOpts = this.validOpts;
var validRest = {};
var validFields = [];
var itemValids = [];
clearTimeout(this.showErrTime);
if (data && formRules) {
itemList.forEach(function (item) {
var field = item.field;
if (field && !isHiddenItem(_this6, item) && isActivetem(_this6, item)) {
itemValids.push(_this6.validItemRules(type || 'all', field).then(function () {
item.errRule = null;
}).catch(function (_ref2) {
var rule = _ref2.rule,
rules = _ref2.rules;
var rest = {
rule: rule,
rules: rules,
data: data,
field: field,
property: field,
$form: _this6
};
if (!validRest[field]) {
validRest[field] = [];
}
validRest[field].push(rest);
validFields.push(field);
item.errRule = rule;
return Promise.reject(rest);
}));
}
});
return Promise.all(itemValids).then(function () {
if (callback) {
callback();
}
}).catch(function () {
return new Promise(function (resolve) {
_this6.showErrTime = setTimeout(function () {
itemList.forEach(function (item) {
if (item.errRule) {
item.showError = true;
}
});
}, 20);
if (validOpts.autoPos) {
_this6.$nextTick(function () {
_this6.handleFocus(validFields);
});
}
if (callback) {
callback(validRest);
resolve();
} else {
resolve(validRest);
}
});
});
}
if (callback) {
callback();
}
return Promise.resolve();
},
/**
* 校验数据
* 按表格行、列顺序依次校验(同步或异步)
* 校验规则根据索引顺序依次校验,如果是异步则会等待校验完成才会继续校验下一列
* 如果校验失败则,触发回调或者 Promise<(ErrMap 校验不通过列的信息)>
* 如果是传回调方式这返回一个 (ErrMap 校验不通过列的信息)
*
* rule 配置:
* required=Boolean 是否必填
* min=Number 最小长度
* max=Number 最大长度
* validator=Function({ itemValue, rule, rules, data, property }) 自定义校验,接收一个 Promise
* trigger=change 触发方式
*/
validItemRules: function validItemRules(validType, property, val) {
var _this7 = this;
var data = this.data,
formRules = this.rules;
var errorRules = [];
var syncVailds = [];
if (property && formRules) {
var rules = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(formRules, property);
if (rules) {
var itemValue = 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(data, property) : val;
rules.forEach(function (rule) {
var type = rule.type,
trigger = rule.trigger,
required = rule.required;
if (validType === 'all' || !trigger || validType === rule.trigger) {
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(rule.validator)) {
var customValid = rule.validator({
itemValue: itemValue,
rule: rule,
rules: rules,
data: data,
field: property,
property: property,
$form: _this7
});
if (customValid) {
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isError(customValid)) {
errorRules.push(new form_Rule({
type: 'custom',
trigger: trigger,
content: customValid.message,
rule: new form_Rule(rule)
}));
} else if (customValid.catch) {
// 如果为异步校验(注:异步校验是并发无序的)
syncVailds.push(customValid.catch(function (e) {
errorRules.push(new form_Rule({
type: 'custom',
trigger: trigger,
content: e ? e.message : rule.content || rule.message,
rule: new form_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(itemValue) ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isArray(itemValue) || !itemValue.length : eqEmptyValue(itemValue);
if (required ? hasEmpty || form_validErrorRuleValue(rule, itemValue) : !hasEmpty && form_validErrorRuleValue(rule, itemValue)) {
errorRules.push(new form_Rule(rule));
}
}
}
});
}
}
return Promise.all(syncVailds).then(function () {
if (errorRules.length) {
var rest = {
rules: errorRules,
rule: errorRules[0]
};
return Promise.reject(rest);
}
});
},
handleFocus: function handleFocus(fields) {
var _this8 = this;
var $el = this.$el;
fields.some(function (property, index) {
var item = _this8.getItemByField(property);
if (item && isEnableConf(item.itemRender)) {
var itemRender = item.itemRender;
var compConf = v_x_e_table.renderer.get(itemRender.name);
var inputElem; // 定位到第一个
if (!index) {
dom.scrollToView($el.querySelector(".".concat(item.id)));
} // 如果指定了聚焦 class
if (itemRender.autofocus) {
inputElem = $el.querySelector(".".concat(item.id, " ").concat(itemRender.autofocus));
} // 渲染器的聚焦处理
if (!inputElem && compConf && compConf.autofocus) {
inputElem = $el.querySelector(".".concat(item.id, " ").concat(compConf.autofocus));
}
if (inputElem) {
inputElem.focus(); // 保持一致行为,光标移到末端
if (browse.msie) {
var textRange = inputElem.createTextRange();
textRange.collapse(false);
textRange.select();
}
return true;
}
}
});
},
triggerItemEvent: function triggerItemEvent(evnt, field, itemValue) {
var _this9 = this;
if (field) {
return this.validItemRules(evnt ? ['blur'].includes(evnt.type) ? 'blur' : 'change' : 'all', field, itemValue).then(function () {
_this9.clearValidate(field);
}).catch(function (_ref3) {
var rule = _ref3.rule;
var item = _this9.getItemByField(field);
if (item) {
item.showError = true;
item.errRule = rule;
}
});
}
return this.$nextTick();
},
/**
* 更新项状态
* 如果组件值 v-model 发生 change 时,调用改函数用于更新某一项编辑状态
* 如果单元格配置了校验规则,则会进行校验
*/
updateStatus: function updateStatus(scope, itemValue) {
var field = scope.field;
return this.triggerItemEvent(new Event('change'), field, itemValue);
}
}
});
// CONCATENATED MODULE: ./packages/form/index.js
var Form = Object.assign(src_form, {
install: function install(Vue) {
Vue.component(src_form.name, src_form);
}
});
/* harmony default export */ var packages_form = (Form);
// CONCATENATED MODULE: ./packages/form/src/form-item.js
var form_item_props = {
title: String,
field: String,
size: String,
span: [String, Number],
align: String,
titleAlign: {
type: String,
default: null
},
titleWidth: {
type: [String, Number],
default: null
},
titleColon: {
type: Boolean,
default: null
},
titleAsterisk: {
type: Boolean,
default: null
},
className: [String, Function],
titleOverflow: {
type: [Boolean, String],
default: null
},
titlePrefix: Object,
titleSuffix: Object,
resetValue: {
default: null
},
visible: {
type: Boolean,
default: null
},
visibleMethod: Function,
folding: Boolean,
collapseNode: Boolean,
itemRender: Object
};
var form_item_watch = {};
Object.keys(form_item_props).forEach(function (name) {
form_item_watch[name] = function (value) {
this.itemConfig.update(name, value);
};
});
var form_item_renderItem = function renderItem(h, _vm, item, slots) {
var _e = _vm._e,
rules = _vm.rules,
data = _vm.data,
collapseAll = _vm.collapseAll,
validOpts = _vm.validOpts,
allTitleAlign = _vm.titleAlign,
allTitleWidth = _vm.titleWidth,
allTitleColon = _vm.titleColon,
allTitleAsterisk = _vm.titleAsterisk,
allTitleOverflow = _vm.titleOverflow;
var title = item.title,
folding = item.folding,
visible = item.visible,
field = item.field,
collapseNode = item.collapseNode,
itemRender = item.itemRender,
showError = item.showError,
errRule = item.errRule,
className = item.className,
titleOverflow = item.titleOverflow;
var compConf = isEnableConf(itemRender) ? v_x_e_table.renderer.get(itemRender.name) : null;
var itemClassName = compConf ? compConf.itemClassName : '';
var span = item.span || _vm.span;
var align = item.align || _vm.align;
var titleAlign = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign;
var titleWidth = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleWidth) ? allTitleWidth : item.titleWidth;
var titleColon = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleColon) ? allTitleColon : item.titleColon;
var titleAsterisk = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk;
var itemOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(titleOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(titleOverflow) ? allTitleOverflow : titleOverflow;
var showEllipsis = itemOverflow === 'ellipsis';
var showTitle = itemOverflow === 'title';
var showTooltip = itemOverflow === true || itemOverflow === 'tooltip';
var hasEllipsis = showTitle || showTooltip || showEllipsis;
var params = {
data: data,
field: field,
property: field,
item: item,
$form: _vm
};
var isRequired;
if (visible === false) {
return _e();
}
if (rules) {
var itemRules = rules[field];
if (itemRules) {
isRequired = itemRules.some(function (rule) {
return rule.required;
});
}
}
var contentVNs = [];
if (slots && slots.default) {
contentVNs = _vm.callSlot(slots.default, params, h);
} else if (compConf && compConf.renderItemContent) {
contentVNs = getSlotVNs(compConf.renderItemContent.call(_vm, h, itemRender, params));
} else if (compConf && compConf.renderItem) {
contentVNs = getSlotVNs(compConf.renderItem.call(_vm, h, itemRender, params));
} else if (field) {
contentVNs = ["".concat(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(data, field))];
}
var ons = showTooltip ? {
mouseenter: function mouseenter(evnt) {
_vm.triggerTitleTipEvent(evnt, params);
},
mouseleave: _vm.handleTitleTipLeaveEvent
} : {};
return h('div', {
class: ['vxe-form--item', item.id, span ? "vxe-col--".concat(span, " is--span") : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className(params) : className : '', itemClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(itemClassName) ? itemClassName(params) : itemClassName : '', {
'is--title': title,
'is--colon': titleColon,
'is--asterisk': titleAsterisk,
'is--required': isRequired,
'is--hidden': folding && collapseAll,
'is--active': isActivetem(_vm, item),
'is--error': showError
}]
}, [h('div', {
class: 'vxe-form--item-inner'
}, [title || slots && slots.title ? h('div', {
class: ['vxe-form--item-title', titleAlign ? "align--".concat(titleAlign) : null, {
'is--ellipsis': hasEllipsis
}],
style: titleWidth ? {
width: isNaN(titleWidth) ? titleWidth : "".concat(titleWidth, "px")
} : null,
attrs: {
title: showTitle ? getFuncText(title) : null
},
on: ons
}, renderTitle(h, _vm, item)) : null, h('div', {
class: ['vxe-form--item-content', align ? "align--".concat(align) : null]
}, contentVNs.concat([collapseNode ? h('div', {
class: 'vxe-form--item-trigger-node',
on: {
click: _vm.toggleCollapseEvent
}
}, [h('span', {
class: 'vxe-form--item-trigger-text'
}, collapseAll ? src_conf.i18n('vxe.form.unfolding') : src_conf.i18n('vxe.form.folding')), h('i', {
class: ['vxe-form--item-trigger-icon', collapseAll ? src_conf.icon.FORM_FOLDING : src_conf.icon.FORM_UNFOLDING]
})]) : null, errRule && validOpts.showMessage ? h('div', {
class: 'vxe-form--item-valid',
style: errRule.maxWidth ? {
width: "".concat(errRule.maxWidth, "px")
} : null
}, errRule.message) : null]))])]);
};
/* harmony default export */ var form_item = ({
name: 'VxeFormItem',
props: form_item_props,
inject: {
$xeform: {
default: null
},
$xeformgather: {
default: null
}
},
provide: function provide() {
return {
$xeformitem: this,
$xeformiteminfo: this
};
},
data: function data() {
return {
itemConfig: null
};
},
watch: form_item_watch,
mounted: function mounted() {
assemItem(this);
},
created: function created() {
this.itemConfig = createItem(this.$xeform, this);
},
destroyed: function destroyed() {
destroyItem(this);
},
render: function render(h) {
var $xeform = this.$xeform;
return $xeform && $xeform.customLayout ? form_item_renderItem(h, $xeform, this.itemConfig, this.$scopedSlots) : h('div');
}
});
// CONCATENATED MODULE: ./packages/form-item/index.js
var FormItem = Object.assign(form_item, {
install: function install(Vue) {
Vue.component(form_item.name, form_item);
}
});
/* harmony default export */ var packages_form_item = (FormItem);
// CONCATENATED MODULE: ./packages/form/src/form-gather.js
/* harmony default export */ var form_gather = ({
name: 'VxeFormGather',
extends: form_item,
provide: function provide() {
return {
$xeformgather: this,
xeformitem: null,
$xeformiteminfo: this
};
},
created: function created() {
var _this = this;
if (false) {}
},
render: function render(h) {
return h('div', this.$slots.default);
}
});
// CONCATENATED MODULE: ./packages/form-gather/index.js
var FormGather = Object.assign(form_gather, {
install: function install(Vue) {
Vue.component(form_gather.name, form_gather);
}
});
/* harmony default export */ var packages_form_gather = (FormGather);
// CONCATENATED MODULE: ./packages/select/src/optgroup.js
var optgroup_props = {
label: {
type: [String, Number, Boolean],
default: ''
},
visible: {
type: Boolean,
default: null
},
className: [String, Function],
disabled: Boolean
};
var optgroup_watch = {};
Object.keys(optgroup_props).forEach(function (name) {
optgroup_watch[name] = function (value) {
this.optionConfig.update(name, value);
};
});
/* harmony default export */ var optgroup = ({
name: 'VxeOptgroup',
props: optgroup_props,
provide: function provide() {
return {
$xeoptgroup: this
};
},
inject: {
$xeselect: {
default: null
}
},
computed: {
vSize: function vSize() {
return this.size || this.$parent.size || this.$parent.vSize;
}
},
watch: optgroup_watch,
mounted: function mounted() {
assemOption(this);
},
created: function created() {
this.optionConfig = createOption(this.$xeselect, this);
},
destroyed: function destroyed() {
destroyOption(this);
},
render: function render(h) {
return h('div', this.$slots.default);
}
});
// CONCATENATED MODULE: ./packages/select/index.js
var Select = Object.assign(src_select, {
Option: src_option,
Optgroup: optgroup,
install: function install(Vue) {
Vue.component(src_select.name, src_select);
Vue.component(src_option.name, src_option);
Vue.component(optgroup.name, optgroup);
}
});
/* harmony default export */ var packages_select = (Select);
// CONCATENATED MODULE: ./packages/optgroup/index.js
var Optgroup = Object.assign(optgroup, {
install: function install(Vue) {
Vue.component(optgroup.name, optgroup);
}
});
/* harmony default export */ var packages_optgroup = (Optgroup);
// CONCATENATED MODULE: ./packages/option/index.js
var Option = Object.assign(src_option, {
install: function install(Vue) {
Vue.component(src_option.name, src_option);
}
});
/* harmony default export */ var packages_option = (Option);
// CONCATENATED MODULE: ./packages/switch/src/switch.js
/* harmony default export */ var src_switch = ({
name: 'VxeSwitch',
mixins: [size],
props: {
value: [String, Number, Boolean],
disabled: Boolean,
className: String,
size: {
type: String,
default: function _default() {
return src_conf.switch.size || src_conf.size;
}
},
openLabel: String,
closeLabel: String,
openValue: {
type: [String, Number, Boolean],
default: true
},
closeValue: {
type: [String, Number, Boolean],
default: false
},
openIcon: String,
closeIcon: String
},
inject: {
$xeform: {
default: null
},
$xeformiteminfo: {
default: null
}
},
data: function data() {
return {
isActivated: false,
hasAnimat: false,
offsetLeft: 0
};
},
computed: {
isChecked: function isChecked() {
return this.value === this.openValue;
},
onShowLabel: function onShowLabel() {
return getFuncText(this.openLabel);
},
offShowLabel: function offShowLabel() {
return getFuncText(this.closeLabel);
},
styles: function styles() {
return browse.msie && this.isChecked ? {
left: "".concat(this.offsetLeft, "px")
} : null;
}
},
created: function created() {
var _this = this;
if (browse.msie) {
this.$nextTick(function () {
return _this.updateStyle();
});
}
},
render: function render(h) {
var _ref;
var isChecked = this.isChecked,
vSize = this.vSize,
className = this.className,
disabled = this.disabled,
openIcon = this.openIcon,
closeIcon = this.closeIcon;
return h('div', {
class: ['vxe-switch', className, isChecked ? 'is--on' : 'is--off', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--disabled', disabled), _defineProperty(_ref, 'is--animat', this.hasAnimat), _ref)]
}, [h('button', {
ref: 'btn',
class: 'vxe-switch--button',
attrs: {
type: 'button',
disabled: disabled
},
on: {
click: this.clickEvent,
focus: this.focusEvent,
blur: this.blurEvent
}
}, [h('span', {
class: 'vxe-switch--label vxe-switch--label-on'
}, [openIcon ? h('i', {
class: ['vxe-switch--label-icon', openIcon]
}) : null, this.onShowLabel]), h('span', {
class: 'vxe-switch--label vxe-switch--label-off'
}, [closeIcon ? h('i', {
class: ['vxe-switch--label-icon', closeIcon]
}) : null, this.offShowLabel]), h('span', {
class: 'vxe-switch--icon',
style: this.styles
})])]);
},
methods: {
updateStyle: function updateStyle() {
// 兼容 IE
this.hasAnimat = true;
this.offsetLeft = this.$refs.btn.offsetWidth;
},
clickEvent: function clickEvent(evnt) {
var _this2 = this;
if (!this.disabled) {
clearTimeout(this.activeTimeout);
var value = this.isChecked ? this.closeValue : this.openValue;
this.hasAnimat = true;
if (browse.msie) {
this.updateStyle();
}
this.$emit('input', value);
this.$emit('change', {
value: value,
$event: evnt
}); // 自动更新校验状态
if (this.$xeform && this.$xeformiteminfo) {
this.$xeform.triggerItemEvent(evnt, this.$xeformiteminfo.itemConfig.field, value);
}
this.activeTimeout = setTimeout(function () {
_this2.hasAnimat = false;
}, 400);
}
},
focusEvent: function focusEvent(evnt) {
this.isActivated = true;
this.$emit('focus', {
value: this.value,
$event: evnt
});
},
blurEvent: function blurEvent(evnt) {
this.isActivated = false;
this.$emit('blur', {
value: this.value,
$event: evnt
});
}
}
});
// CONCATENATED MODULE: ./packages/switch/index.js
var Switch = Object.assign(src_switch, {
install: function install(Vue) {
Vue.component(src_switch.name, src_switch);
}
});
/* harmony default export */ var packages_switch = (Switch);
// CONCATENATED MODULE: ./packages/list/src/list.js
/* harmony default export */ var src_list = ({
name: 'VxeList',
mixins: [size],
props: {
data: Array,
height: [Number, String],
maxHeight: [Number, String],
loading: Boolean,
className: [String, Function],
size: {
type: String,
default: function _default() {
return src_conf.list.size || src_conf.size;
}
},
autoResize: {
type: Boolean,
default: function _default() {
return src_conf.list.autoResize;
}
},
syncResize: [Boolean, String, Number],
scrollY: Object
},
data: function data() {
return {
scrollYLoad: false,
bodyHeight: 0,
topSpaceHeight: 0,
items: []
};
},
computed: {
sYOpts: function sYOpts() {
return Object.assign({}, src_conf.list.scrollY, this.scrollY);
},
styles: function styles() {
var height = this.height,
maxHeight = this.maxHeight;
var style = {};
if (height) {
style.height = isNaN(height) ? height : "".concat(height, "px");
} else if (maxHeight) {
style.height = 'auto';
style.maxHeight = isNaN(maxHeight) ? maxHeight : "".concat(maxHeight, "px");
}
return style;
}
},
watch: {
data: function data(value) {
this.loadData(value);
},
syncResize: function syncResize(value) {
var _this = this;
if (value) {
this.recalculate();
this.$nextTick(function () {
return setTimeout(function () {
return _this.recalculate();
});
});
}
}
},
created: function created() {
Object.assign(this, {
fullData: [],
lastScrollLeft: 0,
lastScrollTop: 0,
scrollYStore: {
startIndex: 0,
endIndex: 0,
visibleSize: 0
}
});
this.loadData(this.data);
GlobalEvent.on(this, 'resize', this.handleGlobalResizeEvent);
},
mounted: function mounted() {
var _this2 = this;
if (this.autoResize) {
var resizeObserver = createResizeEvent(function () {
return _this2.recalculate();
});
resizeObserver.observe(this.$el);
this.$resize = resizeObserver;
}
},
beforeDestroy: function beforeDestroy() {
if (this.$resize) {
this.$resize.disconnect();
}
},
destroyed: function destroyed() {
GlobalEvent.off(this, 'resize');
},
render: function render(h) {
var $scopedSlots = this.$scopedSlots,
styles = this.styles,
bodyHeight = this.bodyHeight,
topSpaceHeight = this.topSpaceHeight,
items = this.items,
className = this.className,
loading = this.loading;
return h('div', {
class: ['vxe-list', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(className) ? className({
$list: this
}) : className : '', {
'is--loading': loading
}]
}, [h('div', {
ref: 'virtualWrapper',
class: 'vxe-list--virtual-wrapper',
style: styles,
on: {
scroll: this.scrollEvent
}
}, [h('div', {
ref: 'ySpace',
class: 'vxe-list--y-space',
style: {
height: bodyHeight ? "".concat(bodyHeight, "px") : ''
}
}), h('div', {
ref: 'virtualBody',
class: 'vxe-list--body',
style: {
marginTop: topSpaceHeight ? "".concat(topSpaceHeight, "px") : ''
}
}, $scopedSlots.default ? $scopedSlots.default.call(this, {
items: items,
$list: this
}, h) : [])]),
/**
* 加载中
*/
h(packages_loading, {
class: 'vxe-list--loading',
props: {
value: loading
}
})]);
},
methods: {
getParentElem: function getParentElem() {
return this.$el.parentNode;
},
/**
* 加载数据
* @param {Array} datas 数据
*/
loadData: function loadData(datas) {
var _this3 = this;
var sYOpts = this.sYOpts,
scrollYStore = this.scrollYStore;
var fullData = datas || [];
Object.assign(scrollYStore, {
startIndex: 0,
endIndex: 1,
visibleSize: 0
});
this.fullData = fullData;
this.scrollYLoad = sYOpts.enabled && sYOpts.gt > -1 && sYOpts.gt <= fullData.length;
this.handleData();
return this.computeScrollLoad().then(function () {
_this3.refreshScroll();
});
},
/**
* 重新加载数据
* @param {Array} datas 数据
*/
reloadData: function reloadData(datas) {
this.clearScroll();
return this.loadData(datas);
},
handleData: function handleData() {
var fullData = this.fullData,
scrollYLoad = this.scrollYLoad,
scrollYStore = this.scrollYStore;
this.items = scrollYLoad ? fullData.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullData.slice(0);
return this.$nextTick();
},
/**
* 重新计算列表
*/
recalculate: function recalculate() {
var $el = this.$el;
if ($el.clientWidth && $el.clientHeight) {
return this.computeScrollLoad();
}
return Promise.resolve();
},
/**
* 清除滚动条
*/
clearScroll: function clearScroll() {
var scrollBodyElem = this.$refs.virtualWrapper;
if (scrollBodyElem) {
scrollBodyElem.scrollTop = 0;
}
return this.$nextTick();
},
/**
* 刷新滚动条
*/
refreshScroll: function refreshScroll() {
var _this4 = this;
var lastScrollLeft = this.lastScrollLeft,
lastScrollTop = this.lastScrollTop;
return this.clearScroll().then(function () {
if (lastScrollLeft || lastScrollTop) {
_this4.lastScrollLeft = 0;
_this4.lastScrollTop = 0;
return _this4.scrollTo(lastScrollLeft, lastScrollTop);
}
});
},
/**
* 如果有滚动条,则滚动到对应的位置
* @param {Number} scrollLeft 左距离
* @param {Number} scrollTop 上距离
*/
scrollTo: function scrollTo(scrollLeft, scrollTop) {
var _this5 = this;
var scrollBodyElem = this.$refs.virtualWrapper;
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(scrollLeft)) {
scrollBodyElem.scrollLeft = scrollLeft;
}
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNumber(scrollTop)) {
scrollBodyElem.scrollTop = scrollTop;
}
if (this.scrollYLoad) {
return new Promise(function (resolve) {
return setTimeout(function () {
return resolve(_this5.$nextTick());
}, 50);
});
}
return this.$nextTick();
},
computeScrollLoad: function computeScrollLoad() {
var _this6 = this;
return this.$nextTick().then(function () {
var $refs = _this6.$refs,
sYOpts = _this6.sYOpts,
scrollYLoad = _this6.scrollYLoad,
scrollYStore = _this6.scrollYStore;
var virtualWrapperElem = $refs.virtualWrapper,
virtualBodyElem = $refs.virtualBody;
var rowHeight = 0;
var firstItemElem;
if (virtualBodyElem) {
if (sYOpts.sItem) {
firstItemElem = virtualBodyElem.querySelector(sYOpts.sItem);
}
if (!firstItemElem) {
firstItemElem = virtualBodyElem.children[0];
}
}
if (firstItemElem) {
rowHeight = firstItemElem.offsetHeight;
}
rowHeight = Math.max(20, rowHeight);
scrollYStore.rowHeight = rowHeight; // 计算 Y 逻辑
if (scrollYLoad) {
var visibleYSize = Math.max(8, Math.ceil(virtualWrapperElem.clientHeight / rowHeight));
var offsetYSize = sYOpts.oSize ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toNumber(sYOpts.oSize) : browse.msie ? 20 : browse.edge ? 10 : 0;
scrollYStore.offsetSize = offsetYSize;
scrollYStore.visibleSize = visibleYSize;
scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
_this6.updateYData();
} else {
_this6.updateYSpace();
}
_this6.rowHeight = rowHeight;
});
},
scrollEvent: function scrollEvent(evnt) {
var scrollBodyElem = evnt.target;
var scrollTop = scrollBodyElem.scrollTop;
var scrollLeft = scrollBodyElem.scrollLeft;
var isX = scrollLeft !== this.lastScrollLeft;
var isY = scrollTop !== this.lastScrollTop;
this.lastScrollTop = scrollTop;
this.lastScrollLeft = scrollLeft;
if (this.scrollYLoad) {
this.loadYData(evnt);
}
this.$emit('scroll', {
scrollLeft: scrollLeft,
scrollTop: scrollTop,
isX: isX,
isY: isY,
$event: evnt
});
},
loadYData: function loadYData(evnt) {
var scrollYStore = this.scrollYStore;
var startIndex = scrollYStore.startIndex,
endIndex = scrollYStore.endIndex,
visibleSize = scrollYStore.visibleSize,
offsetSize = scrollYStore.offsetSize,
rowHeight = scrollYStore.rowHeight;
var scrollBodyElem = evnt.target;
var scrollTop = scrollBodyElem.scrollTop;
var toVisibleIndex = Math.floor(scrollTop / rowHeight);
var offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
var offsetEndIndex = toVisibleIndex + visibleSize + offsetSize;
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
scrollYStore.startIndex = offsetStartIndex;
scrollYStore.endIndex = offsetEndIndex;
this.updateYData();
}
}
},
updateYData: function updateYData() {
this.handleData();
this.updateYSpace();
},
updateYSpace: function updateYSpace() {
var scrollYStore = this.scrollYStore,
scrollYLoad = this.scrollYLoad,
fullData = this.fullData;
this.bodyHeight = scrollYLoad ? fullData.length * scrollYStore.rowHeight : 0;
this.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
},
handleGlobalResizeEvent: function handleGlobalResizeEvent() {
this.recalculate();
}
}
});
// CONCATENATED MODULE: ./packages/list/index.js
var List = Object.assign(src_list, {
install: function install(Vue) {
Vue.component(src_list.name, src_list);
}
});
/* harmony default export */ var packages_list = (List);
// CONCATENATED MODULE: ./packages/pulldown/src/pulldown.js
/* harmony default export */ var pulldown = ({
name: 'VxePulldown',
mixins: [size],
props: {
value: Boolean,
disabled: Boolean,
placement: String,
size: {
type: String,
default: function _default() {
return src_conf.size;
}
},
destroyOnClose: Boolean,
transfer: Boolean
},
data: function data() {
return {
inited: false,
panelIndex: 0,
panelStyle: null,
panelPlacement: null,
currentValue: null,
visiblePanel: false,
animatVisible: false,
isActivated: false
};
},
watch: {
value: function value(_value) {
if (_value) {
this.showPanel();
} else {
this.hidePanel();
}
}
},
created: function created() {
GlobalEvent.on(this, 'mousewheel', this.handleGlobalMousewheelEvent);
GlobalEvent.on(this, 'mousedown', this.handleGlobalMousedownEvent);
GlobalEvent.on(this, 'blur', this.handleGlobalBlurEvent);
},
beforeDestroy: function beforeDestroy() {
var panelElem = this.$refs.panel;
if (panelElem && panelElem.parentNode) {
panelElem.parentNode.removeChild(panelElem);
}
},
destroyed: function destroyed() {
GlobalEvent.off(this, 'mousewheel');
GlobalEvent.off(this, 'mousedown');
GlobalEvent.off(this, 'blur');
},
render: function render(h) {
var _ref, _ref2;
var $scopedSlots = this.$scopedSlots,
inited = this.inited,
vSize = this.vSize,
destroyOnClose = this.destroyOnClose,
transfer = this.transfer,
isActivated = this.isActivated,
disabled = this.disabled,
animatVisible = this.animatVisible,
visiblePanel = this.visiblePanel,
panelStyle = this.panelStyle,
panelPlacement = this.panelPlacement;
var defaultSlot = $scopedSlots.default;
var downSlot = $scopedSlots.dropdown;
return h('div', {
class: ['vxe-pulldown', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--visivle', visiblePanel), _defineProperty(_ref, 'is--disabled', disabled), _defineProperty(_ref, 'is--active', isActivated), _ref)]
}, [h('div', {
ref: 'content',
class: 'vxe-pulldown--content'
}, defaultSlot ? defaultSlot.call(this, {
$pulldown: this
}, h) : []), h('div', {
ref: 'panel',
class: ['vxe-table--ignore-clear vxe-pulldown--panel', (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, 'is--transfer', transfer), _defineProperty(_ref2, 'animat--leave', animatVisible), _defineProperty(_ref2, 'animat--enter', visiblePanel), _ref2)],
attrs: {
placement: panelPlacement
},
style: panelStyle
}, downSlot ? [h('div', {
class: 'vxe-pulldown--wrapper'
}, !inited || destroyOnClose && !visiblePanel && !animatVisible ? [] : downSlot.call(this, {
$pulldown: this
}, h))] : [])]);
},
methods: {
handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {
var $refs = this.$refs,
disabled = this.disabled,
visiblePanel = this.visiblePanel;
if (!disabled) {
if (visiblePanel) {
if (dom.getEventTargetNode(evnt, $refs.panel).flag) {
this.updatePlacement();
} else {
this.hidePanel();
this.$emit('hide-panel', {
$event: evnt
});
}
}
}
},
handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {
var $refs = this.$refs,
$el = this.$el,
disabled = this.disabled,
visiblePanel = this.visiblePanel;
if (!disabled) {
this.isActivated = dom.getEventTargetNode(evnt, $el).flag || dom.getEventTargetNode(evnt, $refs.panel).flag;
if (visiblePanel && !this.isActivated) {
this.hidePanel();
this.$emit('hide-panel', {
$event: evnt
});
}
}
},
handleGlobalBlurEvent: function handleGlobalBlurEvent(evnt) {
if (this.visiblePanel) {
this.isActivated = false;
this.hidePanel();
this.$emit('hide-panel', {
$event: evnt
});
}
},
updateZindex: function updateZindex() {
if (this.panelIndex < utils.getLastZIndex()) {
this.panelIndex = utils.nextZIndex();
}
},
isPanelVisible: function isPanelVisible() {
return this.visiblePanel;
},
/**
* 切换下拉面板
*/
togglePanel: function togglePanel() {
if (this.visiblePanel) {
return this.hidePanel();
}
return this.showPanel();
},
/**
* 显示下拉面板
*/
showPanel: function showPanel() {
var _this = this;
if (!this.inited) {
this.inited = true;
if (this.transfer) {
document.body.appendChild(this.$refs.panel);
}
}
return new Promise(function (resolve) {
if (!_this.disabled) {
clearTimeout(_this.hidePanelTimeout);
_this.isActivated = true;
_this.animatVisible = true;
setTimeout(function () {
_this.visiblePanel = true;
_this.$emit('update:input', true);
_this.updatePlacement();
setTimeout(function () {
resolve(_this.updatePlacement());
}, 40);
}, 10);
_this.updateZindex();
} else {
resolve(_this.$nextTick());
}
});
},
/**
* 隐藏下拉面板
*/
hidePanel: function hidePanel() {
var _this2 = this;
this.visiblePanel = false;
this.$emit('update:input', false);
return new Promise(function (resolve) {
if (_this2.animatVisible) {
_this2.hidePanelTimeout = setTimeout(function () {
_this2.animatVisible = false;
resolve(_this2.$nextTick());
}, 350);
} else {
resolve(_this2.$nextTick());
}
});
},
/**
* 手动更新位置
*/
updatePlacement: function updatePlacement() {
var _this3 = this;
return this.$nextTick().then(function () {
var $refs = _this3.$refs,
transfer = _this3.transfer,
placement = _this3.placement,
panelIndex = _this3.panelIndex,
visiblePanel = _this3.visiblePanel;
if (visiblePanel) {
var panelElem = $refs.panel;
var targetElem = $refs.content;
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 _DomTools$getAbsolute = dom.getAbsolutePos(targetElem),
boundingTop = _DomTools$getAbsolute.boundingTop,
boundingLeft = _DomTools$getAbsolute.boundingLeft,
visibleHeight = _DomTools$getAbsolute.visibleHeight,
visibleWidth = _DomTools$getAbsolute.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");
}
}
}
}
_this3.panelStyle = panelStyle;
_this3.panelPlacement = panelPlacement;
}
}
return _this3.$nextTick();
});
}
}
});
// CONCATENATED MODULE: ./packages/pulldown/index.js
var Pulldown = Object.assign(pulldown, {
install: function install(Vue) {
Vue.component(pulldown.name, pulldown);
}
});
/* harmony default export */ var packages_pulldown = (Pulldown);
// CONCATENATED MODULE: ./packages/locale/lang/zh-CN.js
/* harmony default export */ var zh_CN = ({
vxe: {
loading: {
text: '加载中...'
},
error: {
groupFixed: '如果使用分组表头,固定列必须按组设置',
groupMouseRange: '分组表头与 "{0}" 不能同时使用,这可能会出现错误',
groupTag: '分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',
scrollErrProp: '启用虚拟滚动后不支持该参数 "{0}"',
errConflicts: '参数 "{0}" 与 "{1}" 有冲突',
unableInsert: '无法插入到指定位置,请检查参数是否正确',
useErr: '安装 "{0}" 模块时发生错误,可能顺序不正确,依赖的模块需要在 Table 之前安装',
barUnableLink: '工具栏无法关联表格',
expandContent: '展开行的插槽应该是 "content",请检查是否正确',
reqModule: '缺少 "{0}" 模块',
reqProp: '缺少必要的 "{0}" 参数,这可能会导致出现错误',
emptyProp: '参数 "{0}" 不允许为空',
errProp: '不支持的参数 "{0}",可能为 "{1}"',
colRepet: 'column.{0}="{1}" 重复了,这可能会导致某些功能无法使用',
notFunc: '方法 "{0}" 不存在',
notSlot: '插槽 "{0}" 不存在',
noTree: '树结构不支持 "{0}"',
notProp: '不支持的参数 "{0}"',
coverProp: '"{0}" 的参数 "{1}" 被覆盖,这可能会出现错误',
delFunc: '方法 "{0}" 已废弃,请使用 "{1}"',
delProp: '参数 "{0}" 已废弃,请使用 "{1}"',
delEvent: '事件 "{0}" 已废弃,请使用 "{1}"',
removeProp: '参数 "{0}" 已废弃,不建议使用,这可能会导致出现错误',
errFormat: '全局的格式化内容应该使用 "VXETable.formats" 定义,挂载 "formatter={0}" 的方式已不建议使用',
notType: '不支持的文件类型 "{0}"',
notExp: '该浏览器不支持导入/导出功能',
impFields: '导入失败,请检查字段名和数据格式是否正确',
treeNotImp: '树表格不支持导入'
},
renderer: {
search: '搜索',
cases: {
equal: '等于',
unequal: '不等于',
gt: '大于',
ge: '大于或等于',
lt: '小于',
le: '小于或等于',
begin: '开头是',
notbegin: '开头不是',
endin: '结尾是',
notendin: '结尾不是',
include: '包含',
exclude: '不包含',
between: '介于',
custom: '自定义筛选',
insensitive: '不区分大小写',
isSensitive: '区分大小写'
},
combination: {
menus: {
clearSort: '清除排序',
sortAsc: '升序',
sortDesc: '降序',
fixedColumn: '锁定列',
fixedGroup: '锁定组',
cancelFixed: '取消锁定',
fixedLeft: '锁定左侧',
fixedRight: '锁定右侧',
clearFilter: '清除筛选',
textOption: '文本筛选',
numberOption: '数值筛选'
},
popup: {
title: '自定义筛选的方式',
currColumnTitle: '当前列:',
and: '与',
or: '或',
describeHtml: '可用 ? 代表单个字符
用 * 代表任意多个字符'
},
empty: '(空白)',
notData: '无匹配项'
}
},
pro: {
area: {
mergeErr: '无法对合并单元格进行该操作',
multiErr: '无法对多重选择区域进行该操作',
extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作'
},
fnr: {
title: '查找和替换',
findLabel: '查找',
replaceLabel: '替换',
findTitle: '查找内容:',
replaceTitle: '替换为:',
tabs: {
find: '查找',
replace: '替换'
},
filter: {
re: '正则表达式',
whole: '全词匹配',
sensitive: '区分大小写'
},
btns: {
findNext: '查找下一个',
findAll: '查找全部',
replace: '替换',
replaceAll: '替换全部',
cancel: '取消'
},
header: {
seq: '#',
cell: '单元格',
value: '值'
},
empty: '(空值)',
reError: '无效的正则表达式',
recordCount: '已找到 {0} 个单元格',
notCell: '找不到匹配的单元格',
replaceSuccess: '成功替换 {0} 个单元格'
}
},
table: {
emptyText: '暂无数据',
allTitle: '全选/取消',
seqTitle: '#',
confirmFilter: '筛选',
resetFilter: '重置',
allFilter: '全部',
sortAsc: '升序:最低到最高',
sortDesc: '降序:最高到最低',
filter: '对所选的列启用筛选',
impSuccess: '成功导入 {0} 条记录',
expLoading: '正在导出中',
expSuccess: '导出成功',
expFilename: '导出_{0}',
expOriginFilename: '导出_源_{0}',
customTitle: '列设置',
customAll: '全部',
customConfirm: '确认',
customRestore: '还原'
},
grid: {
selectOneRecord: '请至少选择一条记录!',
deleteSelectRecord: '您确定要删除所选记录吗?',
removeSelectRecord: '您确定要移除所选记录吗?',
dataUnchanged: '数据未改动!',
delSuccess: '成功删除所选记录!',
saveSuccess: '保存成功!',
operError: '发生错误,操作失败!'
},
select: {
search: '搜索',
loadingText: '加载中',
emptyText: '暂无数据'
},
pager: {
goto: '前往',
pagesize: '{0}条/页',
total: '共 {0} 条记录',
pageClassifier: '页',
prevPage: '上一页',
nextPage: '下一页',
prevJump: '向上跳页',
nextJump: '向下跳页'
},
alert: {
title: '消息提示'
},
button: {
confirm: '确认',
cancel: '取消'
},
import: {
modes: {
covering: '覆盖',
insert: '新增'
},
impTitle: '导入数据',
impFile: '文件名',
impSelect: '选择文件',
impType: '文件类型',
impOpts: '参数设置',
impConfirm: '导入',
impCancel: '取消'
},
export: {
types: {
csv: 'CSV (逗号分隔)(*.csv)',
html: '网页(*.html)',
xml: 'XML 数据(*.xml)',
txt: '文本文件(制表符分隔)(*.txt)',
xls: 'Excel 97-2003 工作簿(*.xls)',
xlsx: 'Excel 工作簿(*.xlsx)',
pdf: 'PDF (*.pdf)'
},
modes: {
current: '当前数据(当前页的数据)',
selected: '选中数据(当前页选中的数据)',
all: '全量数据(包括所有分页的数据)'
},
printTitle: '打印数据',
expTitle: '导出数据',
expName: '文件名',
expNamePlaceholder: '请输入文件名',
expSheetName: '标题',
expSheetNamePlaceholder: '请输入标题',
expType: '保存类型',
expMode: '选择数据',
expCurrentColumn: '全部字段',
expColumn: '选择字段',
expOpts: '参数设置',
expOptHeader: '表头',
expHeaderTitle: '是否需要表头',
expOptFooter: '表尾',
expFooterTitle: '是否需要表尾',
expOptColgroup: '分组表头',
expColgroupTitle: '如果存在,则支持带有分组结构的表头',
expOptMerge: '合并',
expMergeTitle: '如果存在,则支持带有合并结构的单元格',
expOptAllExpand: '展开层级',
expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
expOptUseStyle: '样式',
expUseStyleTitle: '如果存在,则支持带样式的单元格',
expOptOriginal: '源数据',
expOriginalTitle: '如果为源数据,则支持导入到表格中',
expPrint: '打印',
expConfirm: '导出',
expCancel: '取消'
},
modal: {
zoomIn: '最大化',
zoomOut: '还原',
close: '关闭'
},
form: {
folding: '收起',
unfolding: '展开'
},
toolbar: {
import: '导入',
export: '导出',
print: '打印',
refresh: '刷新',
zoomIn: '全屏',
zoomOut: '还原',
custom: '列设置',
customAll: '全部',
customConfirm: '确认',
customRestore: '还原'
},
input: {
date: {
m1: '01 月',
m2: '02 月',
m3: '03 月',
m4: '04 月',
m5: '05 月',
m6: '06 月',
m7: '07 月',
m8: '08 月',
m9: '09 月',
m10: '10 月',
m11: '11 月',
m12: '12 月',
quarterLabel: '{0} 年',
monthLabel: '{0} 年',
dayLabel: '{0} 年 {1}',
labelFormat: {
date: 'yyyy-MM-dd',
time: 'HH:mm:ss',
datetime: 'yyyy-MM-dd HH:mm:ss',
week: 'yyyy 年第 WW 周',
month: 'yyyy-MM',
quarter: 'yyyy 年第 q 季度',
year: 'yyyy'
},
weeks: {
w: '周',
w0: '周日',
w1: '周一',
w2: '周二',
w3: '周三',
w4: '周四',
w5: '周五',
w6: '周六'
},
months: {
m0: '一月',
m1: '二月',
m2: '三月',
m3: '四月',
m4: '五月',
m5: '六月',
m6: '七月',
m7: '八月',
m8: '九月',
m9: '十月',
m10: '十一月',
m11: '十二月'
},
quarters: {
q1: '第一季度',
q2: '第二季度',
q3: '第三季度',
q4: '第四季度'
}
}
}
}
});
// CONCATENATED MODULE: ./packages/all.js
// 按需加载的组件
var components = [// 功能模块
Footer, Icon, Filter, Menu, Edit, Export, Keyboard, Validator, // 可选组件
Column, Colgroup, Grid, Toolbar, Pager, Checkbox, CheckboxGroup, Radio, RadioGroup, RadioButton, Input, Textarea, Button, Modal, Tooltip, Form, FormItem, FormGather, Select, Optgroup, Option, Switch, List, Pulldown, // 核心
Table]; // 默认安装
function all_install(Vue, options) {
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isPlainObject(options)) {
VXETable.setup(options);
}
components.map(function (component) {
return component.install(Vue);
});
} // 默认中文
VXETable.setup({
i18n: function i18n(key, args) {
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.toFormatString(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(zh_CN, key), args);
}
});
// EXTERNAL MODULE: ./styles/index.scss
var styles_0 = __webpack_require__("1a97");
// CONCATENATED MODULE: ./index.js
if (typeof window !== 'undefined' && window.Vue) {
window.Vue.use(all_namespaceObject);
}
/* harmony default export */ var index_0 = (all_namespaceObject);
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (index_0);
/***/ }),
/***/ "fb6a":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var $ = __webpack_require__("23e7");
var isArray = __webpack_require__("e8b5");
var isConstructor = __webpack_require__("68ee");
var isObject = __webpack_require__("861d");
var toAbsoluteIndex = __webpack_require__("23cb");
var lengthOfArrayLike = __webpack_require__("07fa");
var toIndexedObject = __webpack_require__("fc6a");
var createProperty = __webpack_require__("8418");
var wellKnownSymbol = __webpack_require__("b622");
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde");
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
var SPECIES = wellKnownSymbol('species');
var nativeSlice = [].slice;
var max = Math.max;
// `Array.prototype.slice` method
// https://tc39.es/ecma262/#sec-array.prototype.slice
// fallback for not array-like ES3 strings and DOM objects
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
slice: function slice(start, end) {
var O = toIndexedObject(this);
var length = lengthOfArrayLike(O);
var k = toAbsoluteIndex(start, length);
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
// inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
var Constructor, result, n;
if (isArray(O)) {
Constructor = O.constructor;
// cross-realm fallback
if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {
Constructor = undefined;
} else if (isObject(Constructor)) {
Constructor = Constructor[SPECIES];
if (Constructor === null) Constructor = undefined;
}
if (Constructor === Array || Constructor === undefined) {
return nativeSlice.call(O, k, fin);
}
}
result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
result.length = n;
return result;
}
});
/***/ }),
/***/ "fc6a":
/***/ (function(module, exports, __webpack_require__) {
// toObject with fallback for non-array-like ES3 strings
var IndexedObject = __webpack_require__("44ad");
var requireObjectCoercible = __webpack_require__("1d80");
module.exports = function (it) {
return IndexedObject(requireObjectCoercible(it));
};
/***/ }),
/***/ "fce3":
/***/ (function(module, exports, __webpack_require__) {
var fails = __webpack_require__("d039");
var global = __webpack_require__("da84");
// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
var $RegExp = global.RegExp;
module.exports = fails(function () {
var re = $RegExp('.', 's');
return !(re.dotAll && re.exec('\n') && re.flags === 's');
});
/***/ }),
/***/ "fdbc":
/***/ (function(module, exports) {
// iterable DOM collections
// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
module.exports = {
CSSRuleList: 0,
CSSStyleDeclaration: 0,
CSSValueList: 0,
ClientRectList: 0,
DOMRectList: 0,
DOMStringList: 0,
DOMTokenList: 1,
DataTransferItemList: 0,
FileList: 0,
HTMLAllCollection: 0,
HTMLCollection: 0,
HTMLFormElement: 0,
HTMLSelectElement: 0,
MediaList: 0,
MimeTypeArray: 0,
NamedNodeMap: 0,
NodeList: 1,
PaintRequestList: 0,
Plugin: 0,
PluginArray: 0,
SVGLengthList: 0,
SVGNumberList: 0,
SVGPathSegList: 0,
SVGPointList: 0,
SVGStringList: 0,
SVGTransformList: 0,
SourceBufferList: 0,
StyleSheetList: 0,
TextTrackCueList: 0,
TextTrackList: 0,
TouchList: 0
};
/***/ }),
/***/ "fdbf":
/***/ (function(module, exports, __webpack_require__) {
/* eslint-disable es/no-symbol -- required for testing */
var NATIVE_SYMBOL = __webpack_require__("4930");
module.exports = NATIVE_SYMBOL
&& !Symbol.sham
&& typeof Symbol.iterator == 'symbol';
/***/ }),
/***/ "fea9":
/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__("da84");
module.exports = global.Promise;
/***/ })
/******/ });
});