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.
- package/.travis.yml +2 -0
- package/README.md +127 -96
- package/commonjs/core.js +11 -6
- package/commonjs/helpers/dom/element.js +4 -3
- package/commonjs/helpers/mixed.js +8 -4
- package/commonjs/index.js +5 -4
- package/commonjs/pluginHooks.js +18 -2
- package/commonjs/plugins/copyPaste/clipboardData.js +31 -0
- package/commonjs/plugins/copyPaste/contextMenuItem/copy.js +1 -2
- package/commonjs/plugins/copyPaste/contextMenuItem/cut.js +1 -2
- package/commonjs/plugins/copyPaste/copyPaste.js +127 -134
- package/commonjs/plugins/copyPaste/pasteEvent.js +19 -0
- package/commonjs/plugins/copyPaste/test/copyPaste.e2e.js +90 -189
- package/commonjs/plugins/copyPaste/test/textarea.unit.js +2 -2
- package/commonjs/plugins/copyPaste/textarea.js +2 -1
- package/commonjs/plugins/manualColumnMove/manualColumnMove.js +8 -11
- package/commonjs/plugins/manualColumnMove/test/manualColumnMoveUI.e2e.js +35 -0
- package/commonjs/plugins/manualRowMove/manualRowMove.js +9 -12
- package/commonjs/plugins/manualRowMove/test/manualRowMove.e2e.js +256 -60
- package/commonjs/plugins/manualRowMove/test/manualRowMoveUI.e2e.js +40 -182
- package/commonjs/plugins/manualRowMove/ui/_base.js +2 -2
- package/commonjs/tableView.js +1 -0
- package/dist/handsontable.css +6 -5
- package/dist/handsontable.css.map +1 -1
- package/dist/handsontable.full.css +6 -5
- package/dist/handsontable.full.js +37721 -42290
- package/dist/handsontable.full.min.css +4 -4
- package/dist/handsontable.full.min.js +5 -5
- package/dist/handsontable.js +28732 -28433
- package/dist/handsontable.js.map +1 -1
- package/dist/handsontable.min.css +4 -4
- package/dist/handsontable.min.js +3 -3
- package/es/core.js +11 -6
- package/es/helpers/dom/element.js +4 -3
- package/es/helpers/mixed.js +4 -4
- package/es/index.js +3 -4
- package/es/pluginHooks.js +18 -2
- package/es/plugins/copyPaste/clipboardData.js +27 -0
- package/es/plugins/copyPaste/contextMenuItem/copy.js +1 -2
- package/es/plugins/copyPaste/contextMenuItem/cut.js +1 -2
- package/es/plugins/copyPaste/copyPaste.js +124 -132
- package/es/plugins/copyPaste/pasteEvent.js +11 -0
- package/es/plugins/copyPaste/test/copyPaste.e2e.js +90 -189
- package/es/plugins/copyPaste/test/textarea.unit.js +2 -2
- package/es/plugins/copyPaste/textarea.js +2 -1
- package/es/plugins/manualColumnMove/manualColumnMove.js +8 -11
- package/es/plugins/manualColumnMove/test/manualColumnMoveUI.e2e.js +35 -0
- package/es/plugins/manualRowMove/manualRowMove.js +9 -12
- package/es/plugins/manualRowMove/test/manualRowMove.e2e.js +256 -60
- package/es/plugins/manualRowMove/test/manualRowMoveUI.e2e.js +40 -182
- package/es/plugins/manualRowMove/ui/_base.js +2 -2
- package/es/tableView.js +1 -0
- package/handsontable.jquery.json +1 -1
- package/hot.config.js +1 -1
- package/package.json +5 -5
- package/src/3rdparty/walkontable/dist/walkontable.js +27234 -11175
- package/src/3rdparty/walkontable/dist/walkontable.js.map +1 -1
- package/src/3rdparty/walkontable/test/dist/helpers.entry.js +32 -36
- package/src/3rdparty/walkontable/test/dist/helpers.entry.js.map +1 -1
- package/src/3rdparty/walkontable/test/dist/specs.entry.js +36 -39
- package/src/3rdparty/walkontable/test/dist/specs.entry.js.map +1 -1
- package/src/core.js +11 -6
- package/src/css/handsontable.css +1 -2
- package/src/helpers/dom/element.js +4 -3
- package/src/helpers/mixed.js +3 -3
- package/src/index.js +1 -2
- package/src/pluginHooks.js +18 -2
- package/src/plugins/copyPaste/clipboardData.js +11 -0
- package/src/plugins/copyPaste/contextMenuItem/copy.js +1 -2
- package/src/plugins/copyPaste/contextMenuItem/cut.js +1 -2
- package/src/plugins/copyPaste/copyPaste.css +3 -1
- package/src/plugins/copyPaste/copyPaste.js +120 -127
- package/src/plugins/copyPaste/pasteEvent.js +7 -0
- package/src/plugins/copyPaste/test/copyPaste.e2e.js +75 -193
- package/src/plugins/copyPaste/test/textarea.unit.js +2 -2
- package/src/plugins/copyPaste/textarea.js +2 -1
- package/src/plugins/manualColumnMove/manualColumnMove.js +6 -9
- package/src/plugins/manualColumnMove/test/manualColumnMoveUI.e2e.js +35 -0
- package/src/plugins/manualRowMove/manualRowMove.js +7 -10
- package/src/plugins/manualRowMove/test/manualRowMove.e2e.js +282 -86
- package/src/plugins/manualRowMove/test/manualRowMoveUI.e2e.js +51 -190
- package/src/plugins/manualRowMove/ui/_base.js +2 -2
- package/test/dist/e2e.entry.js +31381 -31131
- package/test/dist/e2e.entry.js.map +1 -1
- package/test/dist/helpers.entry.js +16 -19
- package/test/dist/helpers.entry.js.map +1 -1
- package/test/e2e/Core_listen.spec.js +32 -0
- package/test/e2e/Core_selection.spec.js +1 -1
- package/test/e2e/Core_validate.spec.js +29 -0
- package/test/e2e/renderers/checkboxRenderer.spec.js +20 -7
- package/test/e2e/settings/fragmentSelection.spec.js +12 -9
- package/test/scripts/trigger-pro-tests.sh +41 -0
- package/yarn.lock +260 -208
- package/.npmignore +0 -19
- 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 =
|
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 =
|
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":
|
76
|
-
"./calculator/viewportColumns.spec.js":
|
77
|
-
"./calculator/viewportRows.spec.js":
|
78
|
-
"./cell/coords.spec.js":
|
79
|
-
"./cell/range.spec.js":
|
80
|
-
"./core.spec.js":
|
81
|
-
"./event.spec.js":
|
82
|
-
"./filter/column.spec.js":
|
83
|
-
"./filter/row.spec.js":
|
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 =
|
120
|
+
webpackContext.id = 4;
|
109
121
|
|
110
122
|
/***/ }),
|
111
|
-
/*
|
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
|
-
/*
|
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
|
-
/*
|
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
|
-
/*
|
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
|
-
/*
|
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
|
-
/*
|
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
|
-
/*
|
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
|
-
/*
|
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
|
-
/*
|
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__) {
|