bootstrap-table-rails 1.17.1 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bootstrap-table-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +321 -3
  4. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +10 -2
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +517 -248
  6. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +26 -5
  7. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +61 -12
  8. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +45 -5
  9. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +78 -14
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/custom-view/bootstrap-table-custom-view.js +59 -448
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +83 -22
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +65 -11
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css +3 -2
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +179 -501
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +2 -1
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +65 -437
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +74 -17
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +17 -4
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +71 -18
  20. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +6 -0
  21. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +6 -0
  22. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-bg-BG.js +6 -0
  23. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +6 -0
  24. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +6 -0
  25. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +6 -0
  26. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +9 -3
  27. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +6 -0
  28. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +6 -0
  29. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +6 -0
  30. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +6 -0
  31. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +6 -0
  32. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +6 -0
  33. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +6 -0
  34. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +6 -0
  35. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +6 -0
  36. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +6 -0
  37. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +6 -0
  38. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +6 -0
  39. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +6 -0
  40. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +6 -0
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +6 -0
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +6 -0
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +6 -0
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +6 -0
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +6 -0
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +6 -0
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +6 -0
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +6 -0
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +6 -0
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +6 -0
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +6 -0
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +6 -0
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +6 -0
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +6 -0
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +6 -0
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +6 -0
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +6 -0
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +6 -0
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +6 -0
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +6 -0
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +6 -0
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +6 -0
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +6 -0
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +6 -0
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +6 -0
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +6 -0
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +6 -0
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +6 -0
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +6 -0
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +6 -0
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +6 -0
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +6 -0
  73. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.css +9 -1
  74. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +9 -1
  75. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +1 -1
  76. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +9 -1
  77. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +1 -1
  78. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +9 -1
  79. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +9 -1
  80. metadata +1 -1
@@ -885,27 +885,6 @@
885
885
  // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
886
886
  addToUnscopables(FIND);
887
887
 
888
- var sloppyArrayMethod = function (METHOD_NAME, argument) {
889
- var method = [][METHOD_NAME];
890
- return !method || !fails(function () {
891
- // eslint-disable-next-line no-useless-call,no-throw-literal
892
- method.call(null, argument || function () { throw 1; }, 1);
893
- });
894
- };
895
-
896
- var nativeJoin = [].join;
897
-
898
- var ES3_STRINGS = indexedObject != Object;
899
- var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
900
-
901
- // `Array.prototype.join` method
902
- // https://tc39.github.io/ecma262/#sec-array.prototype.join
903
- _export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
904
- join: function join(separator) {
905
- return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
906
- }
907
- });
908
-
909
888
  var SPECIES$2 = wellKnownSymbol('species');
910
889
  var nativeSlice = [].slice;
911
890
  var max$1 = Math.max;
@@ -941,427 +920,55 @@
941
920
  }
942
921
  });
943
922
 
944
- // `RegExp.prototype.flags` getter implementation
945
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
946
- var regexpFlags = function () {
947
- var that = anObject(this);
948
- var result = '';
949
- if (that.global) result += 'g';
950
- if (that.ignoreCase) result += 'i';
951
- if (that.multiline) result += 'm';
952
- if (that.dotAll) result += 's';
953
- if (that.unicode) result += 'u';
954
- if (that.sticky) result += 'y';
955
- return result;
956
- };
957
-
958
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
959
- // so we use an intermediate function.
960
- function RE(s, f) {
961
- return RegExp(s, f);
962
- }
963
-
964
- var UNSUPPORTED_Y = fails(function () {
965
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
966
- var re = RE('a', 'y');
967
- re.lastIndex = 2;
968
- return re.exec('abcd') != null;
969
- });
970
-
971
- var BROKEN_CARET = fails(function () {
972
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
973
- var re = RE('^r', 'gy');
974
- re.lastIndex = 2;
975
- return re.exec('str') != null;
976
- });
977
-
978
- var regexpStickyHelpers = {
979
- UNSUPPORTED_Y: UNSUPPORTED_Y,
980
- BROKEN_CARET: BROKEN_CARET
981
- };
982
-
983
- var nativeExec = RegExp.prototype.exec;
984
- // This always refers to the native implementation, because the
985
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
986
- // which loads this file before patching the method.
987
- var nativeReplace = String.prototype.replace;
988
-
989
- var patchedExec = nativeExec;
990
-
991
- var UPDATES_LAST_INDEX_WRONG = (function () {
992
- var re1 = /a/;
993
- var re2 = /b*/g;
994
- nativeExec.call(re1, 'a');
995
- nativeExec.call(re2, 'a');
996
- return re1.lastIndex !== 0 || re2.lastIndex !== 0;
997
- })();
998
-
999
- var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
1000
-
1001
- // nonparticipating capturing group, copied from es5-shim's String#split patch.
1002
- var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1003
-
1004
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
1005
-
1006
- if (PATCH) {
1007
- patchedExec = function exec(str) {
1008
- var re = this;
1009
- var lastIndex, reCopy, match, i;
1010
- var sticky = UNSUPPORTED_Y$1 && re.sticky;
1011
- var flags = regexpFlags.call(re);
1012
- var source = re.source;
1013
- var charsAdded = 0;
1014
- var strCopy = str;
1015
-
1016
- if (sticky) {
1017
- flags = flags.replace('y', '');
1018
- if (flags.indexOf('g') === -1) {
1019
- flags += 'g';
1020
- }
1021
-
1022
- strCopy = String(str).slice(re.lastIndex);
1023
- // Support anchored sticky behavior.
1024
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
1025
- source = '(?: ' + source + ')';
1026
- strCopy = ' ' + strCopy;
1027
- charsAdded++;
1028
- }
1029
- // ^(? + rx + ) is needed, in combination with some str slicing, to
1030
- // simulate the 'y' flag.
1031
- reCopy = new RegExp('^(?:' + source + ')', flags);
1032
- }
1033
-
1034
- if (NPCG_INCLUDED) {
1035
- reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
1036
- }
1037
- if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1038
-
1039
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
1040
-
1041
- if (sticky) {
1042
- if (match) {
1043
- match.input = match.input.slice(charsAdded);
1044
- match[0] = match[0].slice(charsAdded);
1045
- match.index = re.lastIndex;
1046
- re.lastIndex += match[0].length;
1047
- } else re.lastIndex = 0;
1048
- } else if (UPDATES_LAST_INDEX_WRONG && match) {
1049
- re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
1050
- }
1051
- if (NPCG_INCLUDED && match && match.length > 1) {
1052
- // Fix browsers whose `exec` methods don't consistently return `undefined`
1053
- // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1054
- nativeReplace.call(match[0], reCopy, function () {
1055
- for (i = 1; i < arguments.length - 2; i++) {
1056
- if (arguments[i] === undefined) match[i] = undefined;
1057
- }
923
+ var nativeAssign = Object.assign;
924
+ var defineProperty = Object.defineProperty;
925
+
926
+ // `Object.assign` method
927
+ // https://tc39.github.io/ecma262/#sec-object.assign
928
+ var objectAssign = !nativeAssign || fails(function () {
929
+ // should have correct order of operations (Edge bug)
930
+ if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
931
+ enumerable: true,
932
+ get: function () {
933
+ defineProperty(this, 'b', {
934
+ value: 3,
935
+ enumerable: false
1058
936
  });
1059
937
  }
1060
-
1061
- return match;
1062
- };
1063
- }
1064
-
1065
- var regexpExec = patchedExec;
1066
-
1067
- _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
1068
- exec: regexpExec
1069
- });
1070
-
1071
- var SPECIES$3 = wellKnownSymbol('species');
1072
-
1073
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1074
- // #replace needs built-in support for named groups.
1075
- // #match works fine because it just return the exec results, even if it has
1076
- // a "grops" property.
1077
- var re = /./;
1078
- re.exec = function () {
1079
- var result = [];
1080
- result.groups = { a: '7' };
1081
- return result;
1082
- };
1083
- return ''.replace(re, '$<a>') !== '7';
1084
- });
1085
-
1086
- // IE <= 11 replaces $0 with the whole match, as if it was $&
1087
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1088
- var REPLACE_KEEPS_$0 = (function () {
1089
- return 'a'.replace(/./, '$0') === '$0';
1090
- })();
1091
-
1092
- // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1093
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1094
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1095
- var re = /(?:)/;
1096
- var originalExec = re.exec;
1097
- re.exec = function () { return originalExec.apply(this, arguments); };
1098
- var result = 'ab'.split(re);
1099
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1100
- });
1101
-
1102
- var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1103
- var SYMBOL = wellKnownSymbol(KEY);
1104
-
1105
- var DELEGATES_TO_SYMBOL = !fails(function () {
1106
- // String methods call symbol-named RegEp methods
1107
- var O = {};
1108
- O[SYMBOL] = function () { return 7; };
1109
- return ''[KEY](O) != 7;
1110
- });
1111
-
1112
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
1113
- // Symbol-named RegExp methods call .exec
1114
- var execCalled = false;
1115
- var re = /a/;
1116
-
1117
- if (KEY === 'split') {
1118
- // We can't use real regex here since it causes deoptimization
1119
- // and serious performance degradation in V8
1120
- // https://github.com/zloirock/core-js/issues/306
1121
- re = {};
1122
- // RegExp[@@split] doesn't call the regex's exec method, but first creates
1123
- // a new one. We need to return the patched regex when creating the new one.
1124
- re.constructor = {};
1125
- re.constructor[SPECIES$3] = function () { return re; };
1126
- re.flags = '';
1127
- re[SYMBOL] = /./[SYMBOL];
1128
- }
1129
-
1130
- re.exec = function () { execCalled = true; return null; };
1131
-
1132
- re[SYMBOL]('');
1133
- return !execCalled;
1134
- });
1135
-
1136
- if (
1137
- !DELEGATES_TO_SYMBOL ||
1138
- !DELEGATES_TO_EXEC ||
1139
- (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
1140
- (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1141
- ) {
1142
- var nativeRegExpMethod = /./[SYMBOL];
1143
- var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1144
- if (regexp.exec === regexpExec) {
1145
- if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1146
- // The native String method already delegates to @@method (this
1147
- // polyfilled function), leasing to infinite recursion.
1148
- // We avoid it by directly calling the native @@method method.
1149
- return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1150
- }
1151
- return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1152
- }
1153
- return { done: false };
1154
- }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
1155
- var stringMethod = methods[0];
1156
- var regexMethod = methods[1];
1157
-
1158
- redefine(String.prototype, KEY, stringMethod);
1159
- redefine(RegExp.prototype, SYMBOL, length == 2
1160
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1161
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1162
- ? function (string, arg) { return regexMethod.call(string, this, arg); }
1163
- // 21.2.5.6 RegExp.prototype[@@match](string)
1164
- // 21.2.5.9 RegExp.prototype[@@search](string)
1165
- : function (string) { return regexMethod.call(string, this); }
1166
- );
1167
- }
1168
-
1169
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1170
- };
1171
-
1172
- var MATCH = wellKnownSymbol('match');
1173
-
1174
- // `IsRegExp` abstract operation
1175
- // https://tc39.github.io/ecma262/#sec-isregexp
1176
- var isRegexp = function (it) {
1177
- var isRegExp;
1178
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1179
- };
1180
-
1181
- var SPECIES$4 = wellKnownSymbol('species');
1182
-
1183
- // `SpeciesConstructor` abstract operation
1184
- // https://tc39.github.io/ecma262/#sec-speciesconstructor
1185
- var speciesConstructor = function (O, defaultConstructor) {
1186
- var C = anObject(O).constructor;
1187
- var S;
1188
- return C === undefined || (S = anObject(C)[SPECIES$4]) == undefined ? defaultConstructor : aFunction$1(S);
1189
- };
1190
-
1191
- // `String.prototype.{ codePointAt, at }` methods implementation
1192
- var createMethod$2 = function (CONVERT_TO_STRING) {
1193
- return function ($this, pos) {
1194
- var S = String(requireObjectCoercible($this));
1195
- var position = toInteger(pos);
1196
- var size = S.length;
1197
- var first, second;
1198
- if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1199
- first = S.charCodeAt(position);
1200
- return first < 0xD800 || first > 0xDBFF || position + 1 === size
1201
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1202
- ? CONVERT_TO_STRING ? S.charAt(position) : first
1203
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1204
- };
1205
- };
1206
-
1207
- var stringMultibyte = {
1208
- // `String.prototype.codePointAt` method
1209
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
1210
- codeAt: createMethod$2(false),
1211
- // `String.prototype.at` method
1212
- // https://github.com/mathiasbynens/String.prototype.at
1213
- charAt: createMethod$2(true)
1214
- };
1215
-
1216
- var charAt = stringMultibyte.charAt;
1217
-
1218
- // `AdvanceStringIndex` abstract operation
1219
- // https://tc39.github.io/ecma262/#sec-advancestringindex
1220
- var advanceStringIndex = function (S, index, unicode) {
1221
- return index + (unicode ? charAt(S, index).length : 1);
1222
- };
1223
-
1224
- // `RegExpExec` abstract operation
1225
- // https://tc39.github.io/ecma262/#sec-regexpexec
1226
- var regexpExecAbstract = function (R, S) {
1227
- var exec = R.exec;
1228
- if (typeof exec === 'function') {
1229
- var result = exec.call(R, S);
1230
- if (typeof result !== 'object') {
1231
- throw TypeError('RegExp exec method returned something other than an Object or null');
938
+ }), { b: 2 })).b !== 1) return true;
939
+ // should work with symbols and should have deterministic property order (V8 bug)
940
+ var A = {};
941
+ var B = {};
942
+ // eslint-disable-next-line no-undef
943
+ var symbol = Symbol();
944
+ var alphabet = 'abcdefghijklmnopqrst';
945
+ A[symbol] = 7;
946
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
947
+ return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
948
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
949
+ var T = toObject(target);
950
+ var argumentsLength = arguments.length;
951
+ var index = 1;
952
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
953
+ var propertyIsEnumerable = objectPropertyIsEnumerable.f;
954
+ while (argumentsLength > index) {
955
+ var S = indexedObject(arguments[index++]);
956
+ var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
957
+ var length = keys.length;
958
+ var j = 0;
959
+ var key;
960
+ while (length > j) {
961
+ key = keys[j++];
962
+ if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
1232
963
  }
1233
- return result;
1234
- }
1235
-
1236
- if (classofRaw(R) !== 'RegExp') {
1237
- throw TypeError('RegExp#exec called on incompatible receiver');
1238
- }
1239
-
1240
- return regexpExec.call(R, S);
1241
- };
964
+ } return T;
965
+ } : nativeAssign;
1242
966
 
