d2coreui 21.0.33 → 23.0.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 (295) hide show
  1. package/components/clipboard/clipboardUtils.d.ts +4 -3
  2. package/components/clipboard/clipboardUtils.js +47 -22
  3. package/components/clipboard/clipboardUtils.js.map +1 -1
  4. package/components/codemirror/SyntaxHighlighter.d.ts +21 -21
  5. package/components/codemirror/SyntaxHighlighter.js +45 -44
  6. package/components/codemirror/SyntaxHighlighter.js.map +1 -1
  7. package/components/collapse/expandable.d.ts +13 -12
  8. package/components/collapse/expandable.js +20 -20
  9. package/components/collapse/expandable.js.map +1 -1
  10. package/components/color/colorPicker.d.ts +20 -20
  11. package/components/color/colorPicker.js +53 -53
  12. package/components/color/colorPicker.js.map +1 -1
  13. package/components/color/colorSwatch.d.ts +13 -12
  14. package/components/color/colorSwatch.js +62 -62
  15. package/components/color/colorSwatch.js.map +1 -1
  16. package/components/color/colorUtils.d.ts +7 -7
  17. package/components/color/colorUtils.js +43 -43
  18. package/components/color/colorUtils.js.map +1 -1
  19. package/components/date/dateRangeInput.d.ts +66 -64
  20. package/components/date/dateRangeInput.js +292 -297
  21. package/components/date/dateRangeInput.js.map +1 -1
  22. package/components/date/dateRangeInputAdvancedPanel.d.ts +27 -26
  23. package/components/date/dateRangeInputAdvancedPanel.js +130 -115
  24. package/components/date/dateRangeInputAdvancedPanel.js.map +1 -1
  25. package/components/date/dateRangeInputConfirm.d.ts +31 -29
  26. package/components/date/dateRangeInputConfirm.js +132 -121
  27. package/components/date/dateRangeInputConfirm.js.map +1 -1
  28. package/components/date/dateTimeInput.d.ts +72 -69
  29. package/components/date/dateTimeInput.js +440 -412
  30. package/components/date/dateTimeInput.js.map +1 -1
  31. package/components/date/durationInput.d.ts +59 -56
  32. package/components/date/durationInput.js +269 -280
  33. package/components/date/durationInput.js.map +1 -1
  34. package/components/form/NiceFormItem.d.ts +14 -14
  35. package/components/form/NiceFormItem.js +28 -31
  36. package/components/form/NiceFormItem.js.map +1 -1
  37. package/components/grid/cell/beanAccessor.d.ts +9 -0
  38. package/components/grid/cell/beanAccessor.js +13 -0
  39. package/components/grid/cell/beanAccessor.js.map +1 -0
  40. package/components/grid/cell/cellEditorUtils.d.ts +4 -4
  41. package/components/grid/cell/cellEditorUtils.js +8 -8
  42. package/components/grid/cell/customEnumCellEditor.d.ts +4 -26
  43. package/components/grid/cell/customEnumCellEditor.js +82 -91
  44. package/components/grid/cell/customEnumCellEditor.js.map +1 -1
  45. package/components/grid/cell/dataGridCellEditorComponent.d.ts +14 -0
  46. package/components/grid/cell/dataGridCellEditorComponent.js +49 -0
  47. package/components/grid/cell/dataGridCellEditorComponent.js.map +1 -0
  48. package/components/grid/cell/dateCellEditor.d.ts +4 -25
  49. package/components/grid/cell/dateCellEditor.js +53 -72
  50. package/components/grid/cell/dateCellEditor.js.map +1 -1
  51. package/components/grid/cell/durationCellEditor.d.ts +4 -24
  52. package/components/grid/cell/durationCellEditor.js +74 -97
  53. package/components/grid/cell/durationCellEditor.js.map +1 -1
  54. package/components/grid/cell/hexaOctetStringCellEditor.d.ts +4 -24
  55. package/components/grid/cell/hexaOctetStringCellEditor.js +70 -94
  56. package/components/grid/cell/hexaOctetStringCellEditor.js.map +1 -1
  57. package/components/grid/cell/hexaValueCellEditor.d.ts +4 -24
  58. package/components/grid/cell/hexaValueCellEditor.js +65 -89
  59. package/components/grid/cell/hexaValueCellEditor.js.map +1 -1
  60. package/components/grid/cell/numberCellEditor.d.ts +4 -27
  61. package/components/grid/cell/numberCellEditor.js +73 -95
  62. package/components/grid/cell/numberCellEditor.js.map +1 -1
  63. package/components/grid/cell/rangeSelector.d.ts +78 -78
  64. package/components/grid/cell/rangeSelector.js +526 -518
  65. package/components/grid/cell/rangeSelector.js.map +1 -1
  66. package/components/grid/cell/simpleStatusTextCellEditor.d.ts +4 -32
  67. package/components/grid/cell/simpleStatusTextCellEditor.js +106 -116
  68. package/components/grid/cell/simpleStatusTextCellEditor.js.map +1 -1
  69. package/components/grid/cell/statusTextCellEditor.d.ts +4 -32
  70. package/components/grid/cell/statusTextCellEditor.js +136 -159
  71. package/components/grid/cell/statusTextCellEditor.js.map +1 -1
  72. package/components/grid/cell/tableDefaultRowStyleRules.d.ts +20 -20
  73. package/components/grid/cell/tableDefaultRowStyleRules.js +29 -18
  74. package/components/grid/cell/tableDefaultRowStyleRules.js.map +1 -1
  75. package/components/grid/cell/textCellEditor.d.ts +4 -21
  76. package/components/grid/cell/textCellEditor.js +63 -85
  77. package/components/grid/cell/textCellEditor.js.map +1 -1
  78. package/components/grid/cell/withAgGridHooks.d.ts +3 -0
  79. package/components/grid/cell/withAgGridHooks.js +15 -0
  80. package/components/grid/cell/withAgGridHooks.js.map +1 -0
  81. package/components/grid/columnUtils.d.ts +5 -5
  82. package/components/grid/columnUtils.js +26 -26
  83. package/components/grid/columnUtils.js.map +1 -1
  84. package/components/grid/config/columnTransfer.d.ts +21 -22
  85. package/components/grid/config/columnTransfer.js +205 -201
  86. package/components/grid/config/columnTransfer.js.map +1 -1
  87. package/components/grid/config/dataGridEditor.d.ts +41 -41
  88. package/components/grid/config/dataGridEditor.js +181 -160
  89. package/components/grid/config/dataGridEditor.js.map +1 -1
  90. package/components/grid/config/rowHeightCalculator.d.ts +8 -0
  91. package/components/grid/config/rowHeightCalculator.js +20 -0
  92. package/components/grid/config/rowHeightCalculator.js.map +1 -0
  93. package/components/grid/config/rowStylePicker.d.ts +27 -25
  94. package/components/grid/config/rowStylePicker.js +127 -109
  95. package/components/grid/config/rowStylePicker.js.map +1 -1
  96. package/components/grid/dataGrid.d.ts +218 -206
  97. package/components/grid/dataGrid.js +1629 -1538
  98. package/components/grid/dataGrid.js.map +1 -1
  99. package/components/grid/detail/detailHeaderPanel.d.ts +13 -13
  100. package/components/grid/detail/detailHeaderPanel.js +25 -25
  101. package/components/grid/detail/detailHeaderPanel.js.map +1 -1
  102. package/components/grid/export/contextMenu.d.ts +18 -24
  103. package/components/grid/export/contextMenu.js +116 -113
  104. package/components/grid/export/contextMenu.js.map +1 -1
  105. package/components/grid/export/progressPopup.d.ts +29 -29
  106. package/components/grid/export/progressPopup.js +93 -93
  107. package/components/grid/export/progressPopup.js.map +1 -1
  108. package/components/grid/export/worker/clipboardExport.d.ts +1 -1
  109. package/components/grid/export/worker/clipboardExport.js +8 -8
  110. package/components/grid/export/worker/csvExport.d.ts +1 -1
  111. package/components/grid/export/worker/csvExport.js +8 -8
  112. package/components/grid/export/worker/pdfExport.d.ts +1 -1
  113. package/components/grid/export/worker/pdfExport.js +81 -81
  114. package/components/grid/export/worker/pdfExport.js.map +1 -1
  115. package/components/grid/export/worker/txtExport.d.ts +1 -1
  116. package/components/grid/export/worker/txtExport.js +19 -19
  117. package/components/grid/extendedDataGrid.d.ts +140 -140
  118. package/components/grid/extendedDataGrid.js +704 -695
  119. package/components/grid/extendedDataGrid.js.map +1 -1
  120. package/components/grid/filter/customColumnFilter.d.ts +5 -21
  121. package/components/grid/filter/customColumnFilter.js +11 -82
  122. package/components/grid/filter/customColumnFilter.js.map +1 -1
  123. package/components/grid/filter/dataGridColumnFilter.d.ts +17 -0
  124. package/components/grid/filter/dataGridColumnFilter.js +49 -0
  125. package/components/grid/filter/dataGridColumnFilter.js.map +1 -0
  126. package/components/grid/filter/dateColumnFilter.d.ts +7 -11
  127. package/components/grid/filter/dateColumnFilter.js +22 -56
  128. package/components/grid/filter/dateColumnFilter.js.map +1 -1
  129. package/components/grid/filter/textColumnFilter.d.ts +8 -20
  130. package/components/grid/filter/textColumnFilter.js +24 -76
  131. package/components/grid/filter/textColumnFilter.js.map +1 -1
  132. package/components/grid/filter/wildcardQuickFilterEngine.d.ts +7 -0
  133. package/components/grid/filter/wildcardQuickFilterEngine.js +48 -0
  134. package/components/grid/filter/wildcardQuickFilterEngine.js.map +1 -0
  135. package/components/grid/header/simpleHeader.d.ts +17 -16
  136. package/components/grid/header/simpleHeader.js +230 -186
  137. package/components/grid/header/simpleHeader.js.map +1 -1
  138. package/components/grid/panel/dataGridPagination.d.ts +16 -16
  139. package/components/grid/panel/dataGridPagination.js +58 -58
  140. package/components/grid/panel/dataGridPagination.js.map +1 -1
  141. package/components/grid/panel/loadingOverlay.d.ts +6 -6
  142. package/components/grid/panel/loadingOverlay.js +10 -10
  143. package/components/grid/panel/loadingOverlay.js.map +1 -1
  144. package/components/grid/panel/noRecordsOverlay.d.ts +6 -6
  145. package/components/grid/panel/noRecordsOverlay.js +10 -10
  146. package/components/grid/panel/noRecordsOverlay.js.map +1 -1
  147. package/components/grid/panel/tablePagination.d.ts +10 -10
  148. package/components/grid/panel/tablePagination.js +45 -45
  149. package/components/grid/panel/tablePagination.js.map +1 -1
  150. package/components/icons/dropdownArrow.d.ts +8 -0
  151. package/components/icons/dropdownArrow.js +59 -0
  152. package/components/icons/dropdownArrow.js.map +1 -0
  153. package/components/icons/undoIcon.d.ts +8 -8
  154. package/components/icons/undoIcon.js +6 -6
  155. package/components/input/autoCompleteInput.d.ts +35 -35
  156. package/components/input/autoCompleteInput.js +122 -121
  157. package/components/input/autoCompleteInput.js.map +1 -1
  158. package/components/input/draftUtils.d.ts +4 -4
  159. package/components/input/draftUtils.js +48 -48
  160. package/components/input/draftUtils.js.map +1 -1
  161. package/components/input/draftail.d.ts +1 -1
  162. package/components/input/draftail.js +1 -1
  163. package/components/input/hexaFormattedInput.d.ts +16 -16
  164. package/components/input/hexaFormattedInput.js +54 -54
  165. package/components/input/hexaFormattedInput.js.map +1 -1
  166. package/components/input/mask/helpers.d.ts +28 -28
  167. package/components/input/mask/helpers.js +112 -112
  168. package/components/input/mask/helpers.js.map +1 -1
  169. package/components/input/mask/inputMaskCore.d.ts +46 -46
  170. package/components/input/mask/inputMaskCore.js +278 -278
  171. package/components/input/mask/inputMaskCore.js.map +1 -1
  172. package/components/input/mask/pattern.d.ts +20 -20
  173. package/components/input/mask/pattern.js +78 -78
  174. package/components/input/mask/pattern.js.map +1 -1
  175. package/components/input/maskedInput.d.ts +373 -351
  176. package/components/input/maskedInput.js +224 -224
  177. package/components/input/maskedInput.js.map +1 -1
  178. package/components/input/passwordInput.d.ts +9 -9
  179. package/components/input/passwordInput.js +55 -55
  180. package/components/input/passwordInput.js.map +1 -1
  181. package/components/input/simpleAutoComplete.d.ts +12 -12
  182. package/components/input/simpleAutoComplete.js +41 -43
  183. package/components/input/simpleAutoComplete.js.map +1 -1
  184. package/components/input/textarea/extractSpansOfClasses.d.ts +15 -15
  185. package/components/input/textarea/extractSpansOfClasses.js +96 -96
  186. package/components/input/textarea/extractSpansOfClasses.js.map +1 -1
  187. package/components/input/textarea/getRanges.d.ts +1 -1
  188. package/components/input/textarea/getRanges.js +73 -73
  189. package/components/input/textarea/getRanges.js.map +1 -1
  190. package/components/input/textarea/getType.d.ts +1 -1
  191. package/components/input/textarea/getType.js +26 -26
  192. package/components/input/textarea/getType.js.map +1 -1
  193. package/components/input/textarea/highlighedContents.d.ts +6 -6
  194. package/components/input/textarea/highlighedContents.js +10 -10
  195. package/components/input/textarea/mentionsWithHighlighting.d.ts +27 -27
  196. package/components/input/textarea/mentionsWithHighlighting.js +60 -60
  197. package/components/input/textarea/mentionsWithHighlighting.js.map +1 -1
  198. package/components/keyboard/keyboardUtils.d.ts +5 -5
  199. package/components/keyboard/keyboardUtils.js +32 -32
  200. package/components/modal/draggableModalProvider.d.ts +4 -4
  201. package/components/modal/draggableModalProvider.js +21 -21
  202. package/components/modal/draggableModalProvider.js.map +1 -1
  203. package/components/modal/impl/clamp.d.ts +1 -1
  204. package/components/modal/impl/clamp.js +1 -1
  205. package/components/modal/impl/clamp.js.map +1 -1
  206. package/components/modal/impl/draggableModal.d.ts +12 -12
  207. package/components/modal/impl/draggableModal.js +17 -17
  208. package/components/modal/impl/draggableModal.js.map +1 -1
  209. package/components/modal/impl/draggableModalContext.d.ts +9 -9
  210. package/components/modal/impl/draggableModalContext.js +2 -2
  211. package/components/modal/impl/draggableModalContext.js.map +1 -1
  212. package/components/modal/impl/draggableModalInner.d.ts +15 -13
  213. package/components/modal/impl/draggableModalInner.js +57 -55
  214. package/components/modal/impl/draggableModalInner.js.map +1 -1
  215. package/components/modal/impl/draggableModalReducer.d.ts +66 -62
  216. package/components/modal/impl/draggableModalReducer.js +77 -78
  217. package/components/modal/impl/draggableModalReducer.js.map +1 -1
  218. package/components/modal/impl/getWindowSize.d.ts +4 -4
  219. package/components/modal/impl/getWindowSize.js +4 -4
  220. package/components/modal/impl/getWindowSize.js.map +1 -1
  221. package/components/modal/impl/index.d.ts +3 -3
  222. package/components/modal/impl/index.js +3 -3
  223. package/components/modal/impl/index.js.map +1 -1
  224. package/components/modal/impl/resizeHandle.d.ts +3 -3
  225. package/components/modal/impl/resizeHandle.js +4 -4
  226. package/components/modal/impl/resizeHandle.js.map +1 -1
  227. package/components/modal/impl/useDrag.d.ts +5 -5
  228. package/components/modal/impl/useDrag.js +42 -42
  229. package/components/modal/impl/useDrag.js.map +1 -1
  230. package/components/modal/impl/usePrevious.d.ts +1 -1
  231. package/components/modal/impl/usePrevious.js +8 -8
  232. package/components/modal/impl/usePrevious.js.map +1 -1
  233. package/components/modal/impl/useResize.d.ts +7 -7
  234. package/components/modal/impl/useResize.js +46 -46
  235. package/components/modal/impl/useResize.js.map +1 -1
  236. package/components/modal/modalDialog.d.ts +49 -49
  237. package/components/modal/modalDialog.js +152 -152
  238. package/components/modal/modalDialog.js.map +1 -1
  239. package/components/picker/enumValuePicker.d.ts +16 -16
  240. package/components/picker/enumValuePicker.js +34 -34
  241. package/components/picker/enumValuePicker.js.map +1 -1
  242. package/components/platformSpecific.d.ts +10 -10
  243. package/components/platformSpecific.js +27 -27
  244. package/components/scrollTo/onlyText.d.ts +4 -4
  245. package/components/scrollTo/onlyText.js +30 -30
  246. package/components/scrollTo/onlyText.js.map +1 -1
  247. package/components/scrollTo/scrollTo.d.ts +41 -39
  248. package/components/scrollTo/scrollTo.js +264 -264
  249. package/components/scrollTo/scrollTo.js.map +1 -1
  250. package/components/style/withCss.d.ts +9 -0
  251. package/components/style/withCss.js +6 -0
  252. package/components/style/withCss.js.map +1 -0
  253. package/components/style/withInputNumberCss.d.ts +6 -0
  254. package/components/style/withInputNumberCss.js +13 -0
  255. package/components/style/withInputNumberCss.js.map +1 -0
  256. package/components/table/dragSortingTable.d.ts +13 -14
  257. package/components/table/dragSortingTable.js +96 -82
  258. package/components/table/dragSortingTable.js.map +1 -1
  259. package/components/text/impl/innerSize.d.ts +2 -2
  260. package/components/text/impl/innerSize.js +12 -12
  261. package/components/text/impl/series.d.ts +1 -1
  262. package/components/text/impl/series.js +28 -28
  263. package/components/text/impl/shallowEqual.d.ts +1 -1
  264. package/components/text/impl/shallowEqual.js +18 -18
  265. package/components/text/impl/shallowEqual.js.map +1 -1
  266. package/components/text/impl/uniqueId.d.ts +1 -1
  267. package/components/text/impl/uniqueId.js +4 -4
  268. package/components/text/impl/whilst.d.ts +1 -1
  269. package/components/text/impl/whilst.js +19 -19
  270. package/components/text/impl/whilst.js.map +1 -1
  271. package/components/text/textFit.d.ts +38 -38
  272. package/components/text/textFit.js +165 -168
  273. package/components/text/textFit.js.map +1 -1
  274. package/i18n/components.cs.json +101 -100
  275. package/i18n/components.sk.json +101 -100
  276. package/i18n/components.uk.json +101 -100
  277. package/i18n/componentsLocaleHolder.d.ts +3 -3
  278. package/i18n/componentsLocaleHolder.js +28 -28
  279. package/i18n/componentsLocaleHolder.js.map +1 -1
  280. package/package.json +71 -70
  281. package/style/index.less +274 -298
  282. package/style/modal/DraggableModal.css +43 -40
  283. package/style/modal/ResizeHandle.css +27 -19
  284. package/tsconfig.build.json +24 -24
  285. package/tsconfig.json +11 -11
  286. package/components/grid/cell/wildcardQuickFilter.d.ts +0 -11
  287. package/components/grid/cell/wildcardQuickFilter.js +0 -61
  288. package/components/grid/cell/wildcardQuickFilter.js.map +0 -1
  289. package/components/table/dataTable.d.ts +0 -17
  290. package/components/table/dataTable.js +0 -79
  291. package/components/table/dataTable.js.map +0 -1
  292. package/style/antd/antd-tree-showline.css +0 -25
  293. package/style/antd/full-height-tabs.scss +0 -63
  294. package/style/draftail/draftail-editor.css +0 -179
  295. package/style/table/dragSortingTable.css +0 -7
@@ -1,95 +1,71 @@
1
- import React from 'react';
2
- import { Key } from "ts-key-enum";
3
- import KeyboardUtils from "d2coreui/components/keyboard/keyboardUtils";
4
- import MaskInput from 'react-maskinput';
5
- const KEY_BACKSPACE = 8;
6
- const KEY_DELETE = 46;
7
- const KEY_F2 = 113;
8
- export default class HexaOctetStringCellEditor extends React.Component {
9
- constructor(props) {
10
- super(props);
11
- this.inputComponent = null;
12
- this.focusOpId = null;
13
- this.state = this.getInitialState(props);
14
- }
15
- getInitialState(props) {
16
- let value;
17
- let highlightAllOnFocus = true;
18
- if (props.keyPress === KEY_BACKSPACE || props.keyPress === KEY_DELETE) {
19
- value = null;
20
- }
21
- else if (props.charPress) {
22
- const parsedValue = Number.parseInt(props.charPress);
23
- value = isNaN(parsedValue) ? props.value : parsedValue;
24
- highlightAllOnFocus = false;
25
- }
26
- else {
27
- value = props.value;
28
- if (props.keyPress === KEY_F2) {
29
- highlightAllOnFocus = false;
30
- }
31
- }
32
- return {
33
- value: value,
34
- highlightAllOnFocus,
35
- cancelEdit: false
36
- };
37
- }
38
- componentWillUnmount() {
39
- if (this.focusOpId) {
40
- clearTimeout(this.focusOpId);
41
- }
42
- }
43
- afterGuiAttached() {
44
- this.focusOpId = window.setTimeout(() => {
45
- var _a, _b, _c, _d, _e;
46
- (_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.focus();
47
- if (this.state.highlightAllOnFocus) {
48
- (_b = this.inputComponent) === null || _b === void 0 ? void 0 : _b.select();
49
- this.setState({
50
- highlightAllOnFocus: false,
51
- });
52
- }
53
- else {
54
- const length = ((_c = this.inputComponent) === null || _c === void 0 ? void 0 : _c.value) ? (_d = this.inputComponent) === null || _d === void 0 ? void 0 : _d.value.length : 0;
55
- if (length > 0) {
56
- (_e = this.inputComponent) === null || _e === void 0 ? void 0 : _e.setSelectionRange(length, length);
57
- }
58
- }
59
- }, 200);
60
- }
61
- getValue() {
62
- return this.state.value;
63
- }
64
- isPopup() {
65
- return true;
66
- }
67
- isCancelBeforeStart() {
68
- return !!this.props.charPress && '1234567890'.indexOf(this.props.charPress) < 0;
69
- }
70
- isCancelAfterEnd() {
71
- return false;
72
- }
73
- render() {
74
- let mask = "";
75
- for (let i = 0; i < this.props.hexaStringMaxLength; i++) {
76
- mask += "** ";
77
- }
78
- return (React.createElement(MaskInput, { getReference: component => {
79
- this.inputComponent = component;
80
- component.className = "ant-input ant-input-sm";
81
- }, value: this.state.value !== undefined && this.state.value !== null ? this.state.value.toUpperCase() : "", onValueChange: event => {
82
- const value = event.value;
83
- if (KeyboardUtils.isKeyPressed(Key.Alt)) {
84
- return;
85
- }
86
- if (/^[0-9A-Fa-f ]+$/.test(value)) {
87
- this.setState({ value: value.toUpperCase() });
88
- }
89
- else if (value === "") {
90
- this.setState({ value: "" });
91
- }
92
- }, mask: mask.trim(), maskChar: " ", showMask: false }));
93
- }
94
- }
1
+ import React from 'react';
2
+ import { Key } from "ts-key-enum";
3
+ import KeyboardUtils from "d2coreui/components/keyboard/keyboardUtils";
4
+ import MaskInput from 'react-maskinput';
5
+ import { DataGridCellEditorComponent, withAgGridHooks } from "./dataGridCellEditorComponent";
6
+ class HexaOctetStringCellEditor extends DataGridCellEditorComponent {
7
+ constructor(props) {
8
+ super(props);
9
+ this.inputComponent = null;
10
+ this.state = this.getInitialState(props);
11
+ }
12
+ getInitialState(props) {
13
+ let value;
14
+ if (props.eventKey === Key.Backspace || props.eventKey === Key.Delete) {
15
+ value = null;
16
+ props.onValueChange(null);
17
+ }
18
+ else if (props.eventKey && props.eventKey.length === 1) {
19
+ const parsedValue = Number.parseInt(props.eventKey);
20
+ value = isNaN(parsedValue) ? props.value : parsedValue;
21
+ props.onValueChange(value);
22
+ }
23
+ else {
24
+ value = props.initialValue;
25
+ }
26
+ return { value: value };
27
+ }
28
+ focus() {
29
+ var _a;
30
+ (_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.focus();
31
+ }
32
+ select() {
33
+ var _a;
34
+ (_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.select();
35
+ }
36
+ placeCursorToEnd() {
37
+ var _a, _b, _c;
38
+ const length = ((_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.value) ? (_b = this.inputComponent) === null || _b === void 0 ? void 0 : _b.value.length : 0;
39
+ if (length > 0) {
40
+ (_c = this.inputComponent) === null || _c === void 0 ? void 0 : _c.setSelectionRange(length, length);
41
+ }
42
+ }
43
+ isCancelBeforeStart() {
44
+ return !!this.props.eventKey && this.props.eventKey.length === 1 && '1234567890'.indexOf(this.props.eventKey) < 0;
45
+ }
46
+ render() {
47
+ let mask = "";
48
+ for (let i = 0; i < this.props.hexaStringMaxLength; i++) {
49
+ mask += "** ";
50
+ }
51
+ return (React.createElement(MaskInput, { getReference: component => {
52
+ this.inputComponent = component;
53
+ component.className = "ant-input ant-input-sm";
54
+ }, value: this.state.value !== undefined && this.state.value !== null ? this.state.value.toUpperCase() : "", onValueChange: event => {
55
+ const value = event.value;
56
+ if (KeyboardUtils.isKeyPressed(Key.Alt)) {
57
+ return;
58
+ }
59
+ if (/^[0-9A-Fa-f ]+$/.test(value)) {
60
+ this.setState({ value: value.toUpperCase() });
61
+ this.props.onValueChange(value.toUpperCase());
62
+ }
63
+ else if (value === "") {
64
+ this.setState({ value: "" });
65
+ this.props.onValueChange("");
66
+ }
67
+ }, mask: mask.trim(), maskChar: " ", showMask: false }));
68
+ }
69
+ }
70
+ export default withAgGridHooks(HexaOctetStringCellEditor);
95
71
  //# sourceMappingURL=hexaOctetStringCellEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hexaOctetStringCellEditor.js","sourceRoot":"","sources":["../../../../../components/grid/cell/hexaOctetStringCellEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AAChC,OAAO,aAAa,MAAM,4CAA4C,CAAC;AACvE,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,MAAM,GAAG,GAAG,CAAC;AAYnB,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,KAAK,CAAC,SAAyE;IAIlI,YAAY,KAA+C;QACvD,KAAK,CAAC,KAAK,CAAC,CAAC;QAJT,mBAAc,GAA4B,IAAI,CAAC;QAC/C,cAAS,GAAkB,IAAI,CAAC;QAIpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe,CAAC,KAA+C;QAC3D,IAAI,KAAoB,CAAC;QACzB,IAAI,mBAAmB,GAAG,IAAI,CAAC;QAE/B,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;YAEnE,KAAK,GAAG,IAAI,CAAC;SAChB;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE;YAExB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;YACvD,mBAAmB,GAAG,KAAK,CAAC;SAC/B;aAAM;YAEH,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;gBAC3B,mBAAmB,GAAG,KAAK,CAAC;aAC/B;SACJ;QACD,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,mBAAmB;YACnB,UAAU,EAAE,KAAK;SACc,CAAC;IACxC,CAAC;IAED,oBAAoB;QAChB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;IACL,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;;YACpC,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;gBAChC,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC;oBACV,mBAAmB,EAAE,KAAK;iBAC7B,CAAC,CAAC;aACN;iBAAM;gBAKH,MAAM,MAAM,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAC,CAAC,CAAC,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClF,IAAI,MAAM,GAAG,CAAC,EAAE;oBACZ,MAAA,IAAI,CAAC,cAAc,0CAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBAC1D;aACJ;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mBAAmB;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;IAED,gBAAgB;QACZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM;QACF,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE;YACrD,IAAI,IAAI,KAAK,CAAC;SACjB;QAED,OAAO,CACH,oBAAC,SAAS,IACN,YAAY,EAAE,SAAS,CAAC,EAAE;gBACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,SAAS,CAAC,SAAS,GAAG,wBAAwB,CAAC;YACnD,CAAC,EACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EACxG,aAAa,EAAE,KAAK,CAAC,EAAE;gBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,IAAI,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAErC,OAAO;iBACV;gBAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC/B,IAAI,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;iBAC/C;qBAAM,IAAI,KAAK,KAAK,EAAE,EAAE;oBACrB,IAAI,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC;iBAC9B;YACL,CAAC,EACD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACjB,QAAQ,EAAC,GAAG,EACZ,QAAQ,EAAE,KAAK,GACjB,CACL,CAAC;IACN,CAAC;CACJ","sourcesContent":["import React from 'react';\nimport {ICellEditor, ICellEditorParams} from \"ag-grid-community\";\nimport {Key} from \"ts-key-enum\";\nimport KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\nimport MaskInput from 'react-maskinput';\n\nconst KEY_BACKSPACE = 8;\nconst KEY_DELETE = 46;\nconst KEY_F2 = 113;\n\ninterface HexaOctetStringCellEditorProps extends ICellEditorParams {\n hexaStringMaxLength: number\n}\n\ninterface HexaOctetStringCellEditorState {\n value: string | null\n highlightAllOnFocus: boolean\n cancelEdit: boolean\n}\n\nexport default class HexaOctetStringCellEditor extends React.Component<HexaOctetStringCellEditorProps, HexaOctetStringCellEditorState> implements ICellEditor {\n private inputComponent: HTMLInputElement | null = null;\n private focusOpId: number | null = null;\n\n constructor(props: Readonly<HexaOctetStringCellEditorProps>) {\n super(props);\n this.state = this.getInitialState(props);\n }\n\n getInitialState(props: Readonly<HexaOctetStringCellEditorProps>): HexaOctetStringCellEditorState {\n let value: number | null;\n let highlightAllOnFocus = true;\n\n if (props.keyPress === KEY_BACKSPACE || props.keyPress === KEY_DELETE) {\n // if backspace or delete pressed, we clear the cell\n value = null;\n } else if (props.charPress) {\n // if a letter was pressed, we start with the letter\n const parsedValue = Number.parseInt(props.charPress);\n value = isNaN(parsedValue) ? props.value : parsedValue;\n highlightAllOnFocus = false;\n } else {\n // otherwise we start with the current value\n value = props.value;\n if (props.keyPress === KEY_F2) {\n highlightAllOnFocus = false;\n }\n }\n return {\n value: value,\n highlightAllOnFocus,\n cancelEdit: false\n } as HexaOctetStringCellEditorState;\n }\n\n componentWillUnmount() {\n if (this.focusOpId) {\n clearTimeout(this.focusOpId);\n }\n }\n\n afterGuiAttached() {\n this.focusOpId = window.setTimeout(() => {\n this.inputComponent?.focus();\n if (this.state.highlightAllOnFocus) {\n this.inputComponent?.select();\n this.setState({\n highlightAllOnFocus: false,\n });\n } else {\n // when we started editing, we want the carot at the end, not the start.\n // this comes into play in two scenarios: a) when user hits F2 and b)\n // when user hits a printable character, then on IE (and only IE) the carot\n // was placed after the first character, thus 'apply' would end up as 'pplea'\n const length = this.inputComponent?.value ? this.inputComponent?.value.length : 0;\n if (length > 0) {\n this.inputComponent?.setSelectionRange(length, length);\n }\n }\n }, 200);\n }\n\n getValue() {\n return this.state.value;\n }\n\n isPopup(): boolean {\n return true;\n }\n\n isCancelBeforeStart(): boolean {\n return !!this.props.charPress && '1234567890'.indexOf(this.props.charPress) < 0;\n }\n\n isCancelAfterEnd() {\n return false;\n }\n\n render() {\n let mask = \"\";\n for (let i = 0; i < this.props.hexaStringMaxLength; i++) {\n mask += \"** \";\n }\n\n return (\n <MaskInput\n getReference={component => {\n this.inputComponent = component;\n component.className = \"ant-input ant-input-sm\";\n }}\n value={this.state.value !== undefined && this.state.value !== null ? this.state.value.toUpperCase() : \"\"}\n onValueChange={event => {\n const value = event.value;\n if (KeyboardUtils.isKeyPressed(Key.Alt)) {\n // ignore navigational keystrokes ALT+cursor arrow\n return;\n }\n\n if (/^[0-9A-Fa-f ]+$/.test(value)) {\n this.setState({value: value.toUpperCase()});\n } else if (value === \"\") {\n this.setState({value: \"\"});\n }\n }}\n mask={mask.trim()}\n maskChar=\" \"\n showMask={false}\n />\n );\n }\n}"]}
1
+ {"version":3,"file":"hexaOctetStringCellEditor.js","sourceRoot":"","sources":["../../../../../components/grid/cell/hexaOctetStringCellEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport {Key} from \"ts-key-enum\";\r\nimport KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\r\nimport MaskInput from 'react-maskinput';\r\nimport {CustomCellEditorProps} from 'ag-grid-react';\r\nimport {DataGridCellEditorComponent, withAgGridHooks} from \"./dataGridCellEditorComponent\";\r\n\r\ninterface HexaOctetStringCellEditorProps extends CustomCellEditorProps {\r\n hexaStringMaxLength: number\r\n}\r\n\r\ninterface HexaOctetStringCellEditorState {\r\n value: string | null\r\n}\r\n\r\nclass HexaOctetStringCellEditor extends DataGridCellEditorComponent<HexaOctetStringCellEditorProps, HexaOctetStringCellEditorState> {\r\n private inputComponent: HTMLInputElement | null = null;\r\n\r\n constructor(props: Readonly<HexaOctetStringCellEditorProps>) {\r\n super(props);\r\n this.state = this.getInitialState(props);\r\n }\r\n\r\n getInitialState(props: Readonly<HexaOctetStringCellEditorProps>): HexaOctetStringCellEditorState {\r\n let value: number | null;\r\n if (props.eventKey === Key.Backspace || props.eventKey === Key.Delete) {\r\n // if backspace or delete pressed, we clear the cell\r\n value = null;\r\n props.onValueChange(null);\r\n } else if (props.eventKey && props.eventKey.length === 1) {\r\n // if a letter was pressed, we start with the letter\r\n const parsedValue = Number.parseInt(props.eventKey);\r\n value = isNaN(parsedValue) ? props.value : parsedValue;\r\n props.onValueChange(value);\r\n } else {\r\n // otherwise we start with the current value\r\n value = props.initialValue;\r\n }\r\n return {value: value} as HexaOctetStringCellEditorState;\r\n }\r\n\r\n focus() {\r\n this.inputComponent?.focus();\r\n }\r\n\r\n select() {\r\n this.inputComponent?.select();\r\n }\r\n\r\n placeCursorToEnd() {\r\n // when we started editing, we want the carot at the end, not the start.\r\n // this comes into play in two scenarios: a) when user hits F2 and b)\r\n // when user hits a printable character, then on IE (and only IE) the carot\r\n // was placed after the first character, thus 'apply' would end up as 'pplea'\r\n const length = this.inputComponent?.value ? this.inputComponent?.value.length : 0;\r\n if (length > 0) {\r\n this.inputComponent?.setSelectionRange(length, length);\r\n }\r\n }\r\n\r\n isCancelBeforeStart(): boolean {\r\n return !!this.props.eventKey && this.props.eventKey.length === 1 && '1234567890'.indexOf(this.props.eventKey) < 0;\r\n }\r\n\r\n render() {\r\n let mask = \"\";\r\n for (let i = 0; i < this.props.hexaStringMaxLength; i++) {\r\n mask += \"** \";\r\n }\r\n\r\n return (\r\n <MaskInput\r\n getReference={component => {\r\n this.inputComponent = component;\r\n component.className = \"ant-input ant-input-sm\";\r\n }}\r\n value={this.state.value !== undefined && this.state.value !== null ? this.state.value.toUpperCase() : \"\"}\r\n onValueChange={event => {\r\n const value = event.value;\r\n if (KeyboardUtils.isKeyPressed(Key.Alt)) {\r\n // ignore navigational keystrokes ALT+cursor arrow\r\n return;\r\n }\r\n\r\n if (/^[0-9A-Fa-f ]+$/.test(value)) {\r\n this.setState({value: value.toUpperCase()});\r\n this.props.onValueChange(value.toUpperCase());\r\n } else if (value === \"\") {\r\n this.setState({value: \"\"});\r\n this.props.onValueChange(\"\");\r\n }\r\n }}\r\n mask={mask.trim()}\r\n maskChar=\" \"\r\n showMask={false}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default withAgGridHooks(HexaOctetStringCellEditor)"]}
@@ -1,24 +1,4 @@
1
- import React from 'react';
2
- import { ICellEditor, ICellEditorParams } from "ag-grid-community";
3
- interface HexaValueCellEditorProps extends ICellEditorParams {
4
- maxLength: number;
5
- }
6
- interface HexaValueCellEditorState {
7
- value: string | null;
8
- highlightAllOnFocus: boolean;
9
- cancelEdit: boolean;
10
- }
11
- export default class HexaValueCellEditor extends React.Component<HexaValueCellEditorProps, HexaValueCellEditorState> implements ICellEditor {
12
- private inputComponent;
13
- private focusOpId;
14
- constructor(props: Readonly<HexaValueCellEditorProps>);
15
- getInitialState(props: Readonly<HexaValueCellEditorProps>): HexaValueCellEditorState;
16
- componentWillUnmount(): void;
17
- afterGuiAttached(): void;
18
- getValue(): string | null;
19
- isPopup(): boolean;
20
- isCancelBeforeStart(): boolean;
21
- isCancelAfterEnd(): boolean;
22
- render(): JSX.Element;
23
- }
24
- export {};
1
+ import React from 'react';
2
+ import { CustomCellEditorProps } from "ag-grid-react";
3
+ declare const _default: (props: CustomCellEditorProps) => React.JSX.Element;
4
+ export default _default;
@@ -1,90 +1,66 @@
1
- import React from 'react';
2
- import { Key } from "ts-key-enum";
3
- import KeyboardUtils from "d2coreui/components/keyboard/keyboardUtils";
4
- import HexaFormattedInput from "d2coreui/components/input/hexaFormattedInput";
5
- const KEY_BACKSPACE = 8;
6
- const KEY_DELETE = 46;
7
- const KEY_F2 = 113;
8
- export default class HexaValueCellEditor extends React.Component {
9
- constructor(props) {
10
- super(props);
11
- this.inputComponent = null;
12
- this.focusOpId = null;
13
- this.state = this.getInitialState(props);
14
- }
15
- getInitialState(props) {
16
- let value;
17
- let highlightAllOnFocus = true;
18
- if (props.keyPress === KEY_BACKSPACE || props.keyPress === KEY_DELETE) {
19
- value = null;
20
- }
21
- else if (props.charPress) {
22
- const parsedValue = Number.parseInt(props.charPress);
23
- value = isNaN(parsedValue) ? props.value : parsedValue;
24
- highlightAllOnFocus = false;
25
- }
26
- else {
27
- value = props.value;
28
- if (props.keyPress === KEY_F2) {
29
- highlightAllOnFocus = false;
30
- }
31
- }
32
- return {
33
- value: value,
34
- highlightAllOnFocus,
35
- cancelEdit: false
36
- };
37
- }
38
- componentWillUnmount() {
39
- if (this.focusOpId) {
40
- clearTimeout(this.focusOpId);
41
- }
42
- }
43
- afterGuiAttached() {
44
- this.focusOpId = window.setTimeout(() => {
45
- var _a, _b, _c, _d, _e, _f, _g, _h;
46
- (_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.focus();
47
- if (this.state.highlightAllOnFocus) {
48
- (_c = (_b = this.inputComponent) === null || _b === void 0 ? void 0 : _b.input) === null || _c === void 0 ? void 0 : _c.select();
49
- this.setState({
50
- highlightAllOnFocus: false,
51
- });
52
- }
53
- else {
54
- const length = ((_e = (_d = this.inputComponent) === null || _d === void 0 ? void 0 : _d.input) === null || _e === void 0 ? void 0 : _e.value) ? (_f = this.inputComponent) === null || _f === void 0 ? void 0 : _f.input.value.length : 0;
55
- if (length > 0) {
56
- (_h = (_g = this.inputComponent) === null || _g === void 0 ? void 0 : _g.input) === null || _h === void 0 ? void 0 : _h.setSelectionRange(length, length);
57
- }
58
- }
59
- }, 200);
60
- }
61
- getValue() {
62
- return this.state.value;
63
- }
64
- isPopup() {
65
- return true;
66
- }
67
- isCancelBeforeStart() {
68
- return !!this.props.charPress && '1234567890'.indexOf(this.props.charPress) < 0;
69
- }
70
- isCancelAfterEnd() {
71
- return false;
72
- }
73
- render() {
74
- var _a;
75
- return (React.createElement(HexaFormattedInput, { ref: (component) => {
76
- this.inputComponent = component;
77
- }, value: (_a = this.state.value) !== null && _a !== void 0 ? _a : "", maxLength: this.props.maxLength, onChange: value => {
78
- if (KeyboardUtils.isKeyPressed(Key.Alt)) {
79
- return;
80
- }
81
- if (value) {
82
- this.setState({ value: value });
83
- }
84
- else {
85
- this.setState({ value: null });
86
- }
87
- }, size: "small" }));
88
- }
89
- }
1
+ import React from 'react';
2
+ import { Key } from "ts-key-enum";
3
+ import KeyboardUtils from "d2coreui/components/keyboard/keyboardUtils";
4
+ import HexaFormattedInput from "d2coreui/components/input/hexaFormattedInput";
5
+ import { DataGridCellEditorComponent, withAgGridHooks } from "./dataGridCellEditorComponent";
6
+ class HexaValueCellEditor extends DataGridCellEditorComponent {
7
+ constructor(props) {
8
+ super(props);
9
+ this.inputComponent = null;
10
+ this.state = this.getInitialState(props);
11
+ }
12
+ getInitialState(props) {
13
+ let value;
14
+ if (props.eventKey === Key.Backspace || props.eventKey === Key.Delete) {
15
+ value = null;
16
+ props.onValueChange(null);
17
+ }
18
+ else if (props.eventKey && props.eventKey.length === 1) {
19
+ const parsedValue = Number.parseInt(props.eventKey);
20
+ value = isNaN(parsedValue) ? props.value : parsedValue;
21
+ props.onValueChange(value);
22
+ }
23
+ else {
24
+ value = props.value;
25
+ }
26
+ return { value: value };
27
+ }
28
+ focus() {
29
+ var _a;
30
+ (_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.focus();
31
+ }
32
+ select() {
33
+ var _a, _b;
34
+ (_b = (_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.select();
35
+ }
36
+ placeCursorToEnd() {
37
+ var _a, _b, _c, _d, _e;
38
+ const length = ((_b = (_a = this.inputComponent) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value) ? (_c = this.inputComponent) === null || _c === void 0 ? void 0 : _c.input.value.length : 0;
39
+ if (length > 0) {
40
+ (_e = (_d = this.inputComponent) === null || _d === void 0 ? void 0 : _d.input) === null || _e === void 0 ? void 0 : _e.setSelectionRange(length, length);
41
+ }
42
+ }
43
+ isCancelBeforeStart() {
44
+ return !!this.props.eventKey && this.props.eventKey.length === 1 && '1234567890'.indexOf(this.props.eventKey) < 0;
45
+ }
46
+ render() {
47
+ var _a;
48
+ return (React.createElement(HexaFormattedInput, { ref: (component) => {
49
+ this.inputComponent = component;
50
+ }, value: (_a = this.state.value) !== null && _a !== void 0 ? _a : "", maxLength: this.props.maxLength, onChange: value => {
51
+ if (KeyboardUtils.isKeyPressed(Key.Alt)) {
52
+ return;
53
+ }
54
+ if (value) {
55
+ this.setState({ value: value });
56
+ this.props.onValueChange(value);
57
+ }
58
+ else {
59
+ this.setState({ value: null });
60
+ this.props.onValueChange(null);
61
+ }
62
+ }, size: "small" }));
63
+ }
64
+ }
65
+ export default withAgGridHooks(HexaValueCellEditor);
90
66
  //# sourceMappingURL=hexaValueCellEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hexaValueCellEditor.js","sourceRoot":"","sources":["../../../../../components/grid/cell/hexaValueCellEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport {ICellEditor, ICellEditorParams} from \"ag-grid-community\";\nimport {Key} from \"ts-key-enum\";\nimport KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\nimport HexaFormattedInput from \"d2coreui/components/input/hexaFormattedInput\";\n\nconst KEY_BACKSPACE = 8;\nconst KEY_DELETE = 46;\nconst KEY_F2 = 113;\n\ninterface HexaValueCellEditorProps extends ICellEditorParams {\n maxLength: number\n}\n\ninterface HexaValueCellEditorState {\n value: string | null\n highlightAllOnFocus: boolean\n cancelEdit: boolean\n}\n\nexport default class HexaValueCellEditor extends React.Component<HexaValueCellEditorProps, HexaValueCellEditorState> implements ICellEditor {\n private inputComponent: HexaFormattedInput | null = null;\n private focusOpId: number | null = null;\n\n constructor(props: Readonly<HexaValueCellEditorProps>) {\n super(props);\n this.state = this.getInitialState(props);\n }\n\n getInitialState(props: Readonly<HexaValueCellEditorProps>): HexaValueCellEditorState {\n let value: number | null;\n let highlightAllOnFocus = true;\n\n if (props.keyPress === KEY_BACKSPACE || props.keyPress === KEY_DELETE) {\n // if backspace or delete pressed, we clear the cell\n value = null;\n } else if (props.charPress) {\n // if a letter was pressed, we start with the letter\n const parsedValue = Number.parseInt(props.charPress);\n value = isNaN(parsedValue) ? props.value : parsedValue;\n highlightAllOnFocus = false;\n } else {\n // otherwise we start with the current value\n value = props.value;\n if (props.keyPress === KEY_F2) {\n highlightAllOnFocus = false;\n }\n }\n return {\n value: value,\n highlightAllOnFocus,\n cancelEdit: false\n } as HexaValueCellEditorState;\n }\n\n componentWillUnmount() {\n if (this.focusOpId) {\n clearTimeout(this.focusOpId);\n }\n }\n\n afterGuiAttached() {\n this.focusOpId = window.setTimeout(() => {\n this.inputComponent?.focus();\n if (this.state.highlightAllOnFocus) {\n this.inputComponent?.input?.select();\n this.setState({\n highlightAllOnFocus: false,\n });\n } else {\n // when we started editing, we want the carot at the end, not the start.\n // this comes into play in two scenarios: a) when user hits F2 and b)\n // when user hits a printable character, then on IE (and only IE) the carot\n // was placed after the first character, thus 'apply' would end up as 'pplea'\n const length = this.inputComponent?.input?.value ? this.inputComponent?.input.value.length : 0;\n if (length > 0) {\n this.inputComponent?.input?.setSelectionRange(length, length);\n }\n }\n }, 200);\n }\n\n getValue() {\n return this.state.value;\n }\n\n isPopup(): boolean {\n return true;\n }\n\n isCancelBeforeStart(): boolean {\n return !!this.props.charPress && '1234567890'.indexOf(this.props.charPress) < 0;\n }\n\n isCancelAfterEnd() {\n return false;\n }\n\n render() {\n return (\n <HexaFormattedInput\n ref={(component) => {\n this.inputComponent = component;\n }}\n value={this.state.value ?? \"\"}\n maxLength={this.props.maxLength}\n onChange={value => {\n if (KeyboardUtils.isKeyPressed(Key.Alt)) {\n // ignore navigational keystrokes ALT+cursor arrow\n return;\n }\n if (value) {\n this.setState({value: value});\n } else {\n this.setState({value: null});\n }\n }}\n size={\"small\"}\n />\n )\n }\n}\n"]}
1
+ {"version":3,"file":"hexaValueCellEditor.js","sourceRoot":"","sources":["../../../../../components/grid/cell/hexaValueCellEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport {Key} from \"ts-key-enum\";\r\nimport KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\r\nimport HexaFormattedInput from \"d2coreui/components/input/hexaFormattedInput\";\r\nimport {CustomCellEditorProps} from \"ag-grid-react\";\r\nimport {DataGridCellEditorComponent, withAgGridHooks} from \"./dataGridCellEditorComponent\";\r\n\r\ninterface HexaValueCellEditorProps extends CustomCellEditorProps {\r\n maxLength: number\r\n}\r\n\r\ninterface HexaValueCellEditorState {\r\n value: string | null\r\n}\r\n\r\nclass HexaValueCellEditor extends DataGridCellEditorComponent<HexaValueCellEditorProps, HexaValueCellEditorState> {\r\n private inputComponent: HexaFormattedInput | null = null;\r\n\r\n constructor(props: Readonly<HexaValueCellEditorProps>) {\r\n super(props);\r\n this.state = this.getInitialState(props);\r\n }\r\n\r\n getInitialState(props: Readonly<HexaValueCellEditorProps>): HexaValueCellEditorState {\r\n let value: number | null;\r\n if (props.eventKey === Key.Backspace || props.eventKey === Key.Delete) {\r\n // if backspace or delete pressed, we clear the cell\r\n value = null;\r\n props.onValueChange(null);\r\n } else if (props.eventKey && props.eventKey.length === 1) {\r\n // if a letter was pressed, we start with the letter\r\n const parsedValue = Number.parseInt(props.eventKey);\r\n value = isNaN(parsedValue) ? props.value : parsedValue;\r\n props.onValueChange(value);\r\n } else {\r\n // otherwise we start with the current value\r\n value = props.value;\r\n }\r\n return {value: value} as HexaValueCellEditorState;\r\n }\r\n\r\n focus() {\r\n this.inputComponent?.focus();\r\n }\r\n\r\n select() {\r\n this.inputComponent?.input?.select();\r\n }\r\n\r\n placeCursorToEnd() {\r\n // when we started editing, we want the carot at the end, not the start.\r\n // this comes into play in two scenarios: a) when user hits F2 and b)\r\n // when user hits a printable character, then on IE (and only IE) the carot\r\n // was placed after the first character, thus 'apply' would end up as 'pplea'\r\n const length = this.inputComponent?.input?.value ? this.inputComponent?.input.value.length : 0;\r\n if (length > 0) {\r\n this.inputComponent?.input?.setSelectionRange(length, length);\r\n }\r\n }\r\n\r\n isCancelBeforeStart(): boolean {\r\n return !!this.props.eventKey && this.props.eventKey.length === 1 && '1234567890'.indexOf(this.props.eventKey) < 0;\r\n }\r\n\r\n render() {\r\n return (\r\n <HexaFormattedInput\r\n ref={(component) => {\r\n this.inputComponent = component;\r\n }}\r\n value={this.state.value ?? \"\"}\r\n maxLength={this.props.maxLength}\r\n onChange={value => {\r\n if (KeyboardUtils.isKeyPressed(Key.Alt)) {\r\n // ignore navigational keystrokes ALT+cursor arrow\r\n return;\r\n }\r\n if (value) {\r\n this.setState({value: value});\r\n this.props.onValueChange(value);\r\n } else {\r\n this.setState({value: null});\r\n this.props.onValueChange(null);\r\n }\r\n }}\r\n size={\"small\"}\r\n />\r\n )\r\n }\r\n}\r\n\r\nexport default withAgGridHooks(HexaValueCellEditor)"]}
@@ -1,27 +1,4 @@
1
- import React from 'react';
2
- import { ICellEditor, ICellEditorParams } from "ag-grid-community";
3
- interface NumberCellEditorProperties extends ICellEditorParams {
4
- decimalSeparator?: string;
5
- precision?: number;
6
- min?: number;
7
- max?: number;
8
- }
9
- interface NumericCellEditorState {
10
- value: number | null;
11
- highlightAllOnFocus: boolean;
12
- cancelEdit: boolean;
13
- }
14
- export default class NumberCellEditor extends React.Component<NumberCellEditorProperties, NumericCellEditorState> implements ICellEditor {
15
- private inputComponent;
16
- private focusOpId;
17
- constructor(props: Readonly<NumberCellEditorProperties>);
18
- getInitialState(props: Readonly<NumberCellEditorProperties>): NumericCellEditorState;
19
- componentWillUnmount(): void;
20
- afterGuiAttached(): void;
21
- getValue(): number | null;
22
- isPopup(): boolean;
23
- isCancelBeforeStart(): boolean;
24
- isCancelAfterEnd(): boolean;
25
- render(): JSX.Element;
26
- }
27
- export {};
1
+ import React from 'react';
2
+ import { CustomCellEditorProps } from "ag-grid-react";
3
+ declare const _default: (props: CustomCellEditorProps) => React.JSX.Element;
4
+ export default _default;