From 6d66b07aebed94119bb98f42c2683262b009f897 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Mon, 27 Jul 2020 09:15:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E8=A1=A8=E6=A0=BC=E5=86=BB?= =?UTF-8?q?=E7=BB=93=E5=88=97=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../columns/bootstrap-table-fixed-columns.js | 1865 ++++++++++++++--- .../bootstrap-table-fixed-columns.min.js | 10 + .../main/resources/static/ruoyi/css/ry-ui.css | 64 +- .../main/resources/static/ruoyi/js/ry-ui.js | 6 +- .../templates/demo/table/fixedColumns.html | 3 +- .../src/main/resources/templates/include.html | 16 +- 6 files changed, 1593 insertions(+), 371 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.min.js diff --git a/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js b/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js index 6861d5ff..f35b53cc 100644 --- a/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js +++ b/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js @@ -1,321 +1,1544 @@ -/** - * 基于bootstrap-table-fixed-columns修改 - * 支持左右列冻结、支持固定高度 - * Copyright (c) 2019 ruoyi - */ -(function ($) { - 'use strict'; - - $.extend($.fn.bootstrapTable.defaults, { - fixedColumns: false, - fixedNumber: 1, - rightFixedColumns: false, - rightFixedNumber: 1 - }); - - var BootstrapTable = $.fn.bootstrapTable.Constructor, - _initHeader = BootstrapTable.prototype.initHeader, - _initBody = BootstrapTable.prototype.initBody, - _resetView = BootstrapTable.prototype.resetView; - - BootstrapTable.prototype.initFixedColumns = function () { - this.timeoutHeaderColumns_ = 0; - this.timeoutBodyColumns_ = 0; - if (this.options.fixedColumns) { - this.$fixedHeader = $([ - '
', - '', - '', - '
', - '
'].join('')); - - this.$fixedHeader.find('table').attr('class', this.$el.attr('class')); - this.$fixedHeaderColumns = this.$fixedHeader.find('thead'); - this.$tableHeader.before(this.$fixedHeader); - - this.$fixedBody = $([ - '
', - '', - '', - '
', - '
'].join('')); - - this.$fixedBody.find('table').attr('class', this.$el.attr('class')); - this.$fixedBodyColumns = this.$fixedBody.find('tbody'); - this.$tableBody.before(this.$fixedBody); - } - if (this.options.rightFixedColumns) { - this.$rightfixedBody = $([ - '
', - '', - '', - '', - '
', - '
'].join('')); - this.$rightfixedBody.find('table').attr('class', this.$el.attr('class')); - this.$rightfixedHeaderColumns = this.$rightfixedBody.find('thead'); - this.$rightfixedBodyColumns = this.$rightfixedBody.find('tbody'); - this.$tableBody.before(this.$rightfixedBody); - if (this.options.fixedColumns) { - $('.right-fixed-table-columns').attr('style','right:0px;'); - } - } - }; - - BootstrapTable.prototype.initHeader = function () { - _initHeader.apply(this, Array.prototype.slice.apply(arguments)); - - if (!this.options.fixedColumns && !this.options.rightFixedColumns){ - return; - } - this.initFixedColumns(); - - var $ltr = this.$header.find('tr:eq(0)').clone(true), - $rtr = this.$header.find('tr:eq(0)').clone(), - $lths = $ltr.clone(true).find('th'), - $rths = $rtr.clone().find('th'); - - $ltr.html(''); - $rtr.html(''); - //右边列冻结 - if (this.options.rightFixedColumns) { - for (var i = 0; i < this.options.rightFixedNumber; i++) { - $rtr.append($rths.eq($rths.length - this.options.rightFixedNumber + i).clone()); - } - this.$rightfixedHeaderColumns.html('').append($rtr); - } - - //左边列冻结 - if (this.options.fixedColumns) { - for (var i = 0; i < this.options.fixedNumber; i++) { - $ltr.append($lths.eq(i).clone(true)); - } - this.$fixedHeaderColumns.html('').append($ltr); - this.$selectAll = $ltr.find('[name="btSelectAll"]'); - this.$selectAll.on('click', function () { - var checked = $(this).prop('checked'); - $(".left-fixed-body-columns input[name=btSelectItem]").filter(':enabled').prop('checked', checked); - $('.fixed-table-body input[name=btSelectItem]').closest('tr').removeClass('selected'); - }); - } - }; - - BootstrapTable.prototype.initBody = function () { - _initBody.apply(this, Array.prototype.slice.apply(arguments)); - - if (!this.options.fixedColumns && !this.options.rightFixedColumns) { - return; - } - - var that = this; - if (this.options.fixedColumns) { - this.$fixedBodyColumns.html(''); - this.$body.find('> tr[data-index]').each(function () { - var $tr = $(this).clone(true), - $tds = $tr.clone(true).find('td'); - - $tr.html(''); - for (var i = 0; i < that.options.fixedNumber; i++) { - $tr.append($tds.eq(i).clone(true)); - } - that.$fixedBodyColumns.append($tr); - }); - } - if (this.options.rightFixedColumns) { - this.$rightfixedBodyColumns.html(''); - this.$body.find('> tr[data-index]').each(function () { - var $tr = $(this).clone(), - $tds = $tr.clone().find('td'); - - $tr.html(''); - for (var i = 0; i < that.options.rightFixedNumber; i++) { - var indexTd = $tds.length - that.options.rightFixedNumber + i; - var oldTd = $tds.eq(indexTd); - var fixTd = oldTd.clone(); - var buttons = fixTd.find('button'); - //事件转移:冻结列里面的事件转移到实际按钮的事件 - buttons.each(function (key, item) { - $(item).click(function () { - that.$body.find("tr[data-index=" + $tr.attr('data-index') + "] td:eq(" + indexTd + ") button:eq(" + key + ")").click(); - }); - }); - $tr.append(fixTd); - } - that.$rightfixedBodyColumns.append($tr); - }); - } - }; - - BootstrapTable.prototype.resetView = function () { - _resetView.apply(this, Array.prototype.slice.apply(arguments)); - - if (!this.options.fixedColumns && !this.options.rightFixedColumns) { - return; - } - - clearTimeout(this.timeoutHeaderColumns_); - this.timeoutHeaderColumns_ = setTimeout($.proxy(this.fitHeaderColumns, this), this.$el.is(':hidden') ? 100 : 0); - - clearTimeout(this.timeoutBodyColumns_); - this.timeoutBodyColumns_ = setTimeout($.proxy(this.fitBodyColumns, this), this.$el.is(':hidden') ? 100 : 0); - }; - - BootstrapTable.prototype.fitHeaderColumns = function () { - var that = this, - visibleFields = this.getVisibleFields(), - headerWidth = 0; - if (that.options.fixedColumns) { - this.$body.find('tr:first-child:not(.no-records-found) > *').each(function (i) { - var $this = $(this), - index = i; - - if (i >= that.options.fixedNumber) { - return false; - } - - if (that.options.detailView && !that.options.cardView) { - index = i - 1; - } - that.$fixedHeader.find('thead th[data-field="' + visibleFields[index] + '"]') - .find('.fht-cell').width($this.innerWidth()); - headerWidth += $this.outerWidth(); - }); - this.$fixedHeader.width(headerWidth + 2).show(); - } - if (that.options.rightFixedColumns) { - headerWidth = 0; - var totalLength = $("#" + table.options.id).find('th').length; - this.$body.find('tr:first-child:not(.no-records-found) > *').each(function (i) { - var $this = $(this), - index = totalLength - i - 1; - - if (i >= that.options.rightFixedNumber) { - return false; - } - headerWidth += $("#" + table.options.id).find("tr:first-child>th").eq(index).width(); - }); - this.$rightfixedBody.width(headerWidth - 1).show(); - } - }; - - BootstrapTable.prototype.fitBodyColumns = function () { - var that = this, - top = -(parseInt(this.$el.css('margin-top'))), - height = this.$tableBody.height(); - - if (that.options.fixedColumns) { - if (!this.$body.find('> tr[data-index]').length) { - this.$fixedBody.hide(); - return; - } - - if (!this.options.height) { - top = this.$fixedHeader.height()- 1; - height = height - top; - } - - this.$fixedBody.css({ - width: this.$fixedHeader.width(), - height: height, - top: top + 1 - }).show(); - - var bsHeight = $("#" + table.options.id).find("tr").eq(1).height(); - var fixedHeight = $("#" + table.options.id).parent().prev().find("tr").eq(1).height(); - var resizeHeight = bsHeight > fixedHeight ? bsHeight: fixedHeight; - this.$body.find('> tr').each(function (i) { - that.$fixedBody.find('tr:eq(' + i + ')').height(i == 0 ? resizeHeight - 1 : resizeHeight); - $("#" + table.options.id).find('tbody>tr:eq(' + i + ')').height(resizeHeight); - var thattds = this; - that.$fixedBody.find('tr:eq(' + i + ')').find('td').each(function (j) { - $(this).width($($(thattds).find('td')[j]).width() + 1); - }); - }); - - $("#" + table.options.id).on("check.bs.table uncheck.bs.table", function (e, rows, $element) { - var index= $element.data('index'); - $(this).find('.bs-checkbox').find('input[data-index="' + index + '"]').prop("checked", true); - var selectFixedItem = $('.left-fixed-body-columns input[name=btSelectItem]'); - var checkAll = selectFixedItem.filter(':enabled').length && - selectFixedItem.filter(':enabled').length === - selectFixedItem.filter(':enabled').filter(':checked').length; - $(".left-fixed-table-columns input[name=btSelectAll]").prop('checked', checkAll); - $('.fixed-table-body input[name=btSelectItem]').closest('tr').removeClass('selected'); - }); - - $("#" + table.options.id).off('click', '.fixed-table-body').on('click', '.th-inner', function (event) { - $.each(that.$fixedHeader.find('th'), function (i, th) { - $(th).find('.sortable').removeClass('desc asc').addClass('both'); - }); - }); - - // events - this.$fixedHeader.off('click', '.th-inner').on('click', '.th-inner', function (event) { - var target = $(this); - var $this = event.type === "keypress" ? $(event.currentTarget) : $(event.currentTarget).parent(), $this_ = that.$header.find('th').eq($this.index()); - - var sortOrder = ""; - if (table.options.sortName === $this.data('field')) { - sortOrder = table.options.sortOrder === 'asc' ? 'desc' : 'asc'; - } else { - sortOrder = $this.data('order') === 'asc' ? 'desc' : 'asc'; - } - table.options.sortOrder = sortOrder; - var sortName = $this.data('sortName') ? $this.data('sortName') : $this.data('field'); - if (target.parent().data().sortable) { - $.each(that.$fixedHeader.find('th'), function (i, th) { - $(th).find('.sortable').removeClass('desc asc').addClass(($(th).data('field') === sortName || $(th).data('sortName') === sortName) ? sortOrder : 'both'); - }); - } - }); - - this.$tableBody.on('scroll', function () { - that.$fixedBody.find('table').css('top', -$(this).scrollTop()); - }); - this.$body.find('> tr[data-index]').off('hover').hover(function () { - var index = $(this).data('index'); - that.$fixedBody.find('tr[data-index="' + index + '"]').addClass('hover'); - }, function () { - var index = $(this).data('index'); - that.$fixedBody.find('tr[data-index="' + index + '"]').removeClass('hover'); - }); - this.$fixedBody.find('tr[data-index]').off('hover').hover(function () { - var index = $(this).data('index'); - that.$body.find('tr[data-index="' + index + '"]').addClass('hover'); - }, function () { - var index = $(this).data('index'); - that.$body.find('> tr[data-index="' + index + '"]').removeClass('hover'); - }); - } - if (that.options.rightFixedColumns) { - if (!this.$body.find('> tr[data-index]').length) { - this.$rightfixedBody.hide(); - return; - } - - this.$body.find('> tr').each(function (i) { - that.$rightfixedBody.find('tbody tr:eq(' + i + ')').height($(this).height()); - }); - - //// events - this.$tableBody.on('scroll', function () { - that.$rightfixedBody.find('table').css('top', -$(this).scrollTop()); - }); - this.$body.find('> tr[data-index]').off('hover').hover(function () { - var index = $(this).data('index'); - that.$rightfixedBody.find('tr[data-index="' + index + '"]').addClass('hover'); - }, function () { - var index = $(this).data('index'); - that.$rightfixedBody.find('tr[data-index="' + index + '"]').removeClass('hover'); - }); - this.$rightfixedBody.find('tr[data-index]').off('hover').hover(function () { - var index = $(this).data('index'); - that.$body.find('tr[data-index="' + index + '"]').addClass('hover'); - }, function () { - var index = $(this).data('index'); - that.$body.find('> tr[data-index="' + index + '"]').removeClass('hover'); - }); - } - }; - -})(jQuery); \ No newline at end of file +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : + typeof define === 'function' && define.amd ? define(['jquery'], factory) : + (global = global || self, factory(global.jQuery)); +}(this, (function ($) { 'use strict'; + + $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $; + + var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var check = function (it) { + return it && it.Math == Math && it; + }; + + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global_1 = + // eslint-disable-next-line no-undef + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + check(typeof self == 'object' && self) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || + // eslint-disable-next-line no-new-func + Function('return this')(); + + var fails = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } + }; + + // Thank's IE8 for his funny defineProperty + var descriptors = !fails(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; + }); + + var nativePropertyIsEnumerable = {}.propertyIsEnumerable; + var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + + // Nashorn ~ JDK8 bug + var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + + // `Object.prototype.propertyIsEnumerable` method implementation + // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable + var f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; + } : nativePropertyIsEnumerable; + + var objectPropertyIsEnumerable = { + f: f + }; + + var createPropertyDescriptor = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; + }; + + var toString = {}.toString; + + var classofRaw = function (it) { + return toString.call(it).slice(8, -1); + }; + + var split = ''.split; + + // fallback for non-array-like ES3 and non-enumerable old V8 strings + var indexedObject = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins + return !Object('z').propertyIsEnumerable(0); + }) ? function (it) { + return classofRaw(it) == 'String' ? split.call(it, '') : Object(it); + } : Object; + + // `RequireObjectCoercible` abstract operation + // https://tc39.github.io/ecma262/#sec-requireobjectcoercible + var requireObjectCoercible = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; + }; + + // toObject with fallback for non-array-like ES3 strings + + + + var toIndexedObject = function (it) { + return indexedObject(requireObjectCoercible(it)); + }; + + var isObject = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; + }; + + // `ToPrimitive` abstract operation + // https://tc39.github.io/ecma262/#sec-toprimitive + // instead of the ES6 spec version, we didn't implement @@toPrimitive case + // and the second argument - flag - preferred type is a string + var toPrimitive = function (input, PREFERRED_STRING) { + if (!isObject(input)) return input; + var fn, val; + if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; + if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); + }; + + var hasOwnProperty = {}.hasOwnProperty; + + var has = function (it, key) { + return hasOwnProperty.call(it, key); + }; + + var document$1 = global_1.document; + // typeof document.createElement is 'object' in old IE + var EXISTS = isObject(document$1) && isObject(document$1.createElement); + + var documentCreateElement = function (it) { + return EXISTS ? document$1.createElement(it) : {}; + }; + + // Thank's IE8 for his funny defineProperty + var ie8DomDefine = !descriptors && !fails(function () { + return Object.defineProperty(documentCreateElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; + }); + + var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + + // `Object.getOwnPropertyDescriptor` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor + var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (ie8DomDefine) try { + return nativeGetOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); + }; + + var objectGetOwnPropertyDescriptor = { + f: f$1 + }; + + var anObject = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; + }; + + var nativeDefineProperty = Object.defineProperty; + + // `Object.defineProperty` method + // https://tc39.github.io/ecma262/#sec-object.defineproperty + var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (ie8DomDefine) try { + return nativeDefineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; + }; + + var objectDefineProperty = { + f: f$2 + }; + + var createNonEnumerableProperty = descriptors ? function (object, key, value) { + return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value)); + } : function (object, key, value) { + object[key] = value; + return object; + }; + + var setGlobal = function (key, value) { + try { + createNonEnumerableProperty(global_1, key, value); + } catch (error) { + global_1[key] = value; + } return value; + }; + + var SHARED = '__core-js_shared__'; + var store = global_1[SHARED] || setGlobal(SHARED, {}); + + var sharedStore = store; + + var functionToString = Function.toString; + + // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper + if (typeof sharedStore.inspectSource != 'function') { + sharedStore.inspectSource = function (it) { + return functionToString.call(it); + }; + } + + var inspectSource = sharedStore.inspectSource; + + var WeakMap = global_1.WeakMap; + + var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); + + var shared = createCommonjsModule(function (module) { + (module.exports = function (key, value) { + return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); + })('versions', []).push({ + version: '3.6.0', + mode: 'global', + copyright: '© 2019 Denis Pushkarev (zloirock.ru)' + }); + }); + + var id = 0; + var postfix = Math.random(); + + var uid = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); + }; + + var keys = shared('keys'); + + var sharedKey = function (key) { + return keys[key] || (keys[key] = uid(key)); + }; + + var hiddenKeys = {}; + + var WeakMap$1 = global_1.WeakMap; + var set, get, has$1; + + var enforce = function (it) { + return has$1(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 (nativeWeakMap) { + var store$1 = new WeakMap$1(); + var wmget = store$1.get; + var wmhas = store$1.has; + var wmset = store$1.set; + set = function (it, metadata) { + wmset.call(store$1, it, metadata); + return metadata; + }; + get = function (it) { + return wmget.call(store$1, it) || {}; + }; + has$1 = function (it) { + return wmhas.call(store$1, it); + }; + } else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return has(it, STATE) ? it[STATE] : {}; + }; + has$1 = function (it) { + return has(it, STATE); + }; + } + + var internalState = { + set: set, + get: get, + has: has$1, + enforce: enforce, + getterFor: getterFor + }; + + var redefine = createCommonjsModule(function (module) { + var getInternalState = internalState.get; + var enforceInternalState = internalState.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; + if (typeof value == 'function') { + if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key); + enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + if (O === global_1) { + 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 typeof this == 'function' && getInternalState(this).source || inspectSource(this); + }); + }); + + var path = global_1; + + var aFunction = function (variable) { + return typeof variable == 'function' ? variable : undefined; + }; + + var getBuiltIn = function (namespace, method) { + return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace]) + : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method]; + }; + + var ceil = Math.ceil; + var floor = Math.floor; + + // `ToInteger` abstract operation + // https://tc39.github.io/ecma262/#sec-tointeger + var toInteger = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); + }; + + var min = Math.min; + + // `ToLength` abstract operation + // https://tc39.github.io/ecma262/#sec-tolength + var toLength = function (argument) { + return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 + }; + + var max = Math.max; + var min$1 = 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). + var toAbsoluteIndex = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min$1(integer, length); + }; + + // `Array.prototype.{ indexOf, includes }` methods implementation + var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + 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; + }; + }; + + var arrayIncludes = { + // `Array.prototype.includes` method + // https://tc39.github.io/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.github.io/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) + }; + + var indexOf = arrayIncludes.indexOf; + + + var objectKeysInternal = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; + }; + + // IE8- don't enum bug keys + var enumBugKeys = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' + ]; + + var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype'); + + // `Object.getOwnPropertyNames` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertynames + var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return objectKeysInternal(O, hiddenKeys$1); + }; + + var objectGetOwnPropertyNames = { + f: f$3 + }; + + var f$4 = Object.getOwnPropertySymbols; + + var objectGetOwnPropertySymbols = { + f: f$4 + }; + + // all object keys, includes non-enumerable and symbols + var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = objectGetOwnPropertyNames.f(anObject(it)); + var getOwnPropertySymbols = objectGetOwnPropertySymbols.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; + }; + + var copyConstructorProperties = function (target, source) { + var keys = ownKeys(source); + var defineProperty = objectDefineProperty.f; + var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + }; + + var replacement = /#|\.prototype\./; + + var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; + }; + + var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); + }; + + var data = isForced.data = {}; + var NATIVE = isForced.NATIVE = 'N'; + var POLYFILL = isForced.POLYFILL = 'P'; + + var isForced_1 = isForced; + + var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; + + + + + + + /* + 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 + */ + var _export = 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_1; + } else if (STATIC) { + target = global_1[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global_1[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor$1(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced_1(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); + } + }; + + // `IsArray` abstract operation + // https://tc39.github.io/ecma262/#sec-isarray + var isArray = Array.isArray || function isArray(arg) { + return classofRaw(arg) == 'Array'; + }; + + // `ToObject` abstract operation + // https://tc39.github.io/ecma262/#sec-toobject + var toObject = function (argument) { + return Object(requireObjectCoercible(argument)); + }; + + var createProperty = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; + }; + + var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { + // Chrome 38 Symbol has incorrect toString conversion + // eslint-disable-next-line no-undef + return !String(Symbol()); + }); + + var useSymbolAsUid = nativeSymbol + // eslint-disable-next-line no-undef + && !Symbol.sham + // eslint-disable-next-line no-undef + && typeof Symbol() == 'symbol'; + + var WellKnownSymbolsStore = shared('wks'); + var Symbol$1 = global_1.Symbol; + var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid; + + var wellKnownSymbol = function (name) { + if (!has(WellKnownSymbolsStore, name)) { + if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name]; + else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; + }; + + var SPECIES = wellKnownSymbol('species'); + + // `ArraySpeciesCreate` abstract operation + // https://tc39.github.io/ecma262/#sec-arrayspeciescreate + var arraySpeciesCreate = function (originalArray, length) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); + }; + + var userAgent = getBuiltIn('navigator', 'userAgent') || ''; + + var process = global_1.process; + var versions = process && process.versions; + var v8 = versions && versions.v8; + var match, version; + + if (v8) { + match = v8.split('.'); + version = 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]; + } + } + + var v8Version = version && +version; + + var SPECIES$1 = wellKnownSymbol('species'); + + var arrayMethodHasSpeciesSupport = 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 v8Version >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES$1] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); + }; + + var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; + var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; + + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/679 + var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; + }); + + var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); + + var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); + }; + + var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + + // `Array.prototype.concat` method + // https://tc39.github.io/ecma262/#sec-array.prototype.concat + // with adding support of @@isConcatSpreadable and @@species + _export({ target: 'Array', proto: true, forced: FORCED }, { + concat: function concat(arg) { // eslint-disable-line no-unused-vars + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = toLength(E.length); + if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } + }); + + var aFunction$1 = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; + }; + + // optional / simple context binding + var bindContext = function (fn, that, length) { + aFunction$1(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); + }; + }; + + var push = [].push; + + // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation + var createMethod$1 = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = indexedObject(O); + var boundFunction = bindContext(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push.call(target, value); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; + }; + + var arrayIteration = { + // `Array.prototype.forEach` method + // https://tc39.github.io/ecma262/#sec-array.prototype.foreach + forEach: createMethod$1(0), + // `Array.prototype.map` method + // https://tc39.github.io/ecma262/#sec-array.prototype.map + map: createMethod$1(1), + // `Array.prototype.filter` method + // https://tc39.github.io/ecma262/#sec-array.prototype.filter + filter: createMethod$1(2), + // `Array.prototype.some` method + // https://tc39.github.io/ecma262/#sec-array.prototype.some + some: createMethod$1(3), + // `Array.prototype.every` method + // https://tc39.github.io/ecma262/#sec-array.prototype.every + every: createMethod$1(4), + // `Array.prototype.find` method + // https://tc39.github.io/ecma262/#sec-array.prototype.find + find: createMethod$1(5), + // `Array.prototype.findIndex` method + // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod$1(6) + }; + + // `Object.keys` method + // https://tc39.github.io/ecma262/#sec-object.keys + var objectKeys = Object.keys || function keys(O) { + return objectKeysInternal(O, enumBugKeys); + }; + + // `Object.defineProperties` method + // https://tc39.github.io/ecma262/#sec-object.defineproperties + var objectDefineProperties = 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) objectDefineProperty.f(O, key = keys[index++], Properties[key]); + return O; + }; + + var html = getBuiltIn('document', 'documentElement'); + + 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 { + /* global ActiveXObject */ + activeXDocument = document.domain && new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); + }; + + hiddenKeys[IE_PROTO] = true; + + // `Object.create` method + // https://tc39.github.io/ecma262/#sec-object.create + var objectCreate = 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 : objectDefineProperties(result, Properties); + }; + + var UNSCOPABLES = wellKnownSymbol('unscopables'); + var ArrayPrototype = Array.prototype; + + // Array.prototype[@@unscopables] + // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables + if (ArrayPrototype[UNSCOPABLES] == undefined) { + objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: objectCreate(null) + }); + } + + // add a key to Array.prototype[@@unscopables] + var addToUnscopables = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; + }; + + var $find = arrayIteration.find; + + + 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.github.io/ecma262/#sec-array.prototype.find + _export({ 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.github.io/ecma262/#sec-array.prototype-@@unscopables + addToUnscopables(FIND); + + var sloppyArrayMethod = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !method || !fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal + method.call(null, argument || function () { throw 1; }, 1); + }); + }; + + var $indexOf = arrayIncludes.indexOf; + + + var nativeIndexOf = [].indexOf; + + var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; + var SLOPPY_METHOD = sloppyArrayMethod('indexOf'); + + // `Array.prototype.indexOf` method + // https://tc39.github.io/ecma262/#sec-array.prototype.indexof + _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); + } + }); + + var nativeReverse = [].reverse; + var test = [1, 2]; + + // `Array.prototype.reverse` method + // https://tc39.github.io/ecma262/#sec-array.prototype.reverse + // fix for Safari 12.0 bug + // https://bugs.webkit.org/show_bug.cgi?id=188794 + _export({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign + if (isArray(this)) this.length = this.length; + return nativeReverse.call(this); + } + }); + + // a string of all valid unicode whitespaces + // eslint-disable-next-line max-len + var whitespaces = '\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'; + + var whitespace = '[' + whitespaces + ']'; + var ltrim = RegExp('^' + whitespace + whitespace + '*'); + var rtrim = RegExp(whitespace + whitespace + '*$'); + + // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation + var createMethod$2 = function (TYPE) { + return function ($this) { + var string = String(requireObjectCoercible($this)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; + }; + }; + + var stringTrim = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart + start: createMethod$2(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.github.io/ecma262/#sec-string.prototype.trimend + end: createMethod$2(2), + // `String.prototype.trim` method + // https://tc39.github.io/ecma262/#sec-string.prototype.trim + trim: createMethod$2(3) + }; + + var trim = stringTrim.trim; + + + var nativeParseInt = global_1.parseInt; + var hex = /^[+-]?0[Xx]/; + var FORCED$1 = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22; + + // `parseInt` method + // https://tc39.github.io/ecma262/#sec-parseint-string-radix + var _parseInt = FORCED$1 ? function parseInt(string, radix) { + var S = trim(String(string)); + return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); + } : nativeParseInt; + + // `parseInt` method + // https://tc39.github.io/ecma262/#sec-parseint-string-radix + _export({ global: true, forced: parseInt != _parseInt }, { + parseInt: _parseInt + }); + + function _typeof(obj) { + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); + } + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); + } + + function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); + } + + function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; + } + + function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); + } + + function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = _getPrototypeOf(object); + if (object === null) break; + } + + return object; + } + + function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get(target, property, receiver) { + var base = _superPropBase(target, property); + + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + } + + return _get(target, property, receiver || target); + } + + /** + * @author zhixin wen + */ + + var Utils = $.fn.bootstrapTable.utils; // Reasonable defaults + + var PIXEL_STEP = 10; + var LINE_HEIGHT = 40; + var PAGE_HEIGHT = 800; + + function normalizeWheel(event) { + var sX = 0; // spinX + + var sY = 0; // spinY + + var pX = 0; // pixelX + + var pY = 0; // pixelY + // Legacy + + if ('detail' in event) { + sY = event.detail; + } + + if ('wheelDelta' in event) { + sY = -event.wheelDelta / 120; + } + + if ('wheelDeltaY' in event) { + sY = -event.wheelDeltaY / 120; + } + + if ('wheelDeltaX' in event) { + sX = -event.wheelDeltaX / 120; + } // side scrolling on FF with DOMMouseScroll + + + if ('axis' in event && event.axis === event.HORIZONTAL_AXIS) { + sX = sY; + sY = 0; + } + + pX = sX * PIXEL_STEP; + pY = sY * PIXEL_STEP; + + if ('deltaY' in event) { + pY = event.deltaY; + } + + if ('deltaX' in event) { + pX = event.deltaX; + } + + if ((pX || pY) && event.deltaMode) { + if (event.deltaMode === 1) { + // delta in LINE units + pX *= LINE_HEIGHT; + pY *= LINE_HEIGHT; + } else { + // delta in PAGE units + pX *= PAGE_HEIGHT; + pY *= PAGE_HEIGHT; + } + } // Fall-back if spin cannot be determined + + + if (pX && !sX) { + sX = pX < 1 ? -1 : 1; + } + + if (pY && !sY) { + sY = pY < 1 ? -1 : 1; + } + + return { + spinX: sX, + spinY: sY, + pixelX: pX, + pixelY: pY + }; + } + + $.extend($.fn.bootstrapTable.defaults, { + fixedColumns: false, + fixedNumber: 0, + fixedRightNumber: 0 + }); + + $.BootstrapTable = + /*#__PURE__*/ + function (_$$BootstrapTable) { + _inherits(_class, _$$BootstrapTable); + + function _class() { + _classCallCheck(this, _class); + + return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments)); + } + + _createClass(_class, [{ + key: "fixedColumnsSupported", + value: function fixedColumnsSupported() { + return this.options.fixedColumns && !this.options.detailView && !this.options.cardView; + } + }, { + key: "initContainer", + value: function initContainer() { + _get(_getPrototypeOf(_class.prototype), "initContainer", this).call(this); + + if (!this.fixedColumnsSupported()) { + return; + } + + if (this.options.fixedNumber) { + this.$tableContainer.append('
'); + this.$fixedColumns = this.$tableContainer.find('.fixed-columns'); + } + + if (this.options.fixedRightNumber) { + this.$tableContainer.append('
'); + this.$fixedColumnsRight = this.$tableContainer.find('.fixed-columns-right'); + } + } + }, { + key: "initBody", + value: function initBody() { + var _get2; + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + (_get2 = _get(_getPrototypeOf(_class.prototype), "initBody", this)).call.apply(_get2, [this].concat(args)); + + if (!this.fixedColumnsSupported()) { + return; + } + + if (this.options.showHeader && this.options.height) { + return; + } + + this.initFixedColumnsBody(); + this.initFixedColumnsEvents(); + } + }, { + key: "trigger", + value: function trigger() { + var _get3; + + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + (_get3 = _get(_getPrototypeOf(_class.prototype), "trigger", this)).call.apply(_get3, [this].concat(args)); + + if (!this.fixedColumnsSupported()) { + return; + } + + if (args[0] === 'post-header') { + this.initFixedColumnsHeader(); + } else if (args[0] === 'scroll-body') { + if (this.needFixedColumns && this.options.fixedNumber) { + this.$fixedBody.scrollTop(this.$tableBody.scrollTop()); + } + + if (this.needFixedColumns && this.options.fixedRightNumber) { + this.$fixedBodyRight.scrollTop(this.$tableBody.scrollTop()); + } + } + } + }, { + key: "updateSelected", + value: function updateSelected() { + var _this = this; + + _get(_getPrototypeOf(_class.prototype), "updateSelected", this).call(this); + + if (!this.fixedColumnsSupported()) { + return; + } + + this.$tableBody.find('tr').each(function (i, el) { + var $el = $(el); + var index = $el.data('index'); + var classes = $el.attr('class'); + var inputSelector = "[name=\"".concat(_this.options.selectItemName, "\"]"); + var $input = $el.find(inputSelector); + + if (_typeof(index) === undefined) { + return; + } + + var updateFixedBody = function updateFixedBody($fixedHeader, $fixedBody) { + var $tr = $fixedBody.find("tr[data-index=\"".concat(index, "\"]")); + $tr.attr('class', classes); + + if ($input.length) { + $tr.find(inputSelector).prop('checked', $input.prop('checked')); + } + + if (_this.$selectAll.length) { + $fixedHeader.add($fixedBody).find('[name="btSelectAll"]').prop('checked', _this.$selectAll.prop('checked')); + } + }; + + if (_this.$fixedBody && _this.options.fixedNumber) { + updateFixedBody(_this.$fixedHeader, _this.$fixedBody); + } + + if (_this.$fixedBodyRight && _this.options.fixedRightNumber) { + updateFixedBody(_this.$fixedHeaderRight, _this.$fixedBodyRight); + } + }); + } + }, { + key: "hideLoading", + value: function hideLoading() { + _get(_getPrototypeOf(_class.prototype), "hideLoading", this).call(this); + + if (this.needFixedColumns && this.options.fixedNumber) { + this.$fixedColumns.find('.fixed-table-loading').hide(); + } + + if (this.needFixedColumns && this.options.fixedRightNumber) { + this.$fixedColumnsRight.find('.fixed-table-loading').hide(); + } + } + }, { + key: "initFixedColumnsHeader", + value: function initFixedColumnsHeader() { + var _this2 = this; + + if (this.options.height) { + this.needFixedColumns = this.$tableHeader.outerWidth(true) < this.$tableHeader.find('table').outerWidth(true); + } else { + this.needFixedColumns = this.$tableBody.outerWidth(true) < this.$tableBody.find('table').outerWidth(true); + } + + var initFixedHeader = function initFixedHeader($fixedColumns, isRight) { + $fixedColumns.find('.fixed-table-header').remove(); + $fixedColumns.append(_this2.$tableHeader.clone(true)); + $fixedColumns.css({ + width: _this2.getFixedColumnsWidth(isRight) + }); + return $fixedColumns.find('.fixed-table-header'); + }; + + if (this.needFixedColumns && this.options.fixedNumber) { + this.$fixedHeader = initFixedHeader(this.$fixedColumns); + this.$fixedHeader.css('margin-right', ''); + } else if (this.$fixedColumns) { + this.$fixedColumns.html('').css('width', ''); + } + + if (this.needFixedColumns && this.options.fixedRightNumber) { + this.$fixedHeaderRight = initFixedHeader(this.$fixedColumnsRight, true); + this.$fixedHeaderRight.scrollLeft(this.$fixedHeaderRight.find('table').width()); + } else if (this.$fixedColumnsRight) { + this.$fixedColumnsRight.html('').css('width', ''); + } + + this.initFixedColumnsBody(); + this.initFixedColumnsEvents(); + } + }, { + key: "initFixedColumnsBody", + value: function initFixedColumnsBody() { + var _this3 = this; + + var initFixedBody = function initFixedBody($fixedColumns, $fixedHeader) { + $fixedColumns.find('.fixed-table-body').remove(); + $fixedColumns.append(_this3.$tableBody.clone(true)); + var $fixedBody = $fixedColumns.find('.fixed-table-body'); + + var tableBody = _this3.$tableBody.get(0); + + var scrollHeight = tableBody.scrollWidth > tableBody.clientWidth ? Utils.getScrollBarWidth() : 0; + var height = _this3.$tableContainer.outerHeight(true) - scrollHeight - 1; + $fixedColumns.css({ + height: height + }); + $fixedBody.css({ + height: height - $fixedHeader.height() + }); + return $fixedBody; + }; + + if (this.needFixedColumns && this.options.fixedNumber) { + this.$fixedBody = initFixedBody(this.$fixedColumns, this.$fixedHeader); + } + + if (this.needFixedColumns && this.options.fixedRightNumber) { + this.$fixedBodyRight = initFixedBody(this.$fixedColumnsRight, this.$fixedHeaderRight); + this.$fixedBodyRight.scrollLeft(this.$fixedBodyRight.find('table').width()); + this.$fixedBodyRight.css('overflow-y', this.options.height ? 'auto' : 'hidden'); + } + } + }, { + key: "getFixedColumnsWidth", + value: function getFixedColumnsWidth(isRight) { + var visibleFields = this.getVisibleFields(); + var width = 0; + var fixedNumber = this.options.fixedNumber; + var marginRight = 0; + + if (isRight) { + visibleFields = visibleFields.reverse(); + fixedNumber = this.options.fixedRightNumber; + marginRight = parseInt(this.$tableHeader.css('margin-right'), 10); + } + + for (var i = 0; i < fixedNumber; i++) { + width += this.$header.find("th[data-field=\"".concat(visibleFields[i], "\"]")).outerWidth(true); + } + + return width + marginRight + 1; + } + }, { + key: "initFixedColumnsEvents", + value: function initFixedColumnsEvents() { + var _this4 = this; + + var toggleHover = function toggleHover(e, toggle) { + var tr = "tr[data-index=\"".concat($(e.currentTarget).data('index'), "\"]"); + + var $trs = _this4.$tableBody.find(tr); + + if (_this4.$fixedBody) { + $trs = $trs.add(_this4.$fixedBody.find(tr)); + } + + if (_this4.$fixedBodyRight) { + $trs = $trs.add(_this4.$fixedBodyRight.find(tr)); + } + + $trs.css('background-color', toggle ? $(e.currentTarget).css('background-color') : ''); + }; + + this.$tableBody.find('tr').hover(function (e) { + toggleHover(e, true); + }, function (e) { + toggleHover(e, false); + }); + var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + var mousewheel = isFirefox ? 'DOMMouseScroll' : 'mousewheel'; + + var updateScroll = function updateScroll(e, fixedBody) { + var normalized = normalizeWheel(e); + var deltaY = Math.ceil(normalized.pixelY); + var top = _this4.$tableBody.scrollTop() + deltaY; + + if (deltaY < 0 && top > 0 || deltaY > 0 && top < fixedBody.scrollHeight - fixedBody.clientHeight) { + e.preventDefault(); + } + + _this4.$tableBody.scrollTop(top); + + if (_this4.$fixedBody) { + _this4.$fixedBody.scrollTop(top); + } + + if (_this4.$fixedBodyRight) { + _this4.$fixedBodyRight.scrollTop(top); + } + }; + + if (this.needFixedColumns && this.options.fixedNumber) { + this.$fixedBody.find('tr').hover(function (e) { + toggleHover(e, true); + }, function (e) { + toggleHover(e, false); + }); + this.$fixedBody[0].addEventListener(mousewheel, function (e) { + updateScroll(e, _this4.$fixedBody[0]); + }); + } + + if (this.needFixedColumns && this.options.fixedRightNumber) { + this.$fixedBodyRight.find('tr').hover(function (e) { + toggleHover(e, true); + }, function (e) { + toggleHover(e, false); + }); + this.$fixedBodyRight.off('scroll').on('scroll', function () { + var top = _this4.$fixedBodyRight.scrollTop(); + + _this4.$tableBody.scrollTop(top); + + if (_this4.$fixedBody) { + _this4.$fixedBody.scrollTop(top); + } + }); + } + + if (this.options.filterControl) { + $(this.$fixedColumns).off('keyup change').on('keyup change', function (e) { + var $target = $(e.target); + var value = $target.val(); + var field = $target.parents('th').data('field'); + + var $coreTh = _this4.$header.find("th[data-field=\"".concat(field, "\"]")); + + if ($target.is('input')) { + $coreTh.find('input').val(value); + } else if ($target.is('select')) { + var $select = $coreTh.find('select'); + $select.find('option[selected]').removeAttr('selected'); + $select.find("option[value=\"".concat(value, "\"]")).attr('selected', true); + } + + _this4.triggerSearch(); + }); + } + } + }, { + key: "renderStickyHeader", + value: function renderStickyHeader() { + if (!this.options.stickyHeader) { + return; + } + + this.$stickyContainer = this.$container.find('.sticky-header-container'); + + _get(_getPrototypeOf(_class.prototype), "renderStickyHeader", this).call(this); + + if (this.needFixedColumns && this.options.fixedNumber) { + this.$fixedColumns.css('z-index', 101).find('.sticky-header-container').css('right', '').width(this.$fixedColumns.outerWidth()); + } + + if (this.needFixedColumns && this.options.fixedRightNumber) { + var $stickyHeaderContainerRight = this.$fixedColumnsRight.find('.sticky-header-container'); + this.$fixedColumnsRight.css('z-index', 101); + $stickyHeaderContainerRight.css('left', '').scrollLeft($stickyHeaderContainerRight.find('.table').outerWidth()).width(this.$fixedColumnsRight.outerWidth()); + } + } + }, { + key: "matchPositionX", + value: function matchPositionX() { + if (!this.options.stickyHeader) { + return; + } + + this.$stickyContainer.eq(0).scrollLeft(this.$tableBody.scrollLeft()); + } + }]); + + return _class; + }($.BootstrapTable); + +}))); diff --git a/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.min.js b/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.min.js new file mode 100644 index 00000000..9dcb1f28 --- /dev/null +++ b/ruoyi-admin/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.min.js @@ -0,0 +1,10 @@ +/** + * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation) + * + * @version v1.17.1 + * @homepage https://bootstrap-table.com + * @author wenzhixin (http://wenzhixin.net.cn/) + * @license MIT + */ + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var i=function(t){return t&&t.Math==Math&&t},r=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof e&&e)||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},f=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,a={f:s&&!u.call({1:2},1)?function(t){var e=s(this,t);return!!e&&e.enumerable}:u},c=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,d=function(t){return l.call(t).slice(8,-1)},h="".split,p=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==d(t)?h.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return p(y(t))},x=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!x(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!x(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!x(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!x(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,v=function(t,e){return b.call(t,e)},$=r.document,w=x($)&&x($.createElement),C=function(t){return w?$.createElement(t):{}},O=!f&&!o((function(){return 7!=Object.defineProperty(C("div"),"a",{get:function(){return 7}}).a})),S=Object.getOwnPropertyDescriptor,B={f:f?S:function(t,e){if(t=g(t),e=m(e,!0),O)try{return S(t,e)}catch(t){}if(v(t,e))return c(!a.f.call(t,e),t[e])}},R=function(t){if(!x(t))throw TypeError(String(t)+" is not an object");return t},j=Object.defineProperty,k={f:f?j:function(t,e,n){if(R(t),e=m(e,!0),R(n),O)try{return j(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},T=f?function(t,e,n){return k.f(t,e,c(1,n))}:function(t,e,n){return t[e]=n,t},F=function(t,e){try{T(r,t,e)}catch(n){r[t]=e}return e},E=r["__core-js_shared__"]||F("__core-js_shared__",{}),N=Function.toString;"function"!=typeof E.inspectSource&&(E.inspectSource=function(t){return N.call(t)});var P,A,H,_=E.inspectSource,M=r.WeakMap,W="function"==typeof M&&/native code/.test(_(M)),I=n((function(t){(t.exports=function(t,e){return E[t]||(E[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),L=0,D=Math.random(),X=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++L+D).toString(36)},Y=I("keys"),q=function(t){return Y[t]||(Y[t]=X(t))},z={},V=r.WeakMap;if(W){var G=new V,K=G.get,Q=G.has,Z=G.set;P=function(t,e){return Z.call(G,t,e),e},A=function(t){return K.call(G,t)||{}},H=function(t){return Q.call(G,t)}}else{var J=q("state");z[J]=!0,P=function(t,e){return T(t,J,e),e},A=function(t){return v(t,J)?t[J]:{}},H=function(t){return v(t,J)}}var U,tt,et={set:P,get:A,has:H,enforce:function(t){return H(t)?A(t):P(t,{})},getterFor:function(t){return function(e){var n;if(!x(e)||(n=A(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,i=String(String).split("String");(t.exports=function(t,e,o,f){var u=!!f&&!!f.unsafe,s=!!f&&!!f.enumerable,a=!!f&&!!f.noTargetGet;"function"==typeof o&&("string"!=typeof e||v(o,"name")||T(o,"name",e),n(o).source=i.join("string"==typeof e?e:"")),t!==r?(u?!a&&t[e]&&(s=!0):delete t[e],s?t[e]=o:T(t,e,o)):s?t[e]=o:F(e,o)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||_(this)}))})),it=r,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?rt(it[t])||rt(r[t]):it[t]&&it[t][e]||r[t]&&r[t][e]},ft=Math.ceil,ut=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ut:ft)(t)},at=Math.min,ct=function(t){return t>0?at(st(t),9007199254740991):0},lt=Math.max,dt=Math.min,ht=function(t){return function(e,n,i){var r,o=g(e),f=ct(o.length),u=function(t,e){var n=st(t);return n<0?lt(n+e,0):dt(n,e)}(i,f);if(t&&n!=n){for(;f>u;)if((r=o[u++])!=r)return!0}else for(;f>u;u++)if((t||u in o)&&o[u]===n)return t||u||0;return!t&&-1}},pt={includes:ht(!0),indexOf:ht(!1)},yt=pt.indexOf,gt=function(t,e){var n,i=g(t),r=0,o=[];for(n in i)!v(z,n)&&v(i,n)&&o.push(n);for(;e.length>r;)v(i,n=e[r++])&&(~yt(o,n)||o.push(n));return o},xt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],mt=xt.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return gt(t,mt)}},vt={f:Object.getOwnPropertySymbols},$t=ot("Reflect","ownKeys")||function(t){var e=bt.f(R(t)),n=vt.f;return n?e.concat(n(t)):e},wt=function(t,e){for(var n=$t(e),i=k.f,r=B.f,o=0;o=74)&&(U=Xt.match(/Chrome\/(\d+)/))&&(tt=U[1]);var Vt,Gt=tt&&+tt,Kt=It("species"),Qt=It("isConcatSpreadable"),Zt=Gt>=51||!o((function(){var t=[];return t[Qt]=!1,t.concat()[0]!==t})),Jt=(Vt="concat",Gt>=51||!o((function(){var t=[];return(t.constructor={})[Kt]=function(){return{foo:1}},1!==t[Vt](Boolean).foo}))),Ut=function(t){if(!x(t))return!1;var e=t[Qt];return void 0!==e?!!e:Et(t)};Ft({target:"Array",proto:!0,forced:!Zt||!Jt},{concat:function(t){var e,n,i,r,o,f=Nt(this),u=Dt(f,0),s=0;for(e=-1,i=arguments.length;e9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");Pt(u,s++,o)}return u.length=s,u}});var te,ee=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}},ne=[].push,ie=function(t){var e=1==t,n=2==t,i=3==t,r=4==t,o=6==t,f=5==t||o;return function(u,s,a,c){for(var l,d,h=Nt(u),y=p(h),g=ee(s,a,3),x=ct(y.length),m=0,b=c||Dt,v=e?b(u,x):n?b(u,0):void 0;x>m;m++)if((f||m in y)&&(d=g(l=y[m],m,h),t))if(e)v[m]=d;else if(d)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:ne.call(v,l)}else if(r)return!1;return o?-1:i||r?r:v}},re={forEach:ie(0),map:ie(1),filter:ie(2),some:ie(3),every:ie(4),find:ie(5),findIndex:ie(6)},oe=Object.keys||function(t){return gt(t,xt)},fe=f?Object.defineProperties:function(t,e){R(t);for(var n,i=oe(e),r=i.length,o=0;r>o;)k.f(t,n=i[o++],e[n]);return t},ue=ot("document","documentElement"),se=q("IE_PROTO"),ae=function(){},ce=function(t){return" - - - + + + @@ -182,7 +182,7 @@
- +
@@ -193,5 +193,5 @@
- +