handsontable 0.34.1 → 0.34.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (95) hide show
  1. package/.travis.yml +2 -0
  2. package/README.md +127 -96
  3. package/commonjs/core.js +11 -6
  4. package/commonjs/helpers/dom/element.js +4 -3
  5. package/commonjs/helpers/mixed.js +8 -4
  6. package/commonjs/index.js +5 -4
  7. package/commonjs/pluginHooks.js +18 -2
  8. package/commonjs/plugins/copyPaste/clipboardData.js +31 -0
  9. package/commonjs/plugins/copyPaste/contextMenuItem/copy.js +1 -2
  10. package/commonjs/plugins/copyPaste/contextMenuItem/cut.js +1 -2
  11. package/commonjs/plugins/copyPaste/copyPaste.js +127 -134
  12. package/commonjs/plugins/copyPaste/pasteEvent.js +19 -0
  13. package/commonjs/plugins/copyPaste/test/copyPaste.e2e.js +90 -189
  14. package/commonjs/plugins/copyPaste/test/textarea.unit.js +2 -2
  15. package/commonjs/plugins/copyPaste/textarea.js +2 -1
  16. package/commonjs/plugins/manualColumnMove/manualColumnMove.js +8 -11
  17. package/commonjs/plugins/manualColumnMove/test/manualColumnMoveUI.e2e.js +35 -0
  18. package/commonjs/plugins/manualRowMove/manualRowMove.js +9 -12
  19. package/commonjs/plugins/manualRowMove/test/manualRowMove.e2e.js +256 -60
  20. package/commonjs/plugins/manualRowMove/test/manualRowMoveUI.e2e.js +40 -182
  21. package/commonjs/plugins/manualRowMove/ui/_base.js +2 -2
  22. package/commonjs/tableView.js +1 -0
  23. package/dist/handsontable.css +6 -5
  24. package/dist/handsontable.css.map +1 -1
  25. package/dist/handsontable.full.css +6 -5
  26. package/dist/handsontable.full.js +37721 -42290
  27. package/dist/handsontable.full.min.css +4 -4
  28. package/dist/handsontable.full.min.js +5 -5
  29. package/dist/handsontable.js +28732 -28433
  30. package/dist/handsontable.js.map +1 -1
  31. package/dist/handsontable.min.css +4 -4
  32. package/dist/handsontable.min.js +3 -3
  33. package/es/core.js +11 -6
  34. package/es/helpers/dom/element.js +4 -3
  35. package/es/helpers/mixed.js +4 -4
  36. package/es/index.js +3 -4
  37. package/es/pluginHooks.js +18 -2
  38. package/es/plugins/copyPaste/clipboardData.js +27 -0
  39. package/es/plugins/copyPaste/contextMenuItem/copy.js +1 -2
  40. package/es/plugins/copyPaste/contextMenuItem/cut.js +1 -2
  41. package/es/plugins/copyPaste/copyPaste.js +124 -132
  42. package/es/plugins/copyPaste/pasteEvent.js +11 -0
  43. package/es/plugins/copyPaste/test/copyPaste.e2e.js +90 -189
  44. package/es/plugins/copyPaste/test/textarea.unit.js +2 -2
  45. package/es/plugins/copyPaste/textarea.js +2 -1
  46. package/es/plugins/manualColumnMove/manualColumnMove.js +8 -11
  47. package/es/plugins/manualColumnMove/test/manualColumnMoveUI.e2e.js +35 -0
  48. package/es/plugins/manualRowMove/manualRowMove.js +9 -12
  49. package/es/plugins/manualRowMove/test/manualRowMove.e2e.js +256 -60
  50. package/es/plugins/manualRowMove/test/manualRowMoveUI.e2e.js +40 -182
  51. package/es/plugins/manualRowMove/ui/_base.js +2 -2
  52. package/es/tableView.js +1 -0
  53. package/handsontable.jquery.json +1 -1
  54. package/hot.config.js +1 -1
  55. package/package.json +5 -5
  56. package/src/3rdparty/walkontable/dist/walkontable.js +27234 -11175
  57. package/src/3rdparty/walkontable/dist/walkontable.js.map +1 -1
  58. package/src/3rdparty/walkontable/test/dist/helpers.entry.js +32 -36
  59. package/src/3rdparty/walkontable/test/dist/helpers.entry.js.map +1 -1
  60. package/src/3rdparty/walkontable/test/dist/specs.entry.js +36 -39
  61. package/src/3rdparty/walkontable/test/dist/specs.entry.js.map +1 -1
  62. package/src/core.js +11 -6
  63. package/src/css/handsontable.css +1 -2
  64. package/src/helpers/dom/element.js +4 -3
  65. package/src/helpers/mixed.js +3 -3
  66. package/src/index.js +1 -2
  67. package/src/pluginHooks.js +18 -2
  68. package/src/plugins/copyPaste/clipboardData.js +11 -0
  69. package/src/plugins/copyPaste/contextMenuItem/copy.js +1 -2
  70. package/src/plugins/copyPaste/contextMenuItem/cut.js +1 -2
  71. package/src/plugins/copyPaste/copyPaste.css +3 -1
  72. package/src/plugins/copyPaste/copyPaste.js +120 -127
  73. package/src/plugins/copyPaste/pasteEvent.js +7 -0
  74. package/src/plugins/copyPaste/test/copyPaste.e2e.js +75 -193
  75. package/src/plugins/copyPaste/test/textarea.unit.js +2 -2
  76. package/src/plugins/copyPaste/textarea.js +2 -1
  77. package/src/plugins/manualColumnMove/manualColumnMove.js +6 -9
  78. package/src/plugins/manualColumnMove/test/manualColumnMoveUI.e2e.js +35 -0
  79. package/src/plugins/manualRowMove/manualRowMove.js +7 -10
  80. package/src/plugins/manualRowMove/test/manualRowMove.e2e.js +282 -86
  81. package/src/plugins/manualRowMove/test/manualRowMoveUI.e2e.js +51 -190
  82. package/src/plugins/manualRowMove/ui/_base.js +2 -2
  83. package/test/dist/e2e.entry.js +31381 -31131
  84. package/test/dist/e2e.entry.js.map +1 -1
  85. package/test/dist/helpers.entry.js +16 -19
  86. package/test/dist/helpers.entry.js.map +1 -1
  87. package/test/e2e/Core_listen.spec.js +32 -0
  88. package/test/e2e/Core_selection.spec.js +1 -1
  89. package/test/e2e/Core_validate.spec.js +29 -0
  90. package/test/e2e/renderers/checkboxRenderer.spec.js +20 -7
  91. package/test/e2e/settings/fragmentSelection.spec.js +12 -9
  92. package/test/scripts/trigger-pro-tests.sh +41 -0
  93. package/yarn.lock +260 -208
  94. package/.npmignore +0 -19
  95. package/demo/bower_components/numbro/package.json +0 -63
@@ -33,9 +33,6 @@
33
33
  /******/ // expose the module cache
34
34
  /******/ __webpack_require__.c = installedModules;
35
35
  /******/
36
- /******/ // identity function for calling harmony imports with the correct context
37
- /******/ __webpack_require__.i = function(value) { return value; };
38
- /******/
39
36
  /******/ // define getter function for harmony exports
40
37
  /******/ __webpack_require__.d = function(exports, name, getter) {
41
38
  /******/ if(!__webpack_require__.o(exports, name)) {
@@ -63,7 +60,7 @@
63
60
  /******/ __webpack_require__.p = "";
64
61
  /******/
65
62
  /******/ // Load entry module and return exports
66
- /******/ return __webpack_require__(__webpack_require__.s = 3);
63
+ /******/ return __webpack_require__(__webpack_require__.s = 0);
67
64
  /******/ })
68
65
  /************************************************************************/
69
66
  /******/ ([
@@ -73,6 +70,37 @@
73
70
  "use strict";
74
71
 
75
72
 
73
+ var _window = __webpack_require__(1);
74
+
75
+ var _window2 = _interopRequireDefault(_window);
76
+
77
+ var _common = __webpack_require__(2);
78
+
79
+ var common = _interopRequireWildcard(_common);
80
+
81
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
82
+
83
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
84
+
85
+ // Export all helpers to the window.
86
+ /* eslint-disable import/no-unresolved */
87
+ Object.keys(common).forEach(function (key) {
88
+ _window2.default[key] = common[key];
89
+ });
90
+
91
+ /***/ }),
92
+ /* 1 */
93
+ /***/ (function(module, exports) {
94
+
95
+ module.exports = window;
96
+
97
+ /***/ }),
98
+ /* 2 */
99
+ /***/ (function(module, exports, __webpack_require__) {
100
+
101
+ "use strict";
102
+
103
+
76
104
  exports.__esModule = true;
77
105
  exports.spec = spec;
78
106
  exports.createDataArray = createDataArray;
@@ -318,38 +346,6 @@ function getScrollbarWidth() {
318
346
  return cachedScrollbarWidth;
319
347
  }
320
348
 
321
- /***/ }),
322
- /* 1 */,
323
- /* 2 */
324
- /***/ (function(module, exports) {
325
-
326
- module.exports = window;
327
-
328
- /***/ }),
329
- /* 3 */
330
- /***/ (function(module, exports, __webpack_require__) {
331
-
332
- "use strict";
333
-
334
-
335
- var _window = __webpack_require__(2);
336
-
337
- var _window2 = _interopRequireDefault(_window);
338
-
339
- var _common = __webpack_require__(0);
340
-
341
- var common = _interopRequireWildcard(_common);
342
-
343
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
344
-
345
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
346
-
347
- // Export all helpers to the window.
348
- /* eslint-disable import/no-unresolved */
349
- Object.keys(common).forEach(function (key) {
350
- _window2.default[key] = common[key];
351
- });
352
-
353
349
  /***/ })
354
350
  /******/ ]);
355
351
  //# sourceMappingURL=helpers.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.entry.js","sources":["webpack:///webpack/bootstrap 04a8d6900f40f9b615ea?6974","webpack:///src/3rdparty/walkontable/test/helpers/common.js","webpack:///external \"window\"","webpack:///src/3rdparty/walkontable/test/helpers/index.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 04a8d6900f40f9b615ea","export function spec() {\n return currentSpec;\n};\n\nexport function createDataArray(rows, cols) {\n spec().data = [];\n rows = typeof rows === 'number' ? rows : 100;\n cols = typeof cols === 'number' ? cols : 4;\n\n for (var i = 0; i < rows; i++) {\n var row = [];\n\n if (cols > 0) {\n row.push(i);\n\n for (var j = 0; j < cols - 1; j++) {\n /* eslint-disable no-mixed-operators */\n /* eslint-disable no-bitwise */\n row.push(String.fromCharCode(65 + j % 20).toLowerCase() + (j / 20 | 0 || '')); // | 0 is parseInt - see http://jsperf.com/math-floor-vs-math-round-vs-parseint/18\n }\n }\n spec().data.push(row);\n }\n};\n\nexport function getData(row, col) {\n return spec().data[row][col];\n};\n\nexport function getTotalRows() {\n return spec().data.length;\n};\n\nexport function getTotalColumns() {\n return spec().data[0] ? spec().data[0].length : 0;\n};\n\nvar currentSpec;\n\nbeforeEach(function() {\n currentSpec = this;\n\n var matchers = {\n toBeInArray() {\n return {\n compare(actual, expected) {\n return {\n pass: Array.isArray(expected) && expected.indexOf(actual) > -1\n };\n }\n };\n },\n toBeFunction() {\n return {\n compare(actual, expected) {\n return {\n pass: typeof actual === 'function'\n };\n }\n };\n },\n toBeAroundValue() {\n return {\n compare(actual, expected, diff) {\n diff = diff || 1;\n\n var pass = actual >= expected - diff && actual <= expected + diff;\n var message = `Expected ${actual} to be around ${expected} (between ${expected - diff} and ${expected + diff})`;\n\n if (!pass) {\n message = `Expected ${actual} NOT to be around ${expected} (between ${expected - diff} and ${expected + diff})`;\n }\n\n return {\n pass,\n message\n };\n }\n };\n }\n };\n\n jasmine.addMatchers(matchers);\n});\n\nafterEach(() => {\n window.scrollTo(0, 0);\n});\n\nexport function getTableWidth(elem) {\n return $(elem).outerWidth() || $(elem).find('tbody').outerWidth() || $(elem).find('thead').outerWidth(); // IE8 reports 0 as <table> offsetWidth\n};\n\nexport function range(from, to) {\n if (!arguments.length) {\n return [];\n }\n\n if (arguments.length == 1) {\n to = from;\n from = 0;\n }\n\n if (to > from) {\n from = [to, to = from][0]; // one-liner for swapping two values\n }\n\n var result = [];\n\n while (to++ < from) {\n result.push(to);\n }\n\n return result;\n};\n\n/**\n * Rewrite all existing selections from selections[0] etc. to selections.current etc\n * @param instance\n * @returns {object} modified instance\n */\nexport function shimSelectionProperties(instance) {\n if (instance.selections[0]) {\n instance.selections.current = instance.selections[0];\n }\n if (instance.selections[1]) {\n instance.selections.area = instance.selections[1];\n }\n if (instance.selections[2]) {\n instance.selections.highlight = instance.selections[2];\n }\n if (instance.selections[3]) {\n instance.selections.fill = instance.selections[3];\n }\n\n return instance;\n}\n\nexport function getTableTopClone() {\n return $('.ht_clone_top');\n}\n\nexport function getTableLeftClone() {\n return $('.ht_clone_left');\n}\n\nexport function getTableCornerClone() {\n return $('.ht_clone_top_left_corner');\n}\n\nexport function createSpreadsheetData(rows, columns) {\n var _rows = [],\n i,\n j;\n\n for (i = 0; i < rows; i++) {\n var row = [];\n\n for (j = 0; j < columns; j++) {\n row.push(spreadsheetColumnLabel(j) + (i + 1));\n }\n _rows.push(row);\n }\n\n return _rows;\n}\n\nconst COLUMN_LABEL_BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst COLUMN_LABEL_BASE_LENGTH = COLUMN_LABEL_BASE.length;\n\n/**\n * Generates spreadsheet-like column names: A, B, C, ..., Z, AA, AB, etc.\n *\n * @param {Number} index Column index.\n * @returns {String}\n */\nexport function spreadsheetColumnLabel(index) {\n let dividend = index + 1;\n let columnLabel = '';\n let modulo;\n\n while (dividend > 0) {\n modulo = (dividend - 1) % COLUMN_LABEL_BASE_LENGTH;\n columnLabel = String.fromCharCode(65 + modulo) + columnLabel;\n dividend = parseInt((dividend - modulo) / COLUMN_LABEL_BASE_LENGTH, 10);\n }\n\n return columnLabel;\n}\n\nexport function walkontableCalculateScrollbarWidth() {\n var inner = document.createElement('div');\n inner.style.height = '200px';\n inner.style.width = '100%';\n\n var outer = document.createElement('div');\n outer.style.boxSizing = 'content-box';\n outer.style.height = '150px';\n outer.style.left = '0px';\n outer.style.overflow = 'hidden';\n outer.style.position = 'absolute';\n outer.style.top = '0px';\n outer.style.width = '200px';\n outer.style.visibility = 'hidden';\n outer.appendChild(inner);\n\n (document.body || document.documentElement).appendChild(outer);\n var w1 = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var w2 = inner.offsetWidth;\n if (w1 == w2) {\n w2 = outer.clientWidth;\n }\n\n (document.body || document.documentElement).removeChild(outer);\n\n return (w1 - w2);\n}\n\nvar cachedScrollbarWidth;\n\nexport function getScrollbarWidth() {\n if (cachedScrollbarWidth === void 0) {\n cachedScrollbarWidth = walkontableCalculateScrollbarWidth();\n }\n\n return cachedScrollbarWidth;\n}\n\n\n\n// WEBPACK FOOTER //\n// src/3rdparty/walkontable/test/helpers/common.js","module.exports = window;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"window\"\n// module id = 2\n// module chunks = 1","/* eslint-disable import/no-unresolved */\nimport window from 'window';\nimport * as common from './common';\n\n// Export all helpers to the window.\nObject.keys(common).forEach((key) => {\n window[key] = common[key];\n});\n\n\n\n// WEBPACK FOOTER //\n// src/3rdparty/walkontable/test/helpers/index.js"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;AChEA;AAIA;AAqBA;AAIA;AAIA;AAwDA;AAIA;AA4BA;AAiBA;AAIA;AAIA;AAIA;AA0BA;AAcA;AA+BA;AA7NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA;AALA;AAOA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA;AALA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAfA;AAiBA;AArCA;AACA;AAuCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnOA;;;;;;;;;ACCA;AACA;;;AAAA;AACA;AADA;AACA;;;;;AACA;AAJA;AAKA;AACA;AACA;;;A","sourceRoot":""}
1
+ {"version":3,"file":"helpers.entry.js","sources":["webpack:///webpack/bootstrap 4bfd9b8c4bb9b7f74c1d","webpack:///src/3rdparty/walkontable/test/helpers/index.js","webpack:///external \"window\"","webpack:///src/3rdparty/walkontable/test/helpers/common.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4bfd9b8c4bb9b7f74c1d","/* eslint-disable import/no-unresolved */\nimport window from 'window';\nimport * as common from './common';\n\n// Export all helpers to the window.\nObject.keys(common).forEach((key) => {\n window[key] = common[key];\n});\n\n\n\n// WEBPACK FOOTER //\n// src/3rdparty/walkontable/test/helpers/index.js","module.exports = window;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"window\"\n// module id = 1\n// module chunks = 1","export function spec() {\n return currentSpec;\n};\n\nexport function createDataArray(rows, cols) {\n spec().data = [];\n rows = typeof rows === 'number' ? rows : 100;\n cols = typeof cols === 'number' ? cols : 4;\n\n for (var i = 0; i < rows; i++) {\n var row = [];\n\n if (cols > 0) {\n row.push(i);\n\n for (var j = 0; j < cols - 1; j++) {\n /* eslint-disable no-mixed-operators */\n /* eslint-disable no-bitwise */\n row.push(String.fromCharCode(65 + j % 20).toLowerCase() + (j / 20 | 0 || '')); // | 0 is parseInt - see http://jsperf.com/math-floor-vs-math-round-vs-parseint/18\n }\n }\n spec().data.push(row);\n }\n};\n\nexport function getData(row, col) {\n return spec().data[row][col];\n};\n\nexport function getTotalRows() {\n return spec().data.length;\n};\n\nexport function getTotalColumns() {\n return spec().data[0] ? spec().data[0].length : 0;\n};\n\nvar currentSpec;\n\nbeforeEach(function() {\n currentSpec = this;\n\n var matchers = {\n toBeInArray() {\n return {\n compare(actual, expected) {\n return {\n pass: Array.isArray(expected) && expected.indexOf(actual) > -1\n };\n }\n };\n },\n toBeFunction() {\n return {\n compare(actual, expected) {\n return {\n pass: typeof actual === 'function'\n };\n }\n };\n },\n toBeAroundValue() {\n return {\n compare(actual, expected, diff) {\n diff = diff || 1;\n\n var pass = actual >= expected - diff && actual <= expected + diff;\n var message = `Expected ${actual} to be around ${expected} (between ${expected - diff} and ${expected + diff})`;\n\n if (!pass) {\n message = `Expected ${actual} NOT to be around ${expected} (between ${expected - diff} and ${expected + diff})`;\n }\n\n return {\n pass,\n message\n };\n }\n };\n }\n };\n\n jasmine.addMatchers(matchers);\n});\n\nafterEach(() => {\n window.scrollTo(0, 0);\n});\n\nexport function getTableWidth(elem) {\n return $(elem).outerWidth() || $(elem).find('tbody').outerWidth() || $(elem).find('thead').outerWidth(); // IE8 reports 0 as <table> offsetWidth\n};\n\nexport function range(from, to) {\n if (!arguments.length) {\n return [];\n }\n\n if (arguments.length == 1) {\n to = from;\n from = 0;\n }\n\n if (to > from) {\n from = [to, to = from][0]; // one-liner for swapping two values\n }\n\n var result = [];\n\n while (to++ < from) {\n result.push(to);\n }\n\n return result;\n};\n\n/**\n * Rewrite all existing selections from selections[0] etc. to selections.current etc\n * @param instance\n * @returns {object} modified instance\n */\nexport function shimSelectionProperties(instance) {\n if (instance.selections[0]) {\n instance.selections.current = instance.selections[0];\n }\n if (instance.selections[1]) {\n instance.selections.area = instance.selections[1];\n }\n if (instance.selections[2]) {\n instance.selections.highlight = instance.selections[2];\n }\n if (instance.selections[3]) {\n instance.selections.fill = instance.selections[3];\n }\n\n return instance;\n}\n\nexport function getTableTopClone() {\n return $('.ht_clone_top');\n}\n\nexport function getTableLeftClone() {\n return $('.ht_clone_left');\n}\n\nexport function getTableCornerClone() {\n return $('.ht_clone_top_left_corner');\n}\n\nexport function createSpreadsheetData(rows, columns) {\n var _rows = [],\n i,\n j;\n\n for (i = 0; i < rows; i++) {\n var row = [];\n\n for (j = 0; j < columns; j++) {\n row.push(spreadsheetColumnLabel(j) + (i + 1));\n }\n _rows.push(row);\n }\n\n return _rows;\n}\n\nconst COLUMN_LABEL_BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst COLUMN_LABEL_BASE_LENGTH = COLUMN_LABEL_BASE.length;\n\n/**\n * Generates spreadsheet-like column names: A, B, C, ..., Z, AA, AB, etc.\n *\n * @param {Number} index Column index.\n * @returns {String}\n */\nexport function spreadsheetColumnLabel(index) {\n let dividend = index + 1;\n let columnLabel = '';\n let modulo;\n\n while (dividend > 0) {\n modulo = (dividend - 1) % COLUMN_LABEL_BASE_LENGTH;\n columnLabel = String.fromCharCode(65 + modulo) + columnLabel;\n dividend = parseInt((dividend - modulo) / COLUMN_LABEL_BASE_LENGTH, 10);\n }\n\n return columnLabel;\n}\n\nexport function walkontableCalculateScrollbarWidth() {\n var inner = document.createElement('div');\n inner.style.height = '200px';\n inner.style.width = '100%';\n\n var outer = document.createElement('div');\n outer.style.boxSizing = 'content-box';\n outer.style.height = '150px';\n outer.style.left = '0px';\n outer.style.overflow = 'hidden';\n outer.style.position = 'absolute';\n outer.style.top = '0px';\n outer.style.width = '200px';\n outer.style.visibility = 'hidden';\n outer.appendChild(inner);\n\n (document.body || document.documentElement).appendChild(outer);\n var w1 = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var w2 = inner.offsetWidth;\n if (w1 == w2) {\n w2 = outer.clientWidth;\n }\n\n (document.body || document.documentElement).removeChild(outer);\n\n return (w1 - w2);\n}\n\nvar cachedScrollbarWidth;\n\nexport function getScrollbarWidth() {\n if (cachedScrollbarWidth === void 0) {\n cachedScrollbarWidth = walkontableCalculateScrollbarWidth();\n }\n\n return cachedScrollbarWidth;\n}\n\n\n\n// WEBPACK FOOTER //\n// src/3rdparty/walkontable/test/helpers/common.js"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;AC5DA;AACA;;;AAAA;AACA;AADA;AACA;;;;;AACA;AAJA;AAKA;AACA;AACA;;;;;;ACPA;;;;;;;;;;ACAA;AAIA;AAqBA;AAIA;AAIA;AAwDA;AAIA;AA4BA;AAiBA;AAIA;AAIA;AAIA;AA0BA;AAcA;AA+BA;AA7NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA;AALA;AAOA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA;AALA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAfA;AAiBA;AArCA;AACA;AAuCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A","sourceRoot":""}
@@ -33,9 +33,6 @@
33
33
  /******/ // expose the module cache
34
34
  /******/ __webpack_require__.c = installedModules;
35
35
  /******/
36
- /******/ // identity function for calling harmony imports with the correct context
37
- /******/ __webpack_require__.i = function(value) { return value; };
38
- /******/
39
36
  /******/ // define getter function for harmony exports
40
37
  /******/ __webpack_require__.d = function(exports, name, getter) {
41
38
  /******/ if(!__webpack_require__.o(exports, name)) {
@@ -63,24 +60,39 @@
63
60
  /******/ __webpack_require__.p = "";
64
61
  /******/
65
62
  /******/ // Load entry module and return exports
66
- /******/ return __webpack_require__(__webpack_require__.s = 13);
63
+ /******/ return __webpack_require__(__webpack_require__.s = 3);
67
64
  /******/ })
68
65
  /************************************************************************/
69
66
  /******/ ([
70
67
  /* 0 */,
71
- /* 1 */
68
+ /* 1 */,
69
+ /* 2 */,
70
+ /* 3 */
71
+ /***/ (function(module, exports, __webpack_require__) {
72
+
73
+ "use strict";
74
+
75
+
76
+ [__webpack_require__(4)].forEach(function (req) {
77
+ req.keys().forEach(function (key) {
78
+ req(key);
79
+ });
80
+ });
81
+
82
+ /***/ }),
83
+ /* 4 */
72
84
  /***/ (function(module, exports, __webpack_require__) {
73
85
 
74
86
  var map = {
75
- "./border.spec.js": 4,
76
- "./calculator/viewportColumns.spec.js": 5,
77
- "./calculator/viewportRows.spec.js": 6,
78
- "./cell/coords.spec.js": 7,
79
- "./cell/range.spec.js": 8,
80
- "./core.spec.js": 9,
81
- "./event.spec.js": 10,
82
- "./filter/column.spec.js": 11,
83
- "./filter/row.spec.js": 12,
87
+ "./border.spec.js": 5,
88
+ "./calculator/viewportColumns.spec.js": 6,
89
+ "./calculator/viewportRows.spec.js": 7,
90
+ "./cell/coords.spec.js": 8,
91
+ "./cell/range.spec.js": 9,
92
+ "./core.spec.js": 10,
93
+ "./event.spec.js": 11,
94
+ "./filter/column.spec.js": 12,
95
+ "./filter/row.spec.js": 13,
84
96
  "./scroll.spec.js": 14,
85
97
  "./scrollbar.spec.js": 15,
86
98
  "./scrollbarNative.spec.js": 16,
@@ -105,12 +117,10 @@ webpackContext.keys = function webpackContextKeys() {
105
117
  };
106
118
  webpackContext.resolve = webpackContextResolve;
107
119
  module.exports = webpackContext;
108
- webpackContext.id = 1;
120
+ webpackContext.id = 4;
109
121
 
110
122
  /***/ }),
111
- /* 2 */,
112
- /* 3 */,
113
- /* 4 */
123
+ /* 5 */
114
124
  /***/ (function(module, exports, __webpack_require__) {
115
125
 
116
126
  "use strict";
@@ -303,7 +313,7 @@ describe('WalkontableBorder', function () {
303
313
  });
304
314
 
305
315
  /***/ }),
306
- /* 5 */
316
+ /* 6 */
307
317
  /***/ (function(module, exports, __webpack_require__) {
308
318
 
309
319
  "use strict";
@@ -516,7 +526,7 @@ describe('Walkontable.ViewportColumnsCalculator', function () {
516
526
  });
517
527
 
518
528
  /***/ }),
519
- /* 6 */
529
+ /* 7 */
520
530
  /***/ (function(module, exports, __webpack_require__) {
521
531
 
522
532
  "use strict";
@@ -652,7 +662,7 @@ describe('Walkontable.ViewportRowsCalculator', function () {
652
662
  });
653
663
 
654
664
  /***/ }),
655
- /* 7 */
665
+ /* 8 */
656
666
  /***/ (function(module, exports, __webpack_require__) {
657
667
 
658
668
  "use strict";
@@ -733,7 +743,7 @@ describe('Walkontable.CellCoords', function () {
733
743
  });
734
744
 
735
745
  /***/ }),
736
- /* 8 */
746
+ /* 9 */
737
747
  /***/ (function(module, exports, __webpack_require__) {
738
748
 
739
749
  "use strict";
@@ -2036,7 +2046,7 @@ describe('Walkontable.CellRange', function () {
2036
2046
  });
2037
2047
 
2038
2048
  /***/ }),
2039
- /* 9 */
2049
+ /* 10 */
2040
2050
  /***/ (function(module, exports, __webpack_require__) {
2041
2051
 
2042
2052
  "use strict";
@@ -2241,7 +2251,7 @@ describe('WalkontableCore', function () {
2241
2251
  });
2242
2252
 
2243
2253
  /***/ }),
2244
- /* 10 */
2254
+ /* 11 */
2245
2255
  /***/ (function(module, exports, __webpack_require__) {
2246
2256
 
2247
2257
  "use strict";
@@ -2749,7 +2759,7 @@ describe('WalkontableEvent', function () {
2749
2759
  });
2750
2760
 
2751
2761
  /***/ }),
2752
- /* 11 */
2762
+ /* 12 */
2753
2763
  /***/ (function(module, exports, __webpack_require__) {
2754
2764
 
2755
2765
  "use strict";
@@ -2786,7 +2796,7 @@ describe('Walkontable.ColumnFilter', function () {
2786
2796
  });
2787
2797
 
2788
2798
  /***/ }),
2789
- /* 12 */
2799
+ /* 13 */
2790
2800
  /***/ (function(module, exports, __webpack_require__) {
2791
2801
 
2792
2802
  "use strict";
@@ -2866,19 +2876,6 @@ describe('Walkontable.RowFilter', function () {
2866
2876
  });
2867
2877
  });
2868
2878
 
2869
- /***/ }),
2870
- /* 13 */
2871
- /***/ (function(module, exports, __webpack_require__) {
2872
-
2873
- "use strict";
2874
-
2875
-
2876
- [__webpack_require__(1)].forEach(function (req) {
2877
- req.keys().forEach(function (key) {
2878
- req(key);
2879
- });
2880
- });
2881
-
2882
2879
  /***/ }),
2883
2880
  /* 14 */
2884
2881
  /***/ (function(module, exports, __webpack_require__) {