handsontable 0.0.0-next-71bce98-20241210 → 0.0.0-next-2580147-20241212
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/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +4 -6
- package/core.mjs +4 -6
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +123 -112
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +61 -61
- package/dist/handsontable.js +123 -112
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +12 -12
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/filters/conditionCollection.js +8 -7
- package/plugins/filters/conditionCollection.mjs +8 -7
- package/plugins/filters/utils.js +7 -24
- package/plugins/filters/utils.mjs +7 -24
- package/plugins/mergeCells/calculations/autofill.js +60 -44
- package/plugins/mergeCells/calculations/autofill.mjs +60 -44
- package/plugins/mergeCells/cellsCollection.js +25 -8
- package/plugins/mergeCells/cellsCollection.mjs +25 -8
- package/plugins/mergeCells/mergeCells.js +10 -14
- package/plugins/mergeCells/mergeCells.mjs +10 -14
- package/plugins/undoRedo/actions/filters.js +1 -3
- package/plugins/undoRedo/actions/filters.mjs +1 -3
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +1 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +1 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +2 -1
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +2 -1
- package/styles/handsontable.css +2 -2
- package/styles/handsontable.min.css +2 -2
- package/styles/ht-theme-horizon.css +2 -2
- package/styles/ht-theme-horizon.min.css +2 -2
- package/styles/ht-theme-main.css +2 -2
- package/styles/ht-theme-main.min.css +2 -2
package/dist/handsontable.js
CHANGED
@@ -25,8 +25,8 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 0.0.0-next-
|
29
|
-
* Release date: 17/10/2024 (built at
|
28
|
+
* Version: 0.0.0-next-2580147-20241212
|
29
|
+
* Release date: 17/10/2024 (built at 12/12/2024 09:18:43)
|
30
30
|
*/
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
@@ -104,8 +104,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
|
|
104
104
|
Handsontable.CellCoords = _src.CellCoords;
|
105
105
|
Handsontable.CellRange = _src.CellRange;
|
106
106
|
Handsontable.packageName = 'handsontable';
|
107
|
-
Handsontable.buildDate = "
|
108
|
-
Handsontable.version = "0.0.0-next-
|
107
|
+
Handsontable.buildDate = "12/12/2024 09:18:43";
|
108
|
+
Handsontable.version = "0.0.0-next-2580147-20241212";
|
109
109
|
Handsontable.languages = {
|
110
110
|
dictionaryKeys: _registry.dictionaryKeys,
|
111
111
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
@@ -842,10 +842,11 @@ function Core(rootElement, userSettings) {
|
|
842
842
|
default:
|
843
843
|
throw new Error(`There is no such action "${action}"`);
|
844
844
|
}
|
845
|
-
instance.view.render();
|
846
845
|
if (!keepEmptyRows) {
|
847
846
|
grid.adjustRowsAndCols(); // makes sure that we did not add rows that will be removed in next refresh
|
848
847
|
}
|
848
|
+
instance.view.render();
|
849
|
+
instance.view.adjustElementsSize();
|
849
850
|
},
|
850
851
|
/**
|
851
852
|
* Makes sure there are empty rows at the bottom of the table.
|
@@ -894,7 +895,7 @@ function Core(rootElement, userSettings) {
|
|
894
895
|
|
895
896
|
// should I add empty cols to meet minCols?
|
896
897
|
if (minCols && !tableMeta.columns && nrOfColumns < minCols) {
|
897
|
-
// The synchronization with cell meta is not desired here. For `
|
898
|
+
// The synchronization with cell meta is not desired here. For `minCols` option,
|
898
899
|
// we don't want to touch/shift cell meta objects.
|
899
900
|
const colsToCreate = minCols - nrOfColumns;
|
900
901
|
emptyCols += colsToCreate;
|
@@ -908,16 +909,13 @@ function Core(rootElement, userSettings) {
|
|
908
909
|
const emptyColsMissing = minSpareCols - emptyCols;
|
909
910
|
const colsToCreate = Math.min(emptyColsMissing, tableMeta.maxCols - nrOfColumns);
|
910
911
|
|
911
|
-
// The synchronization with cell meta is not desired here. For `
|
912
|
+
// The synchronization with cell meta is not desired here. For `minSpareCols` option,
|
912
913
|
// we don't want to touch/shift cell meta objects.
|
913
914
|
datamap.createCol(nrOfColumns, colsToCreate, {
|
914
915
|
source: 'auto'
|
915
916
|
});
|
916
917
|
}
|
917
918
|
}
|
918
|
-
if (instance.view) {
|
919
|
-
instance.view.adjustElementsSize();
|
920
|
-
}
|
921
919
|
},
|
922
920
|
/**
|
923
921
|
* Populate the data from the provided 2d array from the given cell coordinates.
|
@@ -10053,7 +10051,7 @@ const domMessages = {
|
|
10053
10051
|
function _injectProductInfo(key, element) {
|
10054
10052
|
const hasValidType = !isEmpty(key);
|
10055
10053
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
10056
|
-
const hotVersion = "0.0.0-next-
|
10054
|
+
const hotVersion = "0.0.0-next-2580147-20241212";
|
10057
10055
|
let keyValidityDate;
|
10058
10056
|
let consoleMessageState = 'invalid';
|
10059
10057
|
let domMessageState = 'invalid';
|
@@ -47892,6 +47890,7 @@ const command = exports.command = {
|
|
47892
47890
|
row
|
47893
47891
|
} = hot.getSelectedRangeLast().highlight;
|
47894
47892
|
let rowsStep = hot.countVisibleRows() + columnHeadersCount;
|
47893
|
+
rowsStep = rowsStep === 0 ? 1 : rowsStep;
|
47895
47894
|
|
47896
47895
|
// if the last row is currently selected move the focus to the first row (if autoWrap is enabled)
|
47897
47896
|
if (row === hot.countRows() - 1) {
|
@@ -48203,7 +48202,8 @@ const command = exports.command = {
|
|
48203
48202
|
const {
|
48204
48203
|
row
|
48205
48204
|
} = hot.getSelectedRangeLast().highlight;
|
48206
|
-
let rowsStep =
|
48205
|
+
let rowsStep = hot.countVisibleRows() + columnHeadersCount;
|
48206
|
+
rowsStep = rowsStep === 0 ? -1 : -rowsStep;
|
48207
48207
|
|
48208
48208
|
// if the first row is currently selected move the focus to the last row (if autoWrap is enabled)
|
48209
48209
|
if (row === -columnHeadersCount) {
|
@@ -72068,8 +72068,10 @@ __webpack_require__(107);
|
|
72068
72068
|
__webpack_require__(109);
|
72069
72069
|
__webpack_require__(111);
|
72070
72070
|
__webpack_require__(113);
|
72071
|
+
__webpack_require__(115);
|
72072
|
+
__webpack_require__(133);
|
72073
|
+
__webpack_require__(142);
|
72071
72074
|
var _feature = __webpack_require__(168);
|
72072
|
-
var _array = __webpack_require__(161);
|
72073
72075
|
const sortCompare = (0, _feature.getComparisonFunction)();
|
72074
72076
|
|
72075
72077
|
/**
|
@@ -72100,8 +72102,6 @@ function toVisualValue(value, defaultEmptyValue) {
|
|
72100
72102
|
}
|
72101
72103
|
return visualValue;
|
72102
72104
|
}
|
72103
|
-
const SUPPORT_SET_CONSTRUCTOR = new Set([1]).has(1);
|
72104
|
-
const SUPPORT_FAST_DEDUPE = SUPPORT_SET_CONSTRUCTOR && typeof Array.from === 'function';
|
72105
72105
|
|
72106
72106
|
/**
|
72107
72107
|
* Create an array assertion to compare if an element exists in that array (in a more efficient way than .indexOf).
|
@@ -72110,19 +72110,9 @@ const SUPPORT_FAST_DEDUPE = SUPPORT_SET_CONSTRUCTOR && typeof Array.from === 'fu
|
|
72110
72110
|
* @returns {Function}
|
72111
72111
|
*/
|
72112
72112
|
function createArrayAssertion(initialData) {
|
72113
|
-
|
72114
|
-
if (SUPPORT_SET_CONSTRUCTOR) {
|
72115
|
-
dataset = new Set(dataset);
|
72116
|
-
}
|
72113
|
+
const dataset = new Set(initialData);
|
72117
72114
|
return function (value) {
|
72118
|
-
|
72119
|
-
if (SUPPORT_SET_CONSTRUCTOR) {
|
72120
|
-
result = dataset.has(value);
|
72121
|
-
} else {
|
72122
|
-
/* eslint-disable no-bitwise */
|
72123
|
-
result = !!~dataset.indexOf(value);
|
72124
|
-
}
|
72125
|
-
return result;
|
72115
|
+
return dataset.has(value);
|
72126
72116
|
};
|
72127
72117
|
}
|
72128
72118
|
|
@@ -72143,13 +72133,7 @@ function toEmptyString(value) {
|
|
72143
72133
|
* @returns {Array}
|
72144
72134
|
*/
|
72145
72135
|
function unifyColumnValues(values) {
|
72146
|
-
|
72147
|
-
if (SUPPORT_FAST_DEDUPE) {
|
72148
|
-
unifiedValues = Array.from(new Set(unifiedValues));
|
72149
|
-
} else {
|
72150
|
-
unifiedValues = (0, _array.arrayUnique)(unifiedValues);
|
72151
|
-
}
|
72152
|
-
unifiedValues = unifiedValues.sort((a, b) => {
|
72136
|
+
return Array.from(new Set(values)).map(value => toEmptyString(value)).sort((a, b) => {
|
72153
72137
|
if (typeof a === 'number' && typeof b === 'number') {
|
72154
72138
|
return a - b;
|
72155
72139
|
}
|
@@ -72158,7 +72142,6 @@ function unifyColumnValues(values) {
|
|
72158
72142
|
}
|
72159
72143
|
return a > b ? 1 : -1;
|
72160
72144
|
});
|
72161
|
-
return unifiedValues;
|
72162
72145
|
}
|
72163
72146
|
|
72164
72147
|
/**
|
@@ -72177,7 +72160,7 @@ function intersectValues(base, selected, defaultEmptyValue, callback) {
|
|
72177
72160
|
if (!same) {
|
72178
72161
|
selectedItemsAssertion = createArrayAssertion(selected);
|
72179
72162
|
}
|
72180
|
-
|
72163
|
+
base.forEach(value => {
|
72181
72164
|
let checked = false;
|
72182
72165
|
if (same || selectedItemsAssertion(value)) {
|
72183
72166
|
checked = true;
|
@@ -74166,10 +74149,11 @@ exports.__esModule = true;
|
|
74166
74149
|
__webpack_require__(5);
|
74167
74150
|
__webpack_require__(87);
|
74168
74151
|
__webpack_require__(115);
|
74152
|
+
__webpack_require__(133);
|
74169
74153
|
__webpack_require__(142);
|
74154
|
+
__webpack_require__(196);
|
74170
74155
|
__webpack_require__(289);
|
74171
74156
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(170));
|
74172
|
-
var _array = __webpack_require__(161);
|
74173
74157
|
var _object = __webpack_require__(165);
|
74174
74158
|
var _templateLiteralTag = __webpack_require__(160);
|
74175
74159
|
var _localHooks = _interopRequireDefault(__webpack_require__(265));
|
@@ -74280,7 +74264,7 @@ class ConditionCollection {
|
|
74280
74264
|
let operation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _conjunction.OPERATION_ID;
|
74281
74265
|
let position = arguments.length > 3 ? arguments[3] : undefined;
|
74282
74266
|
const localeForColumn = this.hot.getCellMeta(0, column).locale;
|
74283
|
-
const args =
|
74267
|
+
const args = conditionDefinition.args.map(v => typeof v === 'string' ? v.toLocaleLowerCase(localeForColumn) : v);
|
74284
74268
|
const name = conditionDefinition.name || conditionDefinition.command.key;
|
74285
74269
|
|
74286
74270
|
// If there's no previous condition stack defined (which means the condition stack was not cleared after the
|
@@ -74374,7 +74358,7 @@ class ConditionCollection {
|
|
74374
74358
|
* @returns {Array}
|
74375
74359
|
*/
|
74376
74360
|
exportAllConditions() {
|
74377
|
-
return
|
74361
|
+
return this.filteringStates.getEntries().reduce((allConditions, _ref2) => {
|
74378
74362
|
let [column, {
|
74379
74363
|
operation,
|
74380
74364
|
conditions
|
@@ -74382,14 +74366,14 @@ class ConditionCollection {
|
|
74382
74366
|
allConditions.push({
|
74383
74367
|
column,
|
74384
74368
|
operation,
|
74385
|
-
conditions:
|
74369
|
+
conditions: conditions.map(_ref3 => {
|
74386
74370
|
let {
|
74387
74371
|
name,
|
74388
74372
|
args
|
74389
74373
|
} = _ref3;
|
74390
74374
|
return {
|
74391
74375
|
name,
|
74392
|
-
args
|
74376
|
+
args: [...args]
|
74393
74377
|
};
|
74394
74378
|
})
|
74395
74379
|
});
|
@@ -74404,8 +74388,8 @@ class ConditionCollection {
|
|
74404
74388
|
*/
|
74405
74389
|
importAllConditions(conditions) {
|
74406
74390
|
this.clean();
|
74407
|
-
|
74408
|
-
|
74391
|
+
conditions.forEach(stack => {
|
74392
|
+
stack.conditions.forEach(condition => this.addCondition(stack.column, condition));
|
74409
74393
|
});
|
74410
74394
|
}
|
74411
74395
|
|
@@ -83030,8 +83014,8 @@ class MergeCells extends _base.BasePlugin {
|
|
83030
83014
|
/**
|
83031
83015
|
* The `modifyAutofillRange` hook callback.
|
83032
83016
|
*
|
83033
|
-
* @param {Array}
|
83034
|
-
* @param {Array}
|
83017
|
+
* @param {Array} fullArea The drag + base area coordinates.
|
83018
|
+
* @param {Array} baseArea The selection information.
|
83035
83019
|
* @returns {Array} The new drag area.
|
83036
83020
|
*/
|
83037
83021
|
}
|
@@ -83415,23 +83399,19 @@ function _onAfterViewportColumnCalculatorOverride(calc) {
|
|
83415
83399
|
this.modifyViewportColumnStart(calc, nrOfRows);
|
83416
83400
|
this.modifyViewportColumnEnd(calc, nrOfRows);
|
83417
83401
|
}
|
83418
|
-
function _onModifyAutofillRange(
|
83419
|
-
this.autofillCalculations.
|
83420
|
-
|
83421
|
-
|
83422
|
-
if (this.autofillCalculations.dragAreaOverlapsCollections(select, dragArea, dragDirection)) {
|
83423
|
-
dragArea = select;
|
83424
|
-
return dragArea;
|
83402
|
+
function _onModifyAutofillRange(fullArea, baseArea) {
|
83403
|
+
const dragDirection = this.autofillCalculations.getDirection(baseArea, fullArea);
|
83404
|
+
if (this.autofillCalculations.dragAreaOverlapsCollections(baseArea, fullArea, dragDirection)) {
|
83405
|
+
return baseArea;
|
83425
83406
|
}
|
83426
|
-
const from = this.hot._createCellCoords(
|
83427
|
-
const to = this.hot._createCellCoords(
|
83407
|
+
const from = this.hot._createCellCoords(baseArea[0], baseArea[1]);
|
83408
|
+
const to = this.hot._createCellCoords(baseArea[2], baseArea[3]);
|
83428
83409
|
const range = this.hot._createCellRange(from, from, to);
|
83429
83410
|
const mergedCellsWithinSelectionArea = this.mergedCellsCollection.getWithinRange(range);
|
83430
83411
|
if (mergedCellsWithinSelectionArea.length === 0) {
|
83431
|
-
return
|
83412
|
+
return fullArea;
|
83432
83413
|
}
|
83433
|
-
|
83434
|
-
return dragArea;
|
83414
|
+
return this.autofillCalculations.snapDragArea(baseArea, fullArea, dragDirection, mergedCellsWithinSelectionArea);
|
83435
83415
|
}
|
83436
83416
|
/**
|
83437
83417
|
* `afterCreateCol` hook callback.
|
@@ -83743,18 +83723,33 @@ class MergedCellsCollection {
|
|
83743
83723
|
/**
|
83744
83724
|
* Get the first-found merged cell containing the provided range.
|
83745
83725
|
*
|
83746
|
-
* @param {CellRange
|
83747
|
-
* @returns {MergedCellCoords|
|
83726
|
+
* @param {CellRange} range The range to search merged cells for.
|
83727
|
+
* @returns {MergedCellCoords | false}
|
83748
83728
|
*/
|
83749
83729
|
getByRange(range) {
|
83730
|
+
const {
|
83731
|
+
row: rowStart,
|
83732
|
+
col: columnStart
|
83733
|
+
} = range.getTopStartCorner();
|
83734
|
+
const {
|
83735
|
+
row: rowEnd,
|
83736
|
+
col: columnEnd
|
83737
|
+
} = range.getBottomEndCorner();
|
83738
|
+
const mergedCellsLength = this.mergedCells.length;
|
83750
83739
|
let result = false;
|
83751
|
-
(0
|
83752
|
-
|
83740
|
+
for (let i = 0; i < mergedCellsLength; i++) {
|
83741
|
+
const mergedCell = this.mergedCells[i];
|
83742
|
+
const {
|
83743
|
+
row,
|
83744
|
+
col,
|
83745
|
+
rowspan,
|
83746
|
+
colspan
|
83747
|
+
} = mergedCell;
|
83748
|
+
if (row >= rowStart && row + rowspan - 1 <= rowEnd && col >= columnStart && col + colspan - 1 <= columnEnd) {
|
83753
83749
|
result = mergedCell;
|
83754
|
-
|
83750
|
+
break;
|
83755
83751
|
}
|
83756
|
-
|
83757
|
-
});
|
83752
|
+
}
|
83758
83753
|
return result;
|
83759
83754
|
}
|
83760
83755
|
|
@@ -83864,7 +83859,9 @@ class MergedCellsCollection {
|
|
83864
83859
|
_assertClassBrand(_MergedCellsCollection_brand, this, _addMergedCellToMatrix).call(this, newMergedCell);
|
83865
83860
|
return newMergedCell;
|
83866
83861
|
}
|
83867
|
-
|
83862
|
+
if (isOverlapping) {
|
83863
|
+
(0, _console.warn)(MergedCellsCollection.IS_OVERLAPPING_WARNING(newMergedCell));
|
83864
|
+
}
|
83868
83865
|
return false;
|
83869
83866
|
}
|
83870
83867
|
|
@@ -84628,6 +84625,8 @@ var _default = exports["default"] = MergedCellCoords;
|
|
84628
84625
|
|
84629
84626
|
var _interopRequireDefault = __webpack_require__(1);
|
84630
84627
|
exports.__esModule = true;
|
84628
|
+
__webpack_require__(115);
|
84629
|
+
__webpack_require__(285);
|
84631
84630
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(170));
|
84632
84631
|
var _object = __webpack_require__(165);
|
84633
84632
|
var _array = __webpack_require__(161);
|
@@ -84662,35 +84661,20 @@ class AutofillCalculations {
|
|
84662
84661
|
this.mergedCellsCollection = this.plugin.mergedCellsCollection;
|
84663
84662
|
}
|
84664
84663
|
|
84665
|
-
/**
|
84666
|
-
* Correct the provided selection area, so it's not selecting only a part of a merged cell.
|
84667
|
-
*
|
84668
|
-
* @param {Array} selectionArea The selection to correct.
|
84669
|
-
*/
|
84670
|
-
correctSelectionAreaSize(selectionArea) {
|
84671
|
-
if (selectionArea[0] === selectionArea[2] && selectionArea[1] === selectionArea[3]) {
|
84672
|
-
const mergedCell = this.mergedCellsCollection.get(selectionArea[0], selectionArea[1]);
|
84673
|
-
if (mergedCell) {
|
84674
|
-
selectionArea[2] = selectionArea[0] + mergedCell.rowspan - 1;
|
84675
|
-
selectionArea[3] = selectionArea[1] + mergedCell.colspan - 1;
|
84676
|
-
}
|
84677
|
-
}
|
84678
|
-
}
|
84679
|
-
|
84680
84664
|
/**
|
84681
84665
|
* Get the direction of the autofill process.
|
84682
84666
|
*
|
84683
|
-
* @param {Array}
|
84684
|
-
* @param {Array}
|
84667
|
+
* @param {Array} baseArea The selection area.
|
84668
|
+
* @param {Array} fullArea The final area (base + drag).
|
84685
84669
|
* @returns {string} `up`, `down`, `left` or `right`.
|
84686
84670
|
*/
|
84687
|
-
getDirection(
|
84671
|
+
getDirection(baseArea, fullArea) {
|
84688
84672
|
let direction = null;
|
84689
|
-
if (
|
84673
|
+
if (fullArea[0] === baseArea[0] && fullArea[1] === baseArea[1] && fullArea[3] === baseArea[3]) {
|
84690
84674
|
direction = 'down';
|
84691
|
-
} else if (
|
84675
|
+
} else if (fullArea[2] === baseArea[2] && fullArea[1] === baseArea[1] && fullArea[3] === baseArea[3]) {
|
84692
84676
|
direction = 'up';
|
84693
|
-
} else if (
|
84677
|
+
} else if (fullArea[1] === baseArea[1] && fullArea[2] === baseArea[2]) {
|
84694
84678
|
direction = 'right';
|
84695
84679
|
} else {
|
84696
84680
|
direction = 'left';
|
@@ -84702,20 +84686,20 @@ class AutofillCalculations {
|
|
84702
84686
|
* Snap the drag area to the farthest merged cell, so it won't clip any of the merged cells.
|
84703
84687
|
*
|
84704
84688
|
* @param {Array} baseArea The base selected area.
|
84705
|
-
* @param {Array}
|
84689
|
+
* @param {Array} fullArea The drag area.
|
84706
84690
|
* @param {string} dragDirection The autofill drag direction.
|
84707
84691
|
* @param {Array} foundMergedCells MergeCellCoords found in the base selection area.
|
84708
84692
|
* @returns {Array} The new drag area.
|
84709
84693
|
*/
|
84710
|
-
snapDragArea(baseArea,
|
84711
|
-
const newDragArea =
|
84712
|
-
const fillSize = this.getAutofillSize(baseArea,
|
84694
|
+
snapDragArea(baseArea, fullArea, dragDirection, foundMergedCells) {
|
84695
|
+
const newDragArea = fullArea.slice(0);
|
84696
|
+
const fillSize = this.getAutofillSize(baseArea, fullArea, dragDirection);
|
84713
84697
|
const [baseAreaStartRow, baseAreaStartColumn, baseAreaEndRow, baseAreaEndColumn] = baseArea;
|
84714
84698
|
const verticalDirection = ['up', 'down'].indexOf(dragDirection) > -1;
|
84715
84699
|
const fullCycle = verticalDirection ? baseAreaEndRow - baseAreaStartRow + 1 : baseAreaEndColumn - baseAreaStartColumn + 1;
|
84716
84700
|
const fulls = Math.floor(fillSize / fullCycle) * fullCycle;
|
84717
84701
|
const partials = fillSize - fulls;
|
84718
|
-
const farthestCollection = this.getFarthestCollection(baseArea,
|
84702
|
+
const farthestCollection = this.getFarthestCollection(baseArea, fullArea, dragDirection, foundMergedCells);
|
84719
84703
|
if (farthestCollection) {
|
84720
84704
|
if (dragDirection === 'down') {
|
84721
84705
|
const fill = farthestCollection.row + farthestCollection.rowspan - baseAreaStartRow - partials;
|
@@ -84780,13 +84764,13 @@ class AutofillCalculations {
|
|
84780
84764
|
*
|
84781
84765
|
* @private
|
84782
84766
|
* @param {Array} baseArea The base selection area.
|
84783
|
-
* @param {Array}
|
84767
|
+
* @param {Array} fullArea The drag area (containing the base area).
|
84784
84768
|
* @param {string} direction The drag direction.
|
84785
84769
|
* @returns {number|null} The "length" (height or width, depending on the direction) of the drag.
|
84786
84770
|
*/
|
84787
|
-
getAutofillSize(baseArea,
|
84771
|
+
getAutofillSize(baseArea, fullArea, direction) {
|
84788
84772
|
const [baseAreaStartRow, baseAreaStartColumn, baseAreaEndRow, baseAreaEndColumn] = baseArea;
|
84789
|
-
const [dragAreaStartRow, dragAreaStartColumn, dragAreaEndRow, dragAreaEndColumn] =
|
84773
|
+
const [dragAreaStartRow, dragAreaStartColumn, dragAreaEndRow, dragAreaEndColumn] = fullArea;
|
84790
84774
|
switch (direction) {
|
84791
84775
|
case 'up':
|
84792
84776
|
return baseAreaStartRow - dragAreaStartRow;
|
@@ -84806,22 +84790,30 @@ class AutofillCalculations {
|
|
84806
84790
|
*
|
84807
84791
|
* @private
|
84808
84792
|
* @param {Array} baseArea The base selection area.
|
84809
|
-
* @param {Array}
|
84793
|
+
* @param {Array} fullArea The base selection area extended by the drag area.
|
84810
84794
|
* @param {string} direction Drag direction.
|
84811
84795
|
* @returns {Array|null} Array representing the drag area coordinates.
|
84812
84796
|
*/
|
84813
|
-
getDragArea(baseArea,
|
84797
|
+
getDragArea(baseArea, fullArea, direction) {
|
84814
84798
|
const [baseAreaStartRow, baseAreaStartColumn, baseAreaEndRow, baseAreaEndColumn] = baseArea;
|
84815
|
-
const [
|
84799
|
+
const [fullAreaStartRow, fullAreaStartColumn, fullAreaEndRow, fullAreaEndColumn] = fullArea;
|
84816
84800
|
switch (direction) {
|
84817
84801
|
case 'up':
|
84818
|
-
return [
|
84802
|
+
return [fullAreaStartRow, fullAreaStartColumn, baseAreaStartRow - 1, baseAreaEndColumn];
|
84819
84803
|
case 'down':
|
84820
|
-
|
84804
|
+
{
|
84805
|
+
const mergedCell = this.mergedCellsCollection.get(fullAreaEndRow, baseAreaEndColumn);
|
84806
|
+
const rowShift = mergedCell ? mergedCell.rowspan - 1 : 0;
|
84807
|
+
return [baseAreaEndRow + 1, baseAreaStartColumn, fullAreaEndRow + rowShift, baseAreaEndColumn];
|
84808
|
+
}
|
84821
84809
|
case 'left':
|
84822
|
-
return [
|
84810
|
+
return [fullAreaStartRow, fullAreaStartColumn, baseAreaEndRow, baseAreaStartColumn - 1];
|
84823
84811
|
case 'right':
|
84824
|
-
|
84812
|
+
{
|
84813
|
+
const mergedCell = this.mergedCellsCollection.get(fullAreaEndRow, baseAreaEndColumn);
|
84814
|
+
const columnShift = mergedCell ? mergedCell.colspan - 1 : 0;
|
84815
|
+
return [baseAreaStartRow, baseAreaEndColumn + columnShift, fullAreaEndRow, fullAreaEndColumn];
|
84816
|
+
}
|
84825
84817
|
default:
|
84826
84818
|
return null;
|
84827
84819
|
}
|
@@ -84832,17 +84824,17 @@ class AutofillCalculations {
|
|
84832
84824
|
*
|
84833
84825
|
* @private
|
84834
84826
|
* @param {Array} baseArea The base selection area.
|
84835
|
-
* @param {Array}
|
84827
|
+
* @param {Array} fullArea The drag area (containing the base area).
|
84836
84828
|
* @param {string} direction The drag direction.
|
84837
84829
|
* @param {Array} mergedCellArray Array of the merged cells found in the base area.
|
84838
84830
|
* @returns {MergedCellCoords|null}
|
84839
84831
|
*/
|
84840
|
-
getFarthestCollection(baseArea,
|
84832
|
+
getFarthestCollection(baseArea, fullArea, direction, mergedCellArray) {
|
84841
84833
|
const [baseAreaStartRow, baseAreaStartColumn, baseAreaEndRow, baseAreaEndColumn] = baseArea;
|
84842
84834
|
const verticalDirection = ['up', 'down'].indexOf(direction) > -1;
|
84843
84835
|
const baseEnd = verticalDirection ? baseAreaEndRow : baseAreaEndColumn;
|
84844
84836
|
const baseStart = verticalDirection ? baseAreaStartRow : baseAreaStartColumn;
|
84845
|
-
const fillSize = this.getAutofillSize(baseArea,
|
84837
|
+
const fillSize = this.getAutofillSize(baseArea, fullArea, direction);
|
84846
84838
|
const fullCycle = verticalDirection ? baseAreaEndRow - baseAreaStartRow + 1 : baseAreaEndColumn - baseAreaStartColumn + 1;
|
84847
84839
|
const fulls = Math.floor(fillSize / fullCycle) * fullCycle;
|
84848
84840
|
const partials = fillSize - fulls;
|
@@ -84917,7 +84909,7 @@ class AutofillCalculations {
|
|
84917
84909
|
rowspan: current.rowspan,
|
84918
84910
|
col: current.col,
|
84919
84911
|
colspan: current.colspan
|
84920
|
-
});
|
84912
|
+
}, true);
|
84921
84913
|
break;
|
84922
84914
|
case 'down':
|
84923
84915
|
this.plugin.mergedCellsCollection.add({
|
@@ -84925,7 +84917,7 @@ class AutofillCalculations {
|
|
84925
84917
|
rowspan: current.rowspan,
|
84926
84918
|
col: current.col,
|
84927
84919
|
colspan: current.colspan
|
84928
|
-
});
|
84920
|
+
}, true);
|
84929
84921
|
break;
|
84930
84922
|
case 'left':
|
84931
84923
|
this.plugin.mergedCellsCollection.add({
|
@@ -84933,7 +84925,7 @@ class AutofillCalculations {
|
|
84933
84925
|
rowspan: current.rowspan,
|
84934
84926
|
col: current.col - fillOffset,
|
84935
84927
|
colspan: current.colspan
|
84936
|
-
});
|
84928
|
+
}, true);
|
84937
84929
|
break;
|
84938
84930
|
case 'right':
|
84939
84931
|
this.plugin.mergedCellsCollection.add({
|
@@ -84941,7 +84933,7 @@ class AutofillCalculations {
|
|
84941
84933
|
rowspan: current.rowspan,
|
84942
84934
|
col: current.col + fillOffset,
|
84943
84935
|
colspan: current.colspan
|
84944
|
-
});
|
84936
|
+
}, true);
|
84945
84937
|
break;
|
84946
84938
|
default:
|
84947
84939
|
}
|
@@ -85016,7 +85008,28 @@ class AutofillCalculations {
|
|
85016
85008
|
const topLeft = this.plugin.hot._createCellCoords(dragAreaStartRow, dragAreaStartColumn);
|
85017
85009
|
const bottomRight = this.plugin.hot._createCellCoords(dragAreaEndRow, dragAreaEndColumn);
|
85018
85010
|
const dragRange = this.plugin.hot._createCellRange(topLeft, topLeft, bottomRight);
|
85019
|
-
|
85011
|
+
const mergedCellsWithPartials = this.mergedCellsCollection.getWithinRange(dragRange, true);
|
85012
|
+
if (mergedCellsWithPartials.length === 0) {
|
85013
|
+
return false;
|
85014
|
+
}
|
85015
|
+
const mergedCellsWithoutPartials = this.mergedCellsCollection.getWithinRange(dragRange, false);
|
85016
|
+
if (mergedCellsWithoutPartials.length === 0) {
|
85017
|
+
return true;
|
85018
|
+
}
|
85019
|
+
if (direction === 'up' || direction === 'down') {
|
85020
|
+
return !mergedCellsWithoutPartials.every(_ref => {
|
85021
|
+
let {
|
85022
|
+
colspan
|
85023
|
+
} = _ref;
|
85024
|
+
return colspan === dragRange.getWidth();
|
85025
|
+
});
|
85026
|
+
}
|
85027
|
+
return !mergedCellsWithoutPartials.every(_ref2 => {
|
85028
|
+
let {
|
85029
|
+
rowspan
|
85030
|
+
} = _ref2;
|
85031
|
+
return rowspan === dragRange.getHeight();
|
85032
|
+
});
|
85020
85033
|
}
|
85021
85034
|
}
|
85022
85035
|
var _default = exports["default"] = AutofillCalculations;
|
@@ -94933,9 +94946,7 @@ class FiltersAction extends _base.BaseAction {
|
|
94933
94946
|
undo(hot, undoneCallback) {
|
94934
94947
|
const filters = hot.getPlugin('filters');
|
94935
94948
|
hot.addHookOnce('afterViewRender', undoneCallback);
|
94936
|
-
|
94937
|
-
filters.conditionCollection.importAllConditions(this.previousConditionsStack);
|
94938
|
-
}
|
94949
|
+
filters.conditionCollection.importAllConditions(this.previousConditionsStack);
|
94939
94950
|
filters.filter();
|
94940
94951
|
}
|
94941
94952
|
|
@@ -26,8 +26,8 @@
|
|
26
26
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
27
27
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
28
28
|
*
|
29
|
-
* Version: 0.0.0-next-
|
30
|
-
* Release date: 17/10/2024 (built at
|
29
|
+
* Version: 0.0.0-next-2580147-20241212
|
30
|
+
* Release date: 17/10/2024 (built at 12/12/2024 09:19:33)
|
31
31
|
*/.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0}.col-lg-1.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-md-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable .wtHider{position:relative;width:0}.handsontable .wtSpreader{height:auto;position:relative;width:0}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:auto}.handsontable table.htCore{border-collapse:separate;border-spacing:0;border-width:0;cursor:default;margin:0;max-height:none;max-width:none;outline-width:0;table-layout:fixed;width:0}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;height:22px;line-height:21px;outline:none;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-wrap}[dir=rtl].handsontable td,[dir=rtl].handsontable th{border-left:1px solid #ccc;border-right-width:0}.handsontable th:last-child{border-bottom:1px solid #ccc;border-left:none;border-right:1px solid #ccc}[dir=rtl].handsontable th:last-child{border-left:1px solid #ccc;border-right:none}.handsontable td:first-of-type,.handsontable th:first-child{border-left:1px solid #ccc}[dir=rtl].handsontable td:first-of-type,[dir=rtl].handsontable th:first-child{border-right:1px solid #ccc}.handsontable .ht_clone_top th:nth-child(2){border-left-width:0;border-right:1px solid #ccc}[dir=rtl].handsontable .ht_clone_top th:nth-child(2){border-left:1px solid #ccc;border-right-width:0}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ccc}[dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2){border-right:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,.ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left:1px solid #ccc;border-right-width:0}[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.htGhostTable) tbody tr th,[dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns)~.handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child{border-left-width:0;border-right:1px solid #ccc}.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop):not(.innerBorderBottom)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;font-weight:400;text-align:center;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable .wtBorder{font-size:0;position:absolute}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable .wtBorder.corner{cursor:crosshair;font-size:0}.ht_clone_master{z-index:100}.ht_clone_inline_start{z-index:120}.ht_clone_bottom{z-index:130}.ht_clone_bottom_inline_start_corner{z-index:150}.ht_clone_top{z-index:160}.ht_clone_top_inline_start_corner{z-index:180}.handsontable col.hidden{width:0!important}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_inline_start,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_inline_start table.htCore>thead,.handsontable .ht_master table.htCore>tbody>tr>th,.handsontable .ht_master table.htCore>thead{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_inline_start .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:400;position:relative;touch-action:manipulation}.handsontable a{color:#104acc}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px;visibility:hidden}.handsontable td.htInvalid{background-color:#ffbeba!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable td.invisibleSelection,.handsontable th.invisibleSelection{outline:none}.handsontable td.invisibleSelection::selection,.handsontable th.invisibleSelection::selection{background:hsla(0,0%,100%,0)}.hot-display-license-info{color:#373737;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:400;padding:5px 0 3px;text-align:left}.hot-display-license-info a{color:#104acc;font-size:10px}.handsontable .htFocusCatcher{border:0;height:0;margin:0;opacity:0;padding:0;position:absolute;width:0;z-index:-1}.handsontable .manualColumnResizer{cursor:col-resize;height:25px;position:absolute;top:0;width:5px;z-index:210}.handsontable .manualRowResizer{cursor:row-resize;height:5px;left:0;position:absolute;width:50px;z-index:210}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{background-color:#34a9db;border-left:none;border-right:1px dashed #777;display:none;margin-left:5px;margin-right:unset;position:absolute;right:unset;top:0;width:0}[dir=rtl].handsontable .manualColumnResizerGuide{border-left:1px dashed #777;border-right:none;left:unset;margin-left:unset;margin-right:5px}.handsontable .manualRowResizerGuide{background-color:#34a9db;border-bottom:1px dashed #777;bottom:0;display:none;height:0;left:0;margin-top:5px;position:absolute}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:209}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{background:#005eff;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.current,.handsontable thead th.current{box-shadow:inset 0 0 0 2px #4b89ff}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontableInput{background-color:#fff;border:none;border-radius:0;box-shadow:inset 0 0 0 2px #5292f7;box-sizing:border-box!important;color:#000;display:block;font-family:inherit;font-size:inherit;line-height:21px;margin:0;outline-width:0;padding:1px 5px 0;resize:none}.handsontableInput:focus{outline:none}.handsontableInputHolder{left:0;position:absolute;top:0}.htSelectEditor{position:absolute;select{-webkit-appearance:menulist-button!important;border:2px solid #4b89ff;box-sizing:border-box!important;height:100%;width:100%}}.htSelectEditor select:focus{outline:none}.htSelectEditor .htAutocompleteArrow{display:none}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{color:#777;content:"▶";font-size:9px;position:absolute;right:5px}[dir=rtl].handsontable .htSubmenu :after{content:""}[dir=rtl].handsontable .htSubmenu :before{color:#777;content:"◀";font-size:9px;left:5px;position:absolute}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{background:#fff;border:1px solid #ccc;border-collapse:separate}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent!important}.handsontable.listbox td,.handsontable.listbox th{text-overflow:ellipsis;white-space:nowrap}.handsontable.listbox td.htDimmed{color:inherit;cursor:default;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_editor_hidden{z-index:-1}.ht_editor_visible{z-index:200}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.handsontable.mobile .handsontableInput:focus{-webkit-appearance:none;-webkit-box-shadow:inset 0 0 0 2px #5292f7;-moz-box-shadow:inset 0 0 0 2px #5292f7;box-shadow:inset 0 0 0 2px #5292f7}.handsontable .bottomSelectionHandle,.handsontable .bottomSelectionHandle-HitArea,.handsontable .topSelectionHandle,.handsontable .topSelectionHandle-HitArea{left:-10000px;right:unset;top:-10000px;z-index:9999}[dir=rtl].handsontable .bottomSelectionHandle,[dir=rtl].handsontable .bottomSelectionHandle-HitArea,[dir=rtl].handsontable .topSelectionHandle,[dir=rtl].handsontable .topSelectionHandle-HitArea{left:unset;right:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable .htAutocompleteArrow{color:#bbb;cursor:default;float:right;font-size:10px;text-align:center;width:16px}[dir=rtl].handsontable .htAutocompleteArrow{float:left}.handsontable td.htInvalid .htAutocompleteArrow{color:#555}.handsontable td.htInvalid .htAutocompleteArrow:hover{color:#1a1a1a}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;font-size:inherit;vertical-align:middle}.handsontable .htCheckboxRendererLabel.fullWidth{width:100%}.handsontable .collapsibleIndicator{background:#eee;border:1px solid #a6a6a6;border-radius:10px;-webkit-box-shadow:0 0 0 6px #eee;-moz-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 3px #eee;color:#222;cursor:pointer;font-size:10px;height:10px;left:unset;line-height:8px;position:absolute;right:5px;text-align:center;top:50%;transform:translateY(-50%);width:10px}[dir=rtl].handsontable .collapsibleIndicator{left:5px;right:unset}.handsontable[dir=ltr] thead th:has(.collapsibleIndicator) div.htRight span.colHeader{margin-right:20px}.handsontable[dir=rtl] thead th:has(.collapsibleIndicator) div.htLeft span.colHeader{margin-left:20px}.handsontable .columnSorting{position:relative}.handsontable[dir=ltr] div.htRight span[class*=ascending],.handsontable[dir=ltr] div.htRight span[class*=descending]{margin-left:-10px;margin-right:10px}.handsontable[dir=rtl] div.htLeft span[class*=ascending],.handsontable[dir=rtl] div.htLeft span[class*=descending]{margin-left:10px;margin-right:-10px}.handsontable[dir=ltr] div.htRight span[class*=ascending]:only-child,.handsontable[dir=ltr] div.htRight span[class*=descending]:only-child{margin-left:-15px;margin-right:15px}.handsontable[dir=rtl] div.htLeft span[class*=ascending]:only-child,.handsontable[dir=rtl] div.htLeft span[class*=descending]:only-child{margin-left:15px;margin-right:-15px}.handsontable .columnSorting.sortAction:hover{cursor:pointer;text-decoration:underline}.handsontable span.colHeader.columnSorting:before{background-position-x:right;background-repeat:no-repeat;background-size:contain;content:"";height:10px;left:unset;margin-top:-6px;padding-left:8px;padding-right:0;position:absolute;right:-9px;top:50%;width:5px}[dir=rtl].handsontable span.colHeader.columnSorting:before{background-position-x:left;left:-9px;padding-left:0;padding-right:8px;right:unset}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC)}.handsontable span.colHeader.columnSorting.descending:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=)}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):before{content:"*";display:inline-block;padding-right:20px;position:relative}.handsontable.htGhostTable table thead th{border-bottom-width:0}.handsontable.htGhostTable table tbody tr td,.handsontable.htGhostTable table tbody tr th{border-top-width:0}.handsontable .htCommentCell{position:relative}.handsontable .htCommentCell:after{border-left:6px solid transparent;border-right:none;border-top:6px solid #000;content:"";left:unset;position:absolute;right:0;top:0}[dir=rtl].handsontable .htCommentCell:after{border-left:none;border-right:6px solid transparent;left:0;right:unset}.htCommentsContainer .htComments{display:none;position:absolute;z-index:1059}.htCommentsContainer .htCommentTextArea{-webkit-appearance:none;background-color:#fff;border:none;border-left:3px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:12px;height:90px;outline:0!important;padding:5px;width:215px}[dir=rtl].htCommentsContainer .htCommentTextArea{border-left:none;border-right:3px solid #ccc}.htCommentsContainer .htCommentTextArea:focus{border-left:3px solid #5292f7;border-right:none;box-shadow:0 1px 3px rgba(0,0,0,.118),0 1px 2px rgba(0,0,0,.239),inset 0 0 0 1px #5292f7}[dir=rtl].htCommentsContainer .htCommentTextArea:focus{border-left:none;border-right:3px solid #5292f7}
|
32
32
|
/*!
|
33
33
|
* Handsontable ContextMenu
|