@highcharts/grid-pro 2.0.0 → 2.1.0

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.
Files changed (166) hide show
  1. package/css/grid-pro.css +93 -90
  2. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +2 -0
  3. package/es-modules/Accessibility/Options/LangDefaults.js +6 -1
  4. package/es-modules/Accessibility/Utils/ChartUtilities.js +3 -3
  5. package/es-modules/Core/Chart/Chart.js +1 -1
  6. package/es-modules/Core/Color/ColorString.d.ts +25 -0
  7. package/es-modules/Core/Color/ColorType.d.ts +43 -0
  8. package/es-modules/Core/Color/GradientColor.d.ts +57 -0
  9. package/es-modules/Core/Globals.js +1 -1
  10. package/es-modules/Core/Renderer/AlignObject.d.ts +37 -0
  11. package/es-modules/Core/Renderer/BBoxObject.d.ts +40 -0
  12. package/es-modules/Core/Renderer/CSSObject.d.ts +130 -0
  13. package/es-modules/Core/Renderer/DOMElementType.d.ts +36 -0
  14. package/es-modules/Core/Renderer/DashStyleValue.d.ts +28 -0
  15. package/es-modules/Core/Renderer/FontMetricsObject.d.ts +38 -0
  16. package/es-modules/Core/Renderer/HTML/HTMLAttributes.d.ts +57 -0
  17. package/es-modules/Core/Renderer/PolygonBoxObject.d.ts +19 -0
  18. package/es-modules/Core/Renderer/Position3DObject.d.ts +35 -0
  19. package/es-modules/Core/Renderer/PositionObject.d.ts +28 -0
  20. package/es-modules/Core/Renderer/RectangleObject.d.ts +35 -0
  21. package/es-modules/Core/Renderer/RendererType.d.ts +53 -0
  22. package/es-modules/Core/Renderer/SVG/ButtonThemeObject.d.ts +43 -0
  23. package/es-modules/Core/Renderer/SVG/SVGArc3D.d.ts +44 -0
  24. package/es-modules/Core/Renderer/SVG/SVGAttributes.d.ts +147 -0
  25. package/es-modules/Core/Renderer/SVG/SVGAttributes3D.d.ts +42 -0
  26. package/es-modules/Core/Renderer/SVG/SVGCuboid.d.ts +42 -0
  27. package/es-modules/Core/Renderer/SVG/SVGElementBase.d.ts +31 -0
  28. package/es-modules/Core/Renderer/SVG/SVGPath.d.ts +97 -0
  29. package/es-modules/Core/Renderer/SVG/SVGPath3D.d.ts +40 -0
  30. package/es-modules/Core/Renderer/SVG/SVGRendererBase.d.ts +31 -0
  31. package/es-modules/Core/Renderer/SVG/SymbolOptions.d.ts +41 -0
  32. package/es-modules/Core/Renderer/SVG/SymbolType.d.ts +50 -0
  33. package/es-modules/Core/Renderer/ShadowOptionsObject.d.ts +40 -0
  34. package/es-modules/Core/Renderer/SizeObject.d.ts +28 -0
  35. package/es-modules/Core/Templating.js +6 -7
  36. package/es-modules/Data/Connectors/DataConnector.js +3 -2
  37. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +1 -1
  38. package/es-modules/Data/DataTable.d.ts +1 -1
  39. package/es-modules/Data/DataTable.js +3 -2
  40. package/es-modules/Data/DataTableCore.js +15 -6
  41. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +13 -15
  42. package/es-modules/Grid/Core/Credits.d.ts +0 -2
  43. package/es-modules/Grid/Core/Defaults.d.ts +20 -17
  44. package/es-modules/Grid/Core/Defaults.js +116 -114
  45. package/es-modules/Grid/Core/Globals.d.ts +108 -32
  46. package/es-modules/Grid/Core/Globals.js +98 -111
  47. package/es-modules/Grid/Core/Grid.d.ts +51 -17
  48. package/es-modules/Grid/Core/Grid.js +369 -79
  49. package/es-modules/Grid/Core/GridUtils.d.ts +96 -89
  50. package/es-modules/Grid/Core/GridUtils.js +143 -155
  51. package/es-modules/Grid/Core/Options.d.ts +3 -7
  52. package/es-modules/Grid/Core/Pagination/Icons.d.ts +4 -4
  53. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +32 -57
  54. package/es-modules/Grid/Core/Pagination/Pagination.js +206 -214
  55. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +22 -15
  56. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +32 -9
  57. package/es-modules/Grid/Core/Querying/PaginationController.js +58 -18
  58. package/es-modules/Grid/Core/Querying/SortingController.d.ts +7 -15
  59. package/es-modules/Grid/Core/Querying/SortingController.js +2 -3
  60. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.d.ts +1 -1
  61. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +32 -4
  62. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.d.ts +3 -3
  63. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +3 -5
  64. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +1 -5
  65. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +14 -10
  66. package/es-modules/Grid/Core/Table/Body/TableCell.js +22 -25
  67. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +0 -2
  68. package/es-modules/Grid/Core/Table/Cell.js +30 -0
  69. package/es-modules/Grid/Core/Table/CellContent/TextContent.d.ts +2 -7
  70. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +25 -14
  71. package/es-modules/Grid/Core/Table/Column.d.ts +7 -9
  72. package/es-modules/Grid/Core/Table/Column.js +23 -1
  73. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +2 -2
  74. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.d.ts +30 -23
  75. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +39 -39
  76. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +1 -1
  77. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +2 -2
  78. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.d.ts +6 -1
  79. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +10 -0
  80. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.d.ts +2 -2
  81. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.d.ts +26 -24
  82. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +37 -39
  83. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.d.ts +1 -1
  84. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.d.ts +1 -1
  85. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +1 -1
  86. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +3 -4
  87. package/es-modules/Grid/Core/Table/Header/HeaderRow.d.ts +0 -2
  88. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +0 -2
  89. package/es-modules/Grid/Core/Table/Table.d.ts +11 -13
  90. package/es-modules/Grid/Core/Table/Table.js +9 -5
  91. package/es-modules/Grid/Core/UI/Button.d.ts +1 -1
  92. package/es-modules/Grid/Core/UI/ContextMenu.d.ts +1 -1
  93. package/es-modules/Grid/Core/UI/ContextMenu.js +1 -1
  94. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +39 -44
  95. package/es-modules/Grid/Core/UI/ContextMenuButton.js +4 -4
  96. package/es-modules/Grid/Core/UI/Popup.d.ts +17 -19
  97. package/es-modules/Grid/Core/UI/Popup.js +2 -1
  98. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +49 -50
  99. package/es-modules/Grid/Core/UI/SvgIcons.js +114 -123
  100. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +46 -52
  101. package/es-modules/Grid/Core/UI/ToolbarButton.js +4 -3
  102. package/es-modules/Grid/Pro/CellEditing/CellEditing.d.ts +6 -8
  103. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +8 -11
  104. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.d.ts +27 -1
  105. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +149 -149
  106. package/es-modules/Grid/Pro/CellRendering/CellRenderer.d.ts +18 -20
  107. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +1 -1
  108. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.d.ts +19 -17
  109. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +28 -34
  110. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +12 -1
  111. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +41 -46
  112. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +2 -2
  113. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.d.ts +2 -2
  114. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.d.ts +2 -2
  115. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +4 -2
  116. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.d.ts +2 -2
  117. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +3 -1
  118. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +3 -1
  119. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +19 -8
  120. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +17 -13
  121. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +3 -1
  122. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.d.ts +2 -2
  123. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.d.ts +18 -20
  124. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +3 -3
  125. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.d.ts +10 -12
  126. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +3 -3
  127. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.d.ts +17 -20
  128. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.d.ts +10 -12
  129. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +3 -3
  130. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.d.ts +20 -22
  131. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +3 -3
  132. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.d.ts +40 -42
  133. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +3 -3
  134. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +16 -18
  135. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +14 -22
  136. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.d.ts +22 -24
  137. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +3 -3
  138. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.d.ts +10 -12
  139. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +3 -3
  140. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.d.ts +10 -12
  141. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +3 -3
  142. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +46 -51
  143. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +62 -77
  144. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +16 -3
  145. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +26 -31
  146. package/es-modules/Grid/Pro/Credits/CreditsPro.d.ts +0 -2
  147. package/es-modules/Grid/Pro/Credits/CreditsProComposition.d.ts +12 -11
  148. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +29 -31
  149. package/es-modules/Grid/Pro/Export/Exporting.d.ts +3 -3
  150. package/es-modules/Grid/Pro/Export/Exporting.js +35 -29
  151. package/es-modules/Grid/Pro/Export/ExportingComposition.d.ts +12 -11
  152. package/es-modules/Grid/Pro/Export/ExportingComposition.js +24 -26
  153. package/es-modules/Grid/Pro/GridEvents.d.ts +19 -1
  154. package/es-modules/Grid/Pro/GridEvents.js +6 -2
  155. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +4 -11
  156. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +44 -45
  157. package/es-modules/Grid/index.d.ts +1 -0
  158. package/es-modules/masters/grid-pro.src.d.ts +62 -37
  159. package/es-modules/masters/grid-pro.src.js +37 -39
  160. package/grid-pro.d.ts +122 -48
  161. package/grid-pro.js +3 -6
  162. package/grid-pro.js.map +1 -1
  163. package/grid-pro.src.d.ts +122 -48
  164. package/grid-pro.src.js +6650 -6277
  165. package/package.json +13 -4
  166. package/es-modules/Grid/Pro/ColumnTypes/ColumnDataType.d.ts +0 -29
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * */
16
16
  'use strict';
17
- import Defaults from '../../Core/Defaults.js';
17
+ import { defaultOptions as gridDefaultOptions } from '../../Core/Defaults.js';
18
18
  import Globals from '../../Core/Globals.js';
19
19
  import CellEditing from './CellEditing.js';
20
20
  import CellRendererRegistry from '../CellRendering/CellRendererRegistry.js';
@@ -28,171 +28,171 @@ const { addEvent, merge, pushUnique } = U;
28
28
  *
29
29
  * */
30
30
  /**
31
- * @internal
31
+ * Default options for the cell editing.
32
32
  */
33
- var CellEditingComposition;
34
- (function (CellEditingComposition) {
35
- /**
36
- * Default options for the cell editing.
37
- */
38
- const defaultOptions = {
33
+ export const defaultOptions = {
34
+ accessibility: {
35
+ announcements: {
36
+ cellEditing: true
37
+ }
38
+ },
39
+ lang: {
39
40
  accessibility: {
40
- announcements: {
41
- cellEditing: true
42
- }
43
- },
44
- lang: {
45
- accessibility: {
46
- cellEditing: {
47
- editable: 'Editable.',
48
- announcements: {
49
- started: 'Entered cell editing mode.',
50
- edited: 'Edited cell value.',
51
- cancelled: 'Editing canceled.',
52
- notValid: 'Provided value is not valid.'
53
- }
41
+ cellEditing: {
42
+ editable: 'Editable.',
43
+ announcements: {
44
+ started: 'Entered cell editing mode.',
45
+ edited: 'Edited cell value.',
46
+ cancelled: 'Editing canceled.',
47
+ notValid: 'Provided value is not valid.'
54
48
  }
55
49
  }
56
50
  }
57
- };
58
- /**
59
- * Extends the grid classes with cell editing functionality.
60
- *
61
- * @param TableClass
62
- * The class to extend.
63
- *
64
- * @param TableCellClass
65
- * The class to extend.
66
- *
67
- * @param ColumnClass
68
- * The class to extend.
69
- */
70
- function compose(TableClass, TableCellClass, ColumnClass) {
71
- if (!pushUnique(Globals.composed, 'CellEditing')) {
72
- return;
73
- }
74
- merge(true, Defaults.defaultOptions, defaultOptions);
75
- addEvent(ColumnClass, 'afterInit', afterColumnInit);
76
- addEvent(TableClass, 'beforeInit', initTable);
77
- addEvent(TableCellClass, 'keyDown', onCellKeyDown);
78
- addEvent(TableCellClass, 'dblClick', onCellDblClick);
79
- addEvent(TableCellClass, 'afterRender', addEditableCellA11yHint);
80
- addEvent(TableCellClass, 'startedEditing', function () {
81
- announceA11yUserEditedCell(this, 'started');
82
- });
83
- addEvent(TableCellClass, 'stoppedEditing', function (e) {
84
- if (e.submit) {
85
- this.column.options.cells?.events?.afterEdit?.call(this);
86
- }
87
- announceA11yUserEditedCell(this, e.submit ? 'edited' : 'cancelled');
88
- });
89
51
  }
90
- CellEditingComposition.compose = compose;
91
- /**
92
- * Callback function called before table initialization.
93
- */
94
- function initTable() {
95
- this.cellEditing = new CellEditing(this);
52
+ };
53
+ /**
54
+ * Extends the grid classes with cell editing functionality.
55
+ *
56
+ * @param TableClass
57
+ * The class to extend.
58
+ *
59
+ * @param TableCellClass
60
+ * The class to extend.
61
+ *
62
+ * @param ColumnClass
63
+ * The class to extend.
64
+ */
65
+ export function compose(TableClass, TableCellClass, ColumnClass) {
66
+ if (!pushUnique(Globals.composed, 'CellEditing')) {
67
+ return;
96
68
  }
97
- /**
98
- * Creates the edit mode renderer for the column.
99
- *
100
- * @param column
101
- * The column to create the edit mode renderer for.
102
- */
103
- function createEditModeRenderer(column) {
104
- const editModeOptions = column.options.cells?.editMode;
105
- const selectedEditModeRendererTypeName = editModeOptions?.renderer?.type;
106
- const viewRendererTypeName = column.options?.cells?.renderer?.type || 'text';
107
- if (selectedEditModeRendererTypeName) {
108
- return new CellRendererRegistry.types[selectedEditModeRendererTypeName](column, editModeOptions?.renderer || {});
109
- }
110
- const ViewRendererType = CellRendererRegistry.types[viewRendererTypeName] ||
111
- CellRendererRegistry.types.text;
112
- let editModeRendererTypeName = ViewRendererType.defaultEditingRenderer;
113
- if (typeof editModeRendererTypeName !== 'string') {
114
- editModeRendererTypeName =
115
- editModeRendererTypeName[column.dataType] || 'textInput';
69
+ merge(true, gridDefaultOptions, defaultOptions);
70
+ addEvent(ColumnClass, 'afterInit', afterColumnInit);
71
+ addEvent(TableClass, 'beforeInit', initTable);
72
+ addEvent(TableCellClass, 'keyDown', onCellKeyDown);
73
+ addEvent(TableCellClass, 'dblClick', onCellDblClick);
74
+ addEvent(TableCellClass, 'afterRender', addEditableCellA11yHint);
75
+ addEvent(TableCellClass, 'startedEditing', function () {
76
+ announceA11yUserEditedCell(this, 'started');
77
+ });
78
+ addEvent(TableCellClass, 'stoppedEditing', function (e) {
79
+ if (e.submit) {
80
+ this.column.options.cells?.events?.afterEdit?.call(this);
116
81
  }
117
- return new CellRendererRegistry.types[editModeRendererTypeName](column, editModeRendererTypeName === viewRendererTypeName ? merge(column.options.cells?.renderer, { disabled: false }) || {} : {});
82
+ announceA11yUserEditedCell(this, e.submit ? 'edited' : 'cancelled');
83
+ });
84
+ addEvent(TableCellClass, 'afterEditValue', function () {
85
+ this.column.options.cells?.events?.afterEdit?.call(this);
86
+ announceA11yUserEditedCell(this, 'edited');
87
+ });
88
+ }
89
+ /**
90
+ * Callback function called before table initialization.
91
+ */
92
+ function initTable() {
93
+ this.cellEditing = new CellEditing(this);
94
+ }
95
+ /**
96
+ * Creates the edit mode renderer for the column.
97
+ *
98
+ * @param column
99
+ * The column to create the edit mode renderer for.
100
+ */
101
+ function createEditModeRenderer(column) {
102
+ const editModeOptions = column.options.cells?.editMode;
103
+ const selectedEditModeRendererTypeName = editModeOptions?.renderer?.type;
104
+ const viewRendererTypeName = column.options?.cells?.renderer?.type || 'text';
105
+ if (selectedEditModeRendererTypeName) {
106
+ return new CellRendererRegistry.types[selectedEditModeRendererTypeName](column, editModeOptions?.renderer || {});
118
107
  }
119
- /**
120
- * Callback function called after column initialization.
121
- */
122
- function afterColumnInit() {
123
- const { options } = this;
124
- if (options?.cells?.editMode?.enabled) {
125
- this.editModeRenderer = createEditModeRenderer(this);
126
- }
108
+ const ViewRendererType = CellRendererRegistry.types[viewRendererTypeName] ||
109
+ CellRendererRegistry.types.text;
110
+ let editModeRendererTypeName = ViewRendererType.defaultEditingRenderer;
111
+ if (typeof editModeRendererTypeName !== 'string') {
112
+ editModeRendererTypeName =
113
+ editModeRendererTypeName[column.dataType] || 'textInput';
127
114
  }
128
- /**
129
- * Callback function called when a key is pressed on a cell.
130
- *
131
- * @param e
132
- * The event object.
133
- */
134
- function onCellKeyDown(e) {
135
- if (e.originalEvent?.key !== 'Enter' ||
136
- !this.column.editModeRenderer) {
137
- return;
138
- }
115
+ return new CellRendererRegistry.types[editModeRendererTypeName](column, editModeRendererTypeName === viewRendererTypeName ? merge(column.options.cells?.renderer, { disabled: false }) || {} : {});
116
+ }
117
+ /**
118
+ * Callback function called after column initialization.
119
+ */
120
+ function afterColumnInit() {
121
+ const { options } = this;
122
+ if (options?.cells?.editMode?.enabled) {
123
+ this.editModeRenderer = createEditModeRenderer(this);
124
+ }
125
+ }
126
+ /**
127
+ * Callback function called when a key is pressed on a cell.
128
+ *
129
+ * @param e
130
+ * The event object.
131
+ */
132
+ function onCellKeyDown(e) {
133
+ if (e.originalEvent?.key !== 'Enter' ||
134
+ !this.column.editModeRenderer) {
135
+ return;
136
+ }
137
+ this.row.viewport.cellEditing?.startEditing(this);
138
+ }
139
+ /**
140
+ * Callback function called when a cell is double clicked.
141
+ */
142
+ function onCellDblClick() {
143
+ if (this.column.editModeRenderer) {
139
144
  this.row.viewport.cellEditing?.startEditing(this);
140
145
  }
141
- /**
142
- * Callback function called when a cell is double clicked.
143
- */
144
- function onCellDblClick() {
145
- if (this.column.editModeRenderer) {
146
- this.row.viewport.cellEditing?.startEditing(this);
147
- }
146
+ }
147
+ /**
148
+ * Add the 'editable' hint span element for the editable cell.
149
+ */
150
+ function addEditableCellA11yHint() {
151
+ const a11y = this.row.viewport.grid.accessibility;
152
+ if (!a11y || this.a11yEditableHint?.isConnected) {
153
+ return;
148
154
  }
149
- /**
150
- * Add the 'editable' hint span element for the editable cell.
151
- */
152
- function addEditableCellA11yHint() {
153
- const a11y = this.row.viewport.grid.accessibility;
154
- if (!a11y || this.a11yEditableHint?.isConnected) {
155
- return;
156
- }
157
- const editableLang = this.row.viewport.grid.options
158
- ?.lang?.accessibility?.cellEditing?.editable;
159
- if (!this.column.options.cells?.editMode?.enabled || !editableLang) {
160
- return;
161
- }
162
- this.a11yEditableHint = makeHTMLElement('span', {
163
- className: Globals.getClassName('visuallyHidden'),
164
- innerText: ', ' + editableLang
165
- }, this.htmlElement);
155
+ const editableLang = this.row.viewport.grid.options
156
+ ?.lang?.accessibility?.cellEditing?.editable;
157
+ if (!this.column.options.cells?.editMode?.enabled || !editableLang) {
158
+ return;
166
159
  }
167
- /**
168
- * Announce that the cell editing started.
169
- *
170
- * @param cell
171
- * The cell that is being edited.
172
- *
173
- * @param msgType
174
- * The type of the message.
175
- */
176
- function announceA11yUserEditedCell(cell, msgType) {
177
- const a11y = cell.row.viewport.grid.accessibility;
178
- if (!a11y) {
179
- return;
180
- }
181
- const { options } = a11y.grid;
182
- if (!options?.accessibility?.announcements?.cellEditing) {
183
- return;
184
- }
185
- const lang = options?.lang?.accessibility?.cellEditing?.announcements;
186
- const msg = lang?.[msgType];
187
- if (!msg) {
188
- return;
189
- }
190
- a11y.announce(msg);
160
+ this.a11yEditableHint = makeHTMLElement('span', {
161
+ className: Globals.getClassName('visuallyHidden'),
162
+ innerText: ', ' + editableLang
163
+ }, this.htmlElement);
164
+ }
165
+ /**
166
+ * Announce that the cell editing started.
167
+ *
168
+ * @param cell
169
+ * The cell that is being edited.
170
+ *
171
+ * @param msgType
172
+ * The type of the message.
173
+ */
174
+ function announceA11yUserEditedCell(cell, msgType) {
175
+ const a11y = cell.row.viewport.grid.accessibility;
176
+ if (!a11y) {
177
+ return;
178
+ }
179
+ const { options } = a11y.grid;
180
+ if (!options?.accessibility?.announcements?.cellEditing) {
181
+ return;
182
+ }
183
+ const lang = options?.lang?.accessibility?.cellEditing?.announcements;
184
+ const msg = lang?.[msgType];
185
+ if (!msg) {
186
+ return;
191
187
  }
192
- })(CellEditingComposition || (CellEditingComposition = {}));
188
+ a11y.announce(msg);
189
+ }
193
190
  /* *
194
191
  *
195
192
  * Default Export
196
193
  *
197
194
  * */
198
- export default CellEditingComposition;
195
+ export default {
196
+ compose,
197
+ defaultOptions
198
+ };
@@ -4,11 +4,11 @@ import type CellContent from '../../Core/Table/CellContent/CellContent';
4
4
  /**
5
5
  * Renderer class that initialize all options per column.
6
6
  */
7
- declare abstract class CellRenderer {
7
+ export declare abstract class CellRenderer {
8
8
  /**
9
9
  * Options to control the renderer content.
10
10
  */
11
- abstract options: CellRenderer.Options;
11
+ abstract options: CellRendererOptions;
12
12
  /**
13
13
  * The column to which the specific renderer belongs.
14
14
  */
@@ -26,25 +26,23 @@ declare abstract class CellRenderer {
26
26
  */
27
27
  abstract render(cell: TableCell): CellContent;
28
28
  }
29
- declare namespace CellRenderer {
29
+ /**
30
+ * Options to control the renderer content.
31
+ */
32
+ export interface CellRendererOptions {
30
33
  /**
31
- * Options to control the renderer content.
34
+ * The cell content type.
35
+ *
36
+ * Can be one of the following: `'text'`, `'checkbox'`, `'select'`,
37
+ * `'textInput'`, `'dateInput'`, `'dateTimeInput'`, `'timeInput'`,
38
+ * `'numberInput'`, `'sparkline'`.
39
+ *
40
+ * You can also create your own custom renderer by extending the
41
+ * `CellRenderer` class and registering it in the
42
+ * `CellRendererTypeRegistry`.
43
+ *
44
+ * @default 'text'
32
45
  */
33
- interface Options {
34
- /**
35
- * The cell content type.
36
- *
37
- * Can be one of the following: `'text'`, `'checkbox'`, `'select'`,
38
- * `'textInput'`, `'dateInput'`, `'dateTimeInput'`, `'timeInput'`,
39
- * `'numberInput'`, `'sparkline'`.
40
- *
41
- * You can also create your own custom renderer by extending the
42
- * `CellRenderer` class and registering it in the
43
- * `CellRendererTypeRegistry`.
44
- *
45
- * @default 'text'
46
- */
47
- type: string;
48
- }
46
+ type: string;
49
47
  }
50
48
  export default CellRenderer;
@@ -21,7 +21,7 @@
21
21
  /**
22
22
  * Renderer class that initialize all options per column.
23
23
  */
24
- class CellRenderer {
24
+ export class CellRenderer {
25
25
  /**
26
26
  * Constructs the CellRenderer instance.
27
27
  *
@@ -1,18 +1,20 @@
1
1
  import type { CellRendererTypeRegistry } from './CellRendererType';
2
- declare namespace CellRendererRegistry {
3
- /**
4
- * Record of cell renderer classes
5
- */
6
- const types: CellRendererTypeRegistry;
7
- /**
8
- * Method used to register new cell renderer classes.
9
- *
10
- * @param key
11
- * Registry key of the cell renderer class.
12
- *
13
- * @param CellRendererClass
14
- * Cell renderer class (aka class constructor) to register.
15
- */
16
- function registerRenderer<T extends keyof CellRendererTypeRegistry>(key: T, CellRendererClass: CellRendererTypeRegistry[T]): boolean;
17
- }
18
- export default CellRendererRegistry;
2
+ /**
3
+ * Record of cell renderer classes
4
+ */
5
+ export declare const types: CellRendererTypeRegistry;
6
+ /**
7
+ * Method used to register new cell renderer classes.
8
+ *
9
+ * @param key
10
+ * Registry key of the cell renderer class.
11
+ *
12
+ * @param CellRendererClass
13
+ * Cell renderer class (aka class constructor) to register.
14
+ */
15
+ export declare function registerRenderer<T extends keyof CellRendererTypeRegistry>(key: T, CellRendererClass: CellRendererTypeRegistry[T]): boolean;
16
+ declare const _default: {
17
+ readonly types: CellRendererTypeRegistry;
18
+ readonly registerRenderer: typeof registerRenderer;
19
+ };
20
+ export default _default;
@@ -15,44 +15,38 @@
15
15
  'use strict';
16
16
  /* *
17
17
  *
18
- * Namespace
18
+ * Constants
19
19
  *
20
20
  * */
21
- var CellRendererRegistry;
22
- (function (CellRendererRegistry) {
23
- /* *
24
- *
25
- * Constants
26
- *
27
- * */
28
- /**
29
- * Record of cell renderer classes
30
- */
31
- CellRendererRegistry.types = {};
32
- /* *
33
- *
34
- * Functions
35
- *
36
- * */
37
- /**
38
- * Method used to register new cell renderer classes.
39
- *
40
- * @param key
41
- * Registry key of the cell renderer class.
42
- *
43
- * @param CellRendererClass
44
- * Cell renderer class (aka class constructor) to register.
45
- */
46
- function registerRenderer(key, CellRendererClass) {
47
- return (!!key &&
48
- !CellRendererRegistry.types[key] &&
49
- !!(CellRendererRegistry.types[key] = CellRendererClass));
50
- }
51
- CellRendererRegistry.registerRenderer = registerRenderer;
52
- })(CellRendererRegistry || (CellRendererRegistry = {}));
21
+ /**
22
+ * Record of cell renderer classes
23
+ */
24
+ export const types = {};
25
+ /* *
26
+ *
27
+ * Functions
28
+ *
29
+ * */
30
+ /**
31
+ * Method used to register new cell renderer classes.
32
+ *
33
+ * @param key
34
+ * Registry key of the cell renderer class.
35
+ *
36
+ * @param CellRendererClass
37
+ * Cell renderer class (aka class constructor) to register.
38
+ */
39
+ export function registerRenderer(key, CellRendererClass) {
40
+ return (!!key &&
41
+ !types[key] &&
42
+ !!(types[key] = CellRendererClass));
43
+ }
53
44
  /* *
54
45
  *
55
46
  * Default Export
56
47
  *
57
48
  * */
58
- export default CellRendererRegistry;
49
+ export default {
50
+ types,
51
+ registerRenderer
52
+ };
@@ -1,4 +1,12 @@
1
+ import type Column from '../../Core/Table/Column';
1
2
  import type CellRendererType from './CellRendererType';
3
+ /**
4
+ * Extends the grid classes with cell editing functionality.
5
+ *
6
+ * @param ColumnClass
7
+ * The class to extend.
8
+ */
9
+ export declare function compose(ColumnClass: typeof Column): void;
2
10
  declare module '../../Core/Options' {
3
11
  interface ColumnCellOptions {
4
12
  /**
@@ -15,4 +23,7 @@ declare module '../../Core/Table/Column' {
15
23
  cellRenderer: CellRendererType;
16
24
  }
17
25
  }
18
- export default CellRenderersComposition;
26
+ declare const _default: {
27
+ readonly compose: typeof compose;
28
+ };
29
+ export default _default;
@@ -23,57 +23,52 @@ const { addEvent, pushUnique } = U;
23
23
  *
24
24
  * */
25
25
  /**
26
- * @internal
26
+ * Extends the grid classes with cell editing functionality.
27
+ *
28
+ * @param ColumnClass
29
+ * The class to extend.
27
30
  */
28
- var CellRenderersComposition;
29
- (function (CellRenderersComposition) {
30
- /**
31
- * Extends the grid classes with cell editing functionality.
32
- *
33
- * @param ColumnClass
34
- * The class to extend.
35
- */
36
- function compose(ColumnClass) {
37
- if (!pushUnique(Globals.composed, 'CellRenderers')) {
38
- return;
39
- }
40
- addEvent(ColumnClass, 'afterInit', afterColumnInit);
41
- ColumnClass.prototype.createCellContent = createCellContent;
42
- }
43
- CellRenderersComposition.compose = compose;
44
- /**
45
- * Init a type of content for a column.
46
- * @param this
47
- * Current column.
48
- */
49
- function afterColumnInit() {
50
- const rendererType = this.options.cells?.renderer?.type || 'text';
51
- let Renderer = CellRendererRegistry.types[rendererType];
52
- if (!Renderer) {
53
- // eslint-disable-next-line no-console
54
- console.warn(`The cell renderer of type "${rendererType}" is not registered. Using default text renderer instead.`);
55
- Renderer = CellRendererRegistry.types.text;
56
- }
57
- this.cellRenderer = new Renderer(this, this.options.cells?.renderer || {});
31
+ export function compose(ColumnClass) {
32
+ if (!pushUnique(Globals.composed, 'CellRenderers')) {
33
+ return;
58
34
  }
59
- /**
60
- * Render content of cell.
61
- * @param this
62
- * Current column.
63
- *
64
- * @param cell
65
- * Current cell.
66
- *
67
- * @returns
68
- * Formatted cell content.
69
- */
70
- function createCellContent(cell) {
71
- return this.cellRenderer.render(cell);
35
+ addEvent(ColumnClass, 'afterInit', afterColumnInit);
36
+ ColumnClass.prototype.createCellContent = createCellContent;
37
+ }
38
+ /**
39
+ * Init a type of content for a column.
40
+ * @param this
41
+ * Current column.
42
+ */
43
+ function afterColumnInit() {
44
+ const rendererType = this.options.cells?.renderer?.type || 'text';
45
+ let Renderer = CellRendererRegistry.types[rendererType];
46
+ if (!Renderer) {
47
+ // eslint-disable-next-line no-console
48
+ console.warn(`The cell renderer of type "${rendererType}" is not registered. Using default text renderer instead.`);
49
+ Renderer = CellRendererRegistry.types.text;
72
50
  }
73
- })(CellRenderersComposition || (CellRenderersComposition = {}));
51
+ this.cellRenderer = new Renderer(this, this.options.cells?.renderer || {});
52
+ }
53
+ /**
54
+ * Render content of cell.
55
+ * @param this
56
+ * Current column.
57
+ *
58
+ * @param cell
59
+ * Current cell.
60
+ *
61
+ * @returns
62
+ * Formatted cell content.
63
+ */
64
+ function createCellContent(cell) {
65
+ return this.cellRenderer.render(cell);
66
+ }
74
67
  /* *
75
68
  *
76
69
  * Default Export
77
70
  *
78
71
  * */
79
- export default CellRenderersComposition;
72
+ export default {
73
+ compose
74
+ };
@@ -38,7 +38,7 @@ class CheckboxContent extends CellContentPro {
38
38
  this.changeHandler(e);
39
39
  }
40
40
  else {
41
- void this.cell.setValue(this.value, true);
41
+ void this.cell.editValue(this.value);
42
42
  }
43
43
  };
44
44
  this.onKeyDown = (e) => {
@@ -66,6 +66,7 @@ class CheckboxContent extends CellContentPro {
66
66
  input.tabIndex = -1;
67
67
  input.type = 'checkbox';
68
68
  input.name = cell.column.id + '-' + cell.row.id;
69
+ input.classList.add(Globals.getClassName('input'));
69
70
  if (options.attributes) {
70
71
  Object.entries(options.attributes).forEach(([key, value]) => {
71
72
  input.setAttribute(key, value);
@@ -73,7 +74,6 @@ class CheckboxContent extends CellContentPro {
73
74
  }
74
75
  this.update();
75
76
  parentElement.appendChild(this.input);
76
- input.classList.add(Globals.classNamePrefix + 'field-auto-width');
77
77
  input.addEventListener('change', this.onChange);
78
78
  input.addEventListener('keydown', this.onKeyDown);
79
79
  input.addEventListener('blur', this.onBlur);
@@ -1,11 +1,11 @@
1
1
  import type { EditModeContent } from '../../CellEditing/CellEditMode.js';
2
- import type DateInputRenderer from '../Renderers/DateInputRenderer.js';
2
+ import type { DateInputRendererOptions } from '../Renderers/DateInputRenderer.js';
3
3
  import DateInputContentBase from './DateInputContentBase.js';
4
4
  /**
5
5
  * Represents a date input type of cell content.
6
6
  */
7
7
  declare class DateInputContent extends DateInputContentBase implements EditModeContent {
8
- options: DateInputRenderer.Options;
8
+ options: DateInputRendererOptions;
9
9
  protected getInputType(): 'date';
10
10
  protected convertToInputValue(): string;
11
11
  }