1243
- var arrayPush = [].push;
1244
- var min$2 = Math.min;
1245
- var MAX_UINT32 = 0xFFFFFFFF;
1246
-
1247
- // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
1248
- var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
1249
-
1250
- // @@split logic
1251
- fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
1252
- var internalSplit;
1253
- if (
1254
- 'abbc'.split(/(b)*/)[1] == 'c' ||
1255
- 'test'.split(/(?:)/, -1).length != 4 ||
1256
- 'ab'.split(/(?:ab)*/).length != 2 ||
1257
- '.'.split(/(.?)(.?)/).length != 4 ||
1258
- '.'.split(/()()/).length > 1 ||
1259
- ''.split(/.?/).length
1260
- ) {
1261
- // based on es5-shim implementation, need to rework it
1262
- internalSplit = function (separator, limit) {
1263
- var string = String(requireObjectCoercible(this));
1264
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1265
- if (lim === 0) return [];
1266
- if (separator === undefined) return [string];
1267
- // If `separator` is not a regex, use native split
1268
- if (!isRegexp(separator)) {
1269
- return nativeSplit.call(string, separator, lim);
1270
- }
1271
- var output = [];
1272
- var flags = (separator.ignoreCase ? 'i' : '') +
1273
- (separator.multiline ? 'm' : '') +
1274
- (separator.unicode ? 'u' : '') +
1275
- (separator.sticky ? 'y' : '');
1276
- var lastLastIndex = 0;
1277
- // Make `global` and avoid `lastIndex` issues by working with a copy
1278
- var separatorCopy = new RegExp(separator.source, flags + 'g');
1279
- var match, lastIndex, lastLength;
1280
- while (match = regexpExec.call(separatorCopy, string)) {
1281
- lastIndex = separatorCopy.lastIndex;
1282
- if (lastIndex > lastLastIndex) {
1283
- output.push(string.slice(lastLastIndex, match.index));
1284
- if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
1285
- lastLength = match[0].length;
1286
- lastLastIndex = lastIndex;
1287
- if (output.length >= lim) break;
1288
- }
1289
- if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
1290
- }
1291
- if (lastLastIndex === string.length) {
1292
- if (lastLength || !separatorCopy.test('')) output.push('');
1293
- } else output.push(string.slice(lastLastIndex));
1294
- return output.length > lim ? output.slice(0, lim) : output;
1295
- };
1296
- // Chakra, V8
1297
- } else if ('0'.split(undefined, 0).length) {
1298
- internalSplit = function (separator, limit) {
1299
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
1300
- };
1301
- } else internalSplit = nativeSplit;
1302
-
1303
- return [
1304
- // `String.prototype.split` method
1305
- // https://tc39.github.io/ecma262/#sec-string.prototype.split
1306
- function split(separator, limit) {
1307
- var O = requireObjectCoercible(this);
1308
- var splitter = separator == undefined ? undefined : separator[SPLIT];
1309
- return splitter !== undefined
1310
- ? splitter.call(separator, O, limit)
1311
- : internalSplit.call(String(O), separator, limit);
1312
- },
1313
- // `RegExp.prototype[@@split]` method
1314
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
1315
- //
1316
- // NOTE: This cannot be properly polyfilled in engines that don't support
1317
- // the 'y' flag.
1318
- function (regexp, limit) {
1319
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
1320
- if (res.done) return res.value;
1321
-
1322
- var rx = anObject(regexp);
1323
- var S = String(this);
1324
- var C = speciesConstructor(rx, RegExp);
1325
-
1326
- var unicodeMatching = rx.unicode;
1327
- var flags = (rx.ignoreCase ? 'i' : '') +
1328
- (rx.multiline ? 'm' : '') +
1329
- (rx.unicode ? 'u' : '') +
1330
- (SUPPORTS_Y ? 'y' : 'g');
1331
-
1332
- // ^(? + rx + ) is needed, in combination with some S slicing, to
1333
- // simulate the 'y' flag.
1334
- var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
1335
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1336
- if (lim === 0) return [];
1337
- if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
1338
- var p = 0;
1339
- var q = 0;
1340
- var A = [];
1341
- while (q < S.length) {
1342
- splitter.lastIndex = SUPPORTS_Y ? q : 0;
1343
- var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
1344
- var e;
1345
- if (
1346
- z === null ||
1347
- (e = min$2(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
1348
- ) {
1349
- q = advanceStringIndex(S, q, unicodeMatching);
1350
- } else {
1351
- A.push(S.slice(p, q));
1352
- if (A.length === lim) return A;
1353
- for (var i = 1; i <= z.length - 1; i++) {
1354
- A.push(z[i]);
1355
- if (A.length === lim) return A;
1356
- }
1357
- q = p = e;
1358
- }
1359
- }
1360
- A.push(S.slice(p));
1361
- return A;
1362
- }
1363
- ];
1364
- }, !SUPPORTS_Y);
967
+ // `Object.assign` method
968
+ // https://tc39.github.io/ecma262/#sec-object.assign
969
+ _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
970
+ assign: objectAssign
971
+ });
1365
972
 
1366
973
  function _classCallCheck(instance, Constructor) {
1367
974
  if (!(instance instanceof Constructor)) {
@@ -1526,21 +1133,25 @@
1526
1133
  value: function initToolbar() {
1527
1134
  var _get2;
1528
1135
 
1136
+ if (this.options.customView && this.options.showCustomViewButton) {
1137
+ this.buttons = Object.assign(this.buttons, {
1138
+ customView: {
1139
+ 'text': this.options.formatToggleCustomView(),
1140
+ 'icon': this.options.icons.customView,
1141
+ 'event': this.toggleCustomView,
1142
+ 'attributes': {
1143
+ 'aria-label': this.options.formatToggleCustomView(),
1144
+ 'title': this.options.formatToggleCustomView()
1145
+ }
1146
+ }
1147
+ });
1148
+ }
1149
+
1529
1150
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1530
1151
  args[_key] = arguments[_key];
1531
1152
  }
1532
1153
 
1533
1154
  (_get2 = _get(_getPrototypeOf(_class.prototype), "initToolbar", this)).call.apply(_get2, [this].concat(args));
1534
-
1535
- if (this.options.customView && this.options.showCustomViewButton) {
1536
- var $btnGroup = this.$toolbar.find('>.' + this.constants.classes.buttonsGroup.split(' ').join('.')).first();
1537
- var $btnToggleCustomView = $btnGroup.find('.toggle-custom-view');
1538
-
1539
- if (!$btnToggleCustomView.length) {
1540
- $btnToggleCustomView = $("\n <button class=\"toggle-custom-view ".concat(this.constants.buttonsClass, "\"\n type=\"button\" title=\"").concat(this.options.formatToggleCustomView(), "\">\n ").concat(this.options.showButtonIcons ? Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.customView) : '', "\n ").concat(this.options.showButtonText ? this.options.formatToggleCustomView() : '', "\n </button>\n ")).appendTo($btnGroup);
1541
- $btnToggleCustomView.on('click', $.proxy(this.toggleCustomView, this));
1542
- }
1543
- }
1544
1155
  }
1545
1156
  }, {
1546
1157
  key: "initBody",
@@ -1539,6 +1539,56 @@
1539
1539
  }
1540
1540
  });
1541
1541
 
1542
+ var nativeAssign = Object.assign;
1543
+ var defineProperty$3 = Object.defineProperty;
1544
+
1545
+ // `Object.assign` method
1546
+ // https://tc39.github.io/ecma262/#sec-object.assign
1547
+ var objectAssign = !nativeAssign || fails(function () {
1548
+ // should have correct order of operations (Edge bug)
1549
+ if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$3({}, 'a', {
1550
+ enumerable: true,
1551
+ get: function () {
1552
+ defineProperty$3(this, 'b', {
1553
+ value: 3,
1554
+ enumerable: false
1555
+ });
1556
+ }
1557
+ }), { b: 2 })).b !== 1) return true;
1558
+ // should work with symbols and should have deterministic property order (V8 bug)
1559
+ var A = {};
1560
+ var B = {};
1561
+ // eslint-disable-next-line no-undef
1562
+ var symbol = Symbol();
1563
+ var alphabet = 'abcdefghijklmnopqrst';
1564
+ A[symbol] = 7;
1565
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
1566
+ return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
1567
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
1568
+ var T = toObject(target);
1569
+ var argumentsLength = arguments.length;
1570
+ var index = 1;
1571
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
1572
+ var propertyIsEnumerable = objectPropertyIsEnumerable.f;
1573
+ while (argumentsLength > index) {
1574
+ var S = indexedObject(arguments[index++]);
1575
+ var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
1576
+ var length = keys.length;
1577
+ var j = 0;
1578
+ var key;
1579
+ while (length > j) {
1580
+ key = keys[j++];
1581
+ if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
1582
+ }
1583
+ } return T;
1584
+ } : nativeAssign;
1585
+
1586
+ // `Object.assign` method
1587
+ // https://tc39.github.io/ecma262/#sec-object.assign
1588
+ _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
1589
+ assign: objectAssign
1590
+ });
1591
+
1542
1592
  var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
1543
1593
  var test = {};
1544
1594
 
@@ -2430,6 +2480,31 @@
2430
2480
 
2431
2481
  var o = this.options;
2432
2482
  this.showToolbar = this.showToolbar || o.showExport;
2483
+ var $btnGroup = this.$toolbar.find('>.columns');
2484
+
2485
+ if (this.options.showExport) {
2486
+ var exportTypes = o.exportTypes;
2487
+
2488
+ if (typeof exportTypes === 'string') {
2489
+ var types = exportTypes.slice(1, -1).replace(/ /g, '').split(',');
2490
+ exportTypes = types.map(function (t) {
2491
+ return t.slice(1, -1);
2492
+ });
2493
+ }
2494
+
2495
+ this.$export = this.$toolbar.find('>.columns div.export');
2496
+
2497
+ if (this.$export.length) {
2498
+ this.updateExportButton();
2499
+ return;
2500
+ }
2501
+
2502
+ this.buttons = Object.assign(this.buttons, {
2503
+ 'export': {
2504
+ 'html': exportTypes.length === 1 ? "\n <div class=\"export ".concat(this.constants.classes.buttonsDropdown, "\"\n data-type=\"").concat(exportTypes[0], "\">\n <button class=\"").concat(this.constants.buttonsClass, "\"\n aria-label=\"Export\"\n type=\"button\"\n title=\"").concat(o.formatExport(), "\">\n ").concat(o.showButtonIcons ? Utils.sprintf(this.constants.html.icon, o.iconsPrefix, o.icons.export) : '', "\n ").concat(o.showButtonText ? o.formatExport() : '', "\n </button>\n </div>\n ") : "\n <div class=\"export ".concat(this.constants.classes.buttonsDropdown, "\">\n <button class=\"").concat(this.constants.buttonsClass, " dropdown-toggle\"\n aria-label=\"Export\"\n data-toggle=\"dropdown\"\n type=\"button\"\n title=\"").concat(o.formatExport(), "\">\n ").concat(o.showButtonIcons ? Utils.sprintf(this.constants.html.icon, o.iconsPrefix, o.icons.export) : '', "\n ").concat(o.showButtonText ? o.formatExport() : '', "\n ").concat(this.constants.html.dropdownCaret, "\n </button>\n </div>\n ")
2505
+ }
2506
+ });
2507
+ }
2433
2508
 
2434
2509
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2435
2510
  args[_key] = arguments[_key];
@@ -2437,29 +2512,13 @@
2437
2512
 
2438
2513
  (_get2 = _get(_getPrototypeOf(_class.prototype), "initToolbar", this)).call.apply(_get2, [this].concat(args));
2439
2514
 
2440
- if (!this.options.showExport) {
2441
- return;
2442
- }
2443
-
2444
- var $btnGroup = this.$toolbar.find('>.columns');
2445
- this.$export = $btnGroup.find('div.export');
2515
+ this.$export = this.$toolbar.find('>.columns div.export');
2446
2516
 
2447
- if (this.$export.length) {
2448
- this.updateExportButton();
2517
+ if (!this.options.showExport) {
2449
2518
  return;
2450
2519
  }
2451
2520
 
2452
2521
  var $menu = $(this.constants.html.toolbarDropdown.join(''));
2453
- var exportTypes = o.exportTypes;
2454
-
2455
- if (typeof exportTypes === 'string') {
2456
- var types = exportTypes.slice(1, -1).replace(/ /g, '').split(',');
2457
- exportTypes = types.map(function (t) {
2458
- return t.slice(1, -1);
2459
- });
2460
- }
2461
-
2462
- this.$export = $(exportTypes.length === 1 ? "\n <div class=\"export ".concat(this.constants.classes.buttonsDropdown, "\"\n data-type=\"").concat(exportTypes[0], "\">\n <button class=\"").concat(this.constants.buttonsClass, "\"\n aria-label=\"Export\"\n type=\"button\"\n title=\"").concat(o.formatExport(), "\">\n ").concat(o.showButtonIcons ? Utils.sprintf(this.constants.html.icon, o.iconsPrefix, o.icons.export) : '', "\n ").concat(o.showButtonText ? o.formatExport() : '', "\n </button>\n </div>\n ") : "\n <div class=\"export ".concat(this.constants.classes.buttonsDropdown, "\">\n <button class=\"").concat(this.constants.buttonsClass, " dropdown-toggle\"\n aria-label=\"Export\"\n data-toggle=\"dropdown\"\n type=\"button\"\n title=\"").concat(o.formatExport(), "\">\n ").concat(o.showButtonIcons ? Utils.sprintf(this.constants.html.icon, o.iconsPrefix, o.icons.export) : '', "\n ").concat(o.showButtonText ? o.formatExport() : '', "\n ").concat(this.constants.html.dropdownCaret, "\n </button>\n </div>\n ")).appendTo($btnGroup);
2463
2522
  var $items = this.$export;
2464
2523
 
2465
2524
  if (exportTypes.length > 1) {
@@ -2625,11 +2684,13 @@
2625
2684
  var eventName = o.sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table';
2626
2685
  var virtualScroll = this.options.virtualScroll;
2627
2686
  this.$el.one(eventName, function () {
2628
- doExport(function () {
2629
- _this2.options.virtualScroll = virtualScroll;
2687
+ setTimeout(function () {
2688
+ doExport(function () {
2689
+ _this2.options.virtualScroll = virtualScroll;
2630
2690
 
2631
- _this2.togglePagination();
2632
- });
2691
+ _this2.togglePagination();
2692
+ });
2693
+ }, 0);
2633
2694
  });
2634
2695
  this.options.virtualScroll = false;
2635
2696
  this.togglePagination();