canvas-datagrid 0.3.12 → 0.3.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/dist/canvas-datagrid.debug.js +349 -103
- package/dist/canvas-datagrid.debug.map +1 -1
- package/dist/canvas-datagrid.js +1 -1
- package/dist/canvas-datagrid.module.js +1 -1
- package/dist/canvas-datagrid.module.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/lib/defaults.js +1 -0
- package/lib/docs.js +3 -0
- package/lib/draw.js +8 -6
- package/lib/{events.js → events/index.js} +58 -60
- package/lib/events/util.js +96 -0
- package/lib/intf.js +52 -0
- package/lib/publicMethods.js +10 -10
- package/package.json +1 -1
|
@@ -1016,7 +1016,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1016
1016
|
|
|
1017
1017
|
/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(self) {
|
|
1018
1018
|
self.defaults = {
|
|
1019
|
-
attributes: [['allowColumnReordering', true], ['allowColumnResize', true], ['allowColumnResizeFromCell', false], ['allowFreezingRows', false], ['allowFreezingColumns', false], ['allowMovingSelection', true], ['allowRowHeaderResize', true], ['allowRowReordering', false], ['allowRowResize', true], ['allowRowResizeFromCell', false], ['allowSorting', true], ['autoGenerateSchema', false], ['autoResizeColumns', false], ['autoResizeRows', false], ['autoScrollOnMousemove', false], ['autoScrollMargin', 5], ['blanksText', '(Blanks)'], ['borderDragBehavior', 'none'], ['borderResizeZone', 10], ['clearSettingsOptionText', 'Clear saved settings'], ['columnHeaderClickBehavior', 'sort'], ['columnSelectorHiddenText', ' '], ['columnSelectorText', 'Add/Remove columns'], ['columnSelectorVisibleText', "\u2713"], ['contextHoverScrollAmount', 2], ['contextHoverScrollRateMs', 5], ['copyHeadersOnSelectAll', true], ['copyText', 'Copy'], ['debug', false], ['editable', true], ['ellipsisText', '...'], ['filterOptionText', 'Filter %s'], ['filterTextPrefix', '(filtered) '], ['filterFrozenRows', true], ['globalRowResize', false], ['hideColumnText', 'Hide %s'], ['hoverMode', 'cell'], ['maxAutoCompleteItems', 200], ['multiLine', false], ['name', ''], ['pageUpDownOverlap', 1], ['pasteText', 'Paste'], ['persistantSelectionMode', false], ['removeFilterOptionText', 'Remove filter on %s'], ['reorderDeadZone', 3], ['resizeScrollZone', 20], ['rowGrabZoneSize', 5], ['saveAppearance', true], ['scrollAnimationPPSThreshold', 0.75], ['scrollPointerLock', false], ['scrollRepeatRate', 75], ['selectionFollowsActiveCell', false], ['selectionHandleBehavior', 'none'], ['selectionMode', 'cell'], ['selectionScrollIncrement', 20], ['selectionScrollZone', 20], ['showClearSettingsOption', true], ['showColumnHeaders', true], ['showColumnSelector', true], ['showCopy', false], ['showFilter', true], ['showNewRow', false], ['showOrderByOption', true], ['showOrderByOptionTextAsc', 'Order by %s ascending'], ['showOrderByOptionTextDesc', 'Order by %s descending'], ['showPaste', false], ['showPerformance', false], ['showRowHeaders', true], ['showRowNumbers', true], ['showRowNumberGaps', true], ['singleSelectionMode', false], ['snapToRow', false], ['sortFrozenRows', true], ['touchContextMenuTimeMs', 800], ['touchDeadZone', 3], ['touchEasingMethod', 'easeOutQuad'], ['touchReleaseAcceleration', 1000], ['touchReleaseAnimationDurationMs', 2000], ['touchScrollZone', 20], ['touchSelectHandleZone', 20], ['touchZoomSensitivity', 0.005], ['touchZoomMin', 0.5], ['touchZoomMax', 1.75], ['maxPixelRatio', 2], ['tree', false], ['treeHorizontalScroll', false]],
|
|
1019
|
+
attributes: [['allowColumnReordering', true], ['allowColumnResize', true], ['allowColumnResizeFromCell', false], ['allowFreezingRows', false], ['allowFreezingColumns', false], ['allowMovingSelection', true], ['allowRowHeaderResize', true], ['allowRowReordering', false], ['allowRowResize', true], ['allowRowResizeFromCell', false], ['allowSorting', true], ['autoGenerateSchema', false], ['autoResizeColumns', false], ['autoResizeRows', false], ['autoScrollOnMousemove', false], ['autoScrollMargin', 5], ['blanksText', '(Blanks)'], ['borderDragBehavior', 'none'], ['borderResizeZone', 10], ['clearSettingsOptionText', 'Clear saved settings'], ['columnHeaderClickBehavior', 'sort'], ['columnSelectorHiddenText', ' '], ['columnSelectorText', 'Add/Remove columns'], ['columnSelectorVisibleText', "\u2713"], ['contextHoverScrollAmount', 2], ['contextHoverScrollRateMs', 5], ['copyHeadersOnSelectAll', true], ['copyText', 'Copy'], ['debug', false], ['editable', true], ['ellipsisText', '...'], ['filterOptionText', 'Filter %s'], ['filterTextPrefix', '(filtered) '], ['filterFrozenRows', true], ['globalRowResize', false], ['hideColumnText', 'Hide %s'], ['hoverMode', 'cell'], ['keepFocusOnMouseOut', false], ['maxAutoCompleteItems', 200], ['multiLine', false], ['name', ''], ['pageUpDownOverlap', 1], ['pasteText', 'Paste'], ['persistantSelectionMode', false], ['removeFilterOptionText', 'Remove filter on %s'], ['reorderDeadZone', 3], ['resizeScrollZone', 20], ['rowGrabZoneSize', 5], ['saveAppearance', true], ['scrollAnimationPPSThreshold', 0.75], ['scrollPointerLock', false], ['scrollRepeatRate', 75], ['selectionFollowsActiveCell', false], ['selectionHandleBehavior', 'none'], ['selectionMode', 'cell'], ['selectionScrollIncrement', 20], ['selectionScrollZone', 20], ['showClearSettingsOption', true], ['showColumnHeaders', true], ['showColumnSelector', true], ['showCopy', false], ['showFilter', true], ['showNewRow', false], ['showOrderByOption', true], ['showOrderByOptionTextAsc', 'Order by %s ascending'], ['showOrderByOptionTextDesc', 'Order by %s descending'], ['showPaste', false], ['showPerformance', false], ['showRowHeaders', true], ['showRowNumbers', true], ['showRowNumberGaps', true], ['singleSelectionMode', false], ['snapToRow', false], ['sortFrozenRows', true], ['touchContextMenuTimeMs', 800], ['touchDeadZone', 3], ['touchEasingMethod', 'easeOutQuad'], ['touchReleaseAcceleration', 1000], ['touchReleaseAnimationDurationMs', 2000], ['touchScrollZone', 20], ['touchSelectHandleZone', 20], ['touchZoomSensitivity', 0.005], ['touchZoomMin', 0.5], ['touchZoomMax', 1.75], ['maxPixelRatio', 2], ['tree', false], ['treeHorizontalScroll', false]],
|
|
1020
1020
|
styles: [['activeCellBackgroundColor', 'rgba(255, 255, 255, 1)'], ['activeCellBorderColor', 'rgba(110, 168, 255, 1)'], ['activeCellBorderWidth', 1], ['activeCellColor', 'rgba(0, 0, 0, 1)'], ['activeCellFont', '16px sans-serif'], ['activeCellHoverBackgroundColor', 'rgba(255, 255, 255, 1)'], ['activeCellHorizontalAlignment', 'left'], ['activeCellHoverColor', 'rgba(0, 0, 0, 1)'], ['activeCellOverlayBorderColor', 'rgba(66, 133, 244, 1)'], ['activeCellOverlayBorderWidth', 1], ['activeCellPaddingBottom', 5], ['activeCellPaddingLeft', 5], ['activeCellPaddingRight', 5], ['activeCellPaddingTop', 5], ['activeCellSelectedBackgroundColor', 'rgba(236, 243, 255, 1)'], ['activeCellSelectedColor', 'rgba(0, 0, 0, 1)'], ['activeCellVerticalAlignment', 'center'], ['activeColumnHeaderCellBackgroundColor', 'rgba(225, 225, 225, 1)'], ['activeColumnHeaderCellColor', 'rgba(0, 0, 0, 1)'], ['activeRowHeaderCellBackgroundColor', 'rgba(225, 225, 225, 1)'], ['activeRowHeaderCellColor', 'rgba(0, 0, 0, 1)'], ['autocompleteBottomMargin', 60], ['autosizeHeaderCellPadding', 8], ['autosizePadding', 5], ['cellAutoResizePadding', 13], ['cellBackgroundColor', 'rgba(255, 255, 255, 1)'], ['cellBorderColor', 'rgba(195, 199, 202, 1)'], ['cellBorderWidth', 1], ['cellColor', 'rgba(0, 0, 0, 1)'], ['cellFont', '16px sans-serif'], ['cellGridHeight', 250], ['cellHeight', 24], ['cellHeightWithChildGrid', 150], ['cellHorizontalAlignment', 'left'], ['cellHoverBackgroundColor', 'rgba(255, 255, 255, 1)'], ['cellHoverColor', 'rgba(0, 0, 0, 1)'], ['cellPaddingBottom', 5], ['cellPaddingLeft', 5], ['cellPaddingRight', 5], ['cellPaddingTop', 5], ['cellSelectedBackgroundColor', 'rgba(236, 243, 255, 1)'], ['cellSelectedColor', 'rgba(0, 0, 0, 1)'], ['cellVerticalAlignment', 'center'], ['cellWidth', 250], ['cellWidthWithChildGrid', 250], ['cellWhiteSpace', 'nowrap'], ['cellLineHeight', 1], ['cellLineSpacing', 3], ['childContextMenuArrowColor', 'rgba(43, 48, 43, 1)'], ['childContextMenuArrowHTML', '►'], ['childContextMenuMarginLeft', -11], ['childContextMenuMarginTop', -6], ['columnHeaderCellBackgroundColor', 'rgba(240, 240, 240, 1)'], ['columnHeaderCellBorderColor', 'rgba(172, 172, 172, 1)'], ['columnHeaderCellBorderWidth', 1], ['columnHeaderCellCapBackgroundColor', 'rgba(240, 240, 240, 1)'], ['columnHeaderCellCapBorderColor', 'rgba(172, 172, 172, 1)'], ['columnHeaderCellCapBorderWidth', 1], ['columnHeaderCellColor', 'rgba(50, 50, 50, 1)'], ['columnHeaderCellFont', '16px sans-serif'], ['columnHeaderCellHeight', 25], ['columnHeaderCellHorizontalAlignment', 'left'], ['columnHeaderCellHoverBackgroundColor', 'rgba(235, 235, 235, 1)'], ['columnHeaderCellHoverColor', 'rgba(0, 0, 0, 1)'], ['columnHeaderCellPaddingBottom', 5], ['columnHeaderCellPaddingLeft', 5], ['columnHeaderCellPaddingRight', 5], ['columnHeaderCellPaddingTop', 5], ['columnHeaderCellVerticalAlignment', 'center'], ['columnHeaderOrderByArrowBorderColor', 'rgba(195, 199, 202, 1)'], ['columnHeaderOrderByArrowBorderWidth', 1], ['columnHeaderOrderByArrowColor', 'rgba(155, 155, 155, 1)'], ['columnHeaderOrderByArrowHeight', 8], ['columnHeaderOrderByArrowMarginLeft', 0], ['columnHeaderOrderByArrowMarginRight', 5], ['columnHeaderOrderByArrowMarginTop', 6], ['columnHeaderOrderByArrowWidth', 13], ['contextFilterButtonBorder', 'solid 1px rgba(158, 163, 169, 1)'], ['contextFilterButtonBorderRadius', '3px'], ['contextFilterButtonHTML', '▼'], ['contextFilterInputBackground', 'rgba(255,255,255,1)'], ['contextFilterInputBorder', 'solid 1px rgba(158, 163, 169, 1)'], ['contextFilterInputBorderRadius', '0'], ['contextFilterInputColor', 'rgba(0,0,0,1)'], ['contextFilterInputFontFamily', 'sans-serif'], ['contextFilterInputFontSize', '14px'], ['contextFilterInvalidRegExpBackground', 'rgba(180, 6, 1, 1)'], ['contextFilterInvalidRegExpColor', 'rgba(255, 255, 255, 1)'], ['contextMenuArrowColor', 'rgba(43, 48, 43, 1)'], ['contextMenuArrowDownHTML', '▼'], ['contextMenuArrowUpHTML', '▲'], ['contextMenuBackground', 'rgba(240, 240, 240, 1)'], ['contextMenuBorder', 'solid 1px rgba(158, 163, 169, 1)'], ['contextMenuBorderRadius', '3px'], ['contextMenuChildArrowFontSize', '12px'], ['contextMenuColor', 'rgba(43, 48, 43, 1)'], ['contextMenuCursor', 'default'], ['contextMenuFilterButtonFontFamily', 'sans-serif'], ['contextMenuFilterButtonFontSize', '10px'], ['contextMenuFilterInvalidExpresion', 'rgba(237, 155, 156, 1)'], ['contextMenuFontFamily', 'sans-serif'], ['contextMenuFontSize', '16px'], ['contextMenuHoverBackground', 'rgba(182, 205, 250, 1)'], ['contextMenuHoverColor', 'rgba(43, 48, 153, 1)'], ['contextMenuItemBorderRadius', '3px'], ['contextMenuItemMargin', '2px'], ['contextMenuLabelDisplay', 'inline-block'], ['contextMenuLabelMargin', '0 3px 0 0'], ['contextMenuLabelMaxWidth', '700px'], ['contextMenuLabelMinWidth', '75px'], ['contextMenuMarginLeft', 3], ['contextMenuMarginTop', -3], ['contextMenuOpacity', '0.98'], ['contextMenuPadding', '2px'], ['contextMenuWindowMargin', 30], ['contextMenuZIndex', 10000], ['cornerCellBackgroundColor', 'rgba(240, 240, 240, 1)'], ['cornerCellBorderColor', 'rgba(202, 202, 202, 1)'], ['debugBackgroundColor', 'rgba(0, 0, 0, .0)'], ['debugColor', 'rgba(255, 15, 24, 1)'], ['debugEntitiesColor', 'rgba(76, 231, 239, 1.00)'], ['debugFont', '11px sans-serif'], ['debugPerfChartBackground', 'rgba(29, 25, 26, 1.00)'], ['debugPerfChartTextColor', 'rgba(255, 255, 255, 0.8)'], ['debugPerformanceColor', 'rgba(252, 255, 37, 1.00)'], ['debugScrollHeightColor', 'rgba(248, 33, 103, 1.00)'], ['debugScrollWidthColor', 'rgba(66, 255, 27, 1.00)'], ['debugTouchPPSXColor', 'rgba(246, 102, 24, 1.00)'], ['debugTouchPPSYColor', 'rgba(186, 0, 255, 1.00)'], ['display', 'inline-block'], ['editCellBackgroundColor', 'white'], ['editCellBorder', 'solid 1px rgba(110, 168, 255, 1)'], ['editCellBoxShadow', '0 2px 5px rgba(0,0,0,0.4)'], ['editCellColor', 'black'], ['editCellFontFamily', 'sans-serif'], ['editCellFontSize', '16px'], ['editCellPaddingLeft', 4], ['editCellZIndex', 10000], ['frozenMarkerHoverColor', 'rgba(236, 243, 255, 1)'], ['frozenMarkerHoverBorderColor', 'rgba(110, 168, 255, 1)'], ['frozenMarkerActiveColor', 'rgba(236, 243, 255, 1)'], ['frozenMarkerActiveBorderColor', 'rgba(110, 168, 255, 1)'], ['frozenMarkerColor', 'rgba(222, 222, 222, 1)'], ['frozenMarkerBorderColor', 'rgba(168, 168, 168, 1)'], ['frozenMarkerBorderWidth', 1], ['frozenMarkerWidth', 2], ['gridBackgroundColor', 'rgba(240, 240, 240, 1)'], ['gridBorderCollapse', 'collapse'], ['gridBorderColor', 'rgba(202, 202, 202, 1)'], ['gridBorderWidth', 1], ['height', 'auto'], ['maxHeight', 'inherit'], ['maxWidth', 'inherit'], ['minColumnWidth', 45], ['minHeight', 'inherit'], ['minRowHeight', 24], ['minWidth', 'inherit'], ['mobileContextMenuMargin', 10], ['mobileEditInputHeight', 30], ['mobileEditFontFamily', 'sans-serif'], ['mobileEditFontSize', '16px'], ['moveOverlayBorderWidth', 1], ['moveOverlayBorderColor', 'rgba(66, 133, 244, 1)'], ['moveOverlayBorderSegments', '12, 7'], ['name', 'default'], ['overflowY', 'auto'], ['overflowX', 'auto'], ['reorderMarkerBackgroundColor', 'rgba(0, 0, 0, 0.1)'], ['reorderMarkerBorderColor', 'rgba(0, 0, 0, 0.2)'], ['reorderMarkerBorderWidth', 1.25], ['reorderMarkerIndexBorderColor', 'rgba(66, 133, 244, 1)'], ['reorderMarkerIndexBorderWidth', 2.75], ['rowHeaderCellBackgroundColor', 'rgba(240, 240, 240, 1)'], ['rowHeaderCellBorderColor', 'rgba(200, 200, 200, 1)'], ['rowHeaderCellBorderWidth', 1], ['rowHeaderCellColor', 'rgba(50, 50, 50, 1)'], ['rowHeaderCellFont', '16px sans-serif'], ['rowHeaderCellHeight', 25], ['rowHeaderCellHorizontalAlignment', 'left'], ['rowHeaderCellHoverBackgroundColor', 'rgba(235, 235, 235, 1)'], ['rowHeaderCellHoverColor', 'rgba(0, 0, 0, 1)'], ['rowHeaderCellPaddingBottom', 5], ['rowHeaderCellPaddingLeft', 5], ['rowHeaderCellPaddingRight', 5], ['rowHeaderCellPaddingTop', 5], ['rowHeaderCellRowNumberGapHeight', 5], ['rowHeaderCellRowNumberGapColor', 'rgba(50, 50, 50, 1)'], ['rowHeaderCellSelectedBackgroundColor', 'rgba(217, 217, 217, 1)'], ['rowHeaderCellSelectedColor', 'rgba(50, 50, 50, 1)'], ['rowHeaderCellVerticalAlignment', 'center'], ['rowHeaderCellWidth', 57], ['scrollBarActiveColor', 'rgba(125, 125, 125, 1)'], ['scrollBarBackgroundColor', 'rgba(240, 240, 240, 1)'], ['scrollBarBorderColor', 'rgba(202, 202, 202, 1)'], ['scrollBarBorderWidth', 0.5], ['scrollBarBoxBorderRadius', 4.125], ['scrollBarBoxColor', 'rgba(192, 192, 192, 1)'], ['scrollBarBoxMargin', 2], ['scrollBarBoxMinSize', 15], ['scrollBarBoxWidth', 8], ['scrollBarCornerBackgroundColor', 'rgba(240, 240, 240, 1)'], ['scrollBarCornerBorderColor', 'rgba(202, 202, 202, 1)'], ['scrollBarWidth', 11], ['selectionHandleBorderColor', 'rgba(255, 255, 255, 1)'], ['selectionHandleBorderWidth', 1.5], ['selectionHandleColor', 'rgba(66, 133, 244, 1)'], ['selectionHandleSize', 8], ['selectionHandleType', 'square'], ['selectionOverlayBorderColor', 'rgba(66, 133, 244, 1)'], ['selectionOverlayBorderWidth', 1], ['treeArrowBorderColor', 'rgba(195, 199, 202, 1)'], ['treeArrowBorderWidth', 1], ['treeArrowClickRadius', 5], ['treeArrowColor', 'rgba(155, 155, 155, 1)'], ['treeArrowHeight', 8], ['treeArrowMarginLeft', 0], ['treeArrowMarginRight', 5], ['treeArrowMarginTop', 6], ['treeArrowWidth', 13], ['treeGridHeight', 250], ['width', 'auto']]
|
|
1021
1021
|
};
|
|
1022
1022
|
}
|
|
@@ -1892,15 +1892,15 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
1892
1892
|
y = y + mt;
|
|
1893
1893
|
|
|
1894
1894
|
if (self.orderDirection === 'asc') {
|
|
1895
|
-
self.ctx.moveTo(x, y);
|
|
1896
|
-
self.ctx.lineTo(x + aw, y);
|
|
1897
|
-
self.ctx.lineTo(x + aw * 0.5, y + ah);
|
|
1898
|
-
self.ctx.moveTo(x, y);
|
|
1899
|
-
} else {
|
|
1900
1895
|
self.ctx.lineTo(x, y + ah);
|
|
1901
1896
|
self.ctx.lineTo(x + aw, y + ah);
|
|
1902
1897
|
self.ctx.lineTo(x + aw * 0.5, y);
|
|
1903
1898
|
self.ctx.lineTo(x, y + ah);
|
|
1899
|
+
} else {
|
|
1900
|
+
self.ctx.moveTo(x, y);
|
|
1901
|
+
self.ctx.lineTo(x + aw, y);
|
|
1902
|
+
self.ctx.lineTo(x + aw * 0.5, y + ah);
|
|
1903
|
+
self.ctx.moveTo(x, y);
|
|
1904
1904
|
}
|
|
1905
1905
|
|
|
1906
1906
|
self.ctx.stroke();
|
|
@@ -2611,7 +2611,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
2611
2611
|
viewRowIndex: rowOrderIndex,
|
|
2612
2612
|
viewColumnIndex: columnOrderIndex,
|
|
2613
2613
|
boundRowIndex: self.getBoundRowIndexFromViewRowIndex(rowOrderIndex),
|
|
2614
|
-
boundColumnIndex: columnOrderIndex,
|
|
2614
|
+
boundColumnIndex: self.getBoundColumnIndexFromViewColumnIndex(columnOrderIndex),
|
|
2615
2615
|
sortColumnIndex: headerIndex,
|
|
2616
2616
|
sortRowIndex: rowIndex,
|
|
2617
2617
|
isGrid: isGrid,
|
|
@@ -3515,10 +3515,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
3515
3515
|
|
|
3516
3516
|
/***/ }),
|
|
3517
3517
|
|
|
3518
|
-
/***/ "./lib/events.js":
|
|
3519
|
-
|
|
3520
|
-
!*** ./lib/events.js ***!
|
|
3521
|
-
|
|
3518
|
+
/***/ "./lib/events/index.js":
|
|
3519
|
+
/*!*****************************!*\
|
|
3520
|
+
!*** ./lib/events/index.js ***!
|
|
3521
|
+
\*****************************/
|
|
3522
3522
|
/*! namespace exports */
|
|
3523
3523
|
/*! export default [provided] [no usage info] [missing usage info prevents renaming] */
|
|
3524
3524
|
/*! other exports [not provided] [no usage info] */
|
|
@@ -3532,18 +3532,28 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3532
3532
|
/* harmony export */ });
|
|
3533
3533
|
/* harmony import */ var is_printable_key_event__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-printable-key-event */ "./node_modules/is-printable-key-event/dist/index.js");
|
|
3534
3534
|
/* harmony import */ var is_printable_key_event__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(is_printable_key_event__WEBPACK_IMPORTED_MODULE_0__);
|
|
3535
|
+
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "./lib/events/util.js");
|
|
3535
3536
|
/*jslint browser: true, unparam: true, todo: true, plusplus: true*/
|
|
3536
3537
|
|
|
3537
3538
|
/*globals define: true, MutationObserver: false, requestAnimationFrame: false, performance: false, btoa: false*/
|
|
3538
3539
|
|
|
3539
3540
|
|
|
3540
|
-
function
|
|
3541
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3542
|
+
|
|
3543
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3544
|
+
|
|
3545
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
3546
|
+
|
|
3547
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
3548
|
+
|
|
3549
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
3541
3550
|
|
|
3542
3551
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
3543
3552
|
|
|
3544
3553
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
3545
3554
|
|
|
3546
3555
|
|
|
3556
|
+
|
|
3547
3557
|
/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(self) {
|
|
3548
3558
|
var wheeling;
|
|
3549
3559
|
|
|
@@ -4031,6 +4041,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4031
4041
|
var event = {
|
|
4032
4042
|
selections: self.selections,
|
|
4033
4043
|
selectedData: self.getSelectedData(),
|
|
4044
|
+
selectedCells: self.getSelectedCells(),
|
|
4034
4045
|
selectionBounds: self.getSelectionBounds()
|
|
4035
4046
|
};
|
|
4036
4047
|
self.dispatchEvent('selectionchanged', event);
|
|
@@ -4089,7 +4100,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4089
4100
|
|
|
4090
4101
|
ev = {
|
|
4091
4102
|
selections: self.selections,
|
|
4092
|
-
selectionBounds: self.getSelectionBounds()
|
|
4103
|
+
selectionBounds: self.getSelectionBounds(),
|
|
4104
|
+
selectedCells: self.getSelectedCells()
|
|
4093
4105
|
};
|
|
4094
4106
|
Object.defineProperty(ev, 'selectedData', {
|
|
4095
4107
|
get: function get() {
|
|
@@ -4353,6 +4365,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4353
4365
|
self.stopDragReorder = function (e) {
|
|
4354
4366
|
var oIndex,
|
|
4355
4367
|
tIndex,
|
|
4368
|
+
odata,
|
|
4356
4369
|
cr = {
|
|
4357
4370
|
'row-reorder': self.orders.rows,
|
|
4358
4371
|
'column-reorder': self.orders.columns
|
|
@@ -4373,13 +4386,16 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4373
4386
|
self.ignoreNextClick = true;
|
|
4374
4387
|
oIndex = cr[self.dragMode].indexOf(self.reorderObject[i]);
|
|
4375
4388
|
tIndex = cr[self.dragMode].indexOf(self.reorderTarget[i]);
|
|
4376
|
-
cr[self.dragMode].splice(oIndex, 1);
|
|
4377
|
-
cr[self.dragMode].splice(tIndex, 0, self.reorderObject[i]);
|
|
4378
4389
|
|
|
4379
4390
|
if (self.dragMode === 'column-reorder') {
|
|
4391
|
+
cr[self.dragMode].splice(oIndex, 1);
|
|
4392
|
+
cr[self.dragMode].splice(tIndex, 0, self.reorderObject[i]);
|
|
4380
4393
|
self.orders.columns = cr[self.dragMode];
|
|
4381
4394
|
} else {
|
|
4382
|
-
self.orders.rows = cr[self.dragMode];
|
|
4395
|
+
// self.orders.rows = cr[self.dragMode];
|
|
4396
|
+
odata = self.viewData[oIndex];
|
|
4397
|
+
self.viewData[oIndex] = self.viewData[tIndex];
|
|
4398
|
+
self.viewData[tIndex] = odata;
|
|
4383
4399
|
}
|
|
4384
4400
|
|
|
4385
4401
|
self.resize();
|
|
@@ -4605,6 +4621,12 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4605
4621
|
|
|
4606
4622
|
if (['row-reorder', 'column-reorder'].indexOf(self.dragMode) !== -1) {
|
|
4607
4623
|
self.draggingItem = self.dragStartObject;
|
|
4624
|
+
|
|
4625
|
+
if (self.dragMode === 'column-reorder' && self.attributes.columnHeaderClickBehavior === 'select') {
|
|
4626
|
+
self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
|
|
4627
|
+
self.draw();
|
|
4628
|
+
}
|
|
4629
|
+
|
|
4608
4630
|
document.body.addEventListener('mousemove', self.dragReorder, false);
|
|
4609
4631
|
document.body.addEventListener('mouseup', self.stopDragReorder, false);
|
|
4610
4632
|
return;
|
|
@@ -4613,9 +4635,16 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4613
4635
|
|
|
4614
4636
|
self.mouseup = function (e) {
|
|
4615
4637
|
clearTimeout(self.scrollTimer);
|
|
4638
|
+
var ctrl = e.ctrlKey || e.metaKey;
|
|
4616
4639
|
self.cellBoundaryCrossed = true;
|
|
4617
4640
|
self.rowBoundaryCrossed = true;
|
|
4618
4641
|
self.columnBoundaryCrossed = true;
|
|
4642
|
+
|
|
4643
|
+
if (self.draggingItem) {
|
|
4644
|
+
self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
|
|
4645
|
+
self.draw();
|
|
4646
|
+
}
|
|
4647
|
+
|
|
4619
4648
|
self.selecting = undefined;
|
|
4620
4649
|
self.draggingItem = undefined;
|
|
4621
4650
|
self.dragStartObject = undefined;
|
|
@@ -4700,7 +4729,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4700
4729
|
return;
|
|
4701
4730
|
}
|
|
4702
4731
|
|
|
4703
|
-
if (!self.hasFocus) {
|
|
4732
|
+
if (!self.attributes.keepFocusOnMouseOut && !self.hasFocus) {
|
|
4704
4733
|
return;
|
|
4705
4734
|
} // If a user starts typing content, switch to "Enter" mode
|
|
4706
4735
|
|
|
@@ -4856,7 +4885,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4856
4885
|
ev = {
|
|
4857
4886
|
selectedData: self.getSelectedData(),
|
|
4858
4887
|
selections: self.selections,
|
|
4859
|
-
selectionBounds: self.getSelectionBounds()
|
|
4888
|
+
selectionBounds: self.getSelectionBounds(),
|
|
4889
|
+
selectedCells: self.getSelectedCells()
|
|
4860
4890
|
};
|
|
4861
4891
|
Object.defineProperty(ev, 'selectedData', {
|
|
4862
4892
|
get: function get() {
|
|
@@ -4961,64 +4991,17 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
4961
4991
|
};
|
|
4962
4992
|
|
|
4963
4993
|
self.pasteData = function (pasteValue, mimeType, startRowIndex, startColIndex) {
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
var isSupportedHtmlTable = function isSupportedHtmlTable(htmlString) {
|
|
4967
|
-
return /(?:^(<meta[^>]+>)?<table.*?>)|(?:<!--StartFragment-->\s*<table.*?>)/.test(htmlString);
|
|
4968
|
-
}; // TODO: support pasting tables from Excel
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
if (mimeType === 'text/html' && isSupportedHtmlTable(pasteValue) === false) {
|
|
4994
|
+
if (mimeType === 'text/html' && !(0,_util__WEBPACK_IMPORTED_MODULE_1__.isSupportedHtml)(pasteValue)) {
|
|
4972
4995
|
console.warn('Unrecognized HTML format. HTML must be a simple table, e.g.: <table><tr><td>data</td></tr></table>.');
|
|
4973
4996
|
console.warn('Data with the mime type text/html not in this format will not be imported as row data.');
|
|
4974
4997
|
return;
|
|
4975
4998
|
}
|
|
4976
4999
|
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
if (mimeType === 'text/html') {
|
|
4980
|
-
var doc = new DOMParser().parseFromString(data, 'text/html');
|
|
4981
|
-
var trs = doc.querySelectorAll('table tr');
|
|
4982
|
-
var _rows = [];
|
|
4983
|
-
trs.forEach(function (tr) {
|
|
4984
|
-
var row = [];
|
|
4985
|
-
tr.childNodes.forEach(function (td) {
|
|
4986
|
-
if (td.nodeName === '#text') return;
|
|
4987
|
-
var col = {
|
|
4988
|
-
// style: {}, // keep style if need
|
|
4989
|
-
value: []
|
|
4990
|
-
};
|
|
4991
|
-
td.childNodes.forEach(function (ele) {
|
|
4992
|
-
col.value.push({
|
|
4993
|
-
// style: {}, // keep style if need
|
|
4994
|
-
value: ele.nodeType === 1 ? ele.innerText : ele.data
|
|
4995
|
-
});
|
|
4996
|
-
});
|
|
4997
|
-
row.push(col);
|
|
4998
|
-
});
|
|
4999
|
-
|
|
5000
|
-
_rows.push(row);
|
|
5001
|
-
});
|
|
5002
|
-
return _rows;
|
|
5003
|
-
} // Default data format is string, so split on new line,
|
|
5004
|
-
// and then enclose in an array (a row with one cell):
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
return data.split('\n').map(function (item) {
|
|
5008
|
-
return item.split('\t').map(function (value) {
|
|
5009
|
-
return {
|
|
5010
|
-
value: [{
|
|
5011
|
-
value: value
|
|
5012
|
-
}]
|
|
5013
|
-
};
|
|
5014
|
-
});
|
|
5015
|
-
});
|
|
5016
|
-
}
|
|
5017
|
-
|
|
5018
|
-
var rows = parseData(pasteValue, mimeType); // selected cell. This mimics Excel's paste functionality, and works
|
|
5000
|
+
var schema = self.getSchema();
|
|
5001
|
+
var rows = (0,_util__WEBPACK_IMPORTED_MODULE_1__.parseData)(pasteValue, mimeType); // selected cell. This mimics Excel's paste functionality, and works
|
|
5019
5002
|
// as a poor-man's fill-down.
|
|
5020
5003
|
|
|
5021
|
-
if (rows.length === 1) {
|
|
5004
|
+
if (rows.length === 1 && rows[0].length === 1) {
|
|
5022
5005
|
var cellData = rows[0][0].value.map(function (item) {
|
|
5023
5006
|
return item.value;
|
|
5024
5007
|
}).join();
|
|
@@ -5075,7 +5058,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
5075
5058
|
self.selections.forEach(function (row, rowIndex) {
|
|
5076
5059
|
if (rowIndex === undefined) return;
|
|
5077
5060
|
row.forEach(function (columnIndex) {
|
|
5078
|
-
affectedCells.push([rowIndex, columnIndex, self.
|
|
5061
|
+
affectedCells.push([rowIndex, columnIndex, self.getBoundRowIndexFromViewRowIndex(rowIndex), self.getBoundColumnIndexFromViewColumnIndex(columnIndex)]);
|
|
5079
5062
|
});
|
|
5080
5063
|
});
|
|
5081
5064
|
self.dispatchEvent('afterpaste', {
|
|
@@ -5167,9 +5150,50 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
5167
5150
|
|
|
5168
5151
|
self.cut = function (e) {
|
|
5169
5152
|
self.copy(e);
|
|
5170
|
-
self.
|
|
5171
|
-
|
|
5172
|
-
|
|
5153
|
+
var schema = self.getSchema();
|
|
5154
|
+
var affectedCells = [];
|
|
5155
|
+
|
|
5156
|
+
var _iterator2 = _createForOfIteratorHelper(self.selections.entries()),
|
|
5157
|
+
_step2;
|
|
5158
|
+
|
|
5159
|
+
try {
|
|
5160
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
5161
|
+
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
5162
|
+
rowIndex = _step2$value[0],
|
|
5163
|
+
row = _step2$value[1];
|
|
5164
|
+
|
|
5165
|
+
if (!row) continue;
|
|
5166
|
+
var boundRowIndex = self.getBoundRowIndexFromViewRowIndex(rowIndex);
|
|
5167
|
+
|
|
5168
|
+
var _iterator3 = _createForOfIteratorHelper(row),
|
|
5169
|
+
_step3;
|
|
5170
|
+
|
|
5171
|
+
try {
|
|
5172
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
5173
|
+
var columnIndex = _step3.value;
|
|
5174
|
+
var boundColumnIndex = self.getBoundColumnIndexFromViewColumnIndex(columnIndex);
|
|
5175
|
+
var colName = schema[boundColumnIndex].name;
|
|
5176
|
+
self.viewData[rowIndex][colName] = '';
|
|
5177
|
+
affectedCells.push([rowIndex, columnIndex, boundRowIndex, boundColumnIndex]);
|
|
5178
|
+
}
|
|
5179
|
+
} catch (err) {
|
|
5180
|
+
_iterator3.e(err);
|
|
5181
|
+
} finally {
|
|
5182
|
+
_iterator3.f();
|
|
5183
|
+
}
|
|
5184
|
+
}
|
|
5185
|
+
} catch (err) {
|
|
5186
|
+
_iterator2.e(err);
|
|
5187
|
+
} finally {
|
|
5188
|
+
_iterator2.f();
|
|
5189
|
+
}
|
|
5190
|
+
|
|
5191
|
+
if (self.dispatchEvent('cut', {
|
|
5192
|
+
NativeEvent: e,
|
|
5193
|
+
cells: affectedCells
|
|
5194
|
+
})) {
|
|
5195
|
+
return;
|
|
5196
|
+
}
|
|
5173
5197
|
};
|
|
5174
5198
|
|
|
5175
5199
|
self.copy = function (e) {
|
|
@@ -5257,6 +5281,156 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
5257
5281
|
return;
|
|
5258
5282
|
}
|
|
5259
5283
|
|
|
5284
|
+
/***/ }),
|
|
5285
|
+
|
|
5286
|
+
/***/ "./lib/events/util.js":
|
|
5287
|
+
/*!****************************!*\
|
|
5288
|
+
!*** ./lib/events/util.js ***!
|
|
5289
|
+
\****************************/
|
|
5290
|
+
/*! namespace exports */
|
|
5291
|
+
/*! export isSupportedHtml [provided] [no usage info] [missing usage info prevents renaming] */
|
|
5292
|
+
/*! export parseData [provided] [no usage info] [missing usage info prevents renaming] */
|
|
5293
|
+
/*! export parseHtmlTable [provided] [no usage info] [missing usage info prevents renaming] */
|
|
5294
|
+
/*! export parseHtmlText [provided] [no usage info] [missing usage info prevents renaming] */
|
|
5295
|
+
/*! export parseText [provided] [no usage info] [missing usage info prevents renaming] */
|
|
5296
|
+
/*! export sanitizeElementData [provided] [no usage info] [missing usage info prevents renaming] */
|
|
5297
|
+
/*! other exports [not provided] [no usage info] */
|
|
5298
|
+
/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */
|
|
5299
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
5300
|
+
|
|
5301
|
+
"use strict";
|
|
5302
|
+
__webpack_require__.r(__webpack_exports__);
|
|
5303
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
5304
|
+
/* harmony export */ "isSupportedHtml": function() { return /* binding */ isSupportedHtml; },
|
|
5305
|
+
/* harmony export */ "sanitizeElementData": function() { return /* binding */ sanitizeElementData; },
|
|
5306
|
+
/* harmony export */ "parseData": function() { return /* binding */ parseData; },
|
|
5307
|
+
/* harmony export */ "parseHtmlTable": function() { return /* binding */ parseHtmlTable; },
|
|
5308
|
+
/* harmony export */ "parseHtmlText": function() { return /* binding */ parseHtmlText; },
|
|
5309
|
+
/* harmony export */ "parseText": function() { return /* binding */ parseText; }
|
|
5310
|
+
/* harmony export */ });
|
|
5311
|
+
|
|
5312
|
+
|
|
5313
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
5314
|
+
|
|
5315
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5316
|
+
|
|
5317
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
5318
|
+
|
|
5319
|
+
var isSupportedHtml = function isSupportedHtml(pasteValue) {
|
|
5320
|
+
// We need to match new lines in the HTML, .* won't match new line characters.
|
|
5321
|
+
// `s` regex modifier can't be used with `ecmaVersion === 2017`.
|
|
5322
|
+
// As a workaround using [\s\S]*. Fix when we upgrade `ecmaVersion`.
|
|
5323
|
+
var genericDiv = /(?:^(<meta[^>]*>)?[\s\S]*<div[^>]*>)/;
|
|
5324
|
+
var genericSpan = /(?:^(<meta[^>]*>)?[\s\S]*<span[^>]*>)/;
|
|
5325
|
+
var genericTable = /(?:^(<meta[^>]*>)?[\s\S]*<table[^>]*>)/; // Matches Google Sheets format clipboard data format too.
|
|
5326
|
+
|
|
5327
|
+
var excelTable = /(?:<!--StartFragment-->[\s\S]*<tr[^>]*>)/;
|
|
5328
|
+
var excelTableRow = /(?:<!--StartFragment-->[\s\S]*<td[^>]*>)/;
|
|
5329
|
+
return [genericDiv, genericTable, genericSpan, excelTable, excelTableRow].some(function (expression) {
|
|
5330
|
+
return expression.test(pasteValue);
|
|
5331
|
+
});
|
|
5332
|
+
}; // Explanation of nodeType here: https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
|
|
5333
|
+
|
|
5334
|
+
|
|
5335
|
+
var IGNORE_NODETYPES = [8, 3]; // '#text' and '#comment'
|
|
5336
|
+
|
|
5337
|
+
var isHtmlTable = function isHtmlTable(pasteValue) {
|
|
5338
|
+
return /(?:<table[^>]*>)|(?:<tr[^]*>)/.test(pasteValue);
|
|
5339
|
+
};
|
|
5340
|
+
|
|
5341
|
+
var sanitizeElementData = function sanitizeElementData(element) {
|
|
5342
|
+
// It is not entirely clear if this check on nodeType is required.
|
|
5343
|
+
var elementData = element.nodeType === 1 ? element.innerText : element.data;
|
|
5344
|
+
return String(elementData).replace(/\s+/g, ' ').trim();
|
|
5345
|
+
};
|
|
5346
|
+
|
|
5347
|
+
var parseHtmlText = function parseHtmlText(data) {
|
|
5348
|
+
var doc = new DOMParser().parseFromString(data, 'text/html');
|
|
5349
|
+
var element = doc.querySelector('div') || doc.querySelector('span');
|
|
5350
|
+
var elementData = sanitizeElementData(element);
|
|
5351
|
+
return elementData.split('\n').map(function (item) {
|
|
5352
|
+
return item.split('\t').map(function (value) {
|
|
5353
|
+
return {
|
|
5354
|
+
value: [{
|
|
5355
|
+
value: value
|
|
5356
|
+
}]
|
|
5357
|
+
};
|
|
5358
|
+
});
|
|
5359
|
+
});
|
|
5360
|
+
};
|
|
5361
|
+
|
|
5362
|
+
var parseHtmlTable = function parseHtmlTable(data) {
|
|
5363
|
+
var doc = new DOMParser().parseFromString(data, 'text/html');
|
|
5364
|
+
var trs = doc.querySelectorAll('table tr');
|
|
5365
|
+
var rows = [];
|
|
5366
|
+
|
|
5367
|
+
var _iterator = _createForOfIteratorHelper(trs),
|
|
5368
|
+
_step;
|
|
5369
|
+
|
|
5370
|
+
try {
|
|
5371
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
5372
|
+
var tr = _step.value;
|
|
5373
|
+
var row = [];
|
|
5374
|
+
|
|
5375
|
+
var _iterator2 = _createForOfIteratorHelper(tr.childNodes),
|
|
5376
|
+
_step2;
|
|
5377
|
+
|
|
5378
|
+
try {
|
|
5379
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
5380
|
+
var childNode = _step2.value;
|
|
5381
|
+
if (IGNORE_NODETYPES.includes(childNode.nodeType)) continue;
|
|
5382
|
+
var col = {
|
|
5383
|
+
value: []
|
|
5384
|
+
};
|
|
5385
|
+
var value = sanitizeElementData(childNode);
|
|
5386
|
+
if (value) col.value.push({
|
|
5387
|
+
value: value
|
|
5388
|
+
});
|
|
5389
|
+
row.push(col);
|
|
5390
|
+
}
|
|
5391
|
+
} catch (err) {
|
|
5392
|
+
_iterator2.e(err);
|
|
5393
|
+
} finally {
|
|
5394
|
+
_iterator2.f();
|
|
5395
|
+
}
|
|
5396
|
+
|
|
5397
|
+
rows.push(row);
|
|
5398
|
+
}
|
|
5399
|
+
} catch (err) {
|
|
5400
|
+
_iterator.e(err);
|
|
5401
|
+
} finally {
|
|
5402
|
+
_iterator.f();
|
|
5403
|
+
}
|
|
5404
|
+
|
|
5405
|
+
return rows;
|
|
5406
|
+
};
|
|
5407
|
+
|
|
5408
|
+
var parseText = function parseText(data) {
|
|
5409
|
+
return data.split('\n').map(function (item) {
|
|
5410
|
+
return item.split('\t').map(function (value) {
|
|
5411
|
+
return {
|
|
5412
|
+
value: [{
|
|
5413
|
+
value: value
|
|
5414
|
+
}]
|
|
5415
|
+
};
|
|
5416
|
+
});
|
|
5417
|
+
});
|
|
5418
|
+
};
|
|
5419
|
+
|
|
5420
|
+
var parseData = function parseData(data, mimeType) {
|
|
5421
|
+
if (mimeType === 'text/html' && isHtmlTable(data)) {
|
|
5422
|
+
return parseHtmlTable(data);
|
|
5423
|
+
} else if (mimeType === 'text/html') {
|
|
5424
|
+
return parseHtmlText(data);
|
|
5425
|
+
} // Default data format is string, so split on new line,
|
|
5426
|
+
// and then enclose in an array (a row with one cell):
|
|
5427
|
+
|
|
5428
|
+
|
|
5429
|
+
return parseText(data);
|
|
5430
|
+
};
|
|
5431
|
+
|
|
5432
|
+
|
|
5433
|
+
|
|
5260
5434
|
/***/ }),
|
|
5261
5435
|
|
|
5262
5436
|
/***/ "./lib/intf.js":
|
|
@@ -5281,20 +5455,20 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
5281
5455
|
|
|
5282
5456
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
5283
5457
|
|
|
5284
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
5285
|
-
|
|
5286
5458
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
5287
5459
|
|
|
5288
5460
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5289
5461
|
|
|
5290
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5291
|
-
|
|
5292
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
5293
|
-
|
|
5294
5462
|
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
5295
5463
|
|
|
5296
5464
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
5297
5465
|
|
|
5466
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
5467
|
+
|
|
5468
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5469
|
+
|
|
5470
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
5471
|
+
|
|
5298
5472
|
/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(self, ctor) {
|
|
5299
5473
|
self.scale = 1;
|
|
5300
5474
|
self.orders = {
|
|
@@ -5423,6 +5597,74 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
5423
5597
|
return selectedData;
|
|
5424
5598
|
};
|
|
5425
5599
|
|
|
5600
|
+
self.getSelectedCells = function (expandToRow) {
|
|
5601
|
+
var selectedCells = [];
|
|
5602
|
+
var schema = self.getSchema();
|
|
5603
|
+
var viewDataLength = self.viewData.length;
|
|
5604
|
+
|
|
5605
|
+
if (viewDataLength === 0) {
|
|
5606
|
+
return [];
|
|
5607
|
+
}
|
|
5608
|
+
|
|
5609
|
+
var _iterator = _createForOfIteratorHelper(self.selections.entries()),
|
|
5610
|
+
_step;
|
|
5611
|
+
|
|
5612
|
+
try {
|
|
5613
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
5614
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
5615
|
+
viewRowIndex = _step$value[0],
|
|
5616
|
+
row = _step$value[1];
|
|
5617
|
+
|
|
5618
|
+
if (!row || row.length === 0) continue;
|
|
5619
|
+
|
|
5620
|
+
var _iterator2 = _createForOfIteratorHelper(row.entries()),
|
|
5621
|
+
_step2;
|
|
5622
|
+
|
|
5623
|
+
try {
|
|
5624
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
5625
|
+
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
5626
|
+
viewColumnIndex = _step2$value[1];
|
|
5627
|
+
|
|
5628
|
+
if (viewColumnIndex === -1 || !schema[viewColumnIndex]) {
|
|
5629
|
+
continue;
|
|
5630
|
+
}
|
|
5631
|
+
|
|
5632
|
+
var boundColumnIndex = self.getBoundColumnIndexFromViewColumnIndex(viewColumnIndex);
|
|
5633
|
+
|
|
5634
|
+
if (!expandToRow && schema[boundColumnIndex].hidden) {
|
|
5635
|
+
continue;
|
|
5636
|
+
}
|
|
5637
|
+
|
|
5638
|
+
if (self.viewData[viewRowIndex]) {
|
|
5639
|
+
var header = schema[boundColumnIndex];
|
|
5640
|
+
var value = self.viewData[viewRowIndex][header.name];
|
|
5641
|
+
var boundRowIndex = self.getBoundRowIndexFromViewRowIndex(viewRowIndex);
|
|
5642
|
+
var cell = {
|
|
5643
|
+
value: value,
|
|
5644
|
+
header: header,
|
|
5645
|
+
boundRowIndex: boundRowIndex,
|
|
5646
|
+
boundColumnIndex: boundColumnIndex,
|
|
5647
|
+
viewRowIndex: viewRowIndex,
|
|
5648
|
+
viewColumnIndex: viewColumnIndex
|
|
5649
|
+
};
|
|
5650
|
+
selectedCells.push(cell);
|
|
5651
|
+
}
|
|
5652
|
+
}
|
|
5653
|
+
} catch (err) {
|
|
5654
|
+
_iterator2.e(err);
|
|
5655
|
+
} finally {
|
|
5656
|
+
_iterator2.f();
|
|
5657
|
+
}
|
|
5658
|
+
}
|
|
5659
|
+
} catch (err) {
|
|
5660
|
+
_iterator.e(err);
|
|
5661
|
+
} finally {
|
|
5662
|
+
_iterator.f();
|
|
5663
|
+
}
|
|
5664
|
+
|
|
5665
|
+
return selectedCells;
|
|
5666
|
+
};
|
|
5667
|
+
|
|
5426
5668
|
self.getBoundRowIndexFromViewRowIndex = function (viewRowIndex) {
|
|
5427
5669
|
if (self.boundRowIndexMap && self.boundRowIndexMap.has(viewRowIndex)) {
|
|
5428
5670
|
return self.boundRowIndexMap.get(viewRowIndex);
|
|
@@ -5431,6 +5673,10 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
5431
5673
|
return undefined;
|
|
5432
5674
|
};
|
|
5433
5675
|
|
|
5676
|
+
self.getBoundColumnIndexFromViewColumnIndex = function (viewColumnIndex) {
|
|
5677
|
+
return self.orders.columns[viewColumnIndex];
|
|
5678
|
+
};
|
|
5679
|
+
|
|
5434
5680
|
self.getColumnHeaderCellHeight = function () {
|
|
5435
5681
|
if (!self.attributes.showColumnHeaders) {
|
|
5436
5682
|
return 0;
|
|
@@ -5561,7 +5807,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
5561
5807
|
}); // Apply filtering
|
|
5562
5808
|
|
|
5563
5809
|
var _loop = function _loop() {
|
|
5564
|
-
var _Object$entries$_i = _slicedToArray(_Object$entries[
|
|
5810
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),
|
|
5565
5811
|
headerName = _Object$entries$_i[0],
|
|
5566
5812
|
filterText = _Object$entries$_i[1];
|
|
5567
5813
|
|
|
@@ -5582,19 +5828,19 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
5582
5828
|
});
|
|
5583
5829
|
};
|
|
5584
5830
|
|
|
5585
|
-
for (var
|
|
5831
|
+
for (var _i2 = 0, _Object$entries = Object.entries(self.columnFilters); _i2 < _Object$entries.length; _i2++) {
|
|
5586
5832
|
var _ret = _loop();
|
|
5587
5833
|
|
|
5588
5834
|
if (_ret === "continue") continue;
|
|
5589
5835
|
} // Apply sorting
|
|
5590
5836
|
|
|
5591
5837
|
|
|
5592
|
-
var
|
|
5593
|
-
|
|
5838
|
+
var _iterator3 = _createForOfIteratorHelper(self.orderings.columns),
|
|
5839
|
+
_step3;
|
|
5594
5840
|
|
|
5595
5841
|
try {
|
|
5596
5842
|
var _loop2 = function _loop2() {
|
|
5597
|
-
var column =
|
|
5843
|
+
var column = _step3.value;
|
|
5598
5844
|
var sortFn = column.sortFunction(column.orderBy, column.orderDirection);
|
|
5599
5845
|
newViewData.sort(function (_ref7, _ref8) {
|
|
5600
5846
|
var _ref9 = _slicedToArray(_ref7, 1),
|
|
@@ -5609,13 +5855,13 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
5609
5855
|
});
|
|
5610
5856
|
};
|
|
5611
5857
|
|
|
5612
|
-
for (
|
|
5858
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
5613
5859
|
_loop2();
|
|
5614
5860
|
}
|
|
5615
5861
|
} catch (err) {
|
|
5616
|
-
|
|
5862
|
+
_iterator3.e(err);
|
|
5617
5863
|
} finally {
|
|
5618
|
-
|
|
5864
|
+
_iterator3.f();
|
|
5619
5865
|
}
|
|
5620
5866
|
|
|
5621
5867
|
return {
|
|
@@ -6024,6 +6270,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
6024
6270
|
self.intf.clearPxColorAssertions = self.clearPxColorAssertions;
|
|
6025
6271
|
self.intf.integerToAlpha = self.integerToAlpha;
|
|
6026
6272
|
self.intf.copy = self.copy;
|
|
6273
|
+
self.intf.cut = self.cut;
|
|
6027
6274
|
self.intf.paste = self.paste;
|
|
6028
6275
|
self.intf.setStyleProperty = self.setStyleProperty;
|
|
6029
6276
|
Object.defineProperty(self.intf, 'defaults', {
|
|
@@ -6913,7 +7160,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
6913
7160
|
/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component */ "./lib/component.js");
|
|
6914
7161
|
/* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaults */ "./lib/defaults.js");
|
|
6915
7162
|
/* harmony import */ var _draw__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./draw */ "./lib/draw.js");
|
|
6916
|
-
/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ "./lib/events.js");
|
|
7163
|
+
/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ "./lib/events/index.js");
|
|
6917
7164
|
/* harmony import */ var _touch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./touch */ "./lib/touch.js");
|
|
6918
7165
|
/* harmony import */ var _intf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./intf */ "./lib/intf.js");
|
|
6919
7166
|
/* harmony import */ var _contextMenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./contextMenu */ "./lib/contextMenu.js");
|
|
@@ -7454,7 +7701,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
7454
7701
|
self.dispatchEvent('selectionchanged', {
|
|
7455
7702
|
selectedData: self.getSelectedData(),
|
|
7456
7703
|
selections: self.selections,
|
|
7457
|
-
selectionBounds: self.selectionBounds
|
|
7704
|
+
selectionBounds: self.selectionBounds,
|
|
7705
|
+
selectedCells: self.getSelectedCells()
|
|
7458
7706
|
});
|
|
7459
7707
|
|
|
7460
7708
|
if (dontDraw) {
|
|
@@ -7605,7 +7853,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
7605
7853
|
self.dispatchEvent('selectionchanged', {
|
|
7606
7854
|
selectedData: self.getSelectedData(),
|
|
7607
7855
|
selections: self.selections,
|
|
7608
|
-
selectionBounds: self.getSelectionBounds()
|
|
7856
|
+
selectionBounds: self.getSelectionBounds(),
|
|
7857
|
+
selectedCells: self.getSelectedCells()
|
|
7609
7858
|
});
|
|
7610
7859
|
};
|
|
7611
7860
|
/**
|
|
@@ -7634,7 +7883,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
7634
7883
|
self.dispatchEvent('selectionchanged', {
|
|
7635
7884
|
selectedData: self.getSelectedData(),
|
|
7636
7885
|
selections: self.selections,
|
|
7637
|
-
selectionBounds: self.selectionBounds
|
|
7886
|
+
selectionBounds: self.selectionBounds,
|
|
7887
|
+
selectedCells: self.getSelectedCells()
|
|
7638
7888
|
});
|
|
7639
7889
|
}
|
|
7640
7890
|
|
|
@@ -8377,7 +8627,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8377
8627
|
|
|
8378
8628
|
ev = {
|
|
8379
8629
|
selections: self.selections,
|
|
8380
|
-
selectionBounds: self.selectionBounds
|
|
8630
|
+
selectionBounds: self.selectionBounds,
|
|
8631
|
+
selectedCells: self.getSelectedCells()
|
|
8381
8632
|
};
|
|
8382
8633
|
Object.defineProperty(ev, 'selectedData', {
|
|
8383
8634
|
get: function get() {
|
|
@@ -8483,27 +8734,22 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8483
8734
|
self.sorters.string = function (columnName, direction) {
|
|
8484
8735
|
var asc = direction === 'asc';
|
|
8485
8736
|
return function (a, b) {
|
|
8486
|
-
|
|
8487
|
-
|
|
8488
|
-
}
|
|
8489
|
-
|
|
8490
|
-
if (b[columnName] === undefined || b[columnName] === null) {
|
|
8491
|
-
return 0;
|
|
8492
|
-
}
|
|
8737
|
+
var aValue = a[columnName] || '';
|
|
8738
|
+
var bValue = b[columnName] || '';
|
|
8493
8739
|
|
|
8494
8740
|
if (asc) {
|
|
8495
|
-
if (!
|
|
8741
|
+
if (!aValue.localeCompare) {
|
|
8496
8742
|
return 1;
|
|
8497
8743
|
}
|
|
8498
8744
|
|
|
8499
|
-
return
|
|
8745
|
+
return aValue.localeCompare(bValue);
|
|
8500
8746
|
}
|
|
8501
8747
|
|
|
8502
|
-
if (!
|
|
8748
|
+
if (!bValue.localeCompare) {
|
|
8503
8749
|
return 1;
|
|
8504
8750
|
}
|
|
8505
8751
|
|
|
8506
|
-
return
|
|
8752
|
+
return bValue.localeCompare(aValue);
|
|
8507
8753
|
};
|
|
8508
8754
|
};
|
|
8509
8755
|
|