handsontable 0.0.0-next-1b1acbd-20221123 → 0.0.0-next-561a94b-20221129

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.

@@ -166,7 +166,7 @@ var CellRange = /*#__PURE__*/function () {
166
166
  }, {
167
167
  key: "getHeight",
168
168
  value: function getHeight() {
169
- // If the selection contains only rows headers return 0.
169
+ // if the selection contains only row headers, return 0
170
170
  if (this.from.row < 0 && this.to.row < 0) {
171
171
  return 0;
172
172
  }
@@ -183,7 +183,7 @@ var CellRange = /*#__PURE__*/function () {
183
183
  }, {
184
184
  key: "getWidth",
185
185
  value: function getWidth() {
186
- // If the selection contains only columns headers return 0.
186
+ // if the selection contains only column headers, return 0
187
187
  if (this.from.col < 0 && this.to.col < 0) {
188
188
  return 0;
189
189
  }
@@ -161,7 +161,7 @@ var CellRange = /*#__PURE__*/function () {
161
161
  }, {
162
162
  key: "getHeight",
163
163
  value: function getHeight() {
164
- // If the selection contains only rows headers return 0.
164
+ // if the selection contains only row headers, return 0
165
165
  if (this.from.row < 0 && this.to.row < 0) {
166
166
  return 0;
167
167
  }
@@ -178,7 +178,7 @@ var CellRange = /*#__PURE__*/function () {
178
178
  }, {
179
179
  key: "getWidth",
180
180
  value: function getWidth() {
181
- // If the selection contains only columns headers return 0.
181
+ // if the selection contains only column headers, return 0
182
182
  if (this.from.col < 0 && this.to.col < 0) {
183
183
  return 0;
184
184
  }
package/CHANGELOG.md CHANGED
@@ -327,6 +327,10 @@ For more information on this release, see:
327
327
  - Introduced the `modifyAutoColumnSizeSeed` hook to let developers overwrite the default behaviour of the AutoColumnSize sampling. [#3339](https://github.com/handsontable/handsontable/issues/3339)
328
328
  - Added support for hiding columns for the _NestedHeaders_ plugin. [#6879](https://github.com/handsontable/handsontable/issues/6879)
329
329
  - Added ability to skip stacking actions by the `UndoRedo` plugin and introduced new hooks. [#6948](https://github.com/handsontable/handsontable/issues/6948)
330
+ - Added 2 new hooks, `beforeHighlightingColumnHeader` and `beforeHighlightingRowHeader`. Use them to retrieve a header element (`<th>`) before it gets highlighted. ([#7528](https://github.com/handsontable/handsontable/pull/7528))
331
+ - Added a new method, `indexMapper.unregisterAll()`. Use it to unregister all collected index maps from all map collections types. ([#7528](https://github.com/handsontable/handsontable/pull/7528))
332
+ - Added a new method, `indexMapper.createChangesObserver()`. Use it to listen to any changes made to indexes while Handsontable is running. ([#7528](https://github.com/handsontable/handsontable/pull/7528))
333
+ - Added a new method, `indexMapper.createAndRegisterIndexMap()`. Use it to create and register a new index map. ([#7528](https://github.com/handsontable/handsontable/pull/7528))
330
334
 
331
335
  ### Fixed
332
336
  - Fixed a problem with sorting the `checkbox`-typed cells and an issue with empty cells not being displayed properly. [#4047](https://github.com/handsontable/handsontable/issues/4047)
package/base.js CHANGED
@@ -41,8 +41,8 @@ Handsontable.Core = function (rootElement) {
41
41
  Handsontable.DefaultSettings = (0, _dataMap.metaSchemaFactory)();
42
42
  Handsontable.hooks = _pluginHooks.default.getSingleton();
43
43
  Handsontable.packageName = 'handsontable';
44
- Handsontable.buildDate = "23/11/2022 12:56:09";
45
- Handsontable.version = "0.0.0-next-1b1acbd-20221123";
44
+ Handsontable.buildDate = "29/11/2022 07:43:15";
45
+ Handsontable.version = "0.0.0-next-561a94b-20221129";
46
46
  Handsontable.languages = {
47
47
  dictionaryKeys: _registry.dictionaryKeys,
48
48
  getLanguageDictionary: _registry.getLanguageDictionary,
package/base.mjs CHANGED
@@ -32,8 +32,8 @@ Handsontable.Core = function (rootElement) {
32
32
  Handsontable.DefaultSettings = metaSchemaFactory();
33
33
  Handsontable.hooks = Hooks.getSingleton();
34
34
  Handsontable.packageName = 'handsontable';
35
- Handsontable.buildDate = "23/11/2022 12:56:22";
36
- Handsontable.version = "0.0.0-next-1b1acbd-20221123";
35
+ Handsontable.buildDate = "29/11/2022 07:43:34";
36
+ Handsontable.version = "0.0.0-next-561a94b-20221129";
37
37
  Handsontable.languages = {
38
38
  dictionaryKeys: dictionaryKeys,
39
39
  getLanguageDictionary: getLanguageDictionary,
package/core.js CHANGED
@@ -3380,21 +3380,43 @@ function Core(rootElement, userSettings) {
3380
3380
  };
3381
3381
 
3382
3382
  /**
3383
- * Returns an array of column headers (in string format, if they are enabled). If param `column` is given, it
3384
- * returns the header at the given column.
3383
+ * Gets the values of column headers (if column headers are [enabled](@/api/options.md#colheaders)).
3385
3384
  *
3386
- * Since the 12.3.0 the method accepts the 2nd `headerLevel` argument.
3385
+ * To get an array with the values of all
3386
+ * [bottom-most](@/guides/cell-features/clipboard.md#copy-with-headers) column headers,
3387
+ * call `getColHeader()` with no arguments.
3388
+ *
3389
+ * To get the value of the bottom-most header of a specific column, use the `column` parameter.
3390
+ *
3391
+ * To get the value of a [specific-level](@/guides/columns/column-groups.md) header
3392
+ * of a specific column, use the `column` and `headerLevel` parameters.
3393
+ *
3394
+ * Read more:
3395
+ * - [Guides: Column groups](@/guides/columns/column-groups.md)
3396
+ * - [Options: `colHeaders`](@/api/options.md#colheaders)
3397
+ * - [Guides: Copy with headers](@/guides/cell-features/clipboard.md#copy-with-headers)
3398
+ *
3399
+ * ```js
3400
+ * // get the contents of all bottom-most column headers
3401
+ * hot.getColHeader();
3402
+ *
3403
+ * // get the contents of the bottom-most header of a specific column
3404
+ * hot.getColHeader(5);
3405
+ *
3406
+ * // get the contents of a specific column header at a specific level
3407
+ * hot.getColHeader(5, -2);
3408
+ * ```
3387
3409
  *
3388
3410
  * @memberof Core#
3389
3411
  * @function getColHeader
3390
- * @param {number} [column] Visual column index.
3391
- * @param {number} [headerLevel=-1] The index of header level. The header level accepts positive (0 to N)
3392
- * and negative (-1 to -N) values. For positive values, 0 points to the
3393
- * top most header, and for negative direction, -1 points to the most bottom
3412
+ * @param {number} [column] A visual column index.
3413
+ * @param {number} [headerLevel=-1] (Since 12.3.0) Header level index. Accepts positive (0 to n)
3414
+ * and negative (-1 to -n) values. For positive values, 0 points to the
3415
+ * topmost header. For negative values, -1 points to the bottom-most
3394
3416
  * header (the header closest to the cells).
3395
3417
  * @fires Hooks#modifyColHeader
3396
3418
  * @fires Hooks#modifyColumnHeaderValue
3397
- * @returns {Array|string|number} The column header(s).
3419
+ * @returns {Array|string|number} Column header values.
3398
3420
  */
3399
3421
  this.getColHeader = function (column) {
3400
3422
  var headerLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
package/core.mjs CHANGED
@@ -3375,21 +3375,43 @@ export default function Core(rootElement, userSettings) {
3375
3375
  };
3376
3376
 
3377
3377
  /**
3378
- * Returns an array of column headers (in string format, if they are enabled). If param `column` is given, it
3379
- * returns the header at the given column.
3378
+ * Gets the values of column headers (if column headers are [enabled](@/api/options.md#colheaders)).
3380
3379
  *
3381
- * Since the 12.3.0 the method accepts the 2nd `headerLevel` argument.
3380
+ * To get an array with the values of all
3381
+ * [bottom-most](@/guides/cell-features/clipboard.md#copy-with-headers) column headers,
3382
+ * call `getColHeader()` with no arguments.
3383
+ *
3384
+ * To get the value of the bottom-most header of a specific column, use the `column` parameter.
3385
+ *
3386
+ * To get the value of a [specific-level](@/guides/columns/column-groups.md) header
3387
+ * of a specific column, use the `column` and `headerLevel` parameters.
3388
+ *
3389
+ * Read more:
3390
+ * - [Guides: Column groups](@/guides/columns/column-groups.md)
3391
+ * - [Options: `colHeaders`](@/api/options.md#colheaders)
3392
+ * - [Guides: Copy with headers](@/guides/cell-features/clipboard.md#copy-with-headers)
3393
+ *
3394
+ * ```js
3395
+ * // get the contents of all bottom-most column headers
3396
+ * hot.getColHeader();
3397
+ *
3398
+ * // get the contents of the bottom-most header of a specific column
3399
+ * hot.getColHeader(5);
3400
+ *
3401
+ * // get the contents of a specific column header at a specific level
3402
+ * hot.getColHeader(5, -2);
3403
+ * ```
3382
3404
  *
3383
3405
  * @memberof Core#
3384
3406
  * @function getColHeader
3385
- * @param {number} [column] Visual column index.
3386
- * @param {number} [headerLevel=-1] The index of header level. The header level accepts positive (0 to N)
3387
- * and negative (-1 to -N) values. For positive values, 0 points to the
3388
- * top most header, and for negative direction, -1 points to the most bottom
3407
+ * @param {number} [column] A visual column index.
3408
+ * @param {number} [headerLevel=-1] (Since 12.3.0) Header level index. Accepts positive (0 to n)
3409
+ * and negative (-1 to -n) values. For positive values, 0 points to the
3410
+ * topmost header. For negative values, -1 points to the bottom-most
3389
3411
  * header (the header closest to the cells).
3390
3412
  * @fires Hooks#modifyColHeader
3391
3413
  * @fires Hooks#modifyColumnHeaderValue
3392
- * @returns {Array|string|number} The column header(s).
3414
+ * @returns {Array|string|number} Column header values.
3393
3415
  */
3394
3416
  this.getColHeader = function (column) {
3395
3417
  var headerLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
@@ -1188,17 +1188,23 @@ var _default = function _default() {
1188
1188
  * | `false` | Disable the [`CopyPaste`](@/api/copyPaste.md) plugin |
1189
1189
  * | An object | - Enable the [`CopyPaste`](@/api/copyPaste.md) plugin<br>- Modify the [`CopyPaste`](@/api/copyPaste.md) plugin options |
1190
1190
  *
1191
+ * ##### copyPaste: Additional options
1192
+ *
1191
1193
  * If you set the `copyPaste` option to an object, you can set the following `CopyPaste` plugin options:
1192
1194
  *
1193
- * | Option | Possible settings | Description |
1194
- * | -------------- | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1195
- * | `columnsLimit` | A number (default: `Infinity`) | A maximum number of columns that can be copied |
1196
- * | `rowsLimit` | A number (default: `Infinity`) | A maximum number of columns that can be copied |
1197
- * | `pasteMode` | `'overwrite'` \| `'shift_down'` \| `'shift_right'` | When pasting:<br>`'overwrite'`: overwrite currently-selected cells<br>`'shift_down'`: move currently-selected cells down<br>`'shift_right'`: move currently-selected cells to the right |
1198
- * | `uiContainer` | An HTML element | A UI container for the secondary focusable element |
1195
+ * | Option | Possible settings | Description |
1196
+ * | ------------------------ | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1197
+ * | `columnsLimit` | A number (default: `Infinity`) | The maximum number of columns that can be copied |
1198
+ * | `rowsLimit` | A number (default: `Infinity`) | The maximum number of columns that can be copied |
1199
+ * | `pasteMode` | `'overwrite'` \| `'shift_down'` \| `'shift_right'` | When pasting:<br>`'overwrite'`: overwrite the currently-selected cells<br>`'shift_down'`: move the currently-selected cells down<br>`'shift_right'`: move the currently-selected cells to the right |
1200
+ * | `copyColumnHeaders` | Boolean (default: `false`) | `true`: add a context menu option for copying cells along with their nearest column headers |
1201
+ * | `copyColumnGroupHeaders` | Boolean (default: `false`) | `true`: add a context menu option for copying cells along with all their related columns headers |
1202
+ * | `copyColumnHeadersOnly` | Boolean (default: `false`) | `true`: add a context menu option for copying column headers nearest to the selected cells (without copying cells) |
1203
+ * | `uiContainer` | An HTML element | The UI container for the secondary focusable element |
1199
1204
  *
1200
1205
  * Read more:
1201
1206
  * - [Plugins: `CopyPaste`](@/api/copyPaste.md)
1207
+ * - [Guides: Clipboard](@/guides/cell-features/clipboard.md)
1202
1208
  *
1203
1209
  * @memberof Options#
1204
1210
  * @type {object|boolean}
@@ -1207,19 +1213,33 @@ var _default = function _default() {
1207
1213
  *
1208
1214
  * @example
1209
1215
  * ```js
1210
- * // disable the `CopyPaste` plugin
1216
+ * // enable the plugin with the default configuration
1217
+ * copyPaste: true // set by default
1218
+ *
1219
+ * // disable the plugin
1211
1220
  * copyPaste: false,
1212
1221
  *
1213
- * // enable the `CopyPaste` plugin
1214
- * // and modify the `CopyPaste` plugin options
1222
+ * // enable the plugin with a custom configuration
1215
1223
  * copyPaste: {
1216
- * // set the maximum number of columns that can be copied
1224
+ * // set a maximum number of columns that can be copied
1217
1225
  * columnsLimit: 25,
1218
- * // set the maximum number of rows that can be copied
1226
+ *
1227
+ * // set a maximum number of rows that can be copied
1219
1228
  * rowsLimit: 50,
1229
+ *
1220
1230
  * // set the paste behavior
1221
1231
  * pasteMode: 'shift_down',
1222
- * // set the UI container
1232
+ *
1233
+ * // add the option to copy cells along with their nearest column headers
1234
+ * copyColumnHeaders: true,
1235
+ *
1236
+ * // add the option to copy cells along with all their related columns headers
1237
+ * copyColumnGroupHeaders: true,
1238
+ *
1239
+ * // add the option to copy just column headers (without copying cells)
1240
+ * copyColumnHeadersOnly: true,
1241
+ *
1242
+ * // set a UI container
1223
1243
  * uiContainer: document.body,
1224
1244
  * },
1225
1245
  * ```
@@ -1184,17 +1184,23 @@ export default (function () {
1184
1184
  * | `false` | Disable the [`CopyPaste`](@/api/copyPaste.md) plugin |
1185
1185
  * | An object | - Enable the [`CopyPaste`](@/api/copyPaste.md) plugin<br>- Modify the [`CopyPaste`](@/api/copyPaste.md) plugin options |
1186
1186
  *
1187
+ * ##### copyPaste: Additional options
1188
+ *
1187
1189
  * If you set the `copyPaste` option to an object, you can set the following `CopyPaste` plugin options:
1188
1190
  *
1189
- * | Option | Possible settings | Description |
1190
- * | -------------- | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1191
- * | `columnsLimit` | A number (default: `Infinity`) | A maximum number of columns that can be copied |
1192
- * | `rowsLimit` | A number (default: `Infinity`) | A maximum number of columns that can be copied |
1193
- * | `pasteMode` | `'overwrite'` \| `'shift_down'` \| `'shift_right'` | When pasting:<br>`'overwrite'`: overwrite currently-selected cells<br>`'shift_down'`: move currently-selected cells down<br>`'shift_right'`: move currently-selected cells to the right |
1194
- * | `uiContainer` | An HTML element | A UI container for the secondary focusable element |
1191
+ * | Option | Possible settings | Description |
1192
+ * | ------------------------ | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1193
+ * | `columnsLimit` | A number (default: `Infinity`) | The maximum number of columns that can be copied |
1194
+ * | `rowsLimit` | A number (default: `Infinity`) | The maximum number of columns that can be copied |
1195
+ * | `pasteMode` | `'overwrite'` \| `'shift_down'` \| `'shift_right'` | When pasting:<br>`'overwrite'`: overwrite the currently-selected cells<br>`'shift_down'`: move the currently-selected cells down<br>`'shift_right'`: move the currently-selected cells to the right |
1196
+ * | `copyColumnHeaders` | Boolean (default: `false`) | `true`: add a context menu option for copying cells along with their nearest column headers |
1197
+ * | `copyColumnGroupHeaders` | Boolean (default: `false`) | `true`: add a context menu option for copying cells along with all their related columns headers |
1198
+ * | `copyColumnHeadersOnly` | Boolean (default: `false`) | `true`: add a context menu option for copying column headers nearest to the selected cells (without copying cells) |
1199
+ * | `uiContainer` | An HTML element | The UI container for the secondary focusable element |
1195
1200
  *
1196
1201
  * Read more:
1197
1202
  * - [Plugins: `CopyPaste`](@/api/copyPaste.md)
1203
+ * - [Guides: Clipboard](@/guides/cell-features/clipboard.md)
1198
1204
  *
1199
1205
  * @memberof Options#
1200
1206
  * @type {object|boolean}
@@ -1203,19 +1209,33 @@ export default (function () {
1203
1209
  *
1204
1210
  * @example
1205
1211
  * ```js
1206
- * // disable the `CopyPaste` plugin
1212
+ * // enable the plugin with the default configuration
1213
+ * copyPaste: true // set by default
1214
+ *
1215
+ * // disable the plugin
1207
1216
  * copyPaste: false,
1208
1217
  *
1209
- * // enable the `CopyPaste` plugin
1210
- * // and modify the `CopyPaste` plugin options
1218
+ * // enable the plugin with a custom configuration
1211
1219
  * copyPaste: {
1212
- * // set the maximum number of columns that can be copied
1220
+ * // set a maximum number of columns that can be copied
1213
1221
  * columnsLimit: 25,
1214
- * // set the maximum number of rows that can be copied
1222
+ *
1223
+ * // set a maximum number of rows that can be copied
1215
1224
  * rowsLimit: 50,
1225
+ *
1216
1226
  * // set the paste behavior
1217
1227
  * pasteMode: 'shift_down',
1218
- * // set the UI container
1228
+ *
1229
+ * // add the option to copy cells along with their nearest column headers
1230
+ * copyColumnHeaders: true,
1231
+ *
1232
+ * // add the option to copy cells along with all their related columns headers
1233
+ * copyColumnGroupHeaders: true,
1234
+ *
1235
+ * // add the option to copy just column headers (without copying cells)
1236
+ * copyColumnHeadersOnly: true,
1237
+ *
1238
+ * // set a UI container
1219
1239
  * uiContainer: document.body,
1220
1240
  * },
1221
1241
  * ```
@@ -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-1b1acbd-20221123
29
- * Release date: 25/10/2022 (built at 23/11/2022 12:56:32)
28
+ * Version: 0.0.0-next-561a94b-20221129
29
+ * Release date: 25/10/2022 (built at 29/11/2022 07:43:50)
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-1b1acbd-20221123
29
- * Release date: 25/10/2022 (built at 23/11/2022 12:56:32)
28
+ * Version: 0.0.0-next-561a94b-20221129
29
+ * Release date: 25/10/2022 (built at 29/11/2022 07:43:50)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles