handsontable 12.1.1 → 12.1.3
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/border.js +43 -28
- package/3rdparty/walkontable/src/border.mjs +43 -28
- package/3rdparty/walkontable/src/table.js +13 -10
- package/3rdparty/walkontable/src/table.mjs +13 -10
- package/CHANGELOG.md +31 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +1 -3
- package/core.js +9 -1
- package/core.mjs +9 -1
- package/dataMap/dataMap.js +35 -16
- package/dataMap/dataMap.mjs +30 -13
- package/dataMap/metaManager/lazyFactoryMap.js +24 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +19 -4
- package/dataMap/metaManager/metaSchema.js +112 -80
- package/dataMap/metaManager/metaSchema.mjs +112 -80
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +35200 -52208
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +3046 -3279
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/editorManager.js +69 -35
- package/editorManager.mjs +69 -35
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +17 -2
- package/editors/dateEditor/dateEditor.mjs +16 -0
- package/editors/textEditor/caretPositioner.js +0 -4
- package/editors/textEditor/caretPositioner.mjs +0 -2
- package/helpers/dom/element.js +2 -4
- package/helpers/dom/element.mjs +1 -2
- package/helpers/mixed.js +2 -4
- package/helpers/mixed.mjs +2 -3
- package/helpers/object.js +0 -4
- package/helpers/object.mjs +0 -2
- package/helpers/unicode.js +0 -4
- package/helpers/unicode.mjs +0 -2
- package/package.json +2 -2
- package/pluginHooks.d.ts +0 -1
- package/pluginHooks.js +17 -14
- package/pluginHooks.mjs +17 -14
- package/plugins/base/base.js +2 -4
- package/plugins/base/base.mjs +1 -2
- package/plugins/columnSorting/sortService/engine.js +2 -6
- package/plugins/columnSorting/sortService/engine.mjs +2 -2
- package/plugins/columnSummary/columnSummary.js +17 -11
- package/plugins/columnSummary/columnSummary.mjs +15 -9
- package/plugins/columnSummary/utils.js +14 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/contextMenu/commandExecutor.js +0 -4
- package/plugins/contextMenu/commandExecutor.mjs +0 -2
- package/plugins/contextMenu/contextMenu.js +5 -1
- package/plugins/contextMenu/contextMenu.mjs +5 -1
- package/plugins/contextMenu/menu.js +4 -0
- package/plugins/contextMenu/menu.mjs +4 -0
- package/plugins/copyPaste/copyPaste.js +2 -0
- package/plugins/copyPaste/copyPaste.mjs +2 -0
- package/plugins/dropdownMenu/dropdownMenu.js +4 -0
- package/plugins/dropdownMenu/dropdownMenu.mjs +4 -0
- package/plugins/filters/component/condition.js +11 -29
- package/plugins/filters/component/condition.mjs +6 -21
- package/plugins/filters/component/value.js +12 -5
- package/plugins/filters/component/value.mjs +12 -5
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +62 -82
- package/plugins/filters/filters.mjs +63 -83
- package/plugins/hiddenColumns/hiddenColumns.js +0 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +0 -2
- package/plugins/hiddenRows/hiddenRows.js +0 -4
- package/plugins/hiddenRows/hiddenRows.mjs +0 -2
- package/plugins/multiColumnSorting/domHelpers.js +2 -4
- package/plugins/multiColumnSorting/domHelpers.mjs +1 -2
- package/plugins/nestedRows/nestedRows.js +1 -1
- package/plugins/nestedRows/nestedRows.mjs +1 -1
- package/plugins/search/search.js +0 -2
- package/plugins/search/search.mjs +0 -1
- package/plugins/trimRows/trimRows.js +3 -3
- package/plugins/trimRows/trimRows.mjs +3 -3
- package/renderers/numericRenderer/numericRenderer.js +0 -2
- package/renderers/numericRenderer/numericRenderer.mjs +0 -1
- package/renderers/textRenderer/textRenderer.js +1 -1
- package/renderers/textRenderer/textRenderer.mjs +1 -1
- package/shortcuts/recorder.js +14 -10
- package/shortcuts/recorder.mjs +13 -10
- package/shortcuts/utils.js +0 -4
- package/shortcuts/utils.mjs +0 -2
- package/translations/indexMapper.js +2 -2
- package/translations/indexMapper.mjs +2 -2
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -113,10 +113,14 @@ var _default = function _default() {
|
|
113
113
|
*
|
114
114
|
* You can set the `allowEmpty` option to one of the following:
|
115
115
|
*
|
116
|
-
* | Setting | Description
|
117
|
-
* | ---------------- |
|
118
|
-
* | `true` (default) | - Accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined`
|
119
|
-
* | `false` | - Don't accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined`
|
116
|
+
* | Setting | Description |
|
117
|
+
* | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
118
|
+
* | `true` (default) | - Accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined` or `''` values as `valid` |
|
119
|
+
* | `false` | - Don't accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined` or `''` values with as `invalid` |
|
120
|
+
*
|
121
|
+
* ::: tip
|
122
|
+
* To use the [`allowEmpty`](#allowempty) option, you need to set the [`validator`](#validator) option (or the [`type`](#type) option).
|
123
|
+
* :::
|
120
124
|
*
|
121
125
|
* @memberof Options#
|
122
126
|
* @type {boolean}
|
@@ -125,15 +129,15 @@ var _default = function _default() {
|
|
125
129
|
*
|
126
130
|
* @example
|
127
131
|
* ```js
|
128
|
-
* // allow empty values in
|
132
|
+
* // allow empty values in each cell of the entire grid
|
129
133
|
* allowEmpty: true,
|
130
134
|
*
|
131
135
|
* // or
|
132
136
|
* columns: [
|
133
137
|
* {
|
134
|
-
*
|
138
|
+
* type: 'date',
|
135
139
|
* dateFormat: 'DD/MM/YYYY',
|
136
|
-
* // allow empty values in
|
140
|
+
* // allow empty values in each cell of the 'date' column
|
137
141
|
* allowEmpty: true
|
138
142
|
* }
|
139
143
|
* ],
|
@@ -169,7 +173,7 @@ var _default = function _default() {
|
|
169
173
|
* ```js
|
170
174
|
* columns: [
|
171
175
|
* {
|
172
|
-
* // set the `type` of
|
176
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
173
177
|
* type: 'autocomplete',
|
174
178
|
* // set options available in every `autocomplete` cell of this column
|
175
179
|
* source: ['<strong>foo</strong>', '<strong>bar</strong>']
|
@@ -486,7 +490,7 @@ var _default = function _default() {
|
|
486
490
|
|
487
491
|
/**
|
488
492
|
* @description
|
489
|
-
* The `cells` option lets you apply [configuration options](@/guides/getting-started/setting-options.md) to
|
493
|
+
* The `cells` option lets you apply any other [configuration options](@/guides/getting-started/setting-options.md) to
|
490
494
|
* individual grid elements (columns, rows, cells), based on any logic you implement.
|
491
495
|
*
|
492
496
|
* The `cells` option overwrites all other options (including options set by [`columns`](#columns) and [`cell`](#cell)).
|
@@ -552,13 +556,13 @@ var _default = function _default() {
|
|
552
556
|
* ```js
|
553
557
|
* columns: [
|
554
558
|
* {
|
555
|
-
* // set the `type` of
|
559
|
+
* // set the `type` of each cell in this column to `checkbox`
|
556
560
|
* // when checked, the cell's value is `true`
|
557
561
|
* // when unchecked, the cell's value is `false`
|
558
562
|
* type: 'checkbox',
|
559
563
|
* },
|
560
564
|
* {
|
561
|
-
* // set the `type` of
|
565
|
+
* // set the `type` of each cell in this column to `checkbox`
|
562
566
|
* type: 'checkbox',
|
563
567
|
* // when checked, the cell's value is `'Yes'`
|
564
568
|
* checkedTemplate: 'Yes',
|
@@ -712,7 +716,7 @@ var _default = function _default() {
|
|
712
716
|
|
713
717
|
/**
|
714
718
|
* @description
|
715
|
-
* The `columns` option lets you apply [configuration options](@/guides/getting-started/setting-options.md) to individual columns (or ranges of columns).
|
719
|
+
* The `columns` option lets you apply any other [configuration options](@/guides/getting-started/setting-options.md) to individual columns (or ranges of columns).
|
716
720
|
*
|
717
721
|
* You can set the `columns` option to one of the following:
|
718
722
|
* - An array of objects (each object represents one column)
|
@@ -720,13 +724,14 @@ var _default = function _default() {
|
|
720
724
|
*
|
721
725
|
* The `columns` option overwrites the [top-level grid options](@/guides/getting-started/setting-options.md#setting-grid-options).
|
722
726
|
*
|
723
|
-
* When you use
|
727
|
+
* When you use `columns`, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) options are ignored.
|
724
728
|
*
|
725
729
|
* Read more:
|
726
730
|
* - [Configuration options: Setting column options](@/guides/getting-started/setting-options.md#setting-column-options)
|
727
731
|
* - [`startCols`](#startCols)
|
728
732
|
* - [`minCols`](#minCols)
|
729
733
|
* - [`maxCols`](#maxCols)
|
734
|
+
* - [`data`](#data)
|
730
735
|
*
|
731
736
|
* @memberof Options#
|
732
737
|
* @type {object[]|Function}
|
@@ -972,7 +977,7 @@ var _default = function _default() {
|
|
972
977
|
* @example
|
973
978
|
* ```js
|
974
979
|
* // add a `has-comment` CSS class name
|
975
|
-
* // to
|
980
|
+
* // to each cell that has a comment
|
976
981
|
* commentedCellClassName: 'has-comment',
|
977
982
|
* ```
|
978
983
|
*/
|
@@ -1102,10 +1107,10 @@ var _default = function _default() {
|
|
1102
1107
|
*
|
1103
1108
|
* You can set the `copyable` option to one of the following:
|
1104
1109
|
*
|
1105
|
-
* | Setting | Description
|
1106
|
-
* | -------------------------------------------------------------------------------------------------------------- |
|
1107
|
-
* | `true` (default) | -
|
1108
|
-
* | `false`<br>(default for the [`password`](@/guides/cell-types/password-cell-type.md) [cell type](#type)) | -
|
1110
|
+
* | Setting | Description |
|
1111
|
+
* | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
1112
|
+
* | `true` (default) | - On pressing <kbd>**Ctrl**</kbd>/<kbd>**Cmd**</kbd> + <kbd>**C**</kbd>, add the cell's value to the clipboard |
|
1113
|
+
* | `false`<br>(default for the [`password`](@/guides/cell-types/password-cell-type.md) [cell type](#type)) | - On pressing <kbd>**Ctrl**</kbd>/<kbd>**Cmd**</kbd> + <kbd>**C**</kbd>, add an empty string (`""`) to the clipboard |
|
1109
1114
|
*
|
1110
1115
|
* Read more:
|
1111
1116
|
* - [Clipboard](@/guides/cell-features/clipboard.md)
|
@@ -1119,17 +1124,17 @@ var _default = function _default() {
|
|
1119
1124
|
*
|
1120
1125
|
* @example
|
1121
1126
|
* ```js
|
1122
|
-
* // enable copying for
|
1127
|
+
* // enable copying for each cell of the entire grid
|
1123
1128
|
* copyable: true,
|
1124
1129
|
*
|
1125
1130
|
* // enable copying for individual columns
|
1126
1131
|
* columns: [
|
1127
1132
|
* {
|
1128
|
-
* // enable copying for
|
1133
|
+
* // enable copying for each cell of this column
|
1129
1134
|
* copyable: true
|
1130
1135
|
* },
|
1131
1136
|
* {
|
1132
|
-
* // disable copying for
|
1137
|
+
* // disable copying for each cell of this column
|
1133
1138
|
* copyable: false
|
1134
1139
|
* }
|
1135
1140
|
* ]
|
@@ -1197,15 +1202,21 @@ var _default = function _default() {
|
|
1197
1202
|
copyPaste: true,
|
1198
1203
|
|
1199
1204
|
/**
|
1200
|
-
* The `correctFormat` option configures
|
1205
|
+
* The `correctFormat` option configures whether incorrectly-formatted times and dates are amended or not.
|
1206
|
+
*
|
1207
|
+
* When the user enters dates and times, Handsontable can automatically adjust their format
|
1208
|
+
* to match the [`dateFormat`](#dateFormat) and [`timeFormat`](@/guides/cell-types/time-cell-type.md) settings.
|
1201
1209
|
*
|
1202
|
-
*
|
1203
|
-
*
|
1204
|
-
* |
|
1205
|
-
* |
|
1210
|
+
* You can set the `correctFormat` option to one of the following:
|
1211
|
+
*
|
1212
|
+
* | Setting | Description |
|
1213
|
+
* | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
1214
|
+
* | `false` (default) | Don't correct the format of the entered date or time (treat the entered date or time as invalid) |
|
1215
|
+
* | `true` | Correct the format of the entered date or time to match the [`dateFormat`](#dateFormat) or [`timeFormat`](@/guides/cell-types/time-cell-type.md) settings |
|
1206
1216
|
*
|
1207
1217
|
* Read more:
|
1208
1218
|
* - [Date cell type](@/guides/cell-types/date-cell-type.md)
|
1219
|
+
* - [Time cell type](@/guides/cell-types/time-cell-type.md)
|
1209
1220
|
* - [`dateFormat`](#dateFormat)
|
1210
1221
|
*
|
1211
1222
|
* @memberof Options#
|
@@ -1217,13 +1228,22 @@ var _default = function _default() {
|
|
1217
1228
|
* ```js
|
1218
1229
|
* columns: [
|
1219
1230
|
* {
|
1220
|
-
* // set the `type` of
|
1231
|
+
* // set the `type` of each cell in this column to `date`
|
1221
1232
|
* type: 'date',
|
1222
1233
|
* // for every `date` cell of this column, set the date format to `YYYY-MM-DD`
|
1223
1234
|
* dateFormat: 'YYYY-MM-DD',
|
1224
1235
|
* // enforce the `YYYY-MM-DD` date format
|
1225
1236
|
* correctFormat: true
|
1226
1237
|
* },
|
1238
|
+
*
|
1239
|
+
* {
|
1240
|
+
* // set the `type` of each cell in this column to `time`
|
1241
|
+
* type: 'time',
|
1242
|
+
* // for every `time` cell of this column, set the time format to `h:mm:ss a`
|
1243
|
+
* timeFormat: 'h:mm:ss a',
|
1244
|
+
* // enforce the `h:mm:ss a` time format
|
1245
|
+
* correctFormat: true
|
1246
|
+
* },
|
1227
1247
|
* ],
|
1228
1248
|
* ```
|
1229
1249
|
*/
|
@@ -1231,7 +1251,7 @@ var _default = function _default() {
|
|
1231
1251
|
|
1232
1252
|
/**
|
1233
1253
|
* The `currentColClassName` option lets you add a CSS class name
|
1234
|
-
* to
|
1254
|
+
* to each cell of the currently-visible, currently-selected columns.
|
1235
1255
|
*
|
1236
1256
|
* Read more:
|
1237
1257
|
* - [`currentRowClassName`](#currentRowClassName)
|
@@ -1253,7 +1273,7 @@ var _default = function _default() {
|
|
1253
1273
|
* @example
|
1254
1274
|
* ```js
|
1255
1275
|
* // add a `your-class-name` CSS class name
|
1256
|
-
* // to
|
1276
|
+
* // to each cell of the currently-visible, currently-selected columns
|
1257
1277
|
* currentColClassName: 'your-class-name',
|
1258
1278
|
* ```
|
1259
1279
|
*/
|
@@ -1290,7 +1310,7 @@ var _default = function _default() {
|
|
1290
1310
|
|
1291
1311
|
/**
|
1292
1312
|
* The `currentRowClassName` option lets you add a CSS class name
|
1293
|
-
* to
|
1313
|
+
* to each cell of the currently-visible, currently-selected rows.
|
1294
1314
|
*
|
1295
1315
|
* Read more:
|
1296
1316
|
* - [`currentColClassName`](#currentColClassName)
|
@@ -1312,7 +1332,7 @@ var _default = function _default() {
|
|
1312
1332
|
* @example
|
1313
1333
|
* ```js
|
1314
1334
|
* // add a `your-class-name` CSS class name
|
1315
|
-
* // to
|
1335
|
+
* // to each cell of the currently-visible, currently-selected rows
|
1316
1336
|
* currentRowClassName: 'your-class-name',
|
1317
1337
|
* ```
|
1318
1338
|
*/
|
@@ -1441,9 +1461,13 @@ var _default = function _default() {
|
|
1441
1461
|
* - Either to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays).
|
1442
1462
|
* - Or to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects).
|
1443
1463
|
*
|
1464
|
+
* If you don't set the `data` option (or set it to `null`), Handsontable renders as an empty 5x5 grid by default.
|
1465
|
+
*
|
1444
1466
|
* Read more:
|
1445
1467
|
* - [Binding to data](@/guides/getting-started/binding-to-data.md)
|
1446
1468
|
* - [`dataSchema`](#dataSchema)
|
1469
|
+
* - [`startRows`](#startRows)
|
1470
|
+
* - [`startCols`](#startCols)
|
1447
1471
|
*
|
1448
1472
|
* @memberof Options#
|
1449
1473
|
* @type {Array[]|object[]}
|
@@ -1473,15 +1497,22 @@ var _default = function _default() {
|
|
1473
1497
|
|
1474
1498
|
/**
|
1475
1499
|
* @description
|
1476
|
-
*
|
1500
|
+
* When the [`data`](#data) option is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects)
|
1477
1501
|
* (or is empty), the `dataSchema` option defines the structure of new rows.
|
1478
1502
|
*
|
1503
|
+
* Using the `dataSchema` option, you can start out with an empty grid.
|
1504
|
+
*
|
1505
|
+
* You can set the `dataSchema` option to one of the following:
|
1506
|
+
* - An object
|
1507
|
+
* - A function
|
1508
|
+
*
|
1479
1509
|
* Read more:
|
1480
1510
|
* - [Binding to data: Array of objects with custom data schema](@/guides/getting-started/binding-to-data.md#array-of-objects-with-custom-data-schema)
|
1511
|
+
* - [Binding to data: Function data source and schema](@/guides/getting-started/binding-to-data.md#function-data-source-and-schema)
|
1481
1512
|
* - [`data`](#data)
|
1482
1513
|
*
|
1483
1514
|
* @memberof Options#
|
1484
|
-
* @type {object}
|
1515
|
+
* @type {object|Function}
|
1485
1516
|
* @default undefined
|
1486
1517
|
* @category Core
|
1487
1518
|
*
|
@@ -1524,7 +1555,7 @@ var _default = function _default() {
|
|
1524
1555
|
* ```js
|
1525
1556
|
* columns: [
|
1526
1557
|
* {
|
1527
|
-
* // set the `type` of
|
1558
|
+
* // set the `type` of each cell in this column to `date`
|
1528
1559
|
* type: 'date',
|
1529
1560
|
* // for every `date` cell of this column, set the date format to `YYYY-MM-DD`
|
1530
1561
|
* dateFormat: 'YYYY-MM-DD',
|
@@ -1535,16 +1566,16 @@ var _default = function _default() {
|
|
1535
1566
|
dateFormat: 'DD/MM/YYYY',
|
1536
1567
|
|
1537
1568
|
/**
|
1538
|
-
* The `datePickerConfig` option configures the `date` [cell editor](@/guides/cell-functions/cell-editor.md)'s date picker, which uses an external dependency: [Pikaday](https://github.com/Pikaday/Pikaday/tree/1.8.
|
1569
|
+
* The `datePickerConfig` option configures the `date` [cell editor](@/guides/cell-functions/cell-editor.md)'s date picker, which uses an external dependency: [Pikaday](https://github.com/Pikaday/Pikaday/tree/1.8.2).
|
1539
1570
|
*
|
1540
|
-
* You can set the `datePickerConfig` option to an object with any of the available [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.
|
1571
|
+
* You can set the `datePickerConfig` option to an object with any of the available [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.2#configuration),
|
1541
1572
|
* except for the following, which are always overwritten by the `date` [cell editor](@/guides/cell-functions/cell-editor.md):
|
1542
1573
|
* - `bound`
|
1543
1574
|
* - `container`
|
1544
1575
|
* - `field`
|
1545
1576
|
* - `trigger`
|
1546
1577
|
*
|
1547
|
-
* If the `datePickerConfig` option is not defined, the `date` [cell editor](@/guides/cell-functions/cell-editor.md) overwrites the following [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.
|
1578
|
+
* If the `datePickerConfig` option is not defined, the `date` [cell editor](@/guides/cell-functions/cell-editor.md) overwrites the following [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.2#configuration) as well:
|
1548
1579
|
*
|
1549
1580
|
* | Pikaday option | Handsontable's setting |
|
1550
1581
|
* | -------------------- | ---------------------- |
|
@@ -1555,7 +1586,7 @@ var _default = function _default() {
|
|
1555
1586
|
* - [`editor`](#editor)
|
1556
1587
|
* - [`dateFormat`](#dateFormat)
|
1557
1588
|
* - [Cell editor](@/guides/cell-functions/cell-editor.md)
|
1558
|
-
* - [All Pikaday options →](https://github.com/Pikaday/Pikaday/tree/1.8.
|
1589
|
+
* - [All Pikaday options →](https://github.com/Pikaday/Pikaday/tree/1.8.2#configuration)
|
1559
1590
|
*
|
1560
1591
|
* @memberof Options#
|
1561
1592
|
* @type {object}
|
@@ -1583,7 +1614,7 @@ var _default = function _default() {
|
|
1583
1614
|
* ```js
|
1584
1615
|
* columns: [
|
1585
1616
|
* {
|
1586
|
-
* // set the `type` of
|
1617
|
+
* // set the `type` of each cell in this column to `date`
|
1587
1618
|
* type: 'date',
|
1588
1619
|
* // in every empty `date` cell of this column, display `2015-02-02`
|
1589
1620
|
* defaultDate: '2015-02-02'
|
@@ -1764,17 +1795,17 @@ var _default = function _default() {
|
|
1764
1795
|
*
|
1765
1796
|
* @example
|
1766
1797
|
* ```js
|
1767
|
-
* // use the `numeric` editor for
|
1798
|
+
* // use the `numeric` editor for each cell of the entire grid
|
1768
1799
|
* editor: 'numeric',
|
1769
1800
|
*
|
1770
1801
|
* // apply the `editor` option to individual columns
|
1771
1802
|
* columns: [
|
1772
1803
|
* {
|
1773
|
-
* // use the `autocomplete` editor for
|
1804
|
+
* // use the `autocomplete` editor for each cell of this column
|
1774
1805
|
* editor: 'autocomplete'
|
1775
1806
|
* },
|
1776
1807
|
* {
|
1777
|
-
* // disable editing cells through cell editors for
|
1808
|
+
* // disable editing cells through cell editors for each cell of this column
|
1778
1809
|
* editor: false
|
1779
1810
|
* }
|
1780
1811
|
* ]
|
@@ -1940,7 +1971,7 @@ var _default = function _default() {
|
|
1940
1971
|
* @example
|
1941
1972
|
* ```js
|
1942
1973
|
* columns: [{
|
1943
|
-
* // set the `type` of
|
1974
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
1944
1975
|
* type: 'autocomplete',
|
1945
1976
|
* // set options available in every `autocomplete` cell of this column
|
1946
1977
|
* source: ['A', 'B', 'C'],
|
@@ -3145,7 +3176,7 @@ var _default = function _default() {
|
|
3145
3176
|
|
3146
3177
|
/**
|
3147
3178
|
* The `noWordWrapClassName` option lets you add a CSS class name
|
3148
|
-
* to
|
3179
|
+
* to each cell that has the [`wordWrap`](#wordWrap) option set to `false`.
|
3149
3180
|
*
|
3150
3181
|
* Read more:
|
3151
3182
|
* - [`wordWrap`](#wordWrap)
|
@@ -3167,7 +3198,7 @@ var _default = function _default() {
|
|
3167
3198
|
* @example
|
3168
3199
|
* ```js
|
3169
3200
|
* // add an `is-noWrapCell` CSS class name
|
3170
|
-
* // to
|
3201
|
+
* // to each cell that doesn't wrap content
|
3171
3202
|
* noWordWrapClassName: 'is-noWrapCell',
|
3172
3203
|
* ```
|
3173
3204
|
*/
|
@@ -3175,7 +3206,8 @@ var _default = function _default() {
|
|
3175
3206
|
|
3176
3207
|
/**
|
3177
3208
|
* The `numericFormat` option configures the number format and the currency format
|
3178
|
-
* of [`numeric`](@/guides/cell-types/numeric-cell-type.md) cells` displayed output
|
3209
|
+
* of [`numeric`](@/guides/cell-types/numeric-cell-type.md) cells` displayed output
|
3210
|
+
* in the numeric cell renderer.
|
3179
3211
|
*
|
3180
3212
|
* You can set the `numericFormat` option to an object with the following properties:
|
3181
3213
|
*
|
@@ -3184,10 +3216,7 @@ var _default = function _default() {
|
|
3184
3216
|
* | `pattern` | All [`numbro.js` number formats](https://numbrojs.com/format.html#numbers) | Number format |
|
3185
3217
|
* | `culture` | All [`numbro.js` currency formats](https://numbrojs.com/format.html#currency) | Currency format |
|
3186
3218
|
*
|
3187
|
-
* The `numericFormat` option as no effect on
|
3188
|
-
* To enter numeric data into Handsontable, use:
|
3189
|
-
* - Either floats (separated by a dot, or a comma)
|
3190
|
-
* - Or integers
|
3219
|
+
* The `numericFormat` option as no effect on the numeric cell editor.
|
3191
3220
|
*
|
3192
3221
|
* In the source data, numeric data is stored as JavaScript numbers.
|
3193
3222
|
*
|
@@ -3205,7 +3234,7 @@ var _default = function _default() {
|
|
3205
3234
|
* ```js
|
3206
3235
|
* columns: [
|
3207
3236
|
* {
|
3208
|
-
* // set the `type` of
|
3237
|
+
* // set the `type` of each cell in this column to `numeric`
|
3209
3238
|
* type: 'numeric',
|
3210
3239
|
* // set the `numericFormat` option for every `numeric` cell of this column
|
3211
3240
|
* numericFormat: {
|
@@ -3366,7 +3395,7 @@ var _default = function _default() {
|
|
3366
3395
|
* @example
|
3367
3396
|
* ```js
|
3368
3397
|
* // add a `has-placeholder` CSS class name
|
3369
|
-
* // to
|
3398
|
+
* // to each cell that contains `placeholder` text
|
3370
3399
|
* placeholderCellClassName: 'has-placeholder',
|
3371
3400
|
* ```
|
3372
3401
|
*/
|
@@ -3433,6 +3462,8 @@ var _default = function _default() {
|
|
3433
3462
|
* | `false` (default) | Set as editable |
|
3434
3463
|
* | `true` | - Set as read-only<br>- Add the [`readOnlyCellClassName`](#readOnlyCellClassName) CSS class name (by default: `htDimmed`) |
|
3435
3464
|
*
|
3465
|
+
* `readOnly` cells can't be changed by the [`populateFromArray()`](@/api/core.md#populatefromarray) method.
|
3466
|
+
*
|
3436
3467
|
* Read more:
|
3437
3468
|
* - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
|
3438
3469
|
*
|
@@ -3542,7 +3573,7 @@ var _default = function _default() {
|
|
3542
3573
|
*
|
3543
3574
|
* @example
|
3544
3575
|
* ```js
|
3545
|
-
* // use the `numeric` renderer for
|
3576
|
+
* // use the `numeric` renderer for each cell of the entire grid
|
3546
3577
|
* renderer: `'numeric'`,
|
3547
3578
|
*
|
3548
3579
|
* // add a custom renderer function
|
@@ -3554,11 +3585,11 @@ var _default = function _default() {
|
|
3554
3585
|
* // apply the `renderer` option to individual columns
|
3555
3586
|
* columns: [
|
3556
3587
|
* {
|
3557
|
-
* // use the `autocomplete` renderer for
|
3588
|
+
* // use the `autocomplete` renderer for each cell of this column
|
3558
3589
|
* renderer: 'autocomplete'
|
3559
3590
|
* },
|
3560
3591
|
* {
|
3561
|
-
* // use the `myCustomRenderer` renderer for
|
3592
|
+
* // use the `myCustomRenderer` renderer for each cell of this column
|
3562
3593
|
* renderer: 'myCustomRenderer'
|
3563
3594
|
* }
|
3564
3595
|
* ]
|
@@ -3785,7 +3816,7 @@ var _default = function _default() {
|
|
3785
3816
|
* ```js
|
3786
3817
|
* columns: [
|
3787
3818
|
* {
|
3788
|
-
* // set the `type` of
|
3819
|
+
* // set the `type` of each cell in this column to `select`
|
3789
3820
|
* type: 'select',
|
3790
3821
|
* // set the first option's value and label to `A`
|
3791
3822
|
* // set the second option's value and label to `B`
|
@@ -3793,7 +3824,7 @@ var _default = function _default() {
|
|
3793
3824
|
* selectOptions: ['A', 'B', 'C'],
|
3794
3825
|
* },
|
3795
3826
|
* {
|
3796
|
-
* // set the `type` of
|
3827
|
+
* // set the `type` of each cell in this column to `select`
|
3797
3828
|
* type: 'select',
|
3798
3829
|
* selectOptions: {
|
3799
3830
|
* // set the first option's value to `value1` and label to `Label 1`
|
@@ -3805,7 +3836,7 @@ var _default = function _default() {
|
|
3805
3836
|
* },
|
3806
3837
|
* },
|
3807
3838
|
* {
|
3808
|
-
* // set the `type` of
|
3839
|
+
* // set the `type` of each cell in this column to `select`
|
3809
3840
|
* type: 'select',
|
3810
3841
|
* // set `selectOption` to a function that returns available options as an object
|
3811
3842
|
* selectOptions(visualRow, visualColumn, prop) {
|
@@ -3914,7 +3945,7 @@ var _default = function _default() {
|
|
3914
3945
|
* @example
|
3915
3946
|
* ```js
|
3916
3947
|
* columns: [{
|
3917
|
-
* // set the `type` of
|
3948
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
3918
3949
|
* type: 'autocomplete',
|
3919
3950
|
* // set options available in every `autocomplete` cell of this column
|
3920
3951
|
* source: ['D', 'C', 'B', 'A'],
|
@@ -3951,7 +3982,7 @@ var _default = function _default() {
|
|
3951
3982
|
* ```js
|
3952
3983
|
* // set `source` to an array
|
3953
3984
|
* columns: [{
|
3954
|
-
* // set the `type` of
|
3985
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
3955
3986
|
* type: 'autocomplete',
|
3956
3987
|
* // set options available in every `autocomplete` cell of this column
|
3957
3988
|
* source: ['A', 'B', 'C', 'D']
|
@@ -3959,7 +3990,7 @@ var _default = function _default() {
|
|
3959
3990
|
*
|
3960
3991
|
* // set `source` to a function
|
3961
3992
|
* columns: [{
|
3962
|
-
* // set the `type` of
|
3993
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
3963
3994
|
* type: 'autocomplete',
|
3964
3995
|
* // for every `autocomplete` cell in this column, fetch data from an external source
|
3965
3996
|
* source(query, callback) {
|
@@ -4063,7 +4094,7 @@ var _default = function _default() {
|
|
4063
4094
|
* ```js
|
4064
4095
|
* columns: [
|
4065
4096
|
* {
|
4066
|
-
* // set the `type` of
|
4097
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
4067
4098
|
* type: 'autocomplete',
|
4068
4099
|
* // set options available in every `autocomplete` cell of this column
|
4069
4100
|
* source: ['A', 'B', 'C'],
|
@@ -4209,13 +4240,13 @@ var _default = function _default() {
|
|
4209
4240
|
* columns: [
|
4210
4241
|
* {
|
4211
4242
|
* type: 'autocomplete',
|
4212
|
-
* // for
|
4243
|
+
* // for each cell of this column
|
4213
4244
|
* // make the `autocomplete` list's width the same as the edited cell's width
|
4214
4245
|
* trimDropdown: true,
|
4215
4246
|
* },
|
4216
4247
|
* {
|
4217
4248
|
* type: 'dropdown',
|
4218
|
-
* // for
|
4249
|
+
* // for each cell of this column
|
4219
4250
|
* // scale the `dropdown` list's width to the list's content
|
4220
4251
|
* trimDropdown: false,
|
4221
4252
|
* }
|
@@ -4230,11 +4261,11 @@ var _default = function _default() {
|
|
4230
4261
|
*
|
4231
4262
|
* You can set the `trimRows` option to one of the following:
|
4232
4263
|
*
|
4233
|
-
* | Setting
|
4234
|
-
* |
|
4235
|
-
* | `false`
|
4236
|
-
* | `true`
|
4237
|
-
* | An array | - Enable the [`TrimRows`](@/api/trimRows.md) plugin<br>- Trim selected rows at initialization |
|
4264
|
+
* | Setting | Description |
|
4265
|
+
* | -------------------------------- | --------------------------------------------------------------------------------------------- |
|
4266
|
+
* | `false` | Disable the [`TrimRows`](@/api/trimRows.md) plugin |
|
4267
|
+
* | `true` | Enable the [`TrimRows`](@/api/trimRows.md) plugin |
|
4268
|
+
* | An array of physical row indexes | - Enable the [`TrimRows`](@/api/trimRows.md) plugin<br>- Trim selected rows at initialization |
|
4238
4269
|
*
|
4239
4270
|
* Read more:
|
4240
4271
|
* - [Plugins: `TrimRows`](@/api/trimRows.md)
|
@@ -4251,23 +4282,24 @@ var _default = function _default() {
|
|
4251
4282
|
* trimRows: true,
|
4252
4283
|
*
|
4253
4284
|
* // enable the `TrimRows` plugin
|
4254
|
-
* // trim rows 5, 10, and 15
|
4285
|
+
* // at Handsontable's initialization, trim rows 5, 10, and 15
|
4255
4286
|
* trimRows: [5, 10, 15],
|
4256
4287
|
* ```
|
4257
4288
|
*/
|
4258
4289
|
trimRows: void 0,
|
4259
4290
|
|
4260
4291
|
/**
|
4261
|
-
* The `trimWhitespace` option configures automatic whitespace removal.
|
4292
|
+
* The `trimWhitespace` option configures automatic whitespace removal. This option
|
4293
|
+
* affects the cell renderer and the cell editor.
|
4262
4294
|
*
|
4263
4295
|
* You can set the `trimWhitespace` option to one of the following:
|
4264
4296
|
*
|
4265
4297
|
* | Setting | Description |
|
4266
4298
|
* | ---------------- | --------------------------------------------------------------- |
|
4267
|
-
* | `true` (default) | Remove whitespace at the beginning and at the end of
|
4299
|
+
* | `true` (default) | Remove whitespace at the beginning and at the end of each cell |
|
4268
4300
|
* | `false` | Don't remove whitespace |
|
4269
4301
|
*
|
4270
|
-
* @memberof Options#
|
4302
|
+
* @memberof Options#
|
4271
4303
|
* @type {boolean}
|
4272
4304
|
* @default true
|
4273
4305
|
* @category Core
|
@@ -4322,17 +4354,17 @@ var _default = function _default() {
|
|
4322
4354
|
*
|
4323
4355
|
* @example
|
4324
4356
|
* ```js
|
4325
|
-
* //
|
4357
|
+
* // set the `numeric` cell type for each cell of the entire grid
|
4326
4358
|
* type: `'numeric'`,
|
4327
4359
|
*
|
4328
4360
|
* // apply the `type` option to individual columns
|
4329
4361
|
* columns: [
|
4330
4362
|
* {
|
4331
|
-
* //
|
4363
|
+
* // set the `autocomplete` cell type for each cell of this column
|
4332
4364
|
* type: 'autocomplete'
|
4333
4365
|
* },
|
4334
4366
|
* {
|
4335
|
-
* //
|
4367
|
+
* // set the `myCustomCellType` cell type for each cell of this column
|
4336
4368
|
* type: 'myCustomCellType'
|
4337
4369
|
* }
|
4338
4370
|
* ]
|
@@ -4365,13 +4397,13 @@ var _default = function _default() {
|
|
4365
4397
|
* ```js
|
4366
4398
|
* columns: [
|
4367
4399
|
* {
|
4368
|
-
* // set the `type` of
|
4400
|
+
* // set the `type` of each cell in this column to `checkbox`
|
4369
4401
|
* // when unchecked, the cell's value is `false`
|
4370
4402
|
* // when checked, the cell's value is `true`
|
4371
4403
|
* type: 'checkbox',
|
4372
4404
|
* },
|
4373
4405
|
* {
|
4374
|
-
* // set the `type` of
|
4406
|
+
* // set the `type` of each cell in this column to `checkbox`
|
4375
4407
|
* // when unchecked, the cell's value is `'No'`
|
4376
4408
|
* // when checked, the cell's value is `'Yes'`
|
4377
4409
|
* type: 'checkbox',
|
@@ -4552,13 +4584,13 @@ var _default = function _default() {
|
|
4552
4584
|
* {
|
4553
4585
|
* type: 'autocomplete',
|
4554
4586
|
* // set the `autocomplete` list's height to 15 options
|
4555
|
-
* // for
|
4587
|
+
* // for each cell of this column
|
4556
4588
|
* visibleRows: 15,
|
4557
4589
|
* },
|
4558
4590
|
* {
|
4559
4591
|
* type: 'dropdown',
|
4560
4592
|
* // set the `dropdown` list's height to 5 options
|
4561
|
-
* // for
|
4593
|
+
* // for each cell of this column
|
4562
4594
|
* visibleRows: 5,
|
4563
4595
|
* }
|
4564
4596
|
* ],
|