d2coreui 23.0.13 → 23.0.15

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 (435) hide show
  1. package/components/clipboard/clipboardUtils.ts +53 -0
  2. package/components/codemirror/SyntaxHighlighter.tsx +58 -0
  3. package/components/collapse/expandable.tsx +48 -0
  4. package/components/color/colorPicker.tsx +121 -0
  5. package/components/color/colorSwatch.d.ts +18 -13
  6. package/components/color/colorSwatch.jsx +87 -0
  7. package/components/color/colorUtils.ts +60 -0
  8. package/components/date/dateRangeInput.tsx +468 -0
  9. package/components/date/dateRangeInputAdvancedPanel.tsx +238 -0
  10. package/components/date/dateRangeInputConfirm.tsx +200 -0
  11. package/components/date/dateTimeInput.tsx +633 -0
  12. package/components/date/durationInput.tsx +375 -0
  13. package/components/form/NiceFormItem.tsx +32 -0
  14. package/components/grid/cell/beanAccessor.ts +17 -0
  15. package/components/grid/cell/cellEditorUtils.ts +12 -0
  16. package/components/grid/cell/customEnumCellEditor.tsx +130 -0
  17. package/components/grid/cell/dataGridCellEditorComponent.tsx +61 -0
  18. package/components/grid/cell/dateCellEditor.tsx +83 -0
  19. package/components/grid/cell/durationCellEditor.tsx +105 -0
  20. package/components/grid/cell/hexaOctetStringCellEditor.tsx +101 -0
  21. package/components/grid/cell/hexaValueCellEditor.tsx +92 -0
  22. package/components/grid/cell/numberCellEditor.tsx +115 -0
  23. package/components/grid/cell/rangeSelector.d.ts +9 -78
  24. package/components/grid/cell/rangeSelector.js +674 -527
  25. package/components/grid/cell/simpleStatusTextCellEditor.tsx +168 -0
  26. package/components/grid/cell/statusTextCellEditor.tsx +198 -0
  27. package/components/grid/cell/tableDefaultRowStyleRules.ts +51 -0
  28. package/components/grid/cell/textCellEditor.tsx +94 -0
  29. package/components/grid/cell/withAgGridHooks.tsx +15 -0
  30. package/components/grid/columnUtils.ts +29 -0
  31. package/components/grid/config/columnTransfer.tsx +258 -0
  32. package/components/grid/config/dataGridEditor.tsx +328 -0
  33. package/components/grid/config/rowHeightCalculator.tsx +29 -0
  34. package/components/grid/config/rowStylePicker.tsx +196 -0
  35. package/components/grid/dataGrid.tsx +2183 -0
  36. package/components/grid/detail/detailHeaderPanel.tsx +59 -0
  37. package/components/grid/export/contextMenu.tsx +154 -0
  38. package/components/grid/export/progressPopup.tsx +106 -0
  39. package/components/grid/export/worker/clipboardExport.ts +10 -0
  40. package/components/grid/export/worker/csvExport.ts +10 -0
  41. package/components/grid/export/worker/pdfExport.ts +98 -0
  42. package/components/grid/export/worker/txtExport.ts +21 -0
  43. package/components/grid/extendedDataGrid.tsx +974 -0
  44. package/components/grid/filter/customColumnFilter.tsx +14 -0
  45. package/components/grid/filter/dataGridColumnFilter.tsx +70 -0
  46. package/components/grid/filter/dateColumnFilter.tsx +34 -0
  47. package/components/grid/filter/textColumnFilter.tsx +37 -0
  48. package/components/grid/filter/wildcardQuickFilterEngine.ts +50 -0
  49. package/components/grid/header/simpleHeader.tsx +270 -0
  50. package/components/grid/panel/dataGridPagination.tsx +123 -0
  51. package/components/grid/panel/loadingOverlay.tsx +14 -0
  52. package/components/grid/panel/noRecordsOverlay.tsx +16 -0
  53. package/components/grid/panel/tablePagination.tsx +77 -0
  54. package/components/icons/ant-design-double-right-outline.svg +5 -5
  55. package/components/icons/ant-design_close-outline.svg +5 -5
  56. package/components/icons/dropdownArrow.tsx +67 -0
  57. package/components/icons/undoIcon.tsx +16 -0
  58. package/components/input/autoCompleteInput.tsx +174 -0
  59. package/components/input/draftUtils.tsx +62 -0
  60. package/components/input/draftail.d.ts +186 -1
  61. package/components/input/draftail.js +1 -2
  62. package/components/input/hexaFormattedInput.tsx +64 -0
  63. package/components/input/mask/helpers.ts +154 -0
  64. package/components/input/mask/inputMaskCore.ts +452 -0
  65. package/components/input/mask/pattern.ts +122 -0
  66. package/components/input/maskedInput.tsx +275 -0
  67. package/components/input/passwordInput.tsx +62 -0
  68. package/components/input/simpleAutoComplete.tsx +60 -0
  69. package/components/input/textarea/extractSpansOfClasses.tsx +125 -0
  70. package/components/input/textarea/getRanges.ts +82 -0
  71. package/components/input/textarea/getType.ts +23 -0
  72. package/components/input/textarea/highlighedContents.tsx +20 -0
  73. package/components/input/textarea/highlightedTextarea.css +61 -0
  74. package/components/input/textarea/mentionsWithHighlighting.tsx +95 -0
  75. package/components/keyboard/keyboardUtils.ts +42 -0
  76. package/components/modal/draggableModalProvider.tsx +37 -0
  77. package/components/modal/impl/clamp.ts +4 -0
  78. package/components/modal/impl/draggableModal.tsx +36 -0
  79. package/components/modal/impl/draggableModalContext.ts +14 -0
  80. package/components/modal/impl/draggableModalInner.tsx +114 -0
  81. package/components/modal/impl/draggableModalReducer.ts +285 -0
  82. package/components/modal/impl/getWindowSize.ts +6 -0
  83. package/components/modal/impl/index.ts +5 -0
  84. package/components/modal/impl/resizeHandle.tsx +12 -0
  85. package/components/modal/impl/useDrag.ts +57 -0
  86. package/components/modal/impl/usePrevious.ts +11 -0
  87. package/components/modal/impl/useResize.ts +79 -0
  88. package/components/modal/modalDialog.tsx +172 -0
  89. package/components/picker/enumValuePicker.tsx +48 -0
  90. package/components/platformSpecific.ts +39 -0
  91. package/components/scrollTo/dom-scroll-into-view.d.ts +1 -0
  92. package/components/scrollTo/onlyText.ts +36 -0
  93. package/components/scrollTo/scrollTo.tsx +324 -0
  94. package/components/style/withCss.tsx +14 -0
  95. package/components/style/withInputNumberCss.tsx +18 -0
  96. package/components/svg.d.ts +1 -0
  97. package/components/table/dragSortingTable.tsx +123 -0
  98. package/components/text/impl/innerSize.ts +15 -0
  99. package/components/text/impl/series.ts +37 -0
  100. package/components/text/impl/shallowEqual.ts +19 -0
  101. package/components/text/impl/uniqueId.ts +5 -0
  102. package/components/text/impl/whilst.ts +25 -0
  103. package/components/text/textFit.tsx +229 -0
  104. package/i18n/components.cs.json +101 -101
  105. package/i18n/components.sk.json +101 -101
  106. package/i18n/components.uk.json +101 -101
  107. package/i18n/componentsLocaleHolder.js +24 -29
  108. package/i18n/componentsLocaleLoader.d.ts +9 -0
  109. package/lib/esm/components/codemirror/SyntaxHighlighter.js.map +1 -0
  110. package/lib/esm/components/color/colorSwatch.d.ts +13 -0
  111. package/lib/esm/components/color/colorSwatch.js.map +1 -0
  112. package/{components → lib/esm/components}/grid/cell/cellEditorUtils.js.map +1 -1
  113. package/lib/esm/components/grid/cell/rangeSelector.d.ts +78 -0
  114. package/lib/esm/components/grid/cell/rangeSelector.js +527 -0
  115. package/lib/esm/components/grid/columnUtils.js.map +1 -0
  116. package/{components → lib/esm/components}/grid/export/contextMenu.js +4 -4
  117. package/lib/esm/components/grid/export/progressPopup.js.map +1 -0
  118. package/{components → lib/esm/components}/grid/export/worker/clipboardExport.js.map +1 -1
  119. package/{components → lib/esm/components}/grid/export/worker/csvExport.js.map +1 -1
  120. package/{components → lib/esm/components}/grid/export/worker/txtExport.js.map +1 -1
  121. package/lib/esm/components/icons/undoIcon.js.map +1 -0
  122. package/lib/esm/components/input/draftUtils.js.map +1 -0
  123. package/lib/esm/components/input/draftail.d.ts +1 -0
  124. package/lib/esm/components/input/draftail.js +2 -0
  125. package/{components → lib/esm/components}/input/draftail.js.map +1 -1
  126. package/lib/esm/components/input/mask/inputMaskCore.js.map +1 -0
  127. package/lib/esm/components/input/mask/pattern.js.map +1 -0
  128. package/lib/esm/components/input/passwordInput.js.map +1 -0
  129. package/lib/esm/components/input/textarea/extractSpansOfClasses.js.map +1 -0
  130. package/lib/esm/components/input/textarea/getRanges.js.map +1 -0
  131. package/{components → lib/esm/components}/input/textarea/getType.js.map +1 -1
  132. package/{components → lib/esm/components}/input/textarea/highlighedContents.js.map +1 -1
  133. package/lib/esm/components/input/textarea/mentionsWithHighlighting.js.map +1 -0
  134. package/{components → lib/esm/components}/keyboard/keyboardUtils.js.map +1 -1
  135. package/lib/esm/components/platformSpecific.js.map +1 -0
  136. package/{components → lib/esm/components}/text/impl/innerSize.js.map +1 -1
  137. package/lib/esm/components/text/impl/series.js.map +1 -0
  138. package/{components → lib/esm/components}/text/impl/shallowEqual.js.map +1 -1
  139. package/{components → lib/esm/components}/text/impl/uniqueId.js.map +1 -1
  140. package/lib/esm/components/text/impl/whilst.js.map +1 -0
  141. package/lib/esm/i18n/components.cs.json +101 -0
  142. package/lib/esm/i18n/components.sk.json +101 -0
  143. package/lib/esm/i18n/components.uk.json +101 -0
  144. package/lib/esm/i18n/componentsLocaleHolder.js +29 -0
  145. package/lib/esm/i18n/componentsLocaleHolder.js.map +1 -0
  146. package/lib/esm/package.json +70 -0
  147. package/lib/esm/tsconfig.build.json +24 -0
  148. package/lib/esm/tsconfig.json +11 -0
  149. package/package.json +3 -3
  150. package/style/ag-grid/_ag-theme-antd-vars.scss +194 -194
  151. package/style/ag-grid/ag-theme-antd.scss +87 -87
  152. package/style/ag-grid/aggrid-adaptations.css +42 -42
  153. package/style/ag-grid/aggrid.scss +11 -11
  154. package/style/flexLayout/flexLayout.scss +130 -130
  155. package/style/flexLayout/flexLayoutBase.scss +623 -623
  156. package/style/flexLayout/new/_base.scss +616 -616
  157. package/style/flexLayout/new/flexLayoutBase.scss +621 -621
  158. package/style/flexLayout/new/light.scss +107 -107
  159. package/style/flexLayout/old/_base.scss +551 -551
  160. package/style/flexLayout/old/light.scss +16 -16
  161. package/style/form/niceFormItem.css +38 -38
  162. package/style/loading.css +31 -31
  163. package/style/splitPane/splitPane.css +48 -48
  164. package/tsconfig.build.json +24 -24
  165. package/tsconfig.json +11 -11
  166. package/components/codemirror/SyntaxHighlighter.js.map +0 -1
  167. package/components/color/colorSwatch.js.map +0 -1
  168. package/components/grid/columnUtils.js.map +0 -1
  169. package/components/grid/export/progressPopup.js.map +0 -1
  170. package/components/icons/undoIcon.js.map +0 -1
  171. package/components/input/draftUtils.js.map +0 -1
  172. package/components/input/mask/inputMaskCore.js.map +0 -1
  173. package/components/input/mask/pattern.js.map +0 -1
  174. package/components/input/passwordInput.js.map +0 -1
  175. package/components/input/textarea/extractSpansOfClasses.js.map +0 -1
  176. package/components/input/textarea/getRanges.js.map +0 -1
  177. package/components/input/textarea/mentionsWithHighlighting.js.map +0 -1
  178. package/components/platformSpecific.js.map +0 -1
  179. package/components/text/impl/series.js.map +0 -1
  180. package/components/text/impl/whilst.js.map +0 -1
  181. package/i18n/componentsLocaleHolder.js.map +0 -1
  182. /package/{components → lib/esm/components}/clipboard/clipboardUtils.d.ts +0 -0
  183. /package/{components → lib/esm/components}/clipboard/clipboardUtils.js +0 -0
  184. /package/{components → lib/esm/components}/clipboard/clipboardUtils.js.map +0 -0
  185. /package/{components → lib/esm/components}/codemirror/SyntaxHighlighter.d.ts +0 -0
  186. /package/{components → lib/esm/components}/codemirror/SyntaxHighlighter.js +0 -0
  187. /package/{components → lib/esm/components}/collapse/expandable.d.ts +0 -0
  188. /package/{components → lib/esm/components}/collapse/expandable.js +0 -0
  189. /package/{components → lib/esm/components}/collapse/expandable.js.map +0 -0
  190. /package/{components → lib/esm/components}/color/colorPicker.d.ts +0 -0
  191. /package/{components → lib/esm/components}/color/colorPicker.js +0 -0
  192. /package/{components → lib/esm/components}/color/colorPicker.js.map +0 -0
  193. /package/{components → lib/esm/components}/color/colorSwatch.js +0 -0
  194. /package/{components → lib/esm/components}/color/colorUtils.d.ts +0 -0
  195. /package/{components → lib/esm/components}/color/colorUtils.js +0 -0
  196. /package/{components → lib/esm/components}/color/colorUtils.js.map +0 -0
  197. /package/{components → lib/esm/components}/date/dateRangeInput.d.ts +0 -0
  198. /package/{components → lib/esm/components}/date/dateRangeInput.js +0 -0
  199. /package/{components → lib/esm/components}/date/dateRangeInput.js.map +0 -0
  200. /package/{components → lib/esm/components}/date/dateRangeInputAdvancedPanel.d.ts +0 -0
  201. /package/{components → lib/esm/components}/date/dateRangeInputAdvancedPanel.js +0 -0
  202. /package/{components → lib/esm/components}/date/dateRangeInputAdvancedPanel.js.map +0 -0
  203. /package/{components → lib/esm/components}/date/dateRangeInputConfirm.d.ts +0 -0
  204. /package/{components → lib/esm/components}/date/dateRangeInputConfirm.js +0 -0
  205. /package/{components → lib/esm/components}/date/dateRangeInputConfirm.js.map +0 -0
  206. /package/{components → lib/esm/components}/date/dateTimeInput.d.ts +0 -0
  207. /package/{components → lib/esm/components}/date/dateTimeInput.js +0 -0
  208. /package/{components → lib/esm/components}/date/dateTimeInput.js.map +0 -0
  209. /package/{components → lib/esm/components}/date/durationInput.d.ts +0 -0
  210. /package/{components → lib/esm/components}/date/durationInput.js +0 -0
  211. /package/{components → lib/esm/components}/date/durationInput.js.map +0 -0
  212. /package/{components → lib/esm/components}/form/NiceFormItem.d.ts +0 -0
  213. /package/{components → lib/esm/components}/form/NiceFormItem.js +0 -0
  214. /package/{components → lib/esm/components}/form/NiceFormItem.js.map +0 -0
  215. /package/{components → lib/esm/components}/grid/cell/beanAccessor.d.ts +0 -0
  216. /package/{components → lib/esm/components}/grid/cell/beanAccessor.js +0 -0
  217. /package/{components → lib/esm/components}/grid/cell/beanAccessor.js.map +0 -0
  218. /package/{components → lib/esm/components}/grid/cell/cellEditorUtils.d.ts +0 -0
  219. /package/{components → lib/esm/components}/grid/cell/cellEditorUtils.js +0 -0
  220. /package/{components → lib/esm/components}/grid/cell/customEnumCellEditor.d.ts +0 -0
  221. /package/{components → lib/esm/components}/grid/cell/customEnumCellEditor.js +0 -0
  222. /package/{components → lib/esm/components}/grid/cell/customEnumCellEditor.js.map +0 -0
  223. /package/{components → lib/esm/components}/grid/cell/dataGridCellEditorComponent.d.ts +0 -0
  224. /package/{components → lib/esm/components}/grid/cell/dataGridCellEditorComponent.js +0 -0
  225. /package/{components → lib/esm/components}/grid/cell/dataGridCellEditorComponent.js.map +0 -0
  226. /package/{components → lib/esm/components}/grid/cell/dateCellEditor.d.ts +0 -0
  227. /package/{components → lib/esm/components}/grid/cell/dateCellEditor.js +0 -0
  228. /package/{components → lib/esm/components}/grid/cell/dateCellEditor.js.map +0 -0
  229. /package/{components → lib/esm/components}/grid/cell/durationCellEditor.d.ts +0 -0
  230. /package/{components → lib/esm/components}/grid/cell/durationCellEditor.js +0 -0
  231. /package/{components → lib/esm/components}/grid/cell/durationCellEditor.js.map +0 -0
  232. /package/{components → lib/esm/components}/grid/cell/hexaOctetStringCellEditor.d.ts +0 -0
  233. /package/{components → lib/esm/components}/grid/cell/hexaOctetStringCellEditor.js +0 -0
  234. /package/{components → lib/esm/components}/grid/cell/hexaOctetStringCellEditor.js.map +0 -0
  235. /package/{components → lib/esm/components}/grid/cell/hexaValueCellEditor.d.ts +0 -0
  236. /package/{components → lib/esm/components}/grid/cell/hexaValueCellEditor.js +0 -0
  237. /package/{components → lib/esm/components}/grid/cell/hexaValueCellEditor.js.map +0 -0
  238. /package/{components → lib/esm/components}/grid/cell/numberCellEditor.d.ts +0 -0
  239. /package/{components → lib/esm/components}/grid/cell/numberCellEditor.js +0 -0
  240. /package/{components → lib/esm/components}/grid/cell/numberCellEditor.js.map +0 -0
  241. /package/{components → lib/esm/components}/grid/cell/rangeSelector.js.map +0 -0
  242. /package/{components → lib/esm/components}/grid/cell/simpleStatusTextCellEditor.d.ts +0 -0
  243. /package/{components → lib/esm/components}/grid/cell/simpleStatusTextCellEditor.js +0 -0
  244. /package/{components → lib/esm/components}/grid/cell/simpleStatusTextCellEditor.js.map +0 -0
  245. /package/{components → lib/esm/components}/grid/cell/statusTextCellEditor.d.ts +0 -0
  246. /package/{components → lib/esm/components}/grid/cell/statusTextCellEditor.js +0 -0
  247. /package/{components → lib/esm/components}/grid/cell/statusTextCellEditor.js.map +0 -0
  248. /package/{components → lib/esm/components}/grid/cell/tableDefaultRowStyleRules.d.ts +0 -0
  249. /package/{components → lib/esm/components}/grid/cell/tableDefaultRowStyleRules.js +0 -0
  250. /package/{components → lib/esm/components}/grid/cell/tableDefaultRowStyleRules.js.map +0 -0
  251. /package/{components → lib/esm/components}/grid/cell/textCellEditor.d.ts +0 -0
  252. /package/{components → lib/esm/components}/grid/cell/textCellEditor.js +0 -0
  253. /package/{components → lib/esm/components}/grid/cell/textCellEditor.js.map +0 -0
  254. /package/{components → lib/esm/components}/grid/cell/withAgGridHooks.d.ts +0 -0
  255. /package/{components → lib/esm/components}/grid/cell/withAgGridHooks.js +0 -0
  256. /package/{components → lib/esm/components}/grid/cell/withAgGridHooks.js.map +0 -0
  257. /package/{components → lib/esm/components}/grid/columnUtils.d.ts +0 -0
  258. /package/{components → lib/esm/components}/grid/columnUtils.js +0 -0
  259. /package/{components → lib/esm/components}/grid/config/columnTransfer.d.ts +0 -0
  260. /package/{components → lib/esm/components}/grid/config/columnTransfer.js +0 -0
  261. /package/{components → lib/esm/components}/grid/config/columnTransfer.js.map +0 -0
  262. /package/{components → lib/esm/components}/grid/config/dataGridEditor.d.ts +0 -0
  263. /package/{components → lib/esm/components}/grid/config/dataGridEditor.js +0 -0
  264. /package/{components → lib/esm/components}/grid/config/dataGridEditor.js.map +0 -0
  265. /package/{components → lib/esm/components}/grid/config/rowHeightCalculator.d.ts +0 -0
  266. /package/{components → lib/esm/components}/grid/config/rowHeightCalculator.js +0 -0
  267. /package/{components → lib/esm/components}/grid/config/rowHeightCalculator.js.map +0 -0
  268. /package/{components → lib/esm/components}/grid/config/rowStylePicker.d.ts +0 -0
  269. /package/{components → lib/esm/components}/grid/config/rowStylePicker.js +0 -0
  270. /package/{components → lib/esm/components}/grid/config/rowStylePicker.js.map +0 -0
  271. /package/{components → lib/esm/components}/grid/dataGrid.d.ts +0 -0
  272. /package/{components → lib/esm/components}/grid/dataGrid.js +0 -0
  273. /package/{components → lib/esm/components}/grid/dataGrid.js.map +0 -0
  274. /package/{components → lib/esm/components}/grid/detail/detailHeaderPanel.d.ts +0 -0
  275. /package/{components → lib/esm/components}/grid/detail/detailHeaderPanel.js +0 -0
  276. /package/{components → lib/esm/components}/grid/detail/detailHeaderPanel.js.map +0 -0
  277. /package/{components → lib/esm/components}/grid/export/contextMenu.d.ts +0 -0
  278. /package/{components → lib/esm/components}/grid/export/contextMenu.js.map +0 -0
  279. /package/{components → lib/esm/components}/grid/export/progressPopup.d.ts +0 -0
  280. /package/{components → lib/esm/components}/grid/export/progressPopup.js +0 -0
  281. /package/{components → lib/esm/components}/grid/export/worker/clipboardExport.d.ts +0 -0
  282. /package/{components → lib/esm/components}/grid/export/worker/clipboardExport.js +0 -0
  283. /package/{components → lib/esm/components}/grid/export/worker/csvExport.d.ts +0 -0
  284. /package/{components → lib/esm/components}/grid/export/worker/csvExport.js +0 -0
  285. /package/{components → lib/esm/components}/grid/export/worker/pdfExport.d.ts +0 -0
  286. /package/{components → lib/esm/components}/grid/export/worker/pdfExport.js +0 -0
  287. /package/{components → lib/esm/components}/grid/export/worker/pdfExport.js.map +0 -0
  288. /package/{components → lib/esm/components}/grid/export/worker/txtExport.d.ts +0 -0
  289. /package/{components → lib/esm/components}/grid/export/worker/txtExport.js +0 -0
  290. /package/{components → lib/esm/components}/grid/extendedDataGrid.d.ts +0 -0
  291. /package/{components → lib/esm/components}/grid/extendedDataGrid.js +0 -0
  292. /package/{components → lib/esm/components}/grid/extendedDataGrid.js.map +0 -0
  293. /package/{components → lib/esm/components}/grid/filter/customColumnFilter.d.ts +0 -0
  294. /package/{components → lib/esm/components}/grid/filter/customColumnFilter.js +0 -0
  295. /package/{components → lib/esm/components}/grid/filter/customColumnFilter.js.map +0 -0
  296. /package/{components → lib/esm/components}/grid/filter/dataGridColumnFilter.d.ts +0 -0
  297. /package/{components → lib/esm/components}/grid/filter/dataGridColumnFilter.js +0 -0
  298. /package/{components → lib/esm/components}/grid/filter/dataGridColumnFilter.js.map +0 -0
  299. /package/{components → lib/esm/components}/grid/filter/dateColumnFilter.d.ts +0 -0
  300. /package/{components → lib/esm/components}/grid/filter/dateColumnFilter.js +0 -0
  301. /package/{components → lib/esm/components}/grid/filter/dateColumnFilter.js.map +0 -0
  302. /package/{components → lib/esm/components}/grid/filter/textColumnFilter.d.ts +0 -0
  303. /package/{components → lib/esm/components}/grid/filter/textColumnFilter.js +0 -0
  304. /package/{components → lib/esm/components}/grid/filter/textColumnFilter.js.map +0 -0
  305. /package/{components → lib/esm/components}/grid/filter/wildcardQuickFilterEngine.d.ts +0 -0
  306. /package/{components → lib/esm/components}/grid/filter/wildcardQuickFilterEngine.js +0 -0
  307. /package/{components → lib/esm/components}/grid/filter/wildcardQuickFilterEngine.js.map +0 -0
  308. /package/{components → lib/esm/components}/grid/header/simpleHeader.d.ts +0 -0
  309. /package/{components → lib/esm/components}/grid/header/simpleHeader.js +0 -0
  310. /package/{components → lib/esm/components}/grid/header/simpleHeader.js.map +0 -0
  311. /package/{components → lib/esm/components}/grid/panel/dataGridPagination.d.ts +0 -0
  312. /package/{components → lib/esm/components}/grid/panel/dataGridPagination.js +0 -0
  313. /package/{components → lib/esm/components}/grid/panel/dataGridPagination.js.map +0 -0
  314. /package/{components → lib/esm/components}/grid/panel/loadingOverlay.d.ts +0 -0
  315. /package/{components → lib/esm/components}/grid/panel/loadingOverlay.js +0 -0
  316. /package/{components → lib/esm/components}/grid/panel/loadingOverlay.js.map +0 -0
  317. /package/{components → lib/esm/components}/grid/panel/noRecordsOverlay.d.ts +0 -0
  318. /package/{components → lib/esm/components}/grid/panel/noRecordsOverlay.js +0 -0
  319. /package/{components → lib/esm/components}/grid/panel/noRecordsOverlay.js.map +0 -0
  320. /package/{components → lib/esm/components}/grid/panel/tablePagination.d.ts +0 -0
  321. /package/{components → lib/esm/components}/grid/panel/tablePagination.js +0 -0
  322. /package/{components → lib/esm/components}/grid/panel/tablePagination.js.map +0 -0
  323. /package/{components → lib/esm/components}/icons/dropdownArrow.d.ts +0 -0
  324. /package/{components → lib/esm/components}/icons/dropdownArrow.js +0 -0
  325. /package/{components → lib/esm/components}/icons/dropdownArrow.js.map +0 -0
  326. /package/{components → lib/esm/components}/icons/undoIcon.d.ts +0 -0
  327. /package/{components → lib/esm/components}/icons/undoIcon.js +0 -0
  328. /package/{components → lib/esm/components}/input/autoCompleteInput.d.ts +0 -0
  329. /package/{components → lib/esm/components}/input/autoCompleteInput.js +0 -0
  330. /package/{components → lib/esm/components}/input/autoCompleteInput.js.map +0 -0
  331. /package/{components → lib/esm/components}/input/draftUtils.d.ts +0 -0
  332. /package/{components → lib/esm/components}/input/draftUtils.js +0 -0
  333. /package/{components → lib/esm/components}/input/hexaFormattedInput.d.ts +0 -0
  334. /package/{components → lib/esm/components}/input/hexaFormattedInput.js +0 -0
  335. /package/{components → lib/esm/components}/input/hexaFormattedInput.js.map +0 -0
  336. /package/{components → lib/esm/components}/input/mask/helpers.d.ts +0 -0
  337. /package/{components → lib/esm/components}/input/mask/helpers.js +0 -0
  338. /package/{components → lib/esm/components}/input/mask/helpers.js.map +0 -0
  339. /package/{components → lib/esm/components}/input/mask/inputMaskCore.d.ts +0 -0
  340. /package/{components → lib/esm/components}/input/mask/inputMaskCore.js +0 -0
  341. /package/{components → lib/esm/components}/input/mask/pattern.d.ts +0 -0
  342. /package/{components → lib/esm/components}/input/mask/pattern.js +0 -0
  343. /package/{components → lib/esm/components}/input/maskedInput.d.ts +0 -0
  344. /package/{components → lib/esm/components}/input/maskedInput.js +0 -0
  345. /package/{components → lib/esm/components}/input/maskedInput.js.map +0 -0
  346. /package/{components → lib/esm/components}/input/passwordInput.d.ts +0 -0
  347. /package/{components → lib/esm/components}/input/passwordInput.js +0 -0
  348. /package/{components → lib/esm/components}/input/simpleAutoComplete.d.ts +0 -0
  349. /package/{components → lib/esm/components}/input/simpleAutoComplete.js +0 -0
  350. /package/{components → lib/esm/components}/input/simpleAutoComplete.js.map +0 -0
  351. /package/{components → lib/esm/components}/input/textarea/extractSpansOfClasses.d.ts +0 -0
  352. /package/{components → lib/esm/components}/input/textarea/extractSpansOfClasses.js +0 -0
  353. /package/{components → lib/esm/components}/input/textarea/getRanges.d.ts +0 -0
  354. /package/{components → lib/esm/components}/input/textarea/getRanges.js +0 -0
  355. /package/{components → lib/esm/components}/input/textarea/getType.d.ts +0 -0
  356. /package/{components → lib/esm/components}/input/textarea/getType.js +0 -0
  357. /package/{components → lib/esm/components}/input/textarea/highlighedContents.d.ts +0 -0
  358. /package/{components → lib/esm/components}/input/textarea/highlighedContents.js +0 -0
  359. /package/{components → lib/esm/components}/input/textarea/mentionsWithHighlighting.d.ts +0 -0
  360. /package/{components → lib/esm/components}/input/textarea/mentionsWithHighlighting.js +0 -0
  361. /package/{components → lib/esm/components}/keyboard/keyboardUtils.d.ts +0 -0
  362. /package/{components → lib/esm/components}/keyboard/keyboardUtils.js +0 -0
  363. /package/{components → lib/esm/components}/modal/draggableModalProvider.d.ts +0 -0
  364. /package/{components → lib/esm/components}/modal/draggableModalProvider.js +0 -0
  365. /package/{components → lib/esm/components}/modal/draggableModalProvider.js.map +0 -0
  366. /package/{components → lib/esm/components}/modal/impl/clamp.d.ts +0 -0
  367. /package/{components → lib/esm/components}/modal/impl/clamp.js +0 -0
  368. /package/{components → lib/esm/components}/modal/impl/clamp.js.map +0 -0
  369. /package/{components → lib/esm/components}/modal/impl/draggableModal.d.ts +0 -0
  370. /package/{components → lib/esm/components}/modal/impl/draggableModal.js +0 -0
  371. /package/{components → lib/esm/components}/modal/impl/draggableModal.js.map +0 -0
  372. /package/{components → lib/esm/components}/modal/impl/draggableModalContext.d.ts +0 -0
  373. /package/{components → lib/esm/components}/modal/impl/draggableModalContext.js +0 -0
  374. /package/{components → lib/esm/components}/modal/impl/draggableModalContext.js.map +0 -0
  375. /package/{components → lib/esm/components}/modal/impl/draggableModalInner.d.ts +0 -0
  376. /package/{components → lib/esm/components}/modal/impl/draggableModalInner.js +0 -0
  377. /package/{components → lib/esm/components}/modal/impl/draggableModalInner.js.map +0 -0
  378. /package/{components → lib/esm/components}/modal/impl/draggableModalReducer.d.ts +0 -0
  379. /package/{components → lib/esm/components}/modal/impl/draggableModalReducer.js +0 -0
  380. /package/{components → lib/esm/components}/modal/impl/draggableModalReducer.js.map +0 -0
  381. /package/{components → lib/esm/components}/modal/impl/getWindowSize.d.ts +0 -0
  382. /package/{components → lib/esm/components}/modal/impl/getWindowSize.js +0 -0
  383. /package/{components → lib/esm/components}/modal/impl/getWindowSize.js.map +0 -0
  384. /package/{components → lib/esm/components}/modal/impl/index.d.ts +0 -0
  385. /package/{components → lib/esm/components}/modal/impl/index.js +0 -0
  386. /package/{components → lib/esm/components}/modal/impl/index.js.map +0 -0
  387. /package/{components → lib/esm/components}/modal/impl/resizeHandle.d.ts +0 -0
  388. /package/{components → lib/esm/components}/modal/impl/resizeHandle.js +0 -0
  389. /package/{components → lib/esm/components}/modal/impl/resizeHandle.js.map +0 -0
  390. /package/{components → lib/esm/components}/modal/impl/useDrag.d.ts +0 -0
  391. /package/{components → lib/esm/components}/modal/impl/useDrag.js +0 -0
  392. /package/{components → lib/esm/components}/modal/impl/useDrag.js.map +0 -0
  393. /package/{components → lib/esm/components}/modal/impl/usePrevious.d.ts +0 -0
  394. /package/{components → lib/esm/components}/modal/impl/usePrevious.js +0 -0
  395. /package/{components → lib/esm/components}/modal/impl/usePrevious.js.map +0 -0
  396. /package/{components → lib/esm/components}/modal/impl/useResize.d.ts +0 -0
  397. /package/{components → lib/esm/components}/modal/impl/useResize.js +0 -0
  398. /package/{components → lib/esm/components}/modal/impl/useResize.js.map +0 -0
  399. /package/{components → lib/esm/components}/modal/modalDialog.d.ts +0 -0
  400. /package/{components → lib/esm/components}/modal/modalDialog.js +0 -0
  401. /package/{components → lib/esm/components}/modal/modalDialog.js.map +0 -0
  402. /package/{components → lib/esm/components}/picker/enumValuePicker.d.ts +0 -0
  403. /package/{components → lib/esm/components}/picker/enumValuePicker.js +0 -0
  404. /package/{components → lib/esm/components}/picker/enumValuePicker.js.map +0 -0
  405. /package/{components → lib/esm/components}/platformSpecific.d.ts +0 -0
  406. /package/{components → lib/esm/components}/platformSpecific.js +0 -0
  407. /package/{components → lib/esm/components}/scrollTo/onlyText.d.ts +0 -0
  408. /package/{components → lib/esm/components}/scrollTo/onlyText.js +0 -0
  409. /package/{components → lib/esm/components}/scrollTo/onlyText.js.map +0 -0
  410. /package/{components → lib/esm/components}/scrollTo/scrollTo.d.ts +0 -0
  411. /package/{components → lib/esm/components}/scrollTo/scrollTo.js +0 -0
  412. /package/{components → lib/esm/components}/scrollTo/scrollTo.js.map +0 -0
  413. /package/{components → lib/esm/components}/style/withCss.d.ts +0 -0
  414. /package/{components → lib/esm/components}/style/withCss.js +0 -0
  415. /package/{components → lib/esm/components}/style/withCss.js.map +0 -0
  416. /package/{components → lib/esm/components}/style/withInputNumberCss.d.ts +0 -0
  417. /package/{components → lib/esm/components}/style/withInputNumberCss.js +0 -0
  418. /package/{components → lib/esm/components}/style/withInputNumberCss.js.map +0 -0
  419. /package/{components → lib/esm/components}/table/dragSortingTable.d.ts +0 -0
  420. /package/{components → lib/esm/components}/table/dragSortingTable.js +0 -0
  421. /package/{components → lib/esm/components}/table/dragSortingTable.js.map +0 -0
  422. /package/{components → lib/esm/components}/text/impl/innerSize.d.ts +0 -0
  423. /package/{components → lib/esm/components}/text/impl/innerSize.js +0 -0
  424. /package/{components → lib/esm/components}/text/impl/series.d.ts +0 -0
  425. /package/{components → lib/esm/components}/text/impl/series.js +0 -0
  426. /package/{components → lib/esm/components}/text/impl/shallowEqual.d.ts +0 -0
  427. /package/{components → lib/esm/components}/text/impl/shallowEqual.js +0 -0
  428. /package/{components → lib/esm/components}/text/impl/uniqueId.d.ts +0 -0
  429. /package/{components → lib/esm/components}/text/impl/uniqueId.js +0 -0
  430. /package/{components → lib/esm/components}/text/impl/whilst.d.ts +0 -0
  431. /package/{components → lib/esm/components}/text/impl/whilst.js +0 -0
  432. /package/{components → lib/esm/components}/text/textFit.d.ts +0 -0
  433. /package/{components → lib/esm/components}/text/textFit.js +0 -0
  434. /package/{components → lib/esm/components}/text/textFit.js.map +0 -0
  435. /package/{i18n → lib/esm/i18n}/componentsLocaleHolder.d.ts +0 -0
@@ -0,0 +1,258 @@
1
+ import React from "react";
2
+ import {Transfer, Tree, TreeDataNode} from 'antd'
3
+ import _head from "lodash/head";
4
+ import i18n from "d2core/i18n/i18n"
5
+ import DragSortingTable from "d2coreui/components/table/dragSortingTable";
6
+ import {ColDef, ColumnState, GridApi} from "ag-grid-community";
7
+ import {TableRowSelection} from "antd/es/table/interface";
8
+ import {TransferItem} from "antd/lib/transfer";
9
+ import difference from "lodash/difference";
10
+
11
+ // Customize ColumnNode Transfer
12
+ const isChecked = (selectedKeys: React.Key[], eventKey: string) => {
13
+ return selectedKeys.indexOf(eventKey) !== -1;
14
+ };
15
+
16
+ type TreeNodeType = TreeDataNode & ColumnNode;
17
+
18
+ function generateTree(treeNodes: ColumnNode[] = [], checkedKeys: string[] = []): TreeNodeType[] {
19
+ return treeNodes.map(({children, ...props}): TreeNodeType => ({
20
+ ...props,
21
+ key: props.key as string,
22
+ disabled: checkedKeys.includes(props.key as string),
23
+ children: generateTree(children, checkedKeys),
24
+ }));
25
+ }
26
+
27
+ function generateSimpleTree(treeNodes: ColumnNode[] = []): TreeNodeType[] {
28
+ return treeNodes.map(({children, ...props}) => ({
29
+ ...props,
30
+ key: props.key as string,
31
+ children: generateSimpleTree(children)
32
+ }));
33
+ }
34
+
35
+ function getColumns(columnDefinitions: ColDef[]): ColumnNode[] {
36
+ // noinspection UnnecessaryLocalVariableJS
37
+ const columns = columnDefinitions.map((columnDef) => {
38
+ const id = columnDef.colId ? columnDef.colId : (columnDef.field ? columnDef.field : "");
39
+ const group = (columnDef as any).group;
40
+ return {
41
+ key: id,
42
+ title: columnDef.headerName ? columnDef.headerName : "unknown",
43
+ description: columnDef.headerTooltip,
44
+ group: group
45
+ };
46
+ });
47
+ return columns;
48
+ }
49
+
50
+ function getColumnsTree(columns: ColumnNode[], filteredItems: ColumnNode[] | undefined = undefined): ColumnNode[] {
51
+ const columnsDefinitionTree: ColumnNode[] = [];
52
+ columns.forEach((column) => {
53
+ const itemPresent = filteredItems ? (filteredItems.filter((filteredItem) => {
54
+ return filteredItem.key === column.key
55
+ }).length > 0) : true;
56
+ if (!itemPresent) {
57
+ return;
58
+ }
59
+ let parent = _head(columnsDefinitionTree.filter((parentNode) => parentNode.key === ("_group_" + column.group)));
60
+ if (!parent) {
61
+ parent = {key: "_group_" + column.group, title: column.group ? column.group : "unknown"};
62
+ columnsDefinitionTree.push(parent)
63
+ }
64
+ if (!parent.children) {
65
+ parent.children = [];
66
+ }
67
+ parent.children.push({key: column.key, title: column.title});
68
+ });
69
+ return columnsDefinitionTree;
70
+ }
71
+
72
+ interface ColumnNode extends TransferItem {
73
+ group?: string
74
+ children?: ColumnNode[]
75
+ }
76
+
77
+ export const enum ColumnTransferType {
78
+ SIMPLE = "simple",
79
+ FULL = "full"
80
+ }
81
+
82
+ export interface ColumnTransferProps {
83
+ columnDefinitions: ColDef[]
84
+ columnModel: ColumnState[]
85
+ gridApi: GridApi
86
+ type?: ColumnTransferType,
87
+ height?: number
88
+ }
89
+
90
+ export default class ColumnTransfer extends React.Component<ColumnTransferProps> {
91
+ public static defaultProps = {
92
+ type: ColumnTransferType.FULL
93
+ };
94
+
95
+ constructor(props: Readonly<ColumnTransferProps>) {
96
+ super(props);
97
+ this.onChange = this.onChange.bind(this);
98
+ }
99
+
100
+ onChange(_: React.Key[], direction: string, moveKeys: React.Key[]) {
101
+ moveKeys.forEach((columnKey) => {
102
+ if (typeof columnKey === "string") {
103
+ if (columnKey.indexOf("_group_") >= 0) {
104
+ const columnsTree: ColumnNode[] = getColumnsTree(getColumns(this.props.columnDefinitions));
105
+ const columnGroup: ColumnNode | undefined = _head(columnsTree.filter((columnGroup) => {
106
+ return columnGroup.key === columnKey;
107
+ }));
108
+ if (columnGroup && columnGroup.children) {
109
+ columnGroup.children.forEach((column) => {
110
+ this.props.gridApi.setColumnsVisible([column.key as string], direction === "right");
111
+ });
112
+ }
113
+ } else {
114
+ this.props.gridApi.setColumnsVisible([columnKey], direction === "right");
115
+ }
116
+ }
117
+ });
118
+ };
119
+
120
+ render() {
121
+ const {columnDefinitions, columnModel, gridApi, type, ...restProps} = this.props;
122
+ const columns = getColumns(columnDefinitions);
123
+ const visibleColumnIds = columnModel.filter((column) => !column.hide).map((column) => column.colId) as string[];
124
+ if (type === ColumnTransferType.SIMPLE) {
125
+ const columnsTree = getColumnsTree(columns);
126
+ return (<Tree<TreeNodeType>
127
+ blockNode
128
+ checkable
129
+ defaultExpandAll
130
+ checkedKeys={visibleColumnIds}
131
+ onCheck={(selectedKeys, {node,},) => {
132
+ const selectedColumnId: string = (node as any).props?.eventKey ? (node as any).props.eventKey : "";
133
+ const visible = Array.isArray(selectedKeys) && selectedKeys.indexOf(selectedColumnId) >= 0;
134
+ if (selectedColumnId.indexOf("_group_") >= 0) {
135
+ const columnGroup: ColumnNode | undefined = _head(columnsTree.filter((columnGroup) => {
136
+ return columnGroup.key === selectedColumnId;
137
+ }));
138
+ if (columnGroup && columnGroup.children) {
139
+ columnGroup.children.forEach((column) => {
140
+ this.props.gridApi.setColumnsVisible([column.key as string], visible);
141
+ });
142
+ }
143
+ } else {
144
+ this.props.gridApi.setColumnsVisible([selectedColumnId], visible);
145
+ }
146
+ }}
147
+ treeData={generateSimpleTree(columnsTree)}
148
+ />);
149
+ } else {
150
+ const titles = [<b>{i18n("Hidden Columns")}:</b>, <b>{i18n("Shown Columns")}:</b>] as unknown as string[]; // special hack to overcome typescript titles attribute in Transfer component could be also [ReactElement, ReactElement]
151
+ return (
152
+ <Transfer {...restProps}
153
+ style={{height: this.props.height, minHeight: 100}}
154
+ locale={{
155
+ itemUnit: "",
156
+ itemsUnit: "",
157
+ notFoundContent: i18n('The column list is empty'),
158
+ searchPlaceholder: i18n('Column Name')
159
+ }}
160
+ targetKeys={visibleColumnIds}
161
+ dataSource={columns}
162
+ className="tree-transfer"
163
+ render={item => item.title ? item.title : null}
164
+ showSelectAll={true}
165
+ titles={titles}
166
+ filterOption={(inputValue, item) => !!item.title && item.title.toLowerCase().indexOf(inputValue.toLowerCase()) > -1}
167
+ showSearch
168
+ onChange={this.onChange}>
169
+ {({direction, onItemSelect, selectedKeys, filteredItems, onItemSelectAll}) => {
170
+ if (direction === 'left') {
171
+ const checkedKeys = [...selectedKeys];
172
+ const columnsTree = getColumnsTree(columns, filteredItems);
173
+ return (
174
+ <div style={{
175
+ overflowY: "auto",
176
+ height: (this.props.height ? this.props.height : 100) - 100
177
+ }}>
178
+ <Tree<TreeNodeType>
179
+ blockNode
180
+ checkable
181
+ defaultExpandAll
182
+ checkedKeys={checkedKeys}
183
+ onCheck={(_, {node,},) => {
184
+ if ((node as any).props?.eventKey) {
185
+ onItemSelect((node as any).props.eventKey, !isChecked(checkedKeys, (node as any).props.eventKey));
186
+ }
187
+ }}
188
+ onSelect={(_, {node},) => {
189
+ if ((node as any).props?.eventKey) {
190
+ onItemSelect((node as any).props.eventKey, !isChecked(checkedKeys, (node as any).props.eventKey));
191
+ }
192
+ }}
193
+ treeData={generateTree(columnsTree, visibleColumnIds)}
194
+ />
195
+ </div>
196
+ );
197
+ } else {
198
+ const rowSelection: TableRowSelection<ColumnNode> = {
199
+ getCheckboxProps: item => {
200
+ return {disabled: !!item.disabled};
201
+ },
202
+ onSelectAll(selected, selectedRows) {
203
+ const treeSelectedKeys = selectedRows
204
+ .filter(item => !item.disabled)
205
+ .map(({key}) => key);
206
+ let diffKeys: any;
207
+ if (selected) {
208
+ diffKeys = difference(treeSelectedKeys, selectedKeys);
209
+ } else {
210
+ diffKeys = difference(selectedKeys, treeSelectedKeys);
211
+ }
212
+ onItemSelectAll(diffKeys, selected);
213
+ },
214
+ onSelect({key}, selected) {
215
+ onItemSelect(key as string, selected);
216
+ },
217
+ selectedRowKeys: selectedKeys,
218
+ };
219
+
220
+ return (
221
+ <div style={{
222
+ overflowY: "auto",
223
+ height: (this.props.height ? this.props.height : 100) - 100
224
+ }}>
225
+ <DragSortingTable<ColumnNode>
226
+ showHeader={false}
227
+ pagination={false}
228
+ rowSelection={rowSelection}
229
+ columns={[
230
+ {
231
+ dataIndex: 'title',
232
+ title: 'Name',
233
+ },
234
+ ]}
235
+ dataSource={filteredItems}
236
+ size="small"
237
+ onRow={({key, disabled: itemDisabled}) => ({
238
+ onClick: () => {
239
+ if (itemDisabled) {
240
+ return;
241
+ }
242
+ onItemSelect(key as string, !selectedKeys.includes(key as string));
243
+ },
244
+ })}
245
+ onMoveRow={(column: ColumnNode, _: number, toIndex: number) => {
246
+ this.props.gridApi.moveColumns([column.key as string], toIndex);
247
+ }}
248
+ />
249
+ </div>
250
+ );
251
+ }
252
+ }}
253
+ </Transfer>
254
+ );
255
+ }
256
+ };
257
+ }
258
+
@@ -0,0 +1,328 @@
1
+ import React from "react";
2
+ import {DownloadOutlined, SaveOutlined, SettingOutlined} from "@ant-design/icons";
3
+ import {Button, Collapse, CollapseProps, Drawer, InputNumber, notification, Space, Switch} from 'antd';
4
+ import i18n from "d2core/i18n/i18n"
5
+ import ColumnTransfer, {ColumnTransferType} from "./columnTransfer";
6
+ import RowStylePicker from "./rowStylePicker";
7
+ import cloneDeep from "lodash/cloneDeep"
8
+ import {RowStyleRule} from "d2coreui/components/grid/cell/tableDefaultRowStyleRules";
9
+ import {ColDef, ColumnState, GridApi} from "ag-grid-community";
10
+ import {DataGridColDef} from "../dataGrid";
11
+ import {ModalDialog, ModalDialogMode} from "d2coreui/components/modal/modalDialog";
12
+ import {UndoIcon} from "d2coreui/components/icons/undoIcon";
13
+ import PlatformSpecific from "d2coreui/components/platformSpecific";
14
+
15
+ const REVERT_BUTTON_STYLE = {marginTop: -5};
16
+
17
+ interface DataGridEditorProps {
18
+ dataGrid: any
19
+ gridApi: GridApi
20
+ columnDefinitions: DataGridColDef[]
21
+ columnModel: ColumnState[]
22
+
23
+ currentPageSize: number
24
+ paginationPageSize: number
25
+ paginationDefaultPageSize?: number
26
+ showMilliseconds: boolean
27
+ defaultShowMilliseconds: boolean
28
+ showYear: boolean
29
+ defaultShowYear: boolean
30
+
31
+ defaultRowStyleRules?: RowStyleRule[]
32
+ rowStyleRules: RowStyleRule[]
33
+
34
+ onChangeRowStyleRules?(rowStyleRules: RowStyleRule[]): void
35
+
36
+ visible: boolean
37
+
38
+ onTableConfigVisible(visible: boolean): void
39
+ }
40
+
41
+ interface DataGridEditorState {
42
+ targetKeys: string[]
43
+ initialPageSize: number
44
+ windowName: string
45
+ configurationChangesDisabled: boolean
46
+ }
47
+
48
+ export default class DataGridEditor extends React.Component<DataGridEditorProps, DataGridEditorState> {
49
+ constructor(props: Readonly<DataGridEditorProps>) {
50
+ super(props);
51
+ this.state = {
52
+ targetKeys: [],
53
+ initialPageSize: props.currentPageSize,
54
+ windowName: "",
55
+ configurationChangesDisabled: PlatformSpecific.INSTANCE.configurationChangesDisabled()
56
+ };
57
+ this.onChange = this.onChange.bind(this);
58
+ }
59
+
60
+ componentDidMount() {
61
+ this.setState({
62
+ initialPageSize: this.props.currentPageSize,
63
+ windowName: PlatformSpecific.INSTANCE.getCurrentWindowName()
64
+ });
65
+ }
66
+
67
+ onChange(targetKeys: string[]) {
68
+ this.setState({targetKeys});
69
+ };
70
+
71
+ render() {
72
+ return (
73
+ <Drawer
74
+ title={<div style={{width: "100%", paddingRight: 24}}>
75
+ <SettingOutlined/> {i18n("Advanced Settings")}
76
+ </div>}
77
+ placement="right"
78
+ closable={true}
79
+ mask={true}
80
+ width={340}
81
+ onClose={() => {
82
+ this.props.onTableConfigVisible(false);
83
+ }}
84
+ open={this.props.visible}
85
+ style={{borderTop: "1px solid #ddd"}}
86
+ styles={{
87
+ body: {padding: 0},
88
+ mask: {background: "transparent"}
89
+ }}
90
+ >
91
+ <Collapse defaultActiveKey={[]}
92
+ bordered={false}
93
+ items={[
94
+ this.getWindowSettingsPanel(),
95
+ this.renderTableGeneralSettingsPanel(),
96
+ this.renderTableColumnSettingsPanel(),
97
+ this.props.rowStyleRules && this.renderRowsPanel(),
98
+ ]} />
99
+ </Drawer>
100
+ );
101
+ }
102
+
103
+ getWindowSettingsPanel(): NonNullable<CollapseProps['items']>[number] {
104
+ return {
105
+ key: "window-settings",
106
+ label: <span style={{fontWeight: 500}}>{i18n("Window") + " \"" + this.state.windowName + " \""}</span>,
107
+ extra: (
108
+ <Button
109
+ title={i18n("Revert configuration to predefined state")} icon={<UndoIcon/>} key="revert"
110
+ style={REVERT_BUTTON_STYLE}
111
+ danger
112
+ ghost
113
+ onClick={(e) => {
114
+ e.stopPropagation();
115
+ e.nativeEvent.stopImmediatePropagation();
116
+ PlatformSpecific.INSTANCE.reloadPageInPredefinedState();
117
+ }}/>
118
+ ),
119
+ children: (
120
+ <>
121
+ <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>
122
+ <Button type="primary" style={{width: "100%"}}
123
+ disabled={this.state.configurationChangesDisabled}
124
+ title={i18n("Save current window configuration for current user")}
125
+ onClick={() => {
126
+ ModalDialog.confirm({
127
+ mode: ModalDialogMode.YES_NO,
128
+ title: <span
129
+ style={{whiteSpace: "nowrap"}}>{i18n("Save Window Configuration") + "?"}</span>,
130
+ width: 400,
131
+ onOk: () => {
132
+ PlatformSpecific.INSTANCE.saveWindowConfiguration();
133
+ notification['success']({
134
+ message: i18n("Window configuration saved successfully"),
135
+ })
136
+ },
137
+ });
138
+
139
+ }}>
140
+ <SaveOutlined/>{i18n("Save Window Configuration")}
141
+ </Button>
142
+ </div>
143
+ <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>
144
+ <Button style={{width: "100%"}}
145
+ title={i18n("Export current window configuration to file")}
146
+ onClick={() => {
147
+ PlatformSpecific.INSTANCE.exportWindowConfiguration();
148
+ }}>
149
+ <DownloadOutlined/>{i18n("Export Window Configuration")}
150
+ </Button>
151
+ </div>
152
+ <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>
153
+ <Button danger ghost
154
+ style={{width: "100%"}}
155
+ onClick={() => {
156
+ PlatformSpecific.INSTANCE.reloadPageInFactoryState();
157
+ }}>
158
+ <UndoIcon/>{i18n("Revert to factory configuration")}
159
+ </Button>
160
+ </div>
161
+ </>
162
+ )
163
+ };
164
+ }
165
+
166
+ renderTableGeneralSettingsPanel(): NonNullable<CollapseProps['items']>[number] {
167
+ const paginationEnabled = this.props.paginationPageSize >= 0;
168
+ const automaticPagination = this.props.paginationPageSize === 0;
169
+ return {
170
+ key: "general",
171
+ label: <span style={{fontWeight: 500}}>{i18n("Table - General Settings")}</span>,
172
+ extra: (
173
+ <Button
174
+ title={i18n("Revert configuration to predefined state")} icon={<UndoIcon/>}
175
+ key="revert"
176
+ style={REVERT_BUTTON_STYLE}
177
+ danger
178
+ ghost
179
+ onClick={(e) => {
180
+ e.stopPropagation();
181
+ e.nativeEvent.stopImmediatePropagation();
182
+ if (this.props.paginationDefaultPageSize !== undefined) {
183
+ this.props.dataGrid.changePagination(this.props.paginationDefaultPageSize);
184
+ } else {
185
+ this.props.dataGrid.changePagination(0);
186
+ }
187
+ this.props.dataGrid.showMilliseconds(this.props.defaultShowMilliseconds);
188
+ this.props.dataGrid.showYear(this.props.defaultShowYear);
189
+ }}/>
190
+ ),
191
+ children: (
192
+ <Space direction="vertical" style={{width: "100%"}}>
193
+ <div style={{width: "100%"}}>
194
+ <span>{i18n("Pagination")}</span>
195
+ <span style={{float: "right"}}>
196
+ <Switch checkedChildren={i18n("Enabled") + " "}
197
+ unCheckedChildren={i18n(" " + i18n("Disabled"))}
198
+ checked={paginationEnabled}
199
+ onChange={(checked) => {
200
+ this.props.dataGrid.changePagination(checked ? 0 : -1);
201
+ }}/>
202
+ </span>
203
+ </div>
204
+ <div style={{width: "100%"}}>
205
+ <span>{i18n("Page Size")}</span>
206
+ <span style={{float: "right"}}>
207
+ <InputNumber
208
+ size="small"
209
+ style={{
210
+ width: 70,
211
+ display: !paginationEnabled || automaticPagination ? "none" : "",
212
+ marginLeft: 8
213
+ }}
214
+ placeholder="size"
215
+ className="custom"
216
+ value={this.props.currentPageSize}
217
+ onChange={(pageSize) => {
218
+ if (pageSize) {
219
+ this.props.dataGrid.changePagination(pageSize);
220
+ }
221
+ }}
222
+ />
223
+ <Switch disabled={!paginationEnabled}
224
+ style={{minWidth: 100}}
225
+ checkedChildren={i18n("Automatic") + " "}
226
+ unCheckedChildren={i18n(" " + i18n("Fixed"))}
227
+ checked={!paginationEnabled || automaticPagination}
228
+ onChange={(checked) => {
229
+ this.props.dataGrid.changePagination(checked ? 0 : (this.state.initialPageSize > 1 ? this.state.initialPageSize : 20));
230
+ }}/>
231
+ </span>
232
+ </div>
233
+ <div style={{width: "100%"}}>
234
+ <span>{i18n("Show time with year")}</span>
235
+ <span style={{float: "right"}}>
236
+ <Switch checkedChildren={i18n("Yes") + " "}
237
+ unCheckedChildren={i18n(" " + i18n("No"))}
238
+ checked={this.props.showYear}
239
+ onChange={(checked) => {
240
+ this.props.dataGrid.showYear(checked);
241
+ }}/>
242
+ </span>
243
+ </div>
244
+ <div style={{width: "100%"}}>
245
+ <span>{i18n("Show time with milliseconds")}</span>
246
+ <span style={{float: "right"}}>
247
+ <Switch checkedChildren={i18n("Yes") + " "}
248
+ unCheckedChildren={i18n(" " + i18n("No"))}
249
+ checked={this.props.showMilliseconds}
250
+ onChange={(checked) => {
251
+ this.props.dataGrid.showMilliseconds(checked);
252
+ }}/>
253
+ </span>
254
+ </div>
255
+ </Space>
256
+ )
257
+ };
258
+ }
259
+
260
+ renderTableColumnSettingsPanel(): NonNullable<CollapseProps['items']>[number] {
261
+ return {
262
+ key: "columns",
263
+ label: <span style={{fontWeight: 500}}>{i18n("Table - Columns")}</span>,
264
+ extra: (
265
+ <Button
266
+ title={i18n("Revert configuration to predefined state")} icon={<UndoIcon/>}
267
+ key="revert"
268
+ style={REVERT_BUTTON_STYLE}
269
+ danger
270
+ ghost
271
+ onClick={(e) => {
272
+ e.stopPropagation();
273
+ e.nativeEvent.stopImmediatePropagation();
274
+ this.props.gridApi.resetColumnState();
275
+ }}/>
276
+ ),
277
+ children: (
278
+ <ColumnTransfer
279
+ columnDefinitions={this.props.columnDefinitions as ColDef[]}
280
+ columnModel={this.props.columnModel}
281
+ type={ColumnTransferType.SIMPLE}
282
+ gridApi={this.props.gridApi}
283
+ />
284
+ )
285
+ };
286
+ }
287
+
288
+ renderRowsPanel(): NonNullable<CollapseProps['items']>[number] {
289
+ return {
290
+ key: "rows",
291
+ label: <span style={{fontWeight: 500}}>{i18n("Table - Rows Styling")}</span>,
292
+ extra: (
293
+ <Button
294
+ title={i18n("Revert configuration to predefined state")} icon={<UndoIcon/>}
295
+ key="revert"
296
+ style={REVERT_BUTTON_STYLE}
297
+ danger
298
+ ghost
299
+ onClick={(e) => {
300
+ e.stopPropagation();
301
+ e.nativeEvent.stopImmediatePropagation();
302
+ if (this.props.defaultRowStyleRules) {
303
+ const rowStyleRules = cloneDeep(this.props.defaultRowStyleRules);
304
+ if (this.props.onChangeRowStyleRules) {
305
+ this.props.onChangeRowStyleRules(rowStyleRules);
306
+ }
307
+ }
308
+ }}/>
309
+ ),
310
+ children: (
311
+ <div>
312
+ {this.props.rowStyleRules.map((rowStyleRule, index) => this.renderRowStyleRule(rowStyleRule, index))}
313
+ </div>
314
+ )
315
+ };
316
+ }
317
+
318
+ renderRowStyleRule(rowStyleRule: RowStyleRule, index: number) {
319
+ return (
320
+ <RowStylePicker key={"row-style-picker-" + index} rowStyleRule={rowStyleRule} onChange={(rowStyleRule) => {
321
+ this.props.rowStyleRules[index] = rowStyleRule;
322
+ if (this.props.onChangeRowStyleRules) {
323
+ this.props.onChangeRowStyleRules(this.props.rowStyleRules);
324
+ }
325
+ }}/>
326
+ );
327
+ }
328
+ }
@@ -0,0 +1,29 @@
1
+ import {RGBColor} from "react-color";
2
+
3
+ export const GRID_DEFAULT_ROW_HEIGHT_DELTA = 8;
4
+
5
+ export const GRID_DEFAULT_FONT_SIZE = 12;
6
+
7
+ export const calculateRowHeight = (fontSize: string | number | RGBColor | null, rowHeightDelta: string | number | RGBColor | null) => {
8
+ const currentFontSize: number = fontSize && typeof fontSize === "number" ? fontSize : GRID_DEFAULT_FONT_SIZE;
9
+ const currentRowHeightDelta: number = rowHeightDelta && typeof rowHeightDelta === "number" ? rowHeightDelta : GRID_DEFAULT_ROW_HEIGHT_DELTA;
10
+ return currentFontSize + 2 * currentRowHeightDelta;
11
+ }
12
+
13
+ export const calculateLineHeight = (fontSize: string | number | RGBColor | null, rowHeightDelta: string | number | RGBColor | null) => {
14
+ return calculateRowHeight(fontSize, rowHeightDelta) - 2;
15
+ }
16
+
17
+ export const getLineHeight = (rowHeight: number) => {
18
+ return rowHeight - 2;
19
+ }
20
+
21
+ export const getFontSize = (fontSize: string | number | RGBColor) => {
22
+ return fontSize && typeof fontSize === "number" ? fontSize : GRID_DEFAULT_FONT_SIZE;
23
+ }
24
+
25
+ export const getRowHeightDelta = (rowHeightDelta: string | number | RGBColor) => {
26
+ return rowHeightDelta && typeof rowHeightDelta === "number" ? rowHeightDelta : GRID_DEFAULT_ROW_HEIGHT_DELTA;
27
+ }
28
+
29
+