handsontable 0.0.0-next-f900323-20250306 → 0.0.0-next-b209352-20250310
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.
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/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +95 -46
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +11 -11
- package/dist/handsontable.js +95 -46
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +8 -8
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/plugins/contextMenu/menu/menu.js +9 -2
- package/plugins/contextMenu/menu/menu.mjs +9 -2
- package/plugins/filters/conditionCollection.js +0 -26
- package/plugins/filters/conditionCollection.mjs +0 -26
- package/plugins/filters/filters.d.ts +2 -0
- package/plugins/filters/filters.js +77 -8
- package/plugins/filters/filters.mjs +77 -8
- package/plugins/mergeCells/mergeCells.js +2 -3
- package/plugins/mergeCells/mergeCells.mjs +2 -3
- package/plugins/undoRedo/actions/filters.js +2 -2
- package/plugins/undoRedo/actions/filters.mjs +2 -2
- 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/base.js
CHANGED
|
@@ -45,8 +45,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
|
|
|
45
45
|
Handsontable.CellCoords = _src.CellCoords;
|
|
46
46
|
Handsontable.CellRange = _src.CellRange;
|
|
47
47
|
Handsontable.packageName = 'handsontable';
|
|
48
|
-
Handsontable.buildDate = "
|
|
49
|
-
Handsontable.version = "0.0.0-next-
|
|
48
|
+
Handsontable.buildDate = "10/03/2025 12:39:49";
|
|
49
|
+
Handsontable.version = "0.0.0-next-b209352-20250310";
|
|
50
50
|
Handsontable.languages = {
|
|
51
51
|
dictionaryKeys: _registry.dictionaryKeys,
|
|
52
52
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
package/base.mjs
CHANGED
|
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
|
|
|
35
35
|
Handsontable.CellCoords = CellCoords;
|
|
36
36
|
Handsontable.CellRange = CellRange;
|
|
37
37
|
Handsontable.packageName = 'handsontable';
|
|
38
|
-
Handsontable.buildDate = "
|
|
39
|
-
Handsontable.version = "0.0.0-next-
|
|
38
|
+
Handsontable.buildDate = "10/03/2025 12:39:55";
|
|
39
|
+
Handsontable.version = "0.0.0-next-b209352-20250310";
|
|
40
40
|
Handsontable.languages = {
|
|
41
41
|
dictionaryKeys,
|
|
42
42
|
getLanguageDictionary,
|
package/dist/handsontable.css
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: 20/02/2025 (built at
|
|
28
|
+
* Version: 0.0.0-next-b209352-20250310
|
|
29
|
+
* Release date: 20/02/2025 (built at 10/03/2025 12:40:17)
|
|
30
30
|
*/
|
|
31
31
|
/**
|
|
32
32
|
* Fix for bootstrap styles
|
|
@@ -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: 20/02/2025 (built at
|
|
28
|
+
* Version: 0.0.0-next-b209352-20250310
|
|
29
|
+
* Release date: 20/02/2025 (built at 10/03/2025 12:40:17)
|
|
30
30
|
*/
|
|
31
31
|
/**
|
|
32
32
|
* Fix for bootstrap styles
|
|
@@ -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: 20/02/2025 (built at
|
|
28
|
+
* Version: 0.0.0-next-b209352-20250310
|
|
29
|
+
* Release date: 20/02/2025 (built at 10/03/2025 12:40:00)
|
|
30
30
|
*/
|
|
31
31
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
32
32
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -42855,8 +42855,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
|
|
|
42855
42855
|
Handsontable.CellCoords = _src.CellCoords;
|
|
42856
42856
|
Handsontable.CellRange = _src.CellRange;
|
|
42857
42857
|
Handsontable.packageName = 'handsontable';
|
|
42858
|
-
Handsontable.buildDate = "
|
|
42859
|
-
Handsontable.version = "0.0.0-next-
|
|
42858
|
+
Handsontable.buildDate = "10/03/2025 12:40:00";
|
|
42859
|
+
Handsontable.version = "0.0.0-next-b209352-20250310";
|
|
42860
42860
|
Handsontable.languages = {
|
|
42861
42861
|
dictionaryKeys: _registry.dictionaryKeys,
|
|
42862
42862
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
|
@@ -54181,7 +54181,7 @@ const domMessages = {
|
|
|
54181
54181
|
function _injectProductInfo(key, element) {
|
|
54182
54182
|
const hasValidType = !isEmpty(key);
|
|
54183
54183
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
|
54184
|
-
const hotVersion = "0.0.0-next-
|
|
54184
|
+
const hotVersion = "0.0.0-next-b209352-20250310";
|
|
54185
54185
|
let keyValidityDate;
|
|
54186
54186
|
let consoleMessageState = 'invalid';
|
|
54187
54187
|
let domMessageState = 'invalid';
|
|
@@ -122351,6 +122351,7 @@ class Menu {
|
|
|
122351
122351
|
* and adjusts the width and height of the menu's holder and hider elements accordingly.
|
|
122352
122352
|
*/
|
|
122353
122353
|
updateMenuDimensions() {
|
|
122354
|
+
const stylesHandler = this.hotMenu.view.getStylesHandler();
|
|
122354
122355
|
const {
|
|
122355
122356
|
wtTable
|
|
122356
122357
|
} = this.hotMenu.view._wt;
|
|
@@ -122363,8 +122364,14 @@ class Menu {
|
|
|
122363
122364
|
const currentRowHeight = itemCell ? (0, _element.outerHeight)(this.hotMenu.getCell(index, 0)) : 0;
|
|
122364
122365
|
return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : currentRowHeight);
|
|
122365
122366
|
}, 0);
|
|
122366
|
-
|
|
122367
|
-
|
|
122367
|
+
if (stylesHandler.isClassicTheme()) {
|
|
122368
|
+
// Additional 3px to menu's size because of additional border around its `table.htCore`.
|
|
122369
|
+
holderStyle.width = `${currentHiderWidth + 3}px`;
|
|
122370
|
+
holderStyle.height = `${realHeight + 3}px`;
|
|
122371
|
+
} else {
|
|
122372
|
+
holderStyle.width = `${currentHiderWidth}px`;
|
|
122373
|
+
holderStyle.height = `${realHeight}px`;
|
|
122374
|
+
}
|
|
122368
122375
|
hiderStyle.height = holderStyle.height;
|
|
122369
122376
|
}
|
|
122370
122377
|
|
|
@@ -127593,6 +127600,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
|
127593
127600
|
*/
|
|
127594
127601
|
var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
|
|
127595
127602
|
var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
|
|
127603
|
+
var _previousConditionStack = /*#__PURE__*/new WeakMap();
|
|
127596
127604
|
var _Filters_brand = /*#__PURE__*/new WeakSet();
|
|
127597
127605
|
class Filters extends _base.BasePlugin {
|
|
127598
127606
|
static get PLUGIN_KEY() {
|
|
@@ -127664,6 +127672,13 @@ class Filters extends _base.BasePlugin {
|
|
|
127664
127672
|
* @type {WeakSet<Menu>}
|
|
127665
127673
|
*/
|
|
127666
127674
|
_classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
|
|
127675
|
+
/**
|
|
127676
|
+
* Stores the previous state of the condition stack before the latest filter operation.
|
|
127677
|
+
* This is used in the `beforeFilter` plugin to allow performing the undo operation.
|
|
127678
|
+
*
|
|
127679
|
+
* @type {Array}
|
|
127680
|
+
*/
|
|
127681
|
+
_classPrivateFieldInitSpec(this, _previousConditionStack, []);
|
|
127667
127682
|
this.hot.addHook('afterGetColHeader', function () {
|
|
127668
127683
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
127669
127684
|
args[_key] = arguments[_key];
|
|
@@ -128006,6 +128021,51 @@ class Filters extends _base.BasePlugin {
|
|
|
128006
128021
|
}
|
|
128007
128022
|
}
|
|
128008
128023
|
|
|
128024
|
+
/**
|
|
128025
|
+
* Imports filter conditions to all columns to the plugin. The method accepts
|
|
128026
|
+
* the array of conditions with the same structure as the {@link Filters#exportConditions} method returns.
|
|
128027
|
+
* Importing conditions will replace the current conditions. Once replaced, the state of the condition
|
|
128028
|
+
* will be reflected in the UI. To apply the changes and filter the table, call
|
|
128029
|
+
* the {@link Filters#filter} method eventually.
|
|
128030
|
+
*
|
|
128031
|
+
* @param {Array} conditions Array of conditions.
|
|
128032
|
+
*/
|
|
128033
|
+
importConditions(conditions) {
|
|
128034
|
+
this.conditionCollection.importAllConditions(conditions);
|
|
128035
|
+
}
|
|
128036
|
+
|
|
128037
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
|
128038
|
+
/**
|
|
128039
|
+
* Exports filter conditions for all columns from the plugin.
|
|
128040
|
+
* The array represents the filter state for each column. For example:
|
|
128041
|
+
*
|
|
128042
|
+
* ```js
|
|
128043
|
+
* [
|
|
128044
|
+
* {
|
|
128045
|
+
* column: 1,
|
|
128046
|
+
* operation: 'conjunction',
|
|
128047
|
+
* conditions: [
|
|
128048
|
+
* { name: 'gt', args: [95] },
|
|
128049
|
+
* ]
|
|
128050
|
+
* },
|
|
128051
|
+
* {
|
|
128052
|
+
* column: 7,
|
|
128053
|
+
* operation: 'conjunction',
|
|
128054
|
+
* conditions: [
|
|
128055
|
+
* { name: 'contains', args: ['mike'] },
|
|
128056
|
+
* { name: 'begins_with', args: ['m'] },
|
|
128057
|
+
* ]
|
|
128058
|
+
* },
|
|
128059
|
+
* ]
|
|
128060
|
+
* ```
|
|
128061
|
+
*
|
|
128062
|
+
* @returns {Array}
|
|
128063
|
+
*/
|
|
128064
|
+
/* eslint-enable jsdoc/require-description-complete-sentence */
|
|
128065
|
+
exportConditions() {
|
|
128066
|
+
return this.conditionCollection.exportAllConditions();
|
|
128067
|
+
}
|
|
128068
|
+
|
|
128009
128069
|
/**
|
|
128010
128070
|
* Filters data based on added filter conditions.
|
|
128011
128071
|
*
|
|
@@ -128019,8 +128079,8 @@ class Filters extends _base.BasePlugin {
|
|
|
128019
128079
|
const dataFilter = this._createDataFilter();
|
|
128020
128080
|
const needToFilter = !this.conditionCollection.isEmpty();
|
|
128021
128081
|
let visibleVisualRows = [];
|
|
128022
|
-
const conditions = this.
|
|
128023
|
-
const allowFiltering = this.hot.runHooks('beforeFilter', conditions, this
|
|
128082
|
+
const conditions = this.exportConditions();
|
|
128083
|
+
const allowFiltering = this.hot.runHooks('beforeFilter', conditions, _classPrivateFieldGet(_previousConditionStack, this));
|
|
128024
128084
|
if (allowFiltering !== false) {
|
|
128025
128085
|
if (needToFilter) {
|
|
128026
128086
|
const trimmedRows = [];
|
|
@@ -128043,11 +128103,13 @@ class Filters extends _base.BasePlugin {
|
|
|
128043
128103
|
} else {
|
|
128044
128104
|
this.filtersRowsMap.clear();
|
|
128045
128105
|
}
|
|
128106
|
+
_classPrivateFieldSet(_previousConditionStack, this, this.exportConditions());
|
|
128107
|
+
this.hot.runHooks('afterFilter', conditions);
|
|
128108
|
+
this.hot.view.adjustElementsSize();
|
|
128109
|
+
this.hot.render();
|
|
128110
|
+
} else {
|
|
128111
|
+
this.importConditions(_classPrivateFieldGet(_previousConditionStack, this));
|
|
128046
128112
|
}
|
|
128047
|
-
this.hot.runHooks('afterFilter', conditions);
|
|
128048
|
-
this.conditionCollection.setPreviousConditionStack(null);
|
|
128049
|
-
this.hot.view.adjustElementsSize();
|
|
128050
|
-
this.hot.render();
|
|
128051
128113
|
if (this.hot.selection.isSelected()) {
|
|
128052
128114
|
this.hot.selectCell(navigableHeaders ? -1 : 0, this.hot.getSelectedRangeLast().highlight.col);
|
|
128053
128115
|
}
|
|
@@ -128410,7 +128472,6 @@ function _onActionBarSubmit(submitType) {
|
|
|
128410
128472
|
}
|
|
128411
128473
|
this.conditionUpdateObserver.flush();
|
|
128412
128474
|
this.components.forEach(component => component.saveState(physicalIndex));
|
|
128413
|
-
this.filtersRowsMap.clear();
|
|
128414
128475
|
this.filter();
|
|
128415
128476
|
}
|
|
128416
128477
|
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
|
|
@@ -128452,8 +128513,23 @@ function _updateComponents(conditionsState) {
|
|
|
128452
128513
|
editedConditionStack: {
|
|
128453
128514
|
conditions,
|
|
128454
128515
|
column
|
|
128455
|
-
}
|
|
128516
|
+
},
|
|
128517
|
+
conditionArgsChange
|
|
128456
128518
|
} = conditionsState;
|
|
128519
|
+
if (Array.isArray(conditionArgsChange)) {
|
|
128520
|
+
// update the previous condition stack (only for 'by_value' condition) on each dataset
|
|
128521
|
+
// change to make the undo/redo work properly
|
|
128522
|
+
_classPrivateFieldSet(_previousConditionStack, this, _classPrivateFieldGet(_previousConditionStack, this).map(stack => {
|
|
128523
|
+
if (stack.column === column && conditions.length > 0) {
|
|
128524
|
+
stack.conditions.forEach(condition => {
|
|
128525
|
+
if (condition.name === 'by_value') {
|
|
128526
|
+
condition.args = [[...conditionArgsChange]];
|
|
128527
|
+
}
|
|
128528
|
+
});
|
|
128529
|
+
}
|
|
128530
|
+
return stack;
|
|
128531
|
+
}));
|
|
128532
|
+
}
|
|
128457
128533
|
const conditionsByValue = conditions.filter(condition => condition.name === _constants2.CONDITION_BY_VALUE);
|
|
128458
128534
|
const conditionsWithoutByValue = conditions.filter(condition => condition.name !== _constants2.CONDITION_BY_VALUE);
|
|
128459
128535
|
if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
|
|
@@ -131897,13 +131973,6 @@ class ConditionCollection {
|
|
|
131897
131973
|
* @type {LinkedPhysicalIndexToValueMap}
|
|
131898
131974
|
*/
|
|
131899
131975
|
(0, _defineProperty2.default)(this, "filteringStates", new _translations.LinkedPhysicalIndexToValueMap());
|
|
131900
|
-
/**
|
|
131901
|
-
* Stores the previous state of the condition stack before the latest filter operation.
|
|
131902
|
-
* This is used in the `beforeFilter` plugin to allow performing the undo operation.
|
|
131903
|
-
*
|
|
131904
|
-
* @type {null|Array}
|
|
131905
|
-
*/
|
|
131906
|
-
(0, _defineProperty2.default)(this, "previousConditionStack", null);
|
|
131907
131976
|
this.hot = hot;
|
|
131908
131977
|
this.isMapRegistrable = isMapRegistrable;
|
|
131909
131978
|
if (this.isMapRegistrable === true) {
|
|
@@ -131972,13 +132041,6 @@ class ConditionCollection {
|
|
|
131972
132041
|
const localeForColumn = this.hot.getCellMeta(0, column).locale;
|
|
131973
132042
|
const args = conditionDefinition.args.map(v => typeof v === 'string' ? v.toLocaleLowerCase(localeForColumn) : v);
|
|
131974
132043
|
const name = conditionDefinition.name || conditionDefinition.command.key;
|
|
131975
|
-
|
|
131976
|
-
// If there's no previous condition stack defined (which means the condition stack was not cleared after the
|
|
131977
|
-
// previous filter operation or that there was no filter operation performed yet), store the current conditions as
|
|
131978
|
-
// the previous condition stack.
|
|
131979
|
-
if (this.previousConditionStack === null) {
|
|
131980
|
-
this.setPreviousConditionStack(this.exportAllConditions());
|
|
131981
|
-
}
|
|
131982
132044
|
this.runLocalHooks('beforeAdd', column);
|
|
131983
132045
|
const columnType = this.getOperation(column);
|
|
131984
132046
|
if (columnType) {
|
|
@@ -132107,8 +132169,6 @@ class ConditionCollection {
|
|
|
132107
132169
|
* @fires ConditionCollection#afterRemove
|
|
132108
132170
|
*/
|
|
132109
132171
|
removeConditions(column) {
|
|
132110
|
-
// Store the current conditions as the previous condition stack before it's cleared.
|
|
132111
|
-
this.setPreviousConditionStack(this.exportAllConditions());
|
|
132112
132172
|
this.runLocalHooks('beforeRemove', column);
|
|
132113
132173
|
this.filteringStates.clearValue(column);
|
|
132114
132174
|
this.runLocalHooks('afterRemove', column);
|
|
@@ -132142,16 +132202,6 @@ class ConditionCollection {
|
|
|
132142
132202
|
return conditions.length > 0;
|
|
132143
132203
|
}
|
|
132144
132204
|
|
|
132145
|
-
/**
|
|
132146
|
-
* Updates the `previousConditionStack` property with the provided stack.
|
|
132147
|
-
* It is used to store the current conditions before they are modified, allowing for undo operations.
|
|
132148
|
-
*
|
|
132149
|
-
* @param {Array|null} previousConditionStack The stack of previous conditions.
|
|
132150
|
-
*/
|
|
132151
|
-
setPreviousConditionStack(previousConditionStack) {
|
|
132152
|
-
this.previousConditionStack = previousConditionStack;
|
|
132153
|
-
}
|
|
132154
|
-
|
|
132155
132205
|
/**
|
|
132156
132206
|
* Destroy object.
|
|
132157
132207
|
*/
|
|
@@ -141304,12 +141354,11 @@ function _sumCellsHeights(row, rowspan) {
|
|
|
141304
141354
|
} = this.hot;
|
|
141305
141355
|
const stylesHandler = view.getStylesHandler();
|
|
141306
141356
|
const defaultHeight = view.getDefaultRowHeight();
|
|
141307
|
-
const autoRowSizePlugin = this.hot.getPlugin('autoRowSize');
|
|
141308
141357
|
let height = 0;
|
|
141309
141358
|
for (let i = row; i < row + rowspan; i++) {
|
|
141310
141359
|
if (!rowIndexMapper.isHidden(i)) {
|
|
141311
|
-
var
|
|
141312
|
-
height += (
|
|
141360
|
+
var _this$hot$getRowHeigh;
|
|
141361
|
+
height += (_this$hot$getRowHeigh = this.hot.getRowHeight(i)) !== null && _this$hot$getRowHeigh !== void 0 ? _this$hot$getRowHeigh : defaultHeight;
|
|
141313
141362
|
if (i === 0 && !stylesHandler.isClassicTheme()) {
|
|
141314
141363
|
height += 1; // border-top-width
|
|
141315
141364
|
}
|
|
@@ -152670,7 +152719,7 @@ class FiltersAction extends _base.BaseAction {
|
|
|
152670
152719
|
undo(hot, undoneCallback) {
|
|
152671
152720
|
const filters = hot.getPlugin('filters');
|
|
152672
152721
|
hot.addHookOnce('afterViewRender', undoneCallback);
|
|
152673
|
-
filters.
|
|
152722
|
+
filters.importConditions(this.previousConditionsStack);
|
|
152674
152723
|
filters.filter();
|
|
152675
152724
|
}
|
|
152676
152725
|
|
|
@@ -152681,7 +152730,7 @@ class FiltersAction extends _base.BaseAction {
|
|
|
152681
152730
|
redo(hot, redoneCallback) {
|
|
152682
152731
|
const filters = hot.getPlugin('filters');
|
|
152683
152732
|
hot.addHookOnce('afterViewRender', redoneCallback);
|
|
152684
|
-
filters.
|
|
152733
|
+
filters.importConditions(this.conditionsStack);
|
|
152685
152734
|
filters.filter();
|
|
152686
152735
|
}
|
|
152687
152736
|
}
|
|
@@ -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: 20/02/2025 (built at
|
|
29
|
+
* Version: 0.0.0-next-b209352-20250310
|
|
30
|
+
* Release date: 20/02/2025 (built at 10/03/2025 12:40:52)
|
|
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
|