ods-component-lib 1.21.2 → 1.22.1

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 (594) hide show
  1. package/README.md +369 -19
  2. package/dist/_virtual/index.js +3 -5
  3. package/dist/_virtual/index.js.map +1 -1
  4. package/dist/_virtual/index2.js +2 -3
  5. package/dist/_virtual/index2.js.map +1 -1
  6. package/dist/_virtual/index3.js +5 -2
  7. package/dist/_virtual/index3.js.map +1 -1
  8. package/dist/_virtual/index4.js +5 -3
  9. package/dist/_virtual/index4.js.map +1 -1
  10. package/dist/_virtual/index5.js +3 -2
  11. package/dist/_virtual/index5.js.map +1 -1
  12. package/dist/_virtual/index6.js +2 -5
  13. package/dist/_virtual/index6.js.map +1 -1
  14. package/dist/_virtual/index7.js +2 -5
  15. package/dist/_virtual/index7.js.map +1 -1
  16. package/dist/_virtual/index8.js +5 -2
  17. package/dist/_virtual/index8.js.map +1 -1
  18. package/dist/components/antd/alert/OdsAlert.js +5 -8
  19. package/dist/components/antd/alert/OdsAlert.js.map +1 -1
  20. package/dist/components/antd/autocomplete/OdsAutoComplete.js +5 -8
  21. package/dist/components/antd/autocomplete/OdsAutoComplete.js.map +1 -1
  22. package/dist/components/antd/badge/OdsBadge.js +2 -5
  23. package/dist/components/antd/badge/OdsBadge.js.map +1 -1
  24. package/dist/components/antd/badge/OdsBadgeRibbon.js +4 -7
  25. package/dist/components/antd/badge/OdsBadgeRibbon.js.map +1 -1
  26. package/dist/components/antd/button/OdsButton.js +5 -8
  27. package/dist/components/antd/button/OdsButton.js.map +1 -1
  28. package/dist/components/antd/button/OdsDataGrdiRowButton.js +25 -26
  29. package/dist/components/antd/button/OdsDataGrdiRowButton.js.map +1 -1
  30. package/dist/components/antd/calendar/OdsCalendar.js +5 -8
  31. package/dist/components/antd/calendar/OdsCalendar.js.map +1 -1
  32. package/dist/components/antd/card/OdsCard.js +5 -13
  33. package/dist/components/antd/card/OdsCard.js.map +1 -1
  34. package/dist/components/antd/change/OdsChange.js +136 -85
  35. package/dist/components/antd/change/OdsChange.js.map +1 -1
  36. package/dist/components/antd/change/OdsChange.module.css +1 -0
  37. package/dist/components/antd/change/OdsChange.module.scss.js +12 -0
  38. package/dist/components/antd/change/OdsChange.module.scss.js.map +1 -0
  39. package/dist/components/antd/checkbox/OdsCheckbox.js +5 -8
  40. package/dist/components/antd/checkbox/OdsCheckbox.js.map +1 -1
  41. package/dist/components/antd/checkbox/OdsCheckboxGroup.js +5 -8
  42. package/dist/components/antd/checkbox/OdsCheckboxGroup.js.map +1 -1
  43. package/dist/components/antd/collapse/OdsCollapse.js +2 -4
  44. package/dist/components/antd/collapse/OdsCollapse.js.map +1 -1
  45. package/dist/components/antd/currencyInput/CurrencySelect.js +14 -9
  46. package/dist/components/antd/currencyInput/CurrencySelect.js.map +1 -1
  47. package/dist/components/antd/currencyInput/OdsCurrencyInput.js +53 -57
  48. package/dist/components/antd/currencyInput/OdsCurrencyInput.js.map +1 -1
  49. package/dist/components/antd/datePicker/OdsDatePicker.js +5 -10
  50. package/dist/components/antd/datePicker/OdsDatePicker.js.map +1 -1
  51. package/dist/components/antd/datePicker/OdsDateRangePicker.js +5 -14
  52. package/dist/components/antd/datePicker/OdsDateRangePicker.js.map +1 -1
  53. package/dist/components/antd/divider/OdsDivider.js +5 -6
  54. package/dist/components/antd/divider/OdsDivider.js.map +1 -1
  55. package/dist/components/antd/dropdown/OdsDropdown.js +3 -12
  56. package/dist/components/antd/dropdown/OdsDropdown.js.map +1 -1
  57. package/dist/components/antd/image/OdsImage.js.map +1 -1
  58. package/dist/components/antd/input/OdsInput.js +5 -8
  59. package/dist/components/antd/input/OdsInput.js.map +1 -1
  60. package/dist/components/antd/input/OdsPassword.js +13 -10
  61. package/dist/components/antd/input/OdsPassword.js.map +1 -1
  62. package/dist/components/antd/input/OdsPhoneInput.js +12 -17
  63. package/dist/components/antd/input/OdsPhoneInput.js.map +1 -1
  64. package/dist/components/antd/input/OdsSearch.js +3 -6
  65. package/dist/components/antd/input/OdsSearch.js.map +1 -1
  66. package/dist/components/antd/input/OdsTextArea.js +5 -8
  67. package/dist/components/antd/input/OdsTextArea.js.map +1 -1
  68. package/dist/components/antd/inputNumber/OdsInputNumber.js +5 -8
  69. package/dist/components/antd/inputNumber/OdsInputNumber.js.map +1 -1
  70. package/dist/components/antd/list/OdsList.js +5 -22
  71. package/dist/components/antd/list/OdsList.js.map +1 -1
  72. package/dist/components/antd/modal/OdsModal.js +4 -5
  73. package/dist/components/antd/modal/OdsModal.js.map +1 -1
  74. package/dist/components/antd/notification/OdsNotification.js +6 -8
  75. package/dist/components/antd/notification/OdsNotification.js.map +1 -1
  76. package/dist/components/antd/progress/OdsProgress.js +5 -8
  77. package/dist/components/antd/progress/OdsProgress.js.map +1 -1
  78. package/dist/components/antd/radio/OdsRadio.js +4 -9
  79. package/dist/components/antd/radio/OdsRadio.js.map +1 -1
  80. package/dist/components/antd/radio/OdsRadioGroup.js +5 -6
  81. package/dist/components/antd/radio/OdsRadioGroup.js.map +1 -1
  82. package/dist/components/antd/rate/OdsRate.js +5 -8
  83. package/dist/components/antd/rate/OdsRate.js.map +1 -1
  84. package/dist/components/antd/select/OdsSelect.js +4 -7
  85. package/dist/components/antd/select/OdsSelect.js.map +1 -1
  86. package/dist/components/antd/spin/OdsSpin.js +5 -7
  87. package/dist/components/antd/spin/OdsSpin.js.map +1 -1
  88. package/dist/components/antd/switch/OdsSwitch.js +4 -7
  89. package/dist/components/antd/switch/OdsSwitch.js.map +1 -1
  90. package/dist/components/antd/tab/OdsTab.js +5 -8
  91. package/dist/components/antd/tab/OdsTab.js.map +1 -1
  92. package/dist/components/antd/table/OdsTable.js +9 -0
  93. package/dist/components/antd/table/OdsTable.js.map +1 -0
  94. package/dist/components/antd/tag/OdsTag.js +5 -8
  95. package/dist/components/antd/tag/OdsTag.js.map +1 -1
  96. package/dist/components/antd/timeline/OdsTimeline.js +5 -12
  97. package/dist/components/antd/timeline/OdsTimeline.js.map +1 -1
  98. package/dist/components/antd/timepicker/OdsRangeTimepicker.js +6 -7
  99. package/dist/components/antd/timepicker/OdsRangeTimepicker.js.map +1 -1
  100. package/dist/components/antd/timepicker/OdsTimepicker.js +6 -9
  101. package/dist/components/antd/timepicker/OdsTimepicker.js.map +1 -1
  102. package/dist/components/antd/treeSelect/OdsTreeSelect.js +5 -29
  103. package/dist/components/antd/treeSelect/OdsTreeSelect.js.map +1 -1
  104. package/dist/components/antd/typography/OdsLink.js +5 -3
  105. package/dist/components/antd/typography/OdsLink.js.map +1 -1
  106. package/dist/components/antd/typography/OdsParagraph.js +5 -3
  107. package/dist/components/antd/typography/OdsParagraph.js.map +1 -1
  108. package/dist/components/antd/typography/OdsText.js +5 -8
  109. package/dist/components/antd/typography/OdsText.js.map +1 -1
  110. package/dist/components/antd/typography/OdsTitle.js +5 -8
  111. package/dist/components/antd/typography/OdsTitle.js.map +1 -1
  112. package/dist/components/devextreme/DataGrid/OdsDataGrid/index.js +45 -35
  113. package/dist/components/devextreme/DataGrid/OdsDataGrid/index.js.map +1 -1
  114. package/dist/components/devextreme/DataGrid/hooks/useBodyClasses.js +27 -18
  115. package/dist/components/devextreme/DataGrid/hooks/useBodyClasses.js.map +1 -1
  116. package/dist/components/devextreme/DataGrid/styles/OdsDataGrid.css +1 -0
  117. package/dist/components/devextreme/DxDataGrid.module.css +1 -0
  118. package/dist/components/devextreme/DxDataGrid.module.scss.js +8 -0
  119. package/dist/components/devextreme/DxDataGrid.module.scss.js.map +1 -0
  120. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.Constants.js +0 -1
  121. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.Constants.js.map +1 -1
  122. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.js +55 -64
  123. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.js.map +1 -1
  124. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.module.css +1 -0
  125. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.module.scss.js +10 -0
  126. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.module.scss.js.map +1 -0
  127. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.Constants.js +0 -1
  128. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.Constants.js.map +1 -1
  129. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.js +40 -41
  130. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.js.map +1 -1
  131. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.module.css +1 -0
  132. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.module.scss.js +10 -0
  133. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.module.scss.js.map +1 -0
  134. package/dist/components/devextreme/OdsDataGrid.Legacy.js +30 -30
  135. package/dist/components/devextreme/OdsDataGrid.Legacy.js.map +1 -1
  136. package/dist/components/devextreme/OdsDisplayGrid.js +36 -36
  137. package/dist/components/devextreme/OdsDisplayGrid.js.map +1 -1
  138. package/dist/components/devextreme/OdsInlineEditDataGrid/OdsInlineEditDataGrid.js +2 -2
  139. package/dist/components/devextreme/OdsInlineEditDataGrid/OdsInlineEditDataGrid.js.map +1 -1
  140. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnActionCellRenderHandler.js.map +1 -1
  141. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnContentReadyHandler.js.map +1 -1
  142. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnEditorPreparedHandler.js.map +1 -1
  143. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnOptionChangedHandler.js.map +1 -1
  144. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnSummaryHandler.js.map +1 -1
  145. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/PageTitleAndToolbarPartial.js +22 -25
  146. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/PageTitleAndToolbarPartial.js.map +1 -1
  147. package/dist/components/devextreme/OdsInlineEditDataGrid/styles.module.css +1 -0
  148. package/dist/components/devextreme/OdsInlineEditDataGrid/styles.module.scss.js +16 -0
  149. package/dist/components/devextreme/OdsInlineEditDataGrid/styles.module.scss.js.map +1 -0
  150. package/dist/components/devextreme/OdsMasterDetailDataGrid/OdsMasterDetailDataGrid.js.map +1 -1
  151. package/dist/components/devextreme/OdsMasterDetailDataGrid/handlers/OnActionCellRenderHandler.js.map +1 -1
  152. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Constants.js.map +1 -1
  153. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Helper.js.map +1 -1
  154. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.js +83 -84
  155. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.js.map +1 -1
  156. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.module.css +1 -0
  157. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.module.scss.js +12 -0
  158. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.module.scss.js.map +1 -0
  159. package/dist/components/devextreme/OdsRemoteDataGrid.js +19 -19
  160. package/dist/components/devextreme/OdsRemoteDataGrid.js.map +1 -1
  161. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.js +2 -2
  162. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.js.map +1 -1
  163. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.module.css +1 -0
  164. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.module.scss.js +10 -0
  165. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.module.scss.js.map +1 -0
  166. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Functions.js +62 -63
  167. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Functions.js.map +1 -1
  168. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Types.js.map +1 -1
  169. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.js +29 -29
  170. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.js.map +1 -1
  171. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.module.css +1 -0
  172. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.module.scss.js +26 -0
  173. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.module.scss.js.map +1 -0
  174. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableColumnChooser.js +3 -3
  175. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableColumnChooser.js.map +1 -1
  176. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableTaskTemplate.js +13 -11
  177. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableTaskTemplate.js.map +1 -1
  178. package/dist/components/devextreme/OdsTransfer.js +130 -93
  179. package/dist/components/devextreme/OdsTransfer.js.map +1 -1
  180. package/dist/components/devextreme/OdsTransferV2.js +41 -41
  181. package/dist/components/devextreme/OdsTransferV2.js.map +1 -1
  182. package/dist/components/devextreme/Transfer.module.css +1 -0
  183. package/dist/components/devextreme/Transfer.module.scss.js +8 -0
  184. package/dist/components/devextreme/Transfer.module.scss.js.map +1 -0
  185. package/dist/components/devextreme/datagridUtils/DynamicIcon.js +1 -1
  186. package/dist/components/filter/OdsFilter.js +57 -59
  187. package/dist/components/filter/OdsFilter.js.map +1 -1
  188. package/dist/components/filter/OdsFilterPlus.js +111 -116
  189. package/dist/components/filter/OdsFilterPlus.js.map +1 -1
  190. package/dist/components/filter/OdsFilterTagView.js +11 -11
  191. package/dist/components/filter/OdsFilterTagView.js.map +1 -1
  192. package/dist/components/filter/styles.module.css +1 -0
  193. package/dist/components/filter/styles.module.scss.js +42 -0
  194. package/dist/components/filter/styles.module.scss.js.map +1 -0
  195. package/dist/components/filter/stylesPlus.module.css +1 -0
  196. package/dist/components/filter/stylesPlus.module.scss.js +46 -0
  197. package/dist/components/filter/stylesPlus.module.scss.js.map +1 -0
  198. package/dist/components/helpers/toolbarSearchBox/ToolbarSearchBox.js +4 -4
  199. package/dist/components/helpers/toolbarSearchBox/ToolbarSearchBox.js.map +1 -1
  200. package/dist/components/helpers/toolbarSearchBox/ToolbarSearchBox.module.css +1 -0
  201. package/dist/components/helpers/toolbarSearchBox/ToolbarSearchBox.module.scss.js +10 -0
  202. package/dist/components/helpers/toolbarSearchBox/ToolbarSearchBox.module.scss.js.map +1 -0
  203. package/dist/index.d.ts +104 -338
  204. package/dist/index.js +129 -139
  205. package/dist/index.js.map +1 -1
  206. package/dist/node_modules/@ant-design/fast-color/es/FastColor.js +0 -1
  207. package/dist/node_modules/@ant-design/fast-color/es/FastColor.js.map +1 -1
  208. package/dist/node_modules/@ant-design/icons/es/utils.js +1 -8
  209. package/dist/node_modules/@ant-design/icons/es/utils.js.map +1 -1
  210. package/dist/node_modules/@rc-component/form/es/FieldContext.js +1 -2
  211. package/dist/node_modules/@rc-component/form/es/FieldContext.js.map +1 -1
  212. package/dist/node_modules/@rc-component/form/es/Form.js +78 -92
  213. package/dist/node_modules/@rc-component/form/es/Form.js.map +1 -1
  214. package/dist/node_modules/@rc-component/form/es/{useForm.js → hooks/useForm.js} +47 -69
  215. package/dist/node_modules/@rc-component/form/es/hooks/useForm.js.map +1 -0
  216. package/dist/node_modules/@rc-component/form/es/hooks/useNotifyWatch.js +43 -0
  217. package/dist/node_modules/@rc-component/form/es/hooks/useNotifyWatch.js.map +1 -0
  218. package/dist/node_modules/@rc-component/form/es/{useWatch.js → hooks/useWatch.js} +7 -7
  219. package/dist/node_modules/@rc-component/form/es/hooks/useWatch.js.map +1 -0
  220. package/dist/node_modules/@rc-component/form/es/index.js +2 -2
  221. package/dist/node_modules/@rc-component/form/es/index.js.map +1 -1
  222. package/dist/node_modules/@rc-component/form/es/utils/valueUtil.js.map +1 -1
  223. package/dist/node_modules/@rc-component/portal/es/Portal.js +41 -35
  224. package/dist/node_modules/@rc-component/portal/es/Portal.js.map +1 -1
  225. package/dist/node_modules/@rc-component/portal/es/useEscKeyDown.js +28 -0
  226. package/dist/node_modules/@rc-component/portal/es/useEscKeyDown.js.map +1 -0
  227. package/dist/node_modules/@rc-component/select/es/BaseSelect/index.js +109 -109
  228. package/dist/node_modules/@rc-component/select/es/BaseSelect/index.js.map +1 -1
  229. package/dist/node_modules/@rc-component/select/es/SelectInput/Content/SingleContent.js +38 -44
  230. package/dist/node_modules/@rc-component/select/es/SelectInput/Content/SingleContent.js.map +1 -1
  231. package/dist/node_modules/@rc-component/select/es/hooks/useOpen.js +25 -25
  232. package/dist/node_modules/@rc-component/select/es/hooks/useOpen.js.map +1 -1
  233. package/dist/node_modules/@rc-component/trigger/es/hooks/useAlign.js +125 -122
  234. package/dist/node_modules/@rc-component/trigger/es/hooks/useAlign.js.map +1 -1
  235. package/dist/node_modules/@rc-component/trigger/es/util.js +35 -34
  236. package/dist/node_modules/@rc-component/trigger/es/util.js.map +1 -1
  237. package/dist/node_modules/@rc-component/util/es/KeyCode.js.map +1 -1
  238. package/dist/node_modules/@rc-component/util/es/isMobile.js +1 -1
  239. package/dist/node_modules/@rc-component/util/es/ref.js +1 -1
  240. package/dist/node_modules/@rc-component/util/es/utils/set.js +21 -21
  241. package/dist/node_modules/@rc-component/util/es/utils/set.js.map +1 -1
  242. package/dist/node_modules/antd/es/_util/wave/index.js +1 -1
  243. package/dist/node_modules/antd/es/_util/wave/index.js.map +1 -1
  244. package/dist/node_modules/antd/es/card/style/index.js +8 -4
  245. package/dist/node_modules/antd/es/card/style/index.js.map +1 -1
  246. package/dist/node_modules/antd/es/form/hooks/useForm.js +1 -1
  247. package/dist/node_modules/antd/es/form/index.js +1 -1
  248. package/dist/node_modules/antd/es/notification/useNotification.js +3 -3
  249. package/dist/node_modules/antd/es/select/style/select-input.js +12 -3
  250. package/dist/node_modules/antd/es/select/style/select-input.js.map +1 -1
  251. package/dist/node_modules/antd/es/tag/style/index.js +5 -5
  252. package/dist/node_modules/antd/es/tag/style/index.js.map +1 -1
  253. package/dist/node_modules/antd/es/theme/index.js +10 -31
  254. package/dist/node_modules/antd/es/theme/index.js.map +1 -1
  255. package/dist/node_modules/antd/es/transfer/ListBody.js +16 -16
  256. package/dist/node_modules/antd/es/transfer/ListBody.js.map +1 -1
  257. package/dist/node_modules/antd/es/transfer/ListItem.js +43 -43
  258. package/dist/node_modules/antd/es/transfer/ListItem.js.map +1 -1
  259. package/dist/node_modules/antd/es/version/version.js +1 -1
  260. package/dist/node_modules/antd/es/version/version.js.map +1 -1
  261. package/dist/node_modules/canvg/lib/index.es.js +2 -2
  262. package/dist/node_modules/exceljs/dist/exceljs.min.js +91 -508
  263. package/dist/node_modules/exceljs/dist/exceljs.min.js.map +1 -1
  264. package/dist/node_modules/html2canvas/dist/html2canvas.esm.js +5 -55
  265. package/dist/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -1
  266. package/dist/node_modules/is-mobile/index.js +1 -1
  267. package/dist/node_modules/jspdf/dist/jspdf.es.min.js +8 -53
  268. package/dist/node_modules/jspdf/dist/jspdf.es.min.js.map +1 -1
  269. package/dist/node_modules/ods-icon/react/24/outline/index.js +1 -1
  270. package/dist/node_modules/raf/index.js +1 -1
  271. package/dist/node_modules/react-is/cjs/react-is.development.js +82 -56
  272. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -1
  273. package/dist/node_modules/{@rc-component/util/node_modules/react-is → react-is}/cjs/react-is.production.min.js +1 -1
  274. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  275. package/dist/node_modules/react-is/index.js +6 -6
  276. package/dist/node_modules/react-is/index.js.map +1 -1
  277. package/dist/providers/OdsConfigProvider.js +47 -0
  278. package/dist/providers/OdsConfigProvider.js.map +1 -0
  279. package/dist/styles/OdsDataGrid.css +1 -0
  280. package/dist/styles/datagrid-globals.css +1 -0
  281. package/dist/utils/ExportDataGridtoExcel.js +1 -1
  282. package/dist/utils/ExportDataGridtoExcel.js.map +1 -1
  283. package/dist/utils/commonFunctions.js +5 -5
  284. package/dist/utils/commonFunctions.js.map +1 -1
  285. package/package.json +29 -20
  286. package/dist/_virtual/hoist-non-react-statics.cjs.js +0 -8
  287. package/dist/_virtual/hoist-non-react-statics.cjs.js.map +0 -1
  288. package/dist/_virtual/index10.js +0 -5
  289. package/dist/_virtual/index10.js.map +0 -1
  290. package/dist/_virtual/index11.js +0 -6
  291. package/dist/_virtual/index11.js.map +0 -1
  292. package/dist/_virtual/index12.js +0 -5
  293. package/dist/_virtual/index12.js.map +0 -1
  294. package/dist/_virtual/index13.js +0 -8
  295. package/dist/_virtual/index13.js.map +0 -1
  296. package/dist/_virtual/index14.js +0 -5
  297. package/dist/_virtual/index14.js.map +0 -1
  298. package/dist/_virtual/react-is.development2.js +0 -5
  299. package/dist/_virtual/react-is.development2.js.map +0 -1
  300. package/dist/_virtual/react-is.development3.js +0 -5
  301. package/dist/_virtual/react-is.development3.js.map +0 -1
  302. package/dist/_virtual/react-is.production.js +0 -5
  303. package/dist/_virtual/react-is.production.js.map +0 -1
  304. package/dist/_virtual/react-is.production.min2.js +0 -5
  305. package/dist/_virtual/react-is.production.min2.js.map +0 -1
  306. package/dist/components/antd/alert/OdsAlert.styled.js +0 -9
  307. package/dist/components/antd/alert/OdsAlert.styled.js.map +0 -1
  308. package/dist/components/antd/alert/OdsBannerAlert.js +0 -16
  309. package/dist/components/antd/alert/OdsBannerAlert.js.map +0 -1
  310. package/dist/components/antd/autocomplete/OdsAutoComplete.styled.js +0 -9
  311. package/dist/components/antd/autocomplete/OdsAutoComplete.styled.js.map +0 -1
  312. package/dist/components/antd/badge/OdsBadge.styled.js +0 -9
  313. package/dist/components/antd/badge/OdsBadge.styled.js.map +0 -1
  314. package/dist/components/antd/button/OdsButton.styled.js +0 -9
  315. package/dist/components/antd/button/OdsButton.styled.js.map +0 -1
  316. package/dist/components/antd/calendar/OdsCalendar.styled.js +0 -9
  317. package/dist/components/antd/calendar/OdsCalendar.styled.js.map +0 -1
  318. package/dist/components/antd/card/OdsCard.styled.js +0 -9
  319. package/dist/components/antd/card/OdsCard.styled.js.map +0 -1
  320. package/dist/components/antd/change/OdsChange.Style.js +0 -24
  321. package/dist/components/antd/change/OdsChange.Style.js.map +0 -1
  322. package/dist/components/antd/checkbox/OdsCheckbox.styled.js +0 -9
  323. package/dist/components/antd/checkbox/OdsCheckbox.styled.js.map +0 -1
  324. package/dist/components/antd/collapse/OdsCollapse.styled.js +0 -9
  325. package/dist/components/antd/collapse/OdsCollapse.styled.js.map +0 -1
  326. package/dist/components/antd/divider/OdsDivider.styled.js +0 -9
  327. package/dist/components/antd/divider/OdsDivider.styled.js.map +0 -1
  328. package/dist/components/antd/dropdown/OdsDropdown.styled.js +0 -9
  329. package/dist/components/antd/dropdown/OdsDropdown.styled.js.map +0 -1
  330. package/dist/components/antd/input/OdsInput.styled.js +0 -9
  331. package/dist/components/antd/input/OdsInput.styled.js.map +0 -1
  332. package/dist/components/antd/inputNumber/OdsInputNumber.styled.js +0 -9
  333. package/dist/components/antd/inputNumber/OdsInputNumber.styled.js.map +0 -1
  334. package/dist/components/antd/list/OdsList.styled.js +0 -9
  335. package/dist/components/antd/list/OdsList.styled.js.map +0 -1
  336. package/dist/components/antd/progress/OdsProgress.styled.js +0 -12
  337. package/dist/components/antd/progress/OdsProgress.styled.js.map +0 -1
  338. package/dist/components/antd/radio/OdsRadio.styled.js +0 -9
  339. package/dist/components/antd/radio/OdsRadio.styled.js.map +0 -1
  340. package/dist/components/antd/rate/OdsRate.styled.js +0 -9
  341. package/dist/components/antd/rate/OdsRate.styled.js.map +0 -1
  342. package/dist/components/antd/select/MultiSelect/OdsMultiSelect.js +0 -55
  343. package/dist/components/antd/select/MultiSelect/OdsMultiSelect.js.map +0 -1
  344. package/dist/components/antd/select/OdsSelect.styled.js +0 -9
  345. package/dist/components/antd/select/OdsSelect.styled.js.map +0 -1
  346. package/dist/components/antd/spin/OdsSpin.styled.js +0 -9
  347. package/dist/components/antd/spin/OdsSpin.styled.js.map +0 -1
  348. package/dist/components/antd/switch/OdsSwitch.styled.js +0 -9
  349. package/dist/components/antd/switch/OdsSwitch.styled.js.map +0 -1
  350. package/dist/components/antd/tab/OdsTab.styled.js +0 -9
  351. package/dist/components/antd/tab/OdsTab.styled.js.map +0 -1
  352. package/dist/components/antd/table/OdsBasicTable.js +0 -10
  353. package/dist/components/antd/table/OdsBasicTable.js.map +0 -1
  354. package/dist/components/antd/table/OdsSelectableTable.js +0 -23
  355. package/dist/components/antd/table/OdsSelectableTable.js.map +0 -1
  356. package/dist/components/antd/table/OdsTable.styled.js +0 -9
  357. package/dist/components/antd/table/OdsTable.styled.js.map +0 -1
  358. package/dist/components/antd/tag/OdsTag.styled.js +0 -9
  359. package/dist/components/antd/tag/OdsTag.styled.js.map +0 -1
  360. package/dist/components/antd/timeline/OdsTimeline.styled.js +0 -9
  361. package/dist/components/antd/timeline/OdsTimeline.styled.js.map +0 -1
  362. package/dist/components/antd/timepicker/OdsTimepicker.styled.js +0 -9
  363. package/dist/components/antd/timepicker/OdsTimepicker.styled.js.map +0 -1
  364. package/dist/components/antd/treeListMenu/OdsTreeListMenu.Styles.js +0 -57
  365. package/dist/components/antd/treeListMenu/OdsTreeListMenu.Styles.js.map +0 -1
  366. package/dist/components/antd/treeListMenu/OdsTreeListMenu.js +0 -217
  367. package/dist/components/antd/treeListMenu/OdsTreeListMenu.js.map +0 -1
  368. package/dist/components/antd/typography/Typography.styled.js +0 -15
  369. package/dist/components/antd/typography/Typography.styled.js.map +0 -1
  370. package/dist/components/devextreme/DataGrid/styles/OdsGlobal.Styles.js +0 -162
  371. package/dist/components/devextreme/DataGrid/styles/OdsGlobal.Styles.js.map +0 -1
  372. package/dist/components/devextreme/DataGrid/styles/styles.js +0 -1236
  373. package/dist/components/devextreme/DataGrid/styles/styles.js.map +0 -1
  374. package/dist/components/devextreme/DataGrid/styles/theme/colors/dark.js +0 -38
  375. package/dist/components/devextreme/DataGrid/styles/theme/colors/dark.js.map +0 -1
  376. package/dist/components/devextreme/DataGrid/styles/theme/colors/default.js +0 -38
  377. package/dist/components/devextreme/DataGrid/styles/theme/colors/default.js.map +0 -1
  378. package/dist/components/devextreme/DataGrid/styles/theme/colors/index.js +0 -12
  379. package/dist/components/devextreme/DataGrid/styles/theme/colors/index.js.map +0 -1
  380. package/dist/components/devextreme/DataGrid/styles/theme/sizes/compact.js +0 -125
  381. package/dist/components/devextreme/DataGrid/styles/theme/sizes/compact.js.map +0 -1
  382. package/dist/components/devextreme/DataGrid/styles/theme/sizes/default.js +0 -125
  383. package/dist/components/devextreme/DataGrid/styles/theme/sizes/default.js.map +0 -1
  384. package/dist/components/devextreme/DataGrid/styles/theme/sizes/index.js +0 -9
  385. package/dist/components/devextreme/DataGrid/styles/theme/sizes/index.js.map +0 -1
  386. package/dist/components/devextreme/DxDataGrid.css +0 -1
  387. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.Style.js +0 -42
  388. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.Style.js.map +0 -1
  389. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.Style.js +0 -42
  390. package/dist/components/devextreme/OdsBatchEditDataGrid/OdsBatchEditDataGrid.Style.js.map +0 -1
  391. package/dist/components/devextreme/OdsInlineEditDataGrid/styles.js +0 -92
  392. package/dist/components/devextreme/OdsInlineEditDataGrid/styles.js.map +0 -1
  393. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Style.js +0 -49
  394. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Style.js.map +0 -1
  395. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.css +0 -1
  396. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.Style.js +0 -60
  397. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.Style.js.map +0 -1
  398. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Style.js +0 -70
  399. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Style.js.map +0 -1
  400. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.css +0 -1
  401. package/dist/components/devextreme/styles.css +0 -1
  402. package/dist/components/filter/styles.js +0 -169
  403. package/dist/components/filter/styles.js.map +0 -1
  404. package/dist/components/filter/stylesPlus.js +0 -147
  405. package/dist/components/filter/stylesPlus.js.map +0 -1
  406. package/dist/components/helpers/toolbarSearchBox/ToolbarSearchBox.Style.js +0 -19
  407. package/dist/components/helpers/toolbarSearchBox/ToolbarSearchBox.Style.js.map +0 -1
  408. package/dist/node_modules/@ant-design/icons/es/icons/FrownOutlined.js +0 -23
  409. package/dist/node_modules/@ant-design/icons/es/icons/FrownOutlined.js.map +0 -1
  410. package/dist/node_modules/@ant-design/icons/es/icons/HeartOutlined.js +0 -23
  411. package/dist/node_modules/@ant-design/icons/es/icons/HeartOutlined.js.map +0 -1
  412. package/dist/node_modules/@ant-design/icons/es/icons/MehOutlined.js +0 -23
  413. package/dist/node_modules/@ant-design/icons/es/icons/MehOutlined.js.map +0 -1
  414. package/dist/node_modules/@ant-design/icons/es/icons/SmileOutlined.js +0 -23
  415. package/dist/node_modules/@ant-design/icons/es/icons/SmileOutlined.js.map +0 -1
  416. package/dist/node_modules/@ant-design/icons-svg/es/asn/FrownOutlined.js +0 -5
  417. package/dist/node_modules/@ant-design/icons-svg/es/asn/FrownOutlined.js.map +0 -1
  418. package/dist/node_modules/@ant-design/icons-svg/es/asn/HeartOutlined.js +0 -5
  419. package/dist/node_modules/@ant-design/icons-svg/es/asn/HeartOutlined.js.map +0 -1
  420. package/dist/node_modules/@ant-design/icons-svg/es/asn/MehOutlined.js +0 -5
  421. package/dist/node_modules/@ant-design/icons-svg/es/asn/MehOutlined.js.map +0 -1
  422. package/dist/node_modules/@ant-design/icons-svg/es/asn/SmileOutlined.js +0 -5
  423. package/dist/node_modules/@ant-design/icons-svg/es/asn/SmileOutlined.js.map +0 -1
  424. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -14
  425. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js.map +0 -1
  426. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -13
  427. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +0 -1
  428. package/dist/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js +0 -280
  429. package/dist/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js.map +0 -1
  430. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Enum.js +0 -13
  431. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Enum.js.map +0 -1
  432. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Middleware.js +0 -19
  433. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Middleware.js.map +0 -1
  434. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Parser.js +0 -132
  435. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Parser.js.map +0 -1
  436. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Serializer.js +0 -28
  437. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Serializer.js.map +0 -1
  438. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Tokenizer.js +0 -142
  439. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Tokenizer.js.map +0 -1
  440. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Utility.js +0 -51
  441. package/dist/node_modules/@emotion/cache/node_modules/stylis/src/Utility.js.map +0 -1
  442. package/dist/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js +0 -87
  443. package/dist/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js.map +0 -1
  444. package/dist/node_modules/@emotion/css/dist/emotion-css.esm.js +0 -8
  445. package/dist/node_modules/@emotion/css/dist/emotion-css.esm.js.map +0 -1
  446. package/dist/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +0 -11
  447. package/dist/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +0 -1
  448. package/dist/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +0 -10
  449. package/dist/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +0 -1
  450. package/dist/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js +0 -73
  451. package/dist/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js.map +0 -1
  452. package/dist/node_modules/@emotion/react/dist/emotion-react.browser.esm.js +0 -54
  453. package/dist/node_modules/@emotion/react/dist/emotion-react.browser.esm.js.map +0 -1
  454. package/dist/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js +0 -131
  455. package/dist/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js.map +0 -1
  456. package/dist/node_modules/@emotion/serialize/node_modules/@emotion/hash/dist/emotion-hash.esm.js +0 -23
  457. package/dist/node_modules/@emotion/serialize/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +0 -1
  458. package/dist/node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +0 -54
  459. package/dist/node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +0 -1
  460. package/dist/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js +0 -45
  461. package/dist/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js.map +0 -1
  462. package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js +0 -407
  463. package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js.map +0 -1
  464. package/dist/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js +0 -9
  465. package/dist/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js.map +0 -1
  466. package/dist/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js +0 -35
  467. package/dist/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js.map +0 -1
  468. package/dist/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js +0 -13
  469. package/dist/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js.map +0 -1
  470. package/dist/node_modules/@rc-component/form/es/BatchUpdate.js +0 -21
  471. package/dist/node_modules/@rc-component/form/es/BatchUpdate.js.map +0 -1
  472. package/dist/node_modules/@rc-component/form/es/useForm.js.map +0 -1
  473. package/dist/node_modules/@rc-component/form/es/useWatch.js.map +0 -1
  474. package/dist/node_modules/@rc-component/util/node_modules/react-is/cjs/react-is.development.js +0 -96
  475. package/dist/node_modules/@rc-component/util/node_modules/react-is/cjs/react-is.development.js.map +0 -1
  476. package/dist/node_modules/@rc-component/util/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
  477. package/dist/node_modules/@rc-component/util/node_modules/react-is/index.js +0 -12
  478. package/dist/node_modules/@rc-component/util/node_modules/react-is/index.js.map +0 -1
  479. package/dist/node_modules/antd/es/message/PurePanel.js +0 -89
  480. package/dist/node_modules/antd/es/message/PurePanel.js.map +0 -1
  481. package/dist/node_modules/antd/es/message/index.js +0 -183
  482. package/dist/node_modules/antd/es/message/index.js.map +0 -1
  483. package/dist/node_modules/antd/es/message/style/index.js +0 -159
  484. package/dist/node_modules/antd/es/message/style/index.js.map +0 -1
  485. package/dist/node_modules/antd/es/message/useMessage.js +0 -186
  486. package/dist/node_modules/antd/es/message/useMessage.js.map +0 -1
  487. package/dist/node_modules/antd/es/message/util.js +0 -21
  488. package/dist/node_modules/antd/es/message/util.js.map +0 -1
  489. package/dist/node_modules/antd/es/theme/getDesignToken.js +0 -18
  490. package/dist/node_modules/antd/es/theme/getDesignToken.js.map +0 -1
  491. package/dist/node_modules/antd/es/theme/themes/compact/genCompactSizeMapToken.js +0 -21
  492. package/dist/node_modules/antd/es/theme/themes/compact/genCompactSizeMapToken.js.map +0 -1
  493. package/dist/node_modules/antd/es/theme/themes/compact/index.js +0 -22
  494. package/dist/node_modules/antd/es/theme/themes/compact/index.js.map +0 -1
  495. package/dist/node_modules/antd/es/theme/themes/dark/colorAlgorithm.js +0 -7
  496. package/dist/node_modules/antd/es/theme/themes/dark/colorAlgorithm.js.map +0 -1
  497. package/dist/node_modules/antd/es/theme/themes/dark/colors.js +0 -49
  498. package/dist/node_modules/antd/es/theme/themes/dark/colors.js.map +0 -1
  499. package/dist/node_modules/antd/es/theme/themes/dark/index.js +0 -36
  500. package/dist/node_modules/antd/es/theme/themes/dark/index.js.map +0 -1
  501. package/dist/node_modules/antd-style/es/context/ThemeModeContext.js +0 -16
  502. package/dist/node_modules/antd-style/es/context/ThemeModeContext.js.map +0 -1
  503. package/dist/node_modules/antd-style/es/core/CacheManager.js +0 -46
  504. package/dist/node_modules/antd-style/es/core/CacheManager.js.map +0 -1
  505. package/dist/node_modules/antd-style/es/core/createCSS.js +0 -32
  506. package/dist/node_modules/antd-style/es/core/createCSS.js.map +0 -1
  507. package/dist/node_modules/antd-style/es/core/createSerializeStyles.js +0 -13
  508. package/dist/node_modules/antd-style/es/core/createSerializeStyles.js.map +0 -1
  509. package/dist/node_modules/antd-style/es/core/index.js +0 -5
  510. package/dist/node_modules/antd-style/es/core/index.js.map +0 -1
  511. package/dist/node_modules/antd-style/es/core/insertStyles.js +0 -22
  512. package/dist/node_modules/antd-style/es/core/insertStyles.js.map +0 -1
  513. package/dist/node_modules/antd-style/es/factories/createEmotionContext.js +0 -8
  514. package/dist/node_modules/antd-style/es/factories/createEmotionContext.js.map +0 -1
  515. package/dist/node_modules/antd-style/es/factories/createGlobalStyle.js +0 -23
  516. package/dist/node_modules/antd-style/es/factories/createGlobalStyle.js.map +0 -1
  517. package/dist/node_modules/antd-style/es/factories/createStyish.js +0 -13
  518. package/dist/node_modules/antd-style/es/factories/createStyish.js.map +0 -1
  519. package/dist/node_modules/antd-style/es/factories/createStyleProvider/index.js +0 -47
  520. package/dist/node_modules/antd-style/es/factories/createStyleProvider/index.js.map +0 -1
  521. package/dist/node_modules/antd-style/es/factories/createStyledThemeProvider.js +0 -15
  522. package/dist/node_modules/antd-style/es/factories/createStyledThemeProvider.js.map +0 -1
  523. package/dist/node_modules/antd-style/es/factories/createStyles/index.js +0 -57
  524. package/dist/node_modules/antd-style/es/factories/createStyles/index.js.map +0 -1
  525. package/dist/node_modules/antd-style/es/factories/createStyles/response.js +0 -29
  526. package/dist/node_modules/antd-style/es/factories/createStyles/response.js.map +0 -1
  527. package/dist/node_modules/antd-style/es/factories/createThemeProvider/AntdProvider.js +0 -42
  528. package/dist/node_modules/antd-style/es/factories/createThemeProvider/AntdProvider.js.map +0 -1
  529. package/dist/node_modules/antd-style/es/factories/createThemeProvider/ThemeSwitcher.js +0 -71
  530. package/dist/node_modules/antd-style/es/factories/createThemeProvider/ThemeSwitcher.js.map +0 -1
  531. package/dist/node_modules/antd-style/es/factories/createThemeProvider/TokenContainer.js +0 -44
  532. package/dist/node_modules/antd-style/es/factories/createThemeProvider/TokenContainer.js.map +0 -1
  533. package/dist/node_modules/antd-style/es/factories/createThemeProvider/index.js +0 -47
  534. package/dist/node_modules/antd-style/es/factories/createThemeProvider/index.js.map +0 -1
  535. package/dist/node_modules/antd-style/es/factories/createUseTheme.js +0 -24
  536. package/dist/node_modules/antd-style/es/factories/createUseTheme.js.map +0 -1
  537. package/dist/node_modules/antd-style/es/functions/createInstance.js +0 -77
  538. package/dist/node_modules/antd-style/es/functions/createInstance.js.map +0 -1
  539. package/dist/node_modules/antd-style/es/functions/index.js +0 -12
  540. package/dist/node_modules/antd-style/es/functions/index.js.map +0 -1
  541. package/dist/node_modules/antd-style/es/functions/setupStyled.js +0 -7
  542. package/dist/node_modules/antd-style/es/functions/setupStyled.js.map +0 -1
  543. package/dist/node_modules/antd-style/es/hooks/useAntdStylish.js +0 -19
  544. package/dist/node_modules/antd-style/es/hooks/useAntdStylish.js.map +0 -1
  545. package/dist/node_modules/antd-style/es/hooks/useAntdTheme.js +0 -16
  546. package/dist/node_modules/antd-style/es/hooks/useAntdTheme.js.map +0 -1
  547. package/dist/node_modules/antd-style/es/hooks/useAntdToken.js +0 -9
  548. package/dist/node_modules/antd-style/es/hooks/useAntdToken.js.map +0 -1
  549. package/dist/node_modules/antd-style/es/hooks/useThemeMode.js +0 -9
  550. package/dist/node_modules/antd-style/es/hooks/useThemeMode.js.map +0 -1
  551. package/dist/node_modules/antd-style/es/stylish/button.js +0 -22
  552. package/dist/node_modules/antd-style/es/stylish/button.js.map +0 -1
  553. package/dist/node_modules/antd-style/es/utils/convertStylish.js +0 -11
  554. package/dist/node_modules/antd-style/es/utils/convertStylish.js.map +0 -1
  555. package/dist/node_modules/antd-style/es/utils/css.js +0 -39
  556. package/dist/node_modules/antd-style/es/utils/css.js.map +0 -1
  557. package/dist/node_modules/antd-style/es/utils/matchBrowserPrefers.js +0 -9
  558. package/dist/node_modules/antd-style/es/utils/matchBrowserPrefers.js.map +0 -1
  559. package/dist/node_modules/antd-style/es/utils/responsive.js +0 -13
  560. package/dist/node_modules/antd-style/es/utils/responsive.js.map +0 -1
  561. package/dist/node_modules/antd-style/es/utils/safeStartTransition.js +0 -8
  562. package/dist/node_modules/antd-style/es/utils/safeStartTransition.js.map +0 -1
  563. package/dist/node_modules/antd-style/node_modules/@ant-design/cssinjs/es/Cache.js +0 -41
  564. package/dist/node_modules/antd-style/node_modules/@ant-design/cssinjs/es/Cache.js.map +0 -1
  565. package/dist/node_modules/antd-style/node_modules/@ant-design/cssinjs/es/StyleContext.js +0 -56
  566. package/dist/node_modules/antd-style/node_modules/@ant-design/cssinjs/es/StyleContext.js.map +0 -1
  567. package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +0 -71
  568. package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +0 -1
  569. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +0 -89
  570. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js.map +0 -1
  571. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js +0 -71
  572. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
  573. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +0 -12
  574. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js.map +0 -1
  575. package/dist/node_modules/moment/dist/moment.js +0 -2583
  576. package/dist/node_modules/moment/dist/moment.js.map +0 -1
  577. package/dist/node_modules/rc-util/es/hooks/useMemo.js +0 -9
  578. package/dist/node_modules/rc-util/es/hooks/useMemo.js.map +0 -1
  579. package/dist/node_modules/rc-util/es/isEqual.js +0 -36
  580. package/dist/node_modules/rc-util/es/isEqual.js.map +0 -1
  581. package/dist/node_modules/rc-util/es/warning.js +0 -42
  582. package/dist/node_modules/rc-util/es/warning.js.map +0 -1
  583. package/dist/node_modules/react-fast-marquee/dist/index.js +0 -146
  584. package/dist/node_modules/react-fast-marquee/dist/index.js.map +0 -1
  585. package/dist/node_modules/react-is/cjs/react-is.production.js +0 -69
  586. package/dist/node_modules/react-is/cjs/react-is.production.js.map +0 -1
  587. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +0 -559
  588. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +0 -1
  589. package/dist/node_modules/use-merge-value/dist/index.esm.js +0 -56
  590. package/dist/node_modules/use-merge-value/dist/index.esm.js.map +0 -1
  591. package/dist/tokens/design-system-dark/build/js/variables.js +0 -233
  592. package/dist/tokens/design-system-dark/build/js/variables.js.map +0 -1
  593. package/dist/tokens/design-system-light/build/js/variables.js +0 -336
  594. package/dist/tokens/design-system-light/build/js/variables.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OdsRemoteDataGrid.js","sources":["../../../src/components/devextreme/OdsRemoteDataGrid.tsx"],"sourcesContent":["import { createRoot } from \"react-dom/client\";\r\nimport React, {\r\n useState,\r\n useEffect,\r\n useMemo,\r\n useCallback,\r\n useRef,\r\n } from \"react\";\r\nimport DataGrid, {\r\n Item as DxItem,\r\n Column,\r\n ColumnChooser,\r\n ColumnChooserSearch,\r\n ColumnChooserSelection,\r\n Export,\r\n FilterPanel,\r\n FilterRow,\r\n HeaderFilter,\r\n LoadPanel,\r\n Position,\r\n SearchPanel,\r\n Sorting,\r\n Toolbar,\r\n StateStoring,\r\n Scrolling,\r\n IDataGridOptions,\r\n Summary,\r\n TotalItem,\r\n IButtonProps,\r\n Selection,\r\n ISelectionProps,\r\n Pager,\r\n IEditingProps,\r\n Editing,\r\n Popup,\r\n Form,\r\n Paging,\r\n ISummaryProps,\r\n MasterDetail \r\n} from \"devextreme-react/data-grid\";\r\nimport { Item } from \"devextreme-react/form\";\r\nimport { exportDataGrid } from \"devextreme/pdf_exporter\";\r\nimport { exportDataGrid as exportDataGridXls } from \"devextreme/excel_exporter\";\r\nimport jsPDF from \"jspdf\";\r\nimport { Workbook } from \"exceljs\";\r\nimport { saveAs } from \"file-saver-es\";\r\nimport moment from \"moment\";\r\nimport { Tooltip, theme } from \"antd\";\r\nimport { locale, loadMessages } from \"devextreme/localization\";\r\nimport { Lookup } from \"devextreme-react\";\r\nimport debounce from \"lodash/debounce\";\r\nimport { InfoCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { ButtonType } from 'antd/es/button/buttonHelpers';\r\nimport queryString from 'query-string';\r\nimport ReactDOM from 'react-dom';\r\nimport DynamicIcon from './datagridUtils/DynamicIcon';\r\nimport OdsButton from \"../antd/button/OdsButton\";\r\nimport OdsTitle from \"../antd/typography/OdsTitle\";\r\nimport OdsDropdown from \"../antd/dropdown/OdsDropdown\";\r\nimport OdsDataGrdiRowButton from \"../antd/button/OdsDataGrdiRowButton\";\r\nimport { isTextEmpty } from \"../../utils/commonFunctions\";\r\n\r\nconst exportFormats = [\"xlsx\"]; //['xlsx', 'pdf'];\r\nlet totalPageCount = 1;\r\nlet loadedPageCount = 1;\r\nlet totalRecordCount = 0;\r\nconst { useToken } = theme;\r\n\r\nexport interface IOdsDataGridProps extends IDataGridOptions {\r\n dataGridPageName?: string;\r\n language: string;\r\n exportFileName: string;\r\n filterEnabledShow: boolean;\r\n pageTitle?: string;\r\n toolbarButtonGroup?: IButtonGroup[];\r\n actionButtonGroup?: IButtonGroup[];\r\n actionButtonGroupCaption?: string;\r\n columns: any[];\r\n detailGridColums?: any[];\r\n pageSize?: number;\r\n actionColumnEnable: boolean;\r\n selectOptions?: ISelectOptions;\r\n columnChooserPositionDisabled?: boolean;\r\n pagingEnable?: boolean;\r\n edit?: IEditingoptions;\r\n isServerSide: boolean;\r\n axiosRequest?: IAxiosProps;\r\n customSummary?: ISummaryRowOptions;\r\n handleEditorPreparing?: any;\r\n isFilterRow?: boolean;\r\n filterData?: any[];\r\n showMasterDetail?: boolean;\r\n detailData?: any;\r\n}\r\n\r\ninterface ISummaryRowOptions {\r\n summaryLoadedDataLabel?: string;\r\n summaryTotalDataLabel?: string;\r\n summaryFilteredDataLabel?: string;\r\n summaryItems?: ISummaryProps[];\r\n summaryTotalCount?: number;\r\n summaryTotalPageCountLabel?: string;\r\n}\r\n\r\ninterface IAxiosProps {\r\n token: string;\r\n requestData?: any;\r\n apiUrl: string;\r\n environmentUrl: string;\r\n requestQueryString?: any;\r\n requestType: string;\r\n}\r\n\r\ninterface IEditingoptions extends IEditingProps {\r\n formItems?: any[];\r\n title?: string;\r\n}\r\n\r\ninterface ISelectOptions extends ISelectionProps {\r\n selectEnable: boolean;\r\n}\r\n\r\ninterface IButtonGroup extends IButtonProps {\r\n type?: ButtonType;\r\n label?: string;\r\n onclick?: React.MouseEventHandler<HTMLElement>;\r\n actionPermission?: boolean;\r\n}\r\n\r\nconst OdsRemoteDataGrid = (props: IOdsDataGridProps) => {\r\n const { token } = useToken();\r\n const [data, setData] = useState([]);\r\n const fileName = props.exportFileName\r\n ? props.exportFileName + moment().format(\"YYYYMMDD\")\r\n : \"DatagridExportFile\" + moment().format(\"YYYYMMDD\");\r\n const [filteredRowCount, setFilteredRowCount] = useState(0);\r\n const columns = useRef(props.columns);\r\n let gridRef = useRef(null);\r\n const filterApplied = useRef(false);\r\n const [loading, setLoading] = useState(false);\r\n const [contentReady, setContentReady] = useState(false);\r\n const [scrollPosition, setScrollPosition] = useState(0);\r\n\r\n const onCancelEditEvent = new CustomEvent(\"cancelEdit\", {\r\n bubbles: true,\r\n detail: {\r\n rowData: null,\r\n },\r\n });\r\n\r\n const headers = new Headers({\r\n \"Content-Type\": \"application/json\",\r\n Authorization:\r\n \"Bearer \" + (props.axiosRequest ? props.axiosRequest.token : \"\"),\r\n \"Accept-Language\": props.language != \"\" ? props.language : \"EN\",\r\n });\r\n\r\n useEffect(() => {\r\n totalPageCount = 1;\r\n loadedPageCount = 1;\r\n totalRecordCount = 0;\r\n }, [props.dataGridPageName]);\r\n\r\n useEffect(() => {\r\n if (props.axiosRequest !== undefined\r\n && ((props.axiosRequest?.requestData && Object.keys(props.axiosRequest?.requestData).length > 0) || (props.axiosRequest?.requestQueryString))) {\r\n totalPageCount = 1;\r\n loadedPageCount = 1;\r\n totalRecordCount = 0;\r\n setData([]);\r\n fetchData();\r\n }\r\n }, [props.axiosRequest?.requestData, props.axiosRequest?.requestQueryString]);\r\n\r\n useEffect(() => {\r\n if (columns.current !== undefined && columns.current.length > 0) {\r\n const newColumns = columns.current.map((colItem) => {\r\n if (colItem.tooltip !== undefined && colItem.tooltip.enable) {\r\n const headerCellRenderr = () => {\r\n return (\r\n <div>\r\n <span>{colItem.caption}</span>\r\n <Tooltip title={colItem.tooltip.title}>\r\n <InfoCircleOutlined style={{ marginLeft: 5 }} />\r\n </Tooltip>\r\n </div>\r\n );\r\n };\r\n colItem.headerCellRender = headerCellRenderr;\r\n }\r\n\r\n // this process prevents client-side sorting process if grid use server-side\r\n // when calculateSortValue setted anything else from the grid columns sorting process not working for client-side data\r\n if (props.isServerSide)\r\n colItem.calculateSortValue = String(\"dummyFieldForPreventClientSideSorting\")\r\n\r\n return colItem;\r\n });\r\n columns.current = newColumns;\r\n }\r\n }, [props.columns]);\r\n\r\n useEffect(() => {\r\n if (Array.isArray(props.dataSource)) {\r\n setData(props.dataSource);\r\n }\r\n }, [props.dataSource]);\r\n\r\n useEffect(() => {\r\n locale(localStorage.getItem(\"locale\"));\r\n loadMessages(JSON.parse(localStorage.getItem(\"localTranslation\")));\r\n if (gridRef.current) {\r\n gridRef.current?.instance?.()?.updateDimensions();\r\n }\r\n }, []);\r\n\r\n // this useEffect used for check sort change once for component mount process\r\n useEffect(() => {\r\n if (contentReady) checkSortingPropertyForInitilaize();\r\n }, [contentReady]);\r\n\r\n useEffect(() => {\r\n const cssRules = `\r\n .data-exists .dx-datagrid-borders > .dx-datagrid-filter-panel,\r\n .data-exists .dx-datagrid-borders > .dx-datagrid-headers {\r\n border-top: 1px solid rgba(0, 0, 0, 0.06);\r\n padding-right: 0px !important;\r\n }\r\n \r\n .data-exists .dx-datagrid-headers .dx-datagrid-content {\r\n margin-bottom: -1px;\r\n padding-right: 17px !important;\r\n }\r\n `;\r\n\r\n const styleSheet = document.createElement('style');\r\n styleSheet.type = 'text/css';\r\n styleSheet.innerText = cssRules;\r\n document.head.appendChild(styleSheet);\r\n\r\n const checkData = () => {\r\n if (gridRef.current) {\r\n const dataGridInstance = gridRef.current.instance?.();\r\n const dataExists = data.length >= 15;\r\n\r\n const gridElement = dataGridInstance?.element();\r\n if (dataExists) {\r\n gridElement.classList.add('data-exists');\r\n } else {\r\n gridElement.classList.remove('data-exists');\r\n }\r\n }\r\n };\r\n\r\n const dataGridInstance = gridRef.current.instance?.();\r\n dataGridInstance?.on('dataChanged', checkData);\r\n checkData();\r\n\r\n return () => {\r\n document.head.removeChild(styleSheet);\r\n dataGridInstance?.off('dataChanged', checkData);\r\n };\r\n }, [data]);\r\n\r\n // check if there is sorted column and trigger onOptionChanged method for sort process\r\n const checkSortingPropertyForInitilaize = () => {\r\n const { onOptionChanged } = props;\r\n if (onOptionChanged) {\r\n const dataGridInstance = gridRef.current.instance?.();\r\n const sortingState = dataGridInstance?.getVisibleColumns()\r\n .filter((p) => !p.command)\r\n .map((column, index) => ({\r\n index: index, // decrease index for deafult empty column\r\n dataField: column.dataField,\r\n sortOrder: column.sortOrder,\r\n }));\r\n\r\n var sortedColumn = sortingState.find(column => column.sortOrder !== undefined)\r\n if (sortedColumn) {\r\n if (sortedColumn.sortOrder) {\r\n dataGridInstance.option(`columns[${sortedColumn.index}].sortOrder`, sortedColumn.sortOrder);\r\n\r\n // prepare OptionChangedEventInfo data for onOptionChanged method\r\n const fullName = `columns[${sortedColumn.index}].sortOrder`;\r\n const gridEvent = {\r\n component: dataGridInstance,\r\n fullName: fullName,\r\n name: \"optionChanged\",\r\n value: sortedColumn.sortOrder,\r\n previousValue: null,\r\n element: null,\r\n };\r\n\r\n onOptionChanged(gridEvent);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const checkRequestDataHasOnlySortingProperty = (obj) => {\r\n // Get all property names from the object\r\n const keys = Object.keys(obj);\r\n // Check if there is only one property and it is 'Sorting'\r\n return keys.length === 1 && keys[0] === \"Sorting\";\r\n };\r\n\r\n const actionButtons = useMemo(() => {\r\n if (props.actionButtonGroup) {\r\n if (props.actionButtonGroup.length >= 2 && !props.edit) {\r\n return props.actionButtonGroup.slice(0, 2);\r\n } else {\r\n return props.actionButtonGroup;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }, [props.actionButtonGroup]);\r\n\r\n // const kebabMenuButtons = useMemo(() => {\r\n // if (props.actionButtonGroup) {\r\n // if (props.actionButtonGroup.length >= 2 && !props.edit) {\r\n // return props.actionButtonGroup.slice(2, props.actionButtonGroup.length);\r\n // } else {\r\n // return [];\r\n // }\r\n // } else {\r\n // return [];\r\n // }\r\n // }, [props.actionButtonGroup]);\r\n\r\n const fetchData = useCallback(async () => {\r\n if (props.axiosRequest == undefined) return;\r\n\r\n if (props.isServerSide) {\r\n\r\n // check requestData for sorting property if there is only sorting property grid shouldn't do fetch data\r\n if (props.axiosRequest.requestData && checkRequestDataHasOnlySortingProperty(props.axiosRequest.requestData))\r\n return;\r\n\r\n let apiUrl =\r\n props.axiosRequest.environmentUrl + \"\" + props.axiosRequest.apiUrl;\r\n\r\n if (props.axiosRequest.requestData?.PaginatedRequest !== undefined) {\r\n props.axiosRequest.requestData.PaginatedRequest.PageNumber =\r\n loadedPageCount;\r\n props.axiosRequest.requestData.PaginatedRequest.PageSize =\r\n props.pageSize;\r\n }\r\n\r\n if (props.axiosRequest.requestQueryString !== undefined) {\r\n\r\n props.axiosRequest.requestQueryString.maxResultCount = props.pageSize;\r\n\r\n if (loadedPageCount > 1 && totalPageCount >= loadedPageCount) {\r\n props.axiosRequest.requestQueryString.skipCount = ((loadedPageCount - 1) * props.pageSize).toString();\r\n }\r\n\r\n let query = queryString.stringify(props.axiosRequest.requestQueryString);\r\n\r\n apiUrl = `${apiUrl}?${query}`\r\n }\r\n\r\n const requestOptions = {\r\n method: props.axiosRequest.requestType,\r\n headers: headers,\r\n body: JSON.stringify(props.axiosRequest.requestData),\r\n };\r\n\r\n try {\r\n setLoading(true);\r\n const response = await fetch(apiUrl, requestOptions);\r\n\r\n const newData = await response.json();\r\n\r\n if (loadedPageCount == 1) {\r\n setData(newData.Data ? newData.Data : newData);\r\n\r\n loadedPageCount = 1;\r\n } else if (totalPageCount >= loadedPageCount) {\r\n const newArray = newData.Data ? newData.Data : newData;\r\n setData((prevData) => [...prevData, ...newArray]);\r\n }\r\n\r\n getTotalCount(response, newData);\r\n } catch (error) {\r\n console.error(\"Error fetching data:\", error);\r\n setLoading(false);\r\n } finally {\r\n }\r\n }\r\n }, [\r\n props.axiosRequest?.requestData,\r\n props.axiosRequest?.apiUrl,\r\n props.axiosRequest?.environmentUrl,\r\n props.axiosRequest?.requestQueryString,\r\n props.axiosRequest?.requestType,\r\n props.pageSize,\r\n props.isServerSide,\r\n ]);\r\n\r\n const getTotalCount = (response: Response, data: any): void => {\r\n if (data?.PageCount || data?.RowCount) {\r\n totalPageCount = data.PageCount;\r\n totalRecordCount = data.RowCount;\r\n } else {\r\n let totalCount;\r\n\r\n if (response) totalCount = response.headers.get(\"x-total-count\");\r\n\r\n if (totalCount == null) totalCount = data?.rowCount;\r\n\r\n if (totalCount == null) totalCount = data?.length;\r\n\r\n totalRecordCount = parseInt(totalCount, 10) || 0;\r\n totalPageCount = Math.ceil(totalRecordCount / props.pageSize);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const onEditorPreparing = useCallback(\r\n (e: any) => {\r\n if (e.row !== undefined && e.parentType === \"dataRow\") {\r\n if (props.handleEditorPreparing) {\r\n props.handleEditorPreparing(e);\r\n }\r\n }\r\n\r\n if (\r\n e.editorOptions &&\r\n e.rowType === \"data\" &&\r\n e.parentType === \"dataRow\"\r\n ) {\r\n e.editorOptions.onValueChanged = function (args) {\r\n if (args.event && args.event.type === \"cancel\")\r\n e.cellElement.dispatchEvent(onCancelEditEvent);\r\n };\r\n }\r\n },\r\n [props.isServerSide]\r\n );\r\n\r\n const getServerSide = useCallback(\r\n async (type: string) => {\r\n if (type === \"reachedBottom\") {\r\n if (totalPageCount <= loadedPageCount) {\r\n return;\r\n } else {\r\n loadedPageCount = loadedPageCount + 1;\r\n await fetchData();\r\n }\r\n }\r\n },\r\n [totalPageCount]\r\n );\r\n\r\n const onExporting = useCallback(\r\n (e: any) => {\r\n if (e.format === \"xlsx\") {\r\n const workbook = new Workbook();\r\n\r\n //Dışa aktarma işlemi sırasında filtre verilerini yeni sütunları ekle\r\n if (props.filterData != null) {\r\n const newColumnFromFilterData = props.filterData.map((filterItem) => ({\r\n dataField: filterItem.key,\r\n caption: filterItem.key\r\n }));\r\n\r\n const newColumns = [...columns.current, ...newColumnFromFilterData];\r\n e.component.beginUpdate();\r\n e.component.option(\"columns\", newColumns);\r\n e.component.endUpdate();\r\n }\r\n exportDataGridXls({\r\n component: e.component,\r\n worksheet: workbook.addWorksheet(\"Main sheet\"),\r\n autoFilterEnabled: true,\r\n customizeCell: function (options) {\r\n //Buradaki kod dg için yanlızca datefilter çalışması için eklendi. Dg üstünde format olarak format: \"dd.MM.yyyy\" şeklinde düzenleme yapıldı, ekranda saat bilgisi görünmesi içie cellRender: datetimeCellRender fonksiyonu eklendi. Format değişikliği yüzünden ezcelde saat bilgisi çıkmıyordu, bu yüzden bu kod bloğu eklendi.\r\n const { gridCell, excelCell } = options;\r\n if (gridCell.column.dataType === \"datetime\" && gridCell.value) {\r\n // Aşağıdaki if bloğu yukarıdaki if bloğu ile birleştirimemeli. Çünkü \"gridCell?.column?.calculateFilterExpression?.name === \"calculateFilterExpressionForColumn\"\"\" olsa bile gridCell.value değeri hezaman undefined geliyor. gridCell.column['meta'] konrolü cellRender eklenmeme durumu için eklendi.\r\n if (\r\n gridCell.column.calculateFilterExpression?.name ===\r\n \"calculateFilterExpressionForColumn\" &&\r\n gridCell.column[\"meta\"]?.hasCustomCellRenderer\r\n ) {\r\n const date = moment(gridCell.value);\r\n const offsetMinutes = date.utcOffset();\r\n const sign = offsetMinutes >= 0 ? \"+\" : \"-\";\r\n const hours = Math.floor(Math.abs(offsetMinutes) / 60);\r\n const minutes = Math.abs(offsetMinutes) % 60;\r\n const formattedOffset = `(UTC${sign}${hours\r\n .toString()\r\n .padStart(2, \"0\")}:${minutes.toString().padStart(2, \"0\")})`;\r\n const formattedDate =\r\n date.format(\"DD.MM.YYYY HH:mm\") + \" \" + formattedOffset;\r\n excelCell.value = formattedDate;\r\n }\r\n }\r\n\r\n //girilen filtre değerlerinin uygun başlık altında satıra yazılması \r\n if (gridCell.rowType !== 'header' && props.filterData != null) {\r\n const matchingItem = props.filterData.find(item => item.key === gridCell.column.dataField);\r\n if (matchingItem) {\r\n excelCell.value = matchingItem.value;\r\n }\r\n }\r\n }\r\n }).then(() => {\r\n workbook.xlsx.writeBuffer().then((buffer) => {\r\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), fileName + '.xlsx');\r\n });\r\n });\r\n } else {\r\n const doc = new jsPDF();\r\n exportDataGrid({\r\n jsPDFDocument: doc,\r\n component: e.component,\r\n indent: 5,\r\n }).then(() => {\r\n doc.save(fileName + '.pdf');\r\n });\r\n }\r\n }, [fileName, props.filterData]);\r\n\r\n const customLoad = useCallback(() => {\r\n let state = JSON.parse(\r\n localStorage.getItem(props.exportFileName + \"Storage\")\r\n );\r\n\r\n if (localStorage.getItem(props.exportFileName + \"Storage\")) {\r\n state.selectedRowKeys = [];\r\n if (props.filterEnabledShow) state.filterPanel = { filterEnabled: false };\r\n else state.filterPanel = { filterEnabled: true };\r\n }\r\n\r\n return state;\r\n }, [props.filterEnabledShow]);\r\n\r\n const customSave = useCallback(\r\n (state: any) => {\r\n state.selectedRowKeys = [];\r\n if (props.filterEnabledShow) state.filterPanel = { filterEnabled: false };\r\n else state.filterPanel = { filterEnabled: true };\r\n\r\n if (data.length === 0) {\r\n if (!state.filterValue && state.filterValue !== null) {\r\n state.filterValue = null;\r\n }\r\n }\r\n localStorage.setItem(\r\n props.exportFileName + \"Storage\",\r\n JSON.stringify(state)\r\n );\r\n },\r\n [props.filterEnabledShow]\r\n );\r\n\r\n const onEditorPrepared = useCallback((info) => {\r\n if (\r\n info.parentType === \"filterRow\" &&\r\n info.editorName === \"dxSelectBox\" &&\r\n info.dataField === \"IsActive\"\r\n ) {\r\n if (info.dataSource != null && info.dataSource.length > 0) {\r\n info.showAllText = info.dataSource.find((i) => {\r\n return i.value === null;\r\n }).label;\r\n info.trueText = info.dataSource.find((i) => {\r\n return i.value === true;\r\n }).label;\r\n info.falseText = info.dataSource.find((i) => {\r\n return i.value === false;\r\n }).label;\r\n }\r\n }\r\n }, []);\r\n\r\n const renderTotal = useCallback(() => {\r\n let result = \"\";\r\n let totalloaded = 0;\r\n\r\n if (\r\n data.length < 50 ||\r\n !props.isServerSide ||\r\n loadedPageCount == totalPageCount\r\n ) {\r\n totalloaded = data.length;\r\n } else {\r\n totalloaded = loadedPageCount * props.pageSize;\r\n }\r\n\r\n if (props.isServerSide) {\r\n result =\r\n totalRecordCount > 0\r\n ? `${totalloaded} ` +\r\n props.customSummary?.summaryLoadedDataLabel +\r\n `- ${totalRecordCount}` +\r\n props.customSummary?.summaryTotalDataLabel\r\n : ``;\r\n result = concatFilteredLabel(result, totalloaded);\r\n }\r\n\r\n if (\r\n props.customSummary?.summaryTotalCount !== undefined &&\r\n !props.isServerSide\r\n ) {\r\n result =\r\n props.customSummary.summaryTotalDataLabel +\r\n \" : \" +\r\n props.customSummary.summaryTotalCount;\r\n result = concatFilteredLabel(result, totalloaded);\r\n }\r\n\r\n if (totalPageCount > 1) {\r\n result = `${result} - ${props.customSummary?.summaryTotalPageCountLabel} ${loadedPageCount} / ${totalPageCount}`;\r\n }\r\n return result;\r\n }, [\r\n data,\r\n filteredRowCount,\r\n loadedPageCount,\r\n props.pageSize,\r\n totalRecordCount,\r\n filterApplied.current,\r\n ]);\r\n\r\n const concatFilteredLabel = (result: string, totalloaded: number) => {\r\n if (\r\n filteredRowCount > 0 &&\r\n totalloaded !== filteredRowCount &&\r\n filterApplied.current\r\n ) {\r\n let filteredLabel =\r\n `${filteredRowCount} ` +\r\n props.customSummary.summaryFilteredDataLabel +\r\n `- `;\r\n result = `${filteredLabel} ${result} `;\r\n }\r\n return result;\r\n };\r\n\r\n function actionCellRender(cellData, props) {\r\n const kebabMenuButtons = props.actionButtonGroup && props.actionButtonGroup.length >= 2 && !props.edit\r\n ? props.actionButtonGroup.slice(2).map(button => ({\r\n icon: <DynamicIcon iconName={button.icon} />,\r\n onClick: (event) => {\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row\r\n };\r\n button.onClick(customEvent);\r\n }\r\n }))\r\n : [];\r\n\r\n const buttonElements = [];\r\n\r\n {\r\n !props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible = typeof buttonItem.visible === 'function'\r\n ? buttonItem.visible({ column: cellData.column, component: cellData.component, row: cellData.row })\r\n : buttonItem.visible;\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission\r\n }\r\n icon={\r\n <DynamicIcon iconName={buttonItem.icon} />\r\n }\r\n onClick={(event) => {\r\n // event.preventDefault();\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row\r\n };\r\n buttonItem.onClick(customEvent);\r\n }}\r\n />\r\n );\r\n });\r\n }\r\n {\r\n props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible = typeof buttonItem.visible === 'function'\r\n ? buttonItem.visible({ column: cellData.column, component: cellData.component, row: cellData.row })\r\n : buttonItem.visible;\r\n\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n name={buttonItem.name}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission\r\n }\r\n icon={\r\n <DynamicIcon iconName={buttonItem.icon} />\r\n }\r\n onClick={(event) => {\r\n if (buttonItem.onClick) { \r\n // event.preventDefault();\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row \r\n };\r\n buttonItem.onClick(customEvent);\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n }\r\n\r\n if (kebabMenuButtons.length > 0) {\r\n buttonElements.push(\r\n <OdsDropdown\r\n key={`dropdown-${cellData.rowIndex || cellData.data.ID}`}\r\n menuItems={kebabMenuButtons}\r\n >\r\n <OdsDataGrdiRowButton type=\"text\" icon={<DynamicIcon iconName={\"kebabMenu\"} />} />\r\n </OdsDropdown>\r\n );\r\n }\r\n\r\n return <React.Fragment><div className=\"flex flex-row gap-4 justify-center items-center\">{buttonElements}</div></React.Fragment>;\r\n }\r\n\r\n const onScrollEnd = useCallback(() => {\r\n getServerSide(\"reachedBottom\");\r\n }, [props.axiosRequest?.requestData, getServerSide]);\r\n\r\n const handleScroll = (e: any) => {\r\n const run = debounce((e: any) => {\r\n const scrollable = e.target as HTMLElement;\r\n\r\n const top = scrollable?.scrollTop ?? 0;\r\n const height = scrollable?.clientHeight ?? 0;\r\n const scrollHeight = scrollable?.scrollHeight ?? 0;\r\n const maxHeight = Math.max(top, height, scrollHeight) - 1;\r\n\r\n if (scrollHeight <= height) return;\r\n\r\n const reachedBottom = Math.ceil(top + height) >= maxHeight;\r\n\r\n let lastScrollTop = 0;\r\n if (top < lastScrollTop) return;\r\n\r\n lastScrollTop = top <= 0 ? 0 : top;\r\n if (reachedBottom) onScrollEnd();\r\n\r\n setScrollPosition(top);\r\n }, 200);\r\n\r\n run(e);\r\n };\r\n\r\n useEffect(() => {\r\n const gridElement = gridRef.current.instance?.()?.element();\r\n gridElement.scrollTop = scrollPosition;\r\n }, [data.length]);\r\n\r\n useEffect(() => {\r\n document\r\n .querySelectorAll(\".dx-scrollable-container\")\r\n .forEach((container) => {\r\n container.addEventListener(\"scrollend\", handleScroll);\r\n });\r\n\r\n return () => {\r\n document\r\n .querySelectorAll(\".dx-scrollable-container\")\r\n .forEach((container) => {\r\n container.removeEventListener(\"scrollend\", handleScroll);\r\n });\r\n };\r\n }, [data.length]);\r\n\r\n const handleContentReady = (e) => {\r\n const dataGridInstance = e.component;\r\n const filteredDataCount = dataGridInstance.totalCount();\r\n\r\n if (filterApplied.current && filteredDataCount > 0)\r\n {\r\n setFilteredRowCount(filteredDataCount);\r\n }\r\n else{\r\n setFilteredRowCount(0);\r\n }\r\n\r\n // set content ready state for trigger sort change method only once if content ready\r\n if (!contentReady) setContentReady(true);\r\n };\r\n\r\n const onFilterValueChange = (e) => {\r\n if (e !== null)\r\n filterApplied.current = true;\r\n else {\r\n filterApplied.current = false;\r\n setFilteredRowCount(0);\r\n }\r\n }\r\n\r\n\r\n const onToolbarPreparing = (e) => {\r\n if (props.toolbarButtonGroup && props.toolbarButtonGroup.length > 0) {\r\n e.toolbarOptions.items.unshift({\r\n location: 'before',\r\n template: function (_, __, container) {\r\n const wrapper = document.createElement('div');\r\n container.appendChild(wrapper);\r\n const root = createRoot(wrapper);\r\n\r\n root.render(<React.StrictMode>\r\n {props.toolbarButtonGroup && Array.isArray(props.toolbarButtonGroup) &&\r\n props.toolbarButtonGroup.map((buttonGroupItem, index) => (\r\n <OdsButton key={index} style={{ marginLeft: token.margin }} type={buttonGroupItem.type} onClick={buttonGroupItem.onclick}>\r\n {buttonGroupItem.label}\r\n </OdsButton>\r\n ))\r\n }\r\n </React.StrictMode>);\r\n }\r\n });\r\n }\r\n\r\n if(!isTextEmpty(props.pageTitle)) {\r\n e.toolbarOptions.items.unshift({\r\n location: 'before',\r\n cssClass: 'toolbarTitleItem',\r\n template: function (_, __, container) {\r\n const wrapper = document.createElement('div');\r\n container.appendChild(wrapper);\r\n const root = createRoot(wrapper);\r\n\r\n root.render(<React.StrictMode>\r\n <OdsTitle level={5} style={{ display: \"flex\", alignItems: \"center\", alignSelf: \"stretch\", margin: 0 }}>{props.pageTitle}</OdsTitle>\r\n </React.StrictMode>);\r\n }\r\n });\r\n }\r\n };\r\n const detailGrid = ({ data }) => {\r\n return (\r\n <OdsRemoteDataGrid\r\n {...props}\r\n showMasterDetail={false}\r\n columns={props.detailGridColums}\r\n dataSource={props.detailData[data.key.ID]}\r\n\r\n />\r\n )\r\n };\r\n\r\n return (\r\n <React.Fragment >\r\n\r\n <DataGrid\r\n keyExpr={props.keyExpr}\r\n dataSource={data}\r\n showBorders={true}\r\n columnAutoWidth={false}\r\n onEditorPreparing={onEditorPreparing}\r\n ref={gridRef}\r\n onExporting={onExporting}\r\n height={props.height == undefined ? window.innerHeight - 164 : props.height}\r\n allowColumnResizing={true}\r\n columnResizingMode=\"nextColumn\"\r\n onRowClick={props.onRowClick}\r\n onEditorPrepared={onEditorPrepared}\r\n showRowLines={true}\r\n allowColumnReordering={true}\r\n scrolling={{ useNative: true }}\r\n remoteOperations={false}\r\n paging={{ enabled: false }}\r\n repaintChangesOnly={true}\r\n focusedRowEnabled={false}\r\n onCellClick={e => {\r\n e.cellElement.style.backgroundColor = 'transparent';\r\n }}\r\n filterSyncEnabled={true}\r\n wordWrapEnabled={props.wordWrapEnabled ? props.wordWrapEnabled : false}\r\n columnFixing={{ enabled: true }}\r\n onSelectionChanged={props.onSelectionChanged}\r\n noDataText={props.noDataText}\r\n onSaved={props.onSaved}\r\n onSaving={props.onSaving}\r\n onEditCanceling={props.onEditCanceling}\r\n onContentReady={handleContentReady}\r\n onFilterValueChange={onFilterValueChange}\r\n onOptionChanged={props.onOptionChanged}\r\n onToolbarPreparing={props.onToolbarPreparing || onToolbarPreparing}\r\n >\r\n {columns.current.map((col: any) => (\r\n <Column key={col.dataField} {...col} minWidth={50} >\r\n {col.lookUp && <Lookup {...col.lookUp} />}\r\n {col.dataField === 'IsActive' &&\r\n <HeaderFilter dataSource={[\r\n { text: 'Active', value: true },\r\n { text: 'Passive', value: false },\r\n ]} />\r\n }\r\n\r\n {col.useDynamicHeaderFilter && (\r\n <HeaderFilter\r\n allowSearch={true}\r\n dataSource={[\r\n { text: \"(Blanks)\", value: null }, // Blanks seçeneğini ekleyin\r\n ...(data && data.length > 0 ? data\r\n .filter(\r\n (item) =>\r\n item[col.dataField] !== null &&\r\n item[col.dataField] !== undefined &&\r\n item[col.dataField] !== \"\"\r\n )\r\n .map((item) => ({\r\n text: item[col.dataField].toString(),\r\n value: item[col.dataField],\r\n })) : [])\r\n ]}\r\n />\r\n )}\r\n {col.multiLevelColumns &&\r\n col.multiLevelColumns.map((multiLevelColItem: any) => (\r\n <Column\r\n dataField={multiLevelColItem.dataField}\r\n caption={multiLevelColItem.caption}\r\n width={80}\r\n />\r\n ))}\r\n </Column>\r\n ))}\r\n\r\n {props.actionColumnEnable !== undefined &&\r\n props.actionColumnEnable === true && (\r\n <Column\r\n dataField=\"Actions\"\r\n fixed={true}\r\n allowSorting={false}\r\n caption={props.actionButtonGroupCaption}\r\n type=\"buttons\"\r\n showInColumnChooser={false}\r\n cellRender={(cellData) => actionCellRender(cellData, props)}\r\n /> \r\n )}\r\n {props.showMasterDetail && (\r\n <MasterDetail enabled={true} component={detailGrid} />\r\n )}\r\n\r\n {props.edit && (\r\n <Editing\r\n mode={props.edit.mode}\r\n allowUpdating={props.edit.allowUpdating}\r\n allowDeleting={props.edit.allowDeleting}\r\n allowAdding={props.edit.allowAdding}\r\n useIcons={true}\r\n >\r\n {props.edit.mode === \"popup\" && (\r\n <div>\r\n <Popup\r\n showTitle={true}\r\n width={700}\r\n height={300}\r\n showCloseButton={false}\r\n />\r\n <Form>\r\n {props.edit.formItems &&\r\n props.edit.formItems.map((formItem: any) => (\r\n <Item\r\n itemType={formItem.itemType}\r\n colCount={formItem.colCount}\r\n colSpan={formItem.colSpan}\r\n >\r\n {formItem.items.map((subItem: any) => (\r\n <Item\r\n key={subItem.dataField}\r\n dataField={subItem.dataField}\r\n />\r\n ))}\r\n </Item>\r\n ))}\r\n </Form>\r\n </div>\r\n )}\r\n </Editing>\r\n )}\r\n <Paging defaultPageSize={props.pageSize} />\r\n {props.pagingEnable && (\r\n <Pager\r\n visible={false}\r\n displayMode=\"full\"\r\n showPageSizeSelector={false}\r\n showNavigationButtons={false}\r\n showInfo={false}\r\n />\r\n )}\r\n <Scrolling\r\n showScrollbar=\"always\"\r\n scrollByContent={true}\r\n scrollByThumb={true}\r\n mode={\"virtual\"}\r\n rowRenderingMode=\"virtual\"\r\n />\r\n {loading && <LoadPanel enabled shadingColor=\"rgba(0,0,0,0.4)\" />}\r\n <SearchPanel visible={true} />\r\n <FilterRow\r\n visible={props.isFilterRow != undefined ? props.isFilterRow : true}\r\n />\r\n <FilterPanel visible={true} />\r\n <HeaderFilter visible={true} />\r\n <Sorting mode=\"multiple\" />\r\n <Export\r\n enabled={true}\r\n allowExportSelectedData={true}\r\n formats={exportFormats}\r\n />\r\n {props.selectOptions?.selectEnable && (\r\n <Selection\r\n mode={props.selectOptions?.mode ?? \"multiple\"}\r\n deferred={props.selectOptions?.deferred ?? true}\r\n />\r\n )}\r\n <ColumnChooser enabled={true} mode=\"select\">\r\n {!props.columnChooserPositionDisabled && (\r\n <Position\r\n my=\"right top\"\r\n at=\"right bottom\"\r\n of={\r\n document.querySelector(`.${props.dataGridPageName}`)\r\n ? `.${props.dataGridPageName} .dx-datagrid-column-chooser-button`\r\n : \".dx-datagrid-column-chooser-button\"\r\n }\r\n />\r\n )}\r\n <ColumnChooserSearch\r\n enabled={true}\r\n editorOptions={{ placeholder: \"\" }}\r\n />\r\n\r\n <ColumnChooserSelection\r\n allowSelectAll={true}\r\n selectByClick={true}\r\n recursive={true} />\r\n </ColumnChooser>\r\n <Toolbar>\r\n <DxItem name=\"searchPanel\" />\r\n <DxItem name=\"columnChooserButton\" cssClass='toolbarPanelItems' />\r\n <DxItem name=\"exportButton\" cssClass='toolbarPanelItems' />\r\n </Toolbar>\r\n <Summary calculateCustomSummary={renderTotal}>\r\n <TotalItem\r\n column={columns.current[0].dataField}\r\n summaryType=\"custom\"\r\n displayFormat={renderTotal()}\r\n />\r\n </Summary>\r\n <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n customLoad={customLoad}\r\n customSave={customSave} >\r\n </StateStoring>\r\n </DataGrid>\r\n </React.Fragment >\r\n )\r\n}\r\n\r\nexport default OdsRemoteDataGrid;\r\n"],"names":["exportFormats","totalPageCount","loadedPageCount","totalRecordCount","useToken","theme","OdsRemoteDataGrid","props","token","data","setData","useState","fileName","moment","filteredRowCount","setFilteredRowCount","columns","useRef","gridRef","filterApplied","loading","setLoading","contentReady","setContentReady","scrollPosition","setScrollPosition","onCancelEditEvent","headers","useEffect","fetchData","newColumns","colItem","headerCellRenderr","jsx","Tooltip","InfoCircleOutlined","locale","loadMessages","checkSortingPropertyForInitilaize","cssRules","styleSheet","checkData","dataGridInstance","dataExists","gridElement","onOptionChanged","sortedColumn","p","column","index","fullName","gridEvent","checkRequestDataHasOnlySortingProperty","obj","keys","actionButtons","useMemo","useCallback","apiUrl","query","queryString","requestOptions","response","newData","newArray","prevData","getTotalCount","totalCount","onEditorPreparing","args","getServerSide","type","onExporting","workbook","Workbook","newColumnFromFilterData","filterItem","exportDataGridXls","options","gridCell","excelCell","date","offsetMinutes","sign","hours","minutes","formattedOffset","formattedDate","matchingItem","item","buffer","saveAs","doc","jsPDF","exportDataGrid","customLoad","state","customSave","onEditorPrepared","info","i","renderTotal","result","totalloaded","concatFilteredLabel","actionCellRender","cellData","kebabMenuButtons","button","DynamicIcon","event","customEvent","buttonElements","buttonItem","isVisible","OdsDataGrdiRowButton","OdsDropdown","React","onScrollEnd","handleScroll","debounce","e","scrollable","top","height","scrollHeight","maxHeight","reachedBottom","lastScrollTop","container","handleContentReady","filteredDataCount","onFilterValueChange","onToolbarPreparing","_","__","wrapper","createRoot","buttonGroupItem","OdsButton","isTextEmpty","OdsTitle","detailGrid","jsxs","DataGrid","col","Column","Lookup","HeaderFilter","multiLevelColItem","MasterDetail","Editing","Popup","Form","formItem","Item","subItem","Paging","Pager","Scrolling","LoadPanel","SearchPanel","FilterRow","FilterPanel","Sorting","Export","Selection","ColumnChooser","Position","ColumnChooserSearch","ColumnChooserSelection","Toolbar","DxItem","Summary","TotalItem","StateStoring"],"mappings":"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"}
1
+ {"version":3,"file":"OdsRemoteDataGrid.js","sources":["../../../src/components/devextreme/OdsRemoteDataGrid.tsx"],"sourcesContent":["import { createRoot } from \"react-dom/client\";\r\nimport React, {\r\n useState,\r\n useEffect,\r\n useMemo,\r\n useCallback,\r\n useRef,\r\n } from \"react\";\r\nimport DataGrid, {\r\n Item as DxItem,\r\n Column,\r\n ColumnChooser,\r\n ColumnChooserSearch,\r\n ColumnChooserSelection,\r\n Export,\r\n FilterPanel,\r\n FilterRow,\r\n HeaderFilter,\r\n LoadPanel,\r\n Position,\r\n SearchPanel,\r\n Sorting,\r\n Toolbar,\r\n StateStoring,\r\n Scrolling,\r\n IDataGridOptions,\r\n Summary,\r\n TotalItem,\r\n IButtonProps,\r\n Selection,\r\n ISelectionProps,\r\n Pager,\r\n IEditingProps,\r\n Editing,\r\n Popup,\r\n Form,\r\n Paging,\r\n ISummaryProps,\r\n MasterDetail \r\n} from \"devextreme-react/data-grid\";\r\nimport { Item } from \"devextreme-react/form\";\r\nimport { exportDataGrid } from \"devextreme/pdf_exporter\";\r\nimport { exportDataGrid as exportDataGridXls } from \"devextreme/excel_exporter\";\r\nimport jsPDF from \"jspdf\";\r\nimport { Workbook } from \"exceljs\";\r\nimport { saveAs } from \"file-saver-es\";\r\nimport dayjs from \"dayjs\";\r\nimport { Tooltip, theme } from \"antd\";\r\nimport { locale, loadMessages } from \"devextreme/localization\";\r\nimport { Lookup } from \"devextreme-react\";\r\nimport debounce from \"lodash/debounce\";\r\nimport { InfoCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport { ButtonType } from 'antd/es/button/buttonHelpers';\r\nimport queryString from 'query-string';\r\nimport ReactDOM from 'react-dom';\r\nimport DynamicIcon from './datagridUtils/DynamicIcon';\r\nimport OdsButton from \"../antd/button/OdsButton\";\r\nimport OdsTitle from \"../antd/typography/OdsTitle\";\r\nimport OdsDropdown from \"../antd/dropdown/OdsDropdown\";\r\nimport OdsDataGrdiRowButton from \"../antd/button/OdsDataGrdiRowButton\";\r\nimport { isTextEmpty } from \"../../utils/commonFunctions\";\r\n\r\nconst exportFormats = [\"xlsx\"]; //['xlsx', 'pdf'];\r\nlet totalPageCount = 1;\r\nlet loadedPageCount = 1;\r\nlet totalRecordCount = 0;\r\nconst { useToken } = theme;\r\n\r\nexport interface IOdsDataGridProps extends IDataGridOptions {\r\n dataGridPageName?: string;\r\n language: string;\r\n exportFileName: string;\r\n filterEnabledShow: boolean;\r\n pageTitle?: string;\r\n toolbarButtonGroup?: IButtonGroup[];\r\n actionButtonGroup?: IButtonGroup[];\r\n actionButtonGroupCaption?: string;\r\n columns: any[];\r\n detailGridColums?: any[];\r\n pageSize?: number;\r\n actionColumnEnable: boolean;\r\n selectOptions?: ISelectOptions;\r\n columnChooserPositionDisabled?: boolean;\r\n pagingEnable?: boolean;\r\n edit?: IEditingoptions;\r\n isServerSide: boolean;\r\n axiosRequest?: IAxiosProps;\r\n customSummary?: ISummaryRowOptions;\r\n handleEditorPreparing?: any;\r\n isFilterRow?: boolean;\r\n filterData?: any[];\r\n showMasterDetail?: boolean;\r\n detailData?: any;\r\n}\r\n\r\ninterface ISummaryRowOptions {\r\n summaryLoadedDataLabel?: string;\r\n summaryTotalDataLabel?: string;\r\n summaryFilteredDataLabel?: string;\r\n summaryItems?: ISummaryProps[];\r\n summaryTotalCount?: number;\r\n summaryTotalPageCountLabel?: string;\r\n}\r\n\r\ninterface IAxiosProps {\r\n token: string;\r\n requestData?: any;\r\n apiUrl: string;\r\n environmentUrl: string;\r\n requestQueryString?: any;\r\n requestType: string;\r\n}\r\n\r\ninterface IEditingoptions extends IEditingProps {\r\n formItems?: any[];\r\n title?: string;\r\n}\r\n\r\ninterface ISelectOptions extends ISelectionProps {\r\n selectEnable: boolean;\r\n}\r\n\r\ninterface IButtonGroup extends IButtonProps {\r\n type?: ButtonType;\r\n label?: string;\r\n onclick?: React.MouseEventHandler<HTMLElement>;\r\n actionPermission?: boolean;\r\n}\r\n\r\nconst OdsRemoteDataGrid = (props: IOdsDataGridProps) => {\r\n const { token } = useToken();\r\n const [data, setData] = useState([]);\r\n const fileName = props.exportFileName\r\n ? props.exportFileName + dayjs().format(\"YYYYMMDD\")\r\n : \"DatagridExportFile\" + dayjs().format(\"YYYYMMDD\");\r\n const [filteredRowCount, setFilteredRowCount] = useState(0);\r\n const columns = useRef(props.columns);\r\n let gridRef = useRef(null);\r\n const filterApplied = useRef(false);\r\n const [loading, setLoading] = useState(false);\r\n const [contentReady, setContentReady] = useState(false);\r\n const [scrollPosition, setScrollPosition] = useState(0);\r\n\r\n const onCancelEditEvent = new CustomEvent(\"cancelEdit\", {\r\n bubbles: true,\r\n detail: {\r\n rowData: null,\r\n },\r\n });\r\n\r\n const headers = new Headers({\r\n \"Content-Type\": \"application/json\",\r\n Authorization:\r\n \"Bearer \" + (props.axiosRequest ? props.axiosRequest.token : \"\"),\r\n \"Accept-Language\": props.language != \"\" ? props.language : \"EN\",\r\n });\r\n\r\n useEffect(() => {\r\n totalPageCount = 1;\r\n loadedPageCount = 1;\r\n totalRecordCount = 0;\r\n }, [props.dataGridPageName]);\r\n\r\n useEffect(() => {\r\n if (props.axiosRequest !== undefined\r\n && ((props.axiosRequest?.requestData && Object.keys(props.axiosRequest?.requestData).length > 0) || (props.axiosRequest?.requestQueryString))) {\r\n totalPageCount = 1;\r\n loadedPageCount = 1;\r\n totalRecordCount = 0;\r\n setData([]);\r\n fetchData();\r\n }\r\n }, [props.axiosRequest?.requestData, props.axiosRequest?.requestQueryString]);\r\n\r\n useEffect(() => {\r\n if (columns.current !== undefined && columns.current.length > 0) {\r\n const newColumns = columns.current.map((colItem) => {\r\n if (colItem.tooltip !== undefined && colItem.tooltip.enable) {\r\n const headerCellRenderr = () => {\r\n return (\r\n <div>\r\n <span>{colItem.caption}</span>\r\n <Tooltip title={colItem.tooltip.title}>\r\n <InfoCircleOutlined style={{ marginLeft: 5 }} />\r\n </Tooltip>\r\n </div>\r\n );\r\n };\r\n colItem.headerCellRender = headerCellRenderr;\r\n }\r\n\r\n // this process prevents client-side sorting process if grid use server-side\r\n // when calculateSortValue setted anything else from the grid columns sorting process not working for client-side data\r\n if (props.isServerSide)\r\n colItem.calculateSortValue = String(\"dummyFieldForPreventClientSideSorting\")\r\n\r\n return colItem;\r\n });\r\n columns.current = newColumns;\r\n }\r\n }, [props.columns]);\r\n\r\n useEffect(() => {\r\n if (Array.isArray(props.dataSource)) {\r\n setData(props.dataSource);\r\n }\r\n }, [props.dataSource]);\r\n\r\n useEffect(() => {\r\n locale(localStorage.getItem(\"locale\"));\r\n loadMessages(JSON.parse(localStorage.getItem(\"localTranslation\")));\r\n if (gridRef.current) {\r\n gridRef.current?.instance?.()?.updateDimensions();\r\n }\r\n }, []);\r\n\r\n // this useEffect used for check sort change once for component mount process\r\n useEffect(() => {\r\n if (contentReady) checkSortingPropertyForInitilaize();\r\n }, [contentReady]);\r\n\r\n useEffect(() => {\r\n const cssRules = `\r\n .data-exists .dx-datagrid-borders > .dx-datagrid-filter-panel,\r\n .data-exists .dx-datagrid-borders > .dx-datagrid-headers {\r\n border-top: 1px solid rgba(0, 0, 0, 0.06);\r\n padding-right: 0px !important;\r\n }\r\n \r\n .data-exists .dx-datagrid-headers .dx-datagrid-content {\r\n margin-bottom: -1px;\r\n padding-right: 17px !important;\r\n }\r\n `;\r\n\r\n const styleSheet = document.createElement('style');\r\n styleSheet.type = 'text/css';\r\n styleSheet.innerText = cssRules;\r\n document.head.appendChild(styleSheet);\r\n\r\n const checkData = () => {\r\n if (gridRef.current) {\r\n const dataGridInstance = gridRef.current.instance?.();\r\n const dataExists = data.length >= 15;\r\n\r\n const gridElement = dataGridInstance?.element();\r\n if (dataExists) {\r\n gridElement.classList.add('data-exists');\r\n } else {\r\n gridElement.classList.remove('data-exists');\r\n }\r\n }\r\n };\r\n\r\n const dataGridInstance = gridRef.current.instance?.();\r\n dataGridInstance?.on('dataChanged', checkData);\r\n checkData();\r\n\r\n return () => {\r\n document.head.removeChild(styleSheet);\r\n dataGridInstance?.off('dataChanged', checkData);\r\n };\r\n }, [data]);\r\n\r\n // check if there is sorted column and trigger onOptionChanged method for sort process\r\n const checkSortingPropertyForInitilaize = () => {\r\n const { onOptionChanged } = props;\r\n if (onOptionChanged) {\r\n const dataGridInstance = gridRef.current.instance?.();\r\n const sortingState = dataGridInstance?.getVisibleColumns()\r\n .filter((p) => !p.command)\r\n .map((column, index) => ({\r\n index: index, // decrease index for deafult empty column\r\n dataField: column.dataField,\r\n sortOrder: column.sortOrder,\r\n }));\r\n\r\n var sortedColumn = sortingState.find(column => column.sortOrder !== undefined)\r\n if (sortedColumn) {\r\n if (sortedColumn.sortOrder) {\r\n dataGridInstance.option(`columns[${sortedColumn.index}].sortOrder`, sortedColumn.sortOrder);\r\n\r\n // prepare OptionChangedEventInfo data for onOptionChanged method\r\n const fullName = `columns[${sortedColumn.index}].sortOrder`;\r\n const gridEvent = {\r\n component: dataGridInstance,\r\n fullName: fullName,\r\n name: \"optionChanged\",\r\n value: sortedColumn.sortOrder,\r\n previousValue: null,\r\n element: null,\r\n };\r\n\r\n onOptionChanged(gridEvent);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const checkRequestDataHasOnlySortingProperty = (obj) => {\r\n // Get all property names from the object\r\n const keys = Object.keys(obj);\r\n // Check if there is only one property and it is 'Sorting'\r\n return keys.length === 1 && keys[0] === \"Sorting\";\r\n };\r\n\r\n const actionButtons = useMemo(() => {\r\n if (props.actionButtonGroup) {\r\n if (props.actionButtonGroup.length >= 2 && !props.edit) {\r\n return props.actionButtonGroup.slice(0, 2);\r\n } else {\r\n return props.actionButtonGroup;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }, [props.actionButtonGroup]);\r\n\r\n // const kebabMenuButtons = useMemo(() => {\r\n // if (props.actionButtonGroup) {\r\n // if (props.actionButtonGroup.length >= 2 && !props.edit) {\r\n // return props.actionButtonGroup.slice(2, props.actionButtonGroup.length);\r\n // } else {\r\n // return [];\r\n // }\r\n // } else {\r\n // return [];\r\n // }\r\n // }, [props.actionButtonGroup]);\r\n\r\n const fetchData = useCallback(async () => {\r\n if (props.axiosRequest == undefined) return;\r\n\r\n if (props.isServerSide) {\r\n\r\n // check requestData for sorting property if there is only sorting property grid shouldn't do fetch data\r\n if (props.axiosRequest.requestData && checkRequestDataHasOnlySortingProperty(props.axiosRequest.requestData))\r\n return;\r\n\r\n let apiUrl =\r\n props.axiosRequest.environmentUrl + \"\" + props.axiosRequest.apiUrl;\r\n\r\n if (props.axiosRequest.requestData?.PaginatedRequest !== undefined) {\r\n props.axiosRequest.requestData.PaginatedRequest.PageNumber =\r\n loadedPageCount;\r\n props.axiosRequest.requestData.PaginatedRequest.PageSize =\r\n props.pageSize;\r\n }\r\n\r\n if (props.axiosRequest.requestQueryString !== undefined) {\r\n\r\n props.axiosRequest.requestQueryString.maxResultCount = props.pageSize;\r\n\r\n if (loadedPageCount > 1 && totalPageCount >= loadedPageCount) {\r\n props.axiosRequest.requestQueryString.skipCount = ((loadedPageCount - 1) * props.pageSize).toString();\r\n }\r\n\r\n let query = queryString.stringify(props.axiosRequest.requestQueryString);\r\n\r\n apiUrl = `${apiUrl}?${query}`\r\n }\r\n\r\n const requestOptions = {\r\n method: props.axiosRequest.requestType,\r\n headers: headers,\r\n body: JSON.stringify(props.axiosRequest.requestData),\r\n };\r\n\r\n try {\r\n setLoading(true);\r\n const response = await fetch(apiUrl, requestOptions);\r\n\r\n const newData = await response.json();\r\n\r\n if (loadedPageCount == 1) {\r\n setData(newData.Data ? newData.Data : newData);\r\n\r\n loadedPageCount = 1;\r\n } else if (totalPageCount >= loadedPageCount) {\r\n const newArray = newData.Data ? newData.Data : newData;\r\n setData((prevData) => [...prevData, ...newArray]);\r\n }\r\n\r\n getTotalCount(response, newData);\r\n } catch (error) {\r\n console.error(\"Error fetching data:\", error);\r\n setLoading(false);\r\n } finally {\r\n }\r\n }\r\n }, [\r\n props.axiosRequest?.requestData,\r\n props.axiosRequest?.apiUrl,\r\n props.axiosRequest?.environmentUrl,\r\n props.axiosRequest?.requestQueryString,\r\n props.axiosRequest?.requestType,\r\n props.pageSize,\r\n props.isServerSide,\r\n ]);\r\n\r\n const getTotalCount = (response: Response, data: any): void => {\r\n if (data?.PageCount || data?.RowCount) {\r\n totalPageCount = data.PageCount;\r\n totalRecordCount = data.RowCount;\r\n } else {\r\n let totalCount;\r\n\r\n if (response) totalCount = response.headers.get(\"x-total-count\");\r\n\r\n if (totalCount == null) totalCount = data?.rowCount;\r\n\r\n if (totalCount == null) totalCount = data?.length;\r\n\r\n totalRecordCount = parseInt(totalCount, 10) || 0;\r\n totalPageCount = Math.ceil(totalRecordCount / props.pageSize);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const onEditorPreparing = useCallback(\r\n (e: any) => {\r\n if (e.row !== undefined && e.parentType === \"dataRow\") {\r\n if (props.handleEditorPreparing) {\r\n props.handleEditorPreparing(e);\r\n }\r\n }\r\n\r\n if (\r\n e.editorOptions &&\r\n e.rowType === \"data\" &&\r\n e.parentType === \"dataRow\"\r\n ) {\r\n e.editorOptions.onValueChanged = function (args) {\r\n if (args.event && args.event.type === \"cancel\")\r\n e.cellElement.dispatchEvent(onCancelEditEvent);\r\n };\r\n }\r\n },\r\n [props.isServerSide]\r\n );\r\n\r\n const getServerSide = useCallback(\r\n async (type: string) => {\r\n if (type === \"reachedBottom\") {\r\n if (totalPageCount <= loadedPageCount) {\r\n return;\r\n } else {\r\n loadedPageCount = loadedPageCount + 1;\r\n await fetchData();\r\n }\r\n }\r\n },\r\n [totalPageCount]\r\n );\r\n\r\n const onExporting = useCallback(\r\n (e: any) => {\r\n if (e.format === \"xlsx\") {\r\n const workbook = new Workbook();\r\n\r\n //Dışa aktarma işlemi sırasında filtre verilerini yeni sütunları ekle\r\n if (props.filterData != null) {\r\n const newColumnFromFilterData = props.filterData.map((filterItem) => ({\r\n dataField: filterItem.key,\r\n caption: filterItem.key\r\n }));\r\n\r\n const newColumns = [...columns.current, ...newColumnFromFilterData];\r\n e.component.beginUpdate();\r\n e.component.option(\"columns\", newColumns);\r\n e.component.endUpdate();\r\n }\r\n exportDataGridXls({\r\n component: e.component,\r\n worksheet: workbook.addWorksheet(\"Main sheet\"),\r\n autoFilterEnabled: true,\r\n customizeCell: function (options) {\r\n //Buradaki kod dg için yanlızca datefilter çalışması için eklendi. Dg üstünde format olarak format: \"dd.MM.yyyy\" şeklinde düzenleme yapıldı, ekranda saat bilgisi görünmesi içie cellRender: datetimeCellRender fonksiyonu eklendi. Format değişikliği yüzünden ezcelde saat bilgisi çıkmıyordu, bu yüzden bu kod bloğu eklendi.\r\n const { gridCell, excelCell } = options;\r\n if (gridCell.column.dataType === \"datetime\" && gridCell.value) {\r\n // Aşağıdaki if bloğu yukarıdaki if bloğu ile birleştirimemeli. Çünkü \"gridCell?.column?.calculateFilterExpression?.name === \"calculateFilterExpressionForColumn\"\"\" olsa bile gridCell.value değeri hezaman undefined geliyor. gridCell.column['meta'] konrolü cellRender eklenmeme durumu için eklendi.\r\n if (\r\n gridCell.column.calculateFilterExpression?.name ===\r\n \"calculateFilterExpressionForColumn\" &&\r\n gridCell.column[\"meta\"]?.hasCustomCellRenderer\r\n ) {\r\n const date = dayjs(gridCell.value);\r\n const offsetMinutes = date.utcOffset();\r\n const sign = offsetMinutes >= 0 ? \"+\" : \"-\";\r\n const hours = Math.floor(Math.abs(offsetMinutes) / 60);\r\n const minutes = Math.abs(offsetMinutes) % 60;\r\n const formattedOffset = `(UTC${sign}${hours\r\n .toString()\r\n .padStart(2, \"0\")}:${minutes.toString().padStart(2, \"0\")})`;\r\n const formattedDate =\r\n date.format(\"DD.MM.YYYY HH:mm\") + \" \" + formattedOffset;\r\n excelCell.value = formattedDate;\r\n }\r\n }\r\n\r\n //girilen filtre değerlerinin uygun başlık altında satıra yazılması \r\n if (gridCell.rowType !== 'header' && props.filterData != null) {\r\n const matchingItem = props.filterData.find(item => item.key === gridCell.column.dataField);\r\n if (matchingItem) {\r\n excelCell.value = matchingItem.value;\r\n }\r\n }\r\n }\r\n }).then(() => {\r\n workbook.xlsx.writeBuffer().then((buffer) => {\r\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), fileName + '.xlsx');\r\n });\r\n });\r\n } else {\r\n const doc = new jsPDF();\r\n exportDataGrid({\r\n jsPDFDocument: doc,\r\n component: e.component,\r\n indent: 5,\r\n }).then(() => {\r\n doc.save(fileName + '.pdf');\r\n });\r\n }\r\n }, [fileName, props.filterData]);\r\n\r\n const customLoad = useCallback(() => {\r\n let state = JSON.parse(\r\n localStorage.getItem(props.exportFileName + \"Storage\")\r\n );\r\n\r\n if (localStorage.getItem(props.exportFileName + \"Storage\")) {\r\n state.selectedRowKeys = [];\r\n if (props.filterEnabledShow) state.filterPanel = { filterEnabled: false };\r\n else state.filterPanel = { filterEnabled: true };\r\n }\r\n\r\n return state;\r\n }, [props.filterEnabledShow]);\r\n\r\n const customSave = useCallback(\r\n (state: any) => {\r\n state.selectedRowKeys = [];\r\n if (props.filterEnabledShow) state.filterPanel = { filterEnabled: false };\r\n else state.filterPanel = { filterEnabled: true };\r\n\r\n if (data.length === 0) {\r\n if (!state.filterValue && state.filterValue !== null) {\r\n state.filterValue = null;\r\n }\r\n }\r\n localStorage.setItem(\r\n props.exportFileName + \"Storage\",\r\n JSON.stringify(state)\r\n );\r\n },\r\n [props.filterEnabledShow]\r\n );\r\n\r\n const onEditorPrepared = useCallback((info) => {\r\n if (\r\n info.parentType === \"filterRow\" &&\r\n info.editorName === \"dxSelectBox\" &&\r\n info.dataField === \"IsActive\"\r\n ) {\r\n if (info.dataSource != null && info.dataSource.length > 0) {\r\n info.showAllText = info.dataSource.find((i) => {\r\n return i.value === null;\r\n }).label;\r\n info.trueText = info.dataSource.find((i) => {\r\n return i.value === true;\r\n }).label;\r\n info.falseText = info.dataSource.find((i) => {\r\n return i.value === false;\r\n }).label;\r\n }\r\n }\r\n }, []);\r\n\r\n const renderTotal = useCallback(() => {\r\n let result = \"\";\r\n let totalloaded = 0;\r\n\r\n if (\r\n data.length < 50 ||\r\n !props.isServerSide ||\r\n loadedPageCount == totalPageCount\r\n ) {\r\n totalloaded = data.length;\r\n } else {\r\n totalloaded = loadedPageCount * props.pageSize;\r\n }\r\n\r\n if (props.isServerSide) {\r\n result =\r\n totalRecordCount > 0\r\n ? `${totalloaded} ` +\r\n props.customSummary?.summaryLoadedDataLabel +\r\n `- ${totalRecordCount}` +\r\n props.customSummary?.summaryTotalDataLabel\r\n : ``;\r\n result = concatFilteredLabel(result, totalloaded);\r\n }\r\n\r\n if (\r\n props.customSummary?.summaryTotalCount !== undefined &&\r\n !props.isServerSide\r\n ) {\r\n result =\r\n props.customSummary.summaryTotalDataLabel +\r\n \" : \" +\r\n props.customSummary.summaryTotalCount;\r\n result = concatFilteredLabel(result, totalloaded);\r\n }\r\n\r\n if (totalPageCount > 1) {\r\n result = `${result} - ${props.customSummary?.summaryTotalPageCountLabel} ${loadedPageCount} / ${totalPageCount}`;\r\n }\r\n return result;\r\n }, [\r\n data,\r\n filteredRowCount,\r\n loadedPageCount,\r\n props.pageSize,\r\n totalRecordCount,\r\n filterApplied.current,\r\n ]);\r\n\r\n const concatFilteredLabel = (result: string, totalloaded: number) => {\r\n if (\r\n filteredRowCount > 0 &&\r\n totalloaded !== filteredRowCount &&\r\n filterApplied.current\r\n ) {\r\n let filteredLabel =\r\n `${filteredRowCount} ` +\r\n props.customSummary.summaryFilteredDataLabel +\r\n `- `;\r\n result = `${filteredLabel} ${result} `;\r\n }\r\n return result;\r\n };\r\n\r\n function actionCellRender(cellData, props) {\r\n const kebabMenuButtons = props.actionButtonGroup && props.actionButtonGroup.length >= 2 && !props.edit\r\n ? props.actionButtonGroup.slice(2).map(button => ({\r\n icon: <DynamicIcon iconName={button.icon} />,\r\n onClick: (event) => {\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row\r\n };\r\n button.onClick(customEvent);\r\n }\r\n }))\r\n : [];\r\n\r\n const buttonElements = [];\r\n\r\n {\r\n !props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible = typeof buttonItem.visible === 'function'\r\n ? buttonItem.visible({ column: cellData.column, component: cellData.component, row: cellData.row })\r\n : buttonItem.visible;\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission\r\n }\r\n icon={\r\n <DynamicIcon iconName={buttonItem.icon} />\r\n }\r\n onClick={(event) => {\r\n // event.preventDefault();\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row\r\n };\r\n buttonItem.onClick(customEvent);\r\n }}\r\n />\r\n );\r\n });\r\n }\r\n {\r\n props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible = typeof buttonItem.visible === 'function'\r\n ? buttonItem.visible({ column: cellData.column, component: cellData.component, row: cellData.row })\r\n : buttonItem.visible;\r\n\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n name={buttonItem.name}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission\r\n }\r\n icon={\r\n <DynamicIcon iconName={buttonItem.icon} />\r\n }\r\n onClick={(event) => {\r\n if (buttonItem.onClick) { \r\n // event.preventDefault();\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row \r\n };\r\n buttonItem.onClick(customEvent);\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n }\r\n\r\n if (kebabMenuButtons.length > 0) {\r\n buttonElements.push(\r\n <OdsDropdown\r\n key={`dropdown-${cellData.rowIndex || cellData.data.ID}`}\r\n menuItems={kebabMenuButtons}\r\n >\r\n <OdsDataGrdiRowButton type=\"text\" icon={<DynamicIcon iconName={\"kebabMenu\"} />} />\r\n </OdsDropdown>\r\n );\r\n }\r\n\r\n return <React.Fragment><div className=\"flex flex-row gap-4 justify-center items-center\">{buttonElements}</div></React.Fragment>;\r\n }\r\n\r\n const onScrollEnd = useCallback(() => {\r\n getServerSide(\"reachedBottom\");\r\n }, [props.axiosRequest?.requestData, getServerSide]);\r\n\r\n const handleScroll = (e: any) => {\r\n const run = debounce((e: any) => {\r\n const scrollable = e.target as HTMLElement;\r\n\r\n const top = scrollable?.scrollTop ?? 0;\r\n const height = scrollable?.clientHeight ?? 0;\r\n const scrollHeight = scrollable?.scrollHeight ?? 0;\r\n const maxHeight = Math.max(top, height, scrollHeight) - 1;\r\n\r\n if (scrollHeight <= height) return;\r\n\r\n const reachedBottom = Math.ceil(top + height) >= maxHeight;\r\n\r\n let lastScrollTop = 0;\r\n if (top < lastScrollTop) return;\r\n\r\n lastScrollTop = top <= 0 ? 0 : top;\r\n if (reachedBottom) onScrollEnd();\r\n\r\n setScrollPosition(top);\r\n }, 200);\r\n\r\n run(e);\r\n };\r\n\r\n useEffect(() => {\r\n const gridElement = gridRef.current.instance?.()?.element();\r\n gridElement.scrollTop = scrollPosition;\r\n }, [data.length]);\r\n\r\n useEffect(() => {\r\n document\r\n .querySelectorAll(\".dx-scrollable-container\")\r\n .forEach((container) => {\r\n container.addEventListener(\"scrollend\", handleScroll);\r\n });\r\n\r\n return () => {\r\n document\r\n .querySelectorAll(\".dx-scrollable-container\")\r\n .forEach((container) => {\r\n container.removeEventListener(\"scrollend\", handleScroll);\r\n });\r\n };\r\n }, [data.length]);\r\n\r\n const handleContentReady = (e) => {\r\n const dataGridInstance = e.component;\r\n const filteredDataCount = dataGridInstance.totalCount();\r\n\r\n if (filterApplied.current && filteredDataCount > 0)\r\n {\r\n setFilteredRowCount(filteredDataCount);\r\n }\r\n else{\r\n setFilteredRowCount(0);\r\n }\r\n\r\n // set content ready state for trigger sort change method only once if content ready\r\n if (!contentReady) setContentReady(true);\r\n };\r\n\r\n const onFilterValueChange = (e) => {\r\n if (e !== null)\r\n filterApplied.current = true;\r\n else {\r\n filterApplied.current = false;\r\n setFilteredRowCount(0);\r\n }\r\n }\r\n\r\n\r\n const onToolbarPreparing = (e) => {\r\n if (props.toolbarButtonGroup && props.toolbarButtonGroup.length > 0) {\r\n e.toolbarOptions.items.unshift({\r\n location: 'before',\r\n template: function (_, __, container) {\r\n const wrapper = document.createElement('div');\r\n container.appendChild(wrapper);\r\n const root = createRoot(wrapper);\r\n\r\n root.render(<React.StrictMode>\r\n {props.toolbarButtonGroup && Array.isArray(props.toolbarButtonGroup) &&\r\n props.toolbarButtonGroup.map((buttonGroupItem, index) => (\r\n <OdsButton key={index} style={{ marginLeft: token.margin }} type={buttonGroupItem.type} onClick={buttonGroupItem.onclick}>\r\n {buttonGroupItem.label}\r\n </OdsButton>\r\n ))\r\n }\r\n </React.StrictMode>);\r\n }\r\n });\r\n }\r\n\r\n if(!isTextEmpty(props.pageTitle)) {\r\n e.toolbarOptions.items.unshift({\r\n location: 'before',\r\n cssClass: 'toolbarTitleItem',\r\n template: function (_, __, container) {\r\n const wrapper = document.createElement('div');\r\n container.appendChild(wrapper);\r\n const root = createRoot(wrapper);\r\n\r\n root.render(<React.StrictMode>\r\n <OdsTitle level={5} style={{ display: \"flex\", alignItems: \"center\", alignSelf: \"stretch\", margin: 0 }}>{props.pageTitle}</OdsTitle>\r\n </React.StrictMode>);\r\n }\r\n });\r\n }\r\n };\r\n const detailGrid = ({ data }) => {\r\n return (\r\n <OdsRemoteDataGrid\r\n {...props}\r\n showMasterDetail={false}\r\n columns={props.detailGridColums}\r\n dataSource={props.detailData[data.key.ID]}\r\n\r\n />\r\n )\r\n };\r\n\r\n return (\r\n <React.Fragment >\r\n\r\n <DataGrid\r\n keyExpr={props.keyExpr}\r\n dataSource={data}\r\n showBorders={true}\r\n columnAutoWidth={false}\r\n onEditorPreparing={onEditorPreparing}\r\n ref={gridRef}\r\n onExporting={onExporting}\r\n height={props.height == undefined ? window.innerHeight - 164 : props.height}\r\n allowColumnResizing={true}\r\n columnResizingMode=\"nextColumn\"\r\n onRowClick={props.onRowClick}\r\n onEditorPrepared={onEditorPrepared}\r\n showRowLines={true}\r\n allowColumnReordering={true}\r\n scrolling={{ useNative: true }}\r\n remoteOperations={false}\r\n paging={{ enabled: false }}\r\n repaintChangesOnly={true}\r\n focusedRowEnabled={false}\r\n onCellClick={e => {\r\n e.cellElement.style.backgroundColor = 'transparent';\r\n }}\r\n filterSyncEnabled={true}\r\n wordWrapEnabled={props.wordWrapEnabled ? props.wordWrapEnabled : false}\r\n columnFixing={{ enabled: true }}\r\n onSelectionChanged={props.onSelectionChanged}\r\n noDataText={props.noDataText}\r\n onSaved={props.onSaved}\r\n onSaving={props.onSaving}\r\n onEditCanceling={props.onEditCanceling}\r\n onContentReady={handleContentReady}\r\n onFilterValueChange={onFilterValueChange}\r\n onOptionChanged={props.onOptionChanged}\r\n onToolbarPreparing={props.onToolbarPreparing || onToolbarPreparing}\r\n >\r\n {columns.current.map((col: any) => (\r\n <Column key={col.dataField} {...col} minWidth={50} >\r\n {col.lookUp && <Lookup {...col.lookUp} />}\r\n {col.dataField === 'IsActive' &&\r\n <HeaderFilter dataSource={[\r\n { text: 'Active', value: true },\r\n { text: 'Passive', value: false },\r\n ]} />\r\n }\r\n\r\n {col.useDynamicHeaderFilter && (\r\n <HeaderFilter\r\n allowSearch={true}\r\n dataSource={[\r\n { text: \"(Blanks)\", value: null }, // Blanks seçeneğini ekleyin\r\n ...(data && data.length > 0 ? data\r\n .filter(\r\n (item) =>\r\n item[col.dataField] !== null &&\r\n item[col.dataField] !== undefined &&\r\n item[col.dataField] !== \"\"\r\n )\r\n .map((item) => ({\r\n text: item[col.dataField].toString(),\r\n value: item[col.dataField],\r\n })) : [])\r\n ]}\r\n />\r\n )}\r\n {col.multiLevelColumns &&\r\n col.multiLevelColumns.map((multiLevelColItem: any) => (\r\n <Column\r\n dataField={multiLevelColItem.dataField}\r\n caption={multiLevelColItem.caption}\r\n width={80}\r\n />\r\n ))}\r\n </Column>\r\n ))}\r\n\r\n {props.actionColumnEnable !== undefined &&\r\n props.actionColumnEnable === true && (\r\n <Column\r\n dataField=\"Actions\"\r\n fixed={true}\r\n allowSorting={false}\r\n caption={props.actionButtonGroupCaption}\r\n type=\"buttons\"\r\n showInColumnChooser={false}\r\n cellRender={(cellData) => actionCellRender(cellData, props)}\r\n /> \r\n )}\r\n {props.showMasterDetail && (\r\n <MasterDetail enabled={true} component={detailGrid} />\r\n )}\r\n\r\n {props.edit && (\r\n <Editing\r\n mode={props.edit.mode}\r\n allowUpdating={props.edit.allowUpdating}\r\n allowDeleting={props.edit.allowDeleting}\r\n allowAdding={props.edit.allowAdding}\r\n useIcons={true}\r\n >\r\n {props.edit.mode === \"popup\" && (\r\n <div>\r\n <Popup\r\n showTitle={true}\r\n width={700}\r\n height={300}\r\n showCloseButton={false}\r\n />\r\n <Form>\r\n {props.edit.formItems &&\r\n props.edit.formItems.map((formItem: any) => (\r\n <Item\r\n itemType={formItem.itemType}\r\n colCount={formItem.colCount}\r\n colSpan={formItem.colSpan}\r\n >\r\n {formItem.items.map((subItem: any) => (\r\n <Item\r\n key={subItem.dataField}\r\n dataField={subItem.dataField}\r\n />\r\n ))}\r\n </Item>\r\n ))}\r\n </Form>\r\n </div>\r\n )}\r\n </Editing>\r\n )}\r\n <Paging defaultPageSize={props.pageSize} />\r\n {props.pagingEnable && (\r\n <Pager\r\n visible={false}\r\n displayMode=\"full\"\r\n showPageSizeSelector={false}\r\n showNavigationButtons={false}\r\n showInfo={false}\r\n />\r\n )}\r\n <Scrolling\r\n showScrollbar=\"always\"\r\n scrollByContent={true}\r\n scrollByThumb={true}\r\n mode={\"virtual\"}\r\n rowRenderingMode=\"virtual\"\r\n />\r\n {loading && <LoadPanel enabled shadingColor=\"rgba(0,0,0,0.4)\" />}\r\n <SearchPanel visible={true} />\r\n <FilterRow\r\n visible={props.isFilterRow != undefined ? props.isFilterRow : true}\r\n />\r\n <FilterPanel visible={true} />\r\n <HeaderFilter visible={true} />\r\n <Sorting mode=\"multiple\" />\r\n <Export\r\n enabled={true}\r\n allowExportSelectedData={true}\r\n formats={exportFormats}\r\n />\r\n {props.selectOptions?.selectEnable && (\r\n <Selection\r\n mode={props.selectOptions?.mode ?? \"multiple\"}\r\n deferred={props.selectOptions?.deferred ?? true}\r\n />\r\n )}\r\n <ColumnChooser enabled={true} mode=\"select\">\r\n {!props.columnChooserPositionDisabled && (\r\n <Position\r\n my=\"right top\"\r\n at=\"right bottom\"\r\n of={\r\n document.querySelector(`.${props.dataGridPageName}`)\r\n ? `.${props.dataGridPageName} .dx-datagrid-column-chooser-button`\r\n : \".dx-datagrid-column-chooser-button\"\r\n }\r\n />\r\n )}\r\n <ColumnChooserSearch\r\n enabled={true}\r\n editorOptions={{ placeholder: \"\" }}\r\n />\r\n\r\n <ColumnChooserSelection\r\n allowSelectAll={true}\r\n selectByClick={true}\r\n recursive={true} />\r\n </ColumnChooser>\r\n <Toolbar>\r\n <DxItem name=\"searchPanel\" />\r\n <DxItem name=\"columnChooserButton\" cssClass='toolbarPanelItems' />\r\n <DxItem name=\"exportButton\" cssClass='toolbarPanelItems' />\r\n </Toolbar>\r\n <Summary calculateCustomSummary={renderTotal}>\r\n <TotalItem\r\n column={columns.current[0].dataField}\r\n summaryType=\"custom\"\r\n displayFormat={renderTotal()}\r\n />\r\n </Summary>\r\n <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n customLoad={customLoad}\r\n customSave={customSave} >\r\n </StateStoring>\r\n </DataGrid>\r\n </React.Fragment >\r\n )\r\n}\r\n\r\nexport default OdsRemoteDataGrid;\r\n"],"names":["exportFormats","totalPageCount","loadedPageCount","totalRecordCount","useToken","theme","OdsRemoteDataGrid","props","token","data","setData","useState","fileName","dayjs","filteredRowCount","setFilteredRowCount","columns","useRef","gridRef","filterApplied","loading","setLoading","contentReady","setContentReady","scrollPosition","setScrollPosition","onCancelEditEvent","headers","useEffect","fetchData","newColumns","colItem","headerCellRenderr","jsx","Tooltip","InfoCircleOutlined","locale","loadMessages","checkSortingPropertyForInitilaize","cssRules","styleSheet","checkData","dataGridInstance","dataExists","gridElement","onOptionChanged","sortedColumn","p","column","index","fullName","gridEvent","checkRequestDataHasOnlySortingProperty","obj","keys","actionButtons","useMemo","useCallback","apiUrl","query","queryString","requestOptions","response","newData","newArray","prevData","getTotalCount","totalCount","onEditorPreparing","args","getServerSide","type","onExporting","workbook","Workbook","newColumnFromFilterData","filterItem","exportDataGridXls","options","gridCell","excelCell","date","offsetMinutes","sign","hours","minutes","formattedOffset","formattedDate","matchingItem","item","buffer","saveAs","doc","jsPDF","exportDataGrid","customLoad","state","customSave","onEditorPrepared","info","i","renderTotal","result","totalloaded","concatFilteredLabel","actionCellRender","cellData","kebabMenuButtons","button","DynamicIcon","event","customEvent","buttonElements","buttonItem","isVisible","OdsDataGrdiRowButton","OdsDropdown","React","onScrollEnd","handleScroll","debounce","e","scrollable","top","height","scrollHeight","maxHeight","reachedBottom","lastScrollTop","container","handleContentReady","filteredDataCount","onFilterValueChange","onToolbarPreparing","_","__","wrapper","createRoot","buttonGroupItem","OdsButton","isTextEmpty","OdsTitle","detailGrid","jsxs","DataGrid","col","Column","Lookup","HeaderFilter","multiLevelColItem","MasterDetail","Editing","Popup","Form","formItem","Item","subItem","Paging","Pager","Scrolling","LoadPanel","SearchPanel","FilterRow","FilterPanel","Sorting","Export","Selection","ColumnChooser","Position","ColumnChooserSearch","ColumnChooserSelection","Toolbar","DxItem","Summary","TotalItem","StateStoring"],"mappings":"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"}
@@ -2,13 +2,13 @@ import { jsxs as m, jsx as i } from "react/jsx-runtime";
2
2
  import J, { useRef as h, useState as u, useEffect as K, useCallback as C, useMemo as $ } from "react";
3
3
  import { DataGrid as Q, Lookup as X, Toolbar as Y } from "devextreme-react";
4
4
  import { Scrolling as Z, Paging as D, HeaderFilter as b, SearchPanel as I, FilterRow as ee, Column as T, Pager as te, ColumnChooser as ne, Position as oe, ColumnChooserSearch as ie, ColumnChooserSelection as ae, FilterPanel as le, Export as re, Item as S } from "devextreme-react/data-grid";
5
- import { useStyles as de } from "./OdsServerSideDatagrid.Style.js";
5
+ import de from "./OdsServerSideDatagrid.module.scss.js";
6
6
  import se from "../../antd/dropdown/OdsDropdown.js";
7
7
  import R from "../../antd/button/OdsDataGrdiRowButton.js";
8
8
  import ce from "../datagridUtils/DynamicIcon.js";
9
9
  import { ExportDataGridToExcel as ue } from "../../../utils/ExportDataGridtoExcel.js";
10
10
  const be = (t) => {
11
- const N = h(0), [F, z] = u(50), [E, L] = u(0), [s, A] = u(!1), [me, M] = u(0), [fe, U] = u(0), c = h(0), f = h(0), [W, G] = u(!1), O = h(null), { styles: k } = de();
11
+ const N = h(0), [F, z] = u(50), [E, L] = u(0), [s, A] = u(!1), [me, M] = u(0), [fe, U] = u(0), c = h(0), f = h(0), [W, G] = u(!1), O = h(null), k = de;
12
12
  K(() => {
13
13
  }, [
14
14
  W,
@@ -1 +1 @@
1
- {"version":3,"file":"OdsServerSideDatagrid.js","sources":["../../../../src/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.tsx"],"sourcesContent":["import React, {\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { DataGrid, Lookup, Toolbar } from \"devextreme-react\";\r\nimport {\r\n Item as DxItem,\r\n Column,\r\n FilterRow,\r\n HeaderFilter,\r\n Paging,\r\n Scrolling,\r\n Pager,\r\n Export,\r\n ColumnChooser,\r\n FilterPanel,\r\n ColumnChooserSearch,\r\n ColumnChooserSelection,\r\n Position,\r\n SearchPanel,\r\n} from \"devextreme-react/data-grid\";\r\nimport { useStyles } from \"./OdsServerSideDatagrid.Style\";\r\nimport { IVirtualDataGridProps } from \"./OdsServerSideDatagrid.Types\";\r\nimport OdsDropdown from \"../../antd/dropdown/OdsDropdown\";\r\nimport OdsDataGrdiRowButton from \"../../antd/button/OdsDataGrdiRowButton\";\r\nimport DynamicIcon from \"../datagridUtils/DynamicIcon\";\r\nimport { ExportDataGridToExcel } from \"../../../utils/ExportDataGridtoExcel\";\r\n\r\nconst OdsServerSideDatagrid = (props: IVirtualDataGridProps) => {\r\n const rowCount = useRef(0);\r\n const [currentPageSize, setCurrentPageSize] = useState(50);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const [filterApplied, setFilterApplied] = useState(false);\r\n // @ts-ignore\r\n const [totalUnfilteredCountState, setTotalUnfilteredCountState] = useState(0);\r\n // @ts-ignore\r\n const [totalFilteredCountState, setTotalFilteredCountState] = useState(0);\r\n const totalUnfilteredCount = useRef(0);\r\n const totalFilteredCount = useRef(0);\r\n const [updateTrigger, setUpdateTrigger] = useState(false);\r\n const lastPageIndexRef = useRef(null);\r\n const { styles: gridStyle } = useStyles();\r\n\r\n useEffect(() => {}, [\r\n updateTrigger,\r\n totalUnfilteredCount,\r\n totalFilteredCount,\r\n filterApplied,\r\n ]);\r\n\r\n const renderTotal = useCallback(() => {\r\n const totalLoaded = filterApplied\r\n ? totalFilteredCount.current\r\n : totalUnfilteredCount.current;\r\n const loadedPage = currentPage;\r\n const totalRecords = props.totalRecordCount;\r\n const totalPageCount = Math.ceil(totalRecords / currentPageSize);\r\n\r\n if (totalLoaded === 0 || totalLoaded === -1) {\r\n return \"\";\r\n }\r\n\r\n let filteredDisplayText = filterApplied\r\n ? `${totalLoaded} ${props.customSummary?.summaryFilteredDataLabel} - `\r\n : \"\";\r\n\r\n let loadedDisplayText = `${totalUnfilteredCount.current} ${props.customSummary?.summaryLoadedDataLabel} - `;\r\n\r\n let result;\r\n if (props.isClientSideOperation) {\r\n result = `${filteredDisplayText}${props.customSummary?.summaryTotalDataLabel} : ${totalRecords} `;\r\n } else {\r\n result = `${filteredDisplayText}${loadedDisplayText}${totalRecords} ${props.customSummary?.summaryTotalDataLabel}`;\r\n result += ` - ${props.customSummary?.summaryTotalPageCountLabel} ${loadedPage} / ${totalPageCount}`;\r\n }\r\n\r\n return result;\r\n }, [\r\n currentPage,\r\n currentPageSize,\r\n filterApplied,\r\n props.customSummary,\r\n props.totalRecordCount,\r\n totalUnfilteredCount,\r\n props.dataSource,\r\n props.dataGridRef?.dataGridInstance?.getDataSource()?.items()?.length,\r\n ]);\r\n\r\n const handleContentReady = useCallback(\r\n (e) => {\r\n const dataGridInstance = e.component;\r\n const currentPageIndex = dataGridInstance.pageCount(); //dataGridInstance.pageIndex();\r\n\r\n const currentTotalCount =\r\n currentPageIndex == 0 ? 50 : dataGridInstance.totalCount();\r\n const newData = dataGridInstance?.getDataSource()?.items();\r\n\r\n if (filterApplied) {\r\n setTotalFilteredCountState(currentTotalCount);\r\n totalFilteredCount.current = currentTotalCount;\r\n } else {\r\n setTotalUnfilteredCountState(currentTotalCount);\r\n totalUnfilteredCount.current = currentTotalCount;\r\n }\r\n\r\n renderTotal();\r\n if (\r\n ((!filterApplied &&\r\n currentPageIndex == 1 &&\r\n currentTotalCount != totalUnfilteredCount.current) ||\r\n lastPageIndexRef.current !== currentPageIndex) &&\r\n newData &&\r\n newData.length > 0\r\n ) {\r\n setCurrentPage(currentPageIndex);\r\n setCurrentPageSize(dataGridInstance.pageSize());\r\n rowCount.current = currentTotalCount;\r\n\r\n setUpdateTrigger((prev) => !prev);\r\n lastPageIndexRef.current = currentPageIndex;\r\n }\r\n },\r\n [props.columns, filterApplied]\r\n );\r\n\r\n const handleOptionChanged = useCallback(\r\n (e) => {\r\n if (props.dataGridRef.current === null) {\r\n return;\r\n }\r\n const dataGrid = props.dataGridRef.current?.instance?.();\r\n \r\n const updateFilterStatus = () => {\r\n const filters = dataGrid?.getCombinedFilter(true);\r\n const active = filters && filters.length > 0;\r\n setFilterApplied(active);\r\n return active;\r\n };\r\n\r\n if (e.fullName.includes(\"sortOrder\")) {\r\n dataGrid?.getScrollable().scrollTo(0);\r\n // setHeaderFilterData([]);\r\n }\r\n\r\n if (\r\n e.fullName.includes(\"filterValue\") ||\r\n e.fullName.includes(\"filter\") ||\r\n e.fullName === \"searchPanel.text\"\r\n ) {\r\n const active = updateFilterStatus();\r\n\r\n if (active) {\r\n setTimeout(() => {\r\n dataGrid?.refresh().done(() => {\r\n totalFilteredCount.current = dataGrid?.totalCount();\r\n setUpdateTrigger((prev) => !prev);\r\n });\r\n }, 0);\r\n }\r\n }\r\n\r\n if (props.sortingProps && props.sortingProps.onOptionChanged) {\r\n props.sortingProps.onOptionChanged(e);\r\n }\r\n },\r\n [props.dataGridRef]\r\n );\r\n\r\n const handleSelectionChanged = (event) => {\r\n props.onSelectionChanged && props.onSelectionChanged(event);\r\n };\r\n\r\n const actionButtons = useMemo(() => {\r\n if (props.actionButtonGroup) {\r\n if (props.actionButtonGroup.length > 3 && !props.edit) {\r\n return props.actionButtonGroup.slice(0, 2);\r\n } else {\r\n return props.actionButtonGroup;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }, [props.actionButtonGroup]);\r\n\r\n const onEditorPrepared = useCallback((info) => {\r\n if (\r\n info.parentType === \"filterRow\" &&\r\n info.editorName === \"dxSelectBox\" &&\r\n info.dataField === \"IsActive\"\r\n ) {\r\n if (info.dataSource != null && info.dataSource.length > 0) {\r\n info.showAllText = info.dataSource.find((i) => {\r\n return i.value === null;\r\n }).label;\r\n info.trueText = info.dataSource.find((i) => {\r\n return i.value === true;\r\n }).label;\r\n info.falseText = info.dataSource.find((i) => {\r\n return i.value === false;\r\n }).label;\r\n }\r\n }\r\n }, []);\r\n\r\n function actionCellRender(cellData, props) {\r\n const kebabMenuButtons =\r\n props.actionButtonGroup &&\r\n props.actionButtonGroup.length > 3 &&\r\n !props.edit\r\n ? props.actionButtonGroup.slice(2).map((button) => {\r\n if (button.elementType === \"element\" && button.element) {\r\n return {\r\n icon: button.element,\r\n };\r\n } else {\r\n return {\r\n icon: button.icon,\r\n onClick: (event) => {\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row,\r\n };\r\n button.onClick(customEvent);\r\n },\r\n };\r\n }\r\n })\r\n : [];\r\n\r\n const buttonElements = [];\r\n\r\n {\r\n !props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible =\r\n typeof buttonItem.visible === \"function\"\r\n ? buttonItem.visible({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.visible;\r\n\r\n const isDisabled =\r\n typeof buttonItem.disabled === \"function\"\r\n ? buttonItem.disabled({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.disabled;\r\n\r\n const permissionDisabled =\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission;\r\n\r\n const finalDisabled = isDisabled || permissionDisabled;\r\n\r\n if (buttonItem.elementType === \"element\" && buttonItem.element) {\r\n buttonElements.push(buttonItem.element);\r\n } else {\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={finalDisabled}\r\n icon={buttonItem.icon}\r\n {...(props.actionButtonsTooltipType === \"styled\" && {\r\n tooltip: buttonItem.hint,\r\n })}\r\n onClick={(event) => {\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row,\r\n };\r\n buttonItem.onClick(customEvent);\r\n }}\r\n />\r\n );\r\n }\r\n });\r\n }\r\n {\r\n props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible =\r\n typeof buttonItem.visible === \"function\"\r\n ? buttonItem.visible({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.visible;\r\n\r\n const isDisabled =\r\n typeof buttonItem.disabled === \"function\"\r\n ? buttonItem.disabled({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.disabled;\r\n\r\n const permissionDisabled =\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission;\r\n\r\n const finalDisabled = isDisabled || permissionDisabled;\r\n\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n name={buttonItem.name}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={finalDisabled}\r\n icon={buttonItem.icon}\r\n {...(props.actionButtonsTooltipType === \"styled\" && {\r\n tooltip: buttonItem.hint,\r\n })}\r\n onClick={(event) => {\r\n if (buttonItem.onClick) {\r\n // event.preventDefault();\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row,\r\n };\r\n buttonItem.onClick(customEvent);\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n }\r\n\r\n if (kebabMenuButtons.length > 0) {\r\n buttonElements.push(\r\n <OdsDropdown\r\n key={`dropdown-${cellData.rowIndex || cellData.data.ID}`}\r\n menuItems={kebabMenuButtons}\r\n >\r\n <OdsDataGrdiRowButton\r\n type=\"text\"\r\n icon={<DynamicIcon iconName={\"kebabMenu\"} />}\r\n />\r\n </OdsDropdown>\r\n );\r\n }\r\n\r\n return <React.Fragment><div className=\"flex flex-row gap-4 justify-center items-center\">{buttonElements}</div></React.Fragment>;\r\n }\r\n\r\n const remoteOperations = useMemo(() => {\r\n if (props.isClientSideOperation) {\r\n return false;\r\n }\r\n\r\n return props.remoteOperations ?? true;\r\n }, [props.isClientSideOperation, props.remoteOperations]);\r\n\r\n return (\r\n <div>\r\n <DataGrid\r\n dataSource={props.dataSource}\r\n showBorders={true}\r\n repaintChangesOnly={true}\r\n allowColumnReordering={true}\r\n remoteOperations={remoteOperations}\r\n columnAutoWidth={false}\r\n wordWrapEnabled={props.wordWrapEnabled ? props.wordWrapEnabled : false}\r\n columnFixing={{ enabled: true }}\r\n focusedRowEnabled={false}\r\n onEditorPrepared={onEditorPrepared}\r\n onRowClick={props.onRowClick}\r\n onCellClick={(e) => {\r\n if (e.rowType != \"header\") {\r\n e.cellElement.style.backgroundColor = \"transparent\";\r\n }\r\n }}\r\n allowColumnResizing={true}\r\n columnResizingMode={props.columnResizingMode ?? \"widget\"}\r\n showRowLines={true}\r\n filterSyncEnabled={true}\r\n syncLookupFilterValues={true}\r\n height={\r\n props.height == undefined ? window.innerHeight - 164 : props.height\r\n }\r\n selection={\r\n props.selection ?? {\r\n mode: \"multiple\",\r\n selectAllMode: \"page\",\r\n }\r\n }\r\n noDataText={props.noDataText}\r\n {...props.sortingProps}\r\n export={props.exportProps}\r\n className={gridStyle.grid}\r\n onExporting={(e) =>\r\n ExportDataGridToExcel({\r\n gridComponent: e.component,\r\n baseFileName: props.exportProps.fileName,\r\n selectedText: props.exportProps.selectedText,\r\n getSummary: renderTotal,\r\n selectedRowsOnly: e.selectedRowsOnly,\r\n activeText: props.exportProps.activeText ?? \"Active\",\r\n passiveText: props.exportProps.passiveText ?? \"Passive\",\r\n })\r\n }\r\n onContentReady={handleContentReady}\r\n onOptionChanged={handleOptionChanged}\r\n onSelectionChanged={handleSelectionChanged}\r\n width=\"100%\"\r\n language={props.language}\r\n onToolbarPreparing={props.onToolbarPreparing}\r\n ref={props.dataGridRef}\r\n >\r\n <Scrolling\r\n mode={props.isClientSideOperation ? \"virtual\" : \"infinite\"}\r\n preloadEnabled={true}\r\n />\r\n {!props.isClientSideOperation && (\r\n <Paging enabled={true} defaultPageSize={props.pageSize} />\r\n )}\r\n\r\n <HeaderFilter visible={true} />\r\n <SearchPanel visible={true} />\r\n <FilterRow\r\n visible={props.isFilterRow != undefined ? props.isFilterRow : true}\r\n />\r\n\r\n {props.columns.map((col: any) => (\r\n <Column\r\n key={col.dataField}\r\n {...col}\r\n minWidth={10}\r\n width={props.isColumnWidthFixed === true ? 160 : undefined}\r\n >\r\n {col.lookUp && <Lookup {...col.lookUp} />}\r\n {col.dataField === \"IsActive\" && (\r\n <HeaderFilter\r\n dataSource={[\r\n { text: \"Active\", value: true },\r\n { text: \"Passive\", value: false },\r\n ]}\r\n />\r\n )}\r\n\r\n {col.headerFilter && (\r\n <HeaderFilter {...col.headerFilter} visible={true} />\r\n )}\r\n {col.multiLevelColumns &&\r\n col.multiLevelColumns.map((multiLevelColItem: any) => (\r\n <Column\r\n dataField={multiLevelColItem.dataField}\r\n caption={multiLevelColItem.caption}\r\n width={80}\r\n />\r\n ))}\r\n </Column>\r\n ))}\r\n\r\n {props.actionColumnEnable !== undefined &&\r\n props.actionColumnEnable === true && (\r\n <Column\r\n dataField=\"Actions\"\r\n caption=\"\"\r\n fixed={true}\r\n allowSorting={false}\r\n type=\"buttons\"\r\n showInColumnChooser={false}\r\n cellRender={(cellData) => actionCellRender(cellData, props)}\r\n />\r\n )}\r\n\r\n <Pager\r\n visible={props.pagerProps?.visible ?? true}\r\n showPageSizeSelector={props.pagerProps?.showPageSizeSelector ?? true}\r\n showInfo={props.pagerProps?.showInfo ?? true}\r\n displayMode={props.pagerProps?.displayMode ?? \"full\"}\r\n infoText={props.pagerProps?.infoText ?? \"Loaded {0} of {1} items\"}\r\n />\r\n <ColumnChooser enabled={true} mode=\"select\">\r\n {!props.columnChooserPositionDisabled && (\r\n <Position\r\n my=\"right top\"\r\n at=\"right bottom\"\r\n of={\r\n document.querySelector(`.${props.dataGridPageName}`)\r\n ? `.${props.dataGridPageName} .dx-datagrid-column-chooser-button`\r\n : \".dx-datagrid-column-chooser-button\"\r\n }\r\n />\r\n )}\r\n <ColumnChooserSearch\r\n enabled={true}\r\n editorOptions={{ placeholder: \"\" }}\r\n />\r\n\r\n <ColumnChooserSelection\r\n allowSelectAll={true}\r\n selectByClick={true}\r\n recursive={true}\r\n />\r\n </ColumnChooser>\r\n <FilterPanel visible={props.isFilterPanel} />\r\n {props.exportProps?.enabled && (\r\n <Export\r\n enabled={props.exportProps.enabled}\r\n allowExportSelectedData={props.exportProps.allowExportSelectedData}\r\n />\r\n )}\r\n <Toolbar>\r\n <DxItem name=\"searchPanel\" />\r\n <DxItem name=\"columnChooserButton\" cssClass=\"toolbarPanelItems\" />\r\n <DxItem name=\"exportButton\" cssClass=\"toolbarPanelItems\" />\r\n <DxItem name=\"exportButton\" cssClass=\"toolbarPanelItems\" />\r\n </Toolbar>\r\n </DataGrid>\r\n {renderTotal() && (\r\n <div className={gridStyle.gridCustomSummary}>\r\n <p>{renderTotal()}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default OdsServerSideDatagrid;\r\n"],"names":["OdsServerSideDatagrid","props","rowCount","useRef","currentPageSize","setCurrentPageSize","useState","currentPage","setCurrentPage","filterApplied","setFilterApplied","totalUnfilteredCountState","setTotalUnfilteredCountState","totalFilteredCountState","setTotalFilteredCountState","totalUnfilteredCount","totalFilteredCount","updateTrigger","setUpdateTrigger","lastPageIndexRef","gridStyle","useStyles","useEffect","renderTotal","useCallback","totalLoaded","loadedPage","totalRecords","totalPageCount","filteredDisplayText","loadedDisplayText","result","handleContentReady","dataGridInstance","currentPageIndex","currentTotalCount","newData","prev","handleOptionChanged","dataGrid","updateFilterStatus","filters","active","handleSelectionChanged","event","actionButtons","useMemo","onEditorPrepared","info","i","actionCellRender","cellData","kebabMenuButtons","button","customEvent","buttonElements","buttonItem","index","isVisible","isDisabled","permissionDisabled","finalDisabled","jsx","OdsDataGrdiRowButton","OdsDropdown","DynamicIcon","React","remoteOperations","jsxs","DataGrid","ExportDataGridToExcel","Scrolling","Paging","HeaderFilter","SearchPanel","FilterRow","col","Column","Lookup","multiLevelColItem","Pager","ColumnChooser","Position","ColumnChooserSearch","ColumnChooserSelection","FilterPanel","Export","Toolbar","DxItem"],"mappings":"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"}
1
+ {"version":3,"file":"OdsServerSideDatagrid.js","sources":["../../../../src/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.tsx"],"sourcesContent":["import React, {\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { DataGrid, Lookup, Toolbar } from \"devextreme-react\";\r\nimport {\r\n Item as DxItem,\r\n Column,\r\n FilterRow,\r\n HeaderFilter,\r\n Paging,\r\n Scrolling,\r\n Pager,\r\n Export,\r\n ColumnChooser,\r\n FilterPanel,\r\n ColumnChooserSearch,\r\n ColumnChooserSelection,\r\n Position,\r\n SearchPanel,\r\n} from \"devextreme-react/data-grid\";\r\nimport styles from \"./OdsServerSideDatagrid.module.scss\";\r\nimport { IVirtualDataGridProps } from \"./OdsServerSideDatagrid.Types\";\r\nimport OdsDropdown from \"../../antd/dropdown/OdsDropdown\";\r\nimport OdsDataGrdiRowButton from \"../../antd/button/OdsDataGrdiRowButton\";\r\nimport DynamicIcon from \"../datagridUtils/DynamicIcon\";\r\nimport { ExportDataGridToExcel } from \"../../../utils/ExportDataGridtoExcel\";\r\n\r\nconst OdsServerSideDatagrid = (props: IVirtualDataGridProps) => {\r\n const rowCount = useRef(0);\r\n const [currentPageSize, setCurrentPageSize] = useState(50);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const [filterApplied, setFilterApplied] = useState(false);\r\n const [totalUnfilteredCountState, setTotalUnfilteredCountState] = useState(0);\r\n const [totalFilteredCountState, setTotalFilteredCountState] = useState(0);\r\n const totalUnfilteredCount = useRef(0);\r\n const totalFilteredCount = useRef(0);\r\n const [updateTrigger, setUpdateTrigger] = useState(false);\r\n const lastPageIndexRef = useRef(null);\r\n const gridStyle = styles;\r\n\r\n useEffect(() => {}, [\r\n updateTrigger,\r\n totalUnfilteredCount,\r\n totalFilteredCount,\r\n filterApplied,\r\n ]);\r\n\r\n const renderTotal = useCallback(() => {\r\n const totalLoaded = filterApplied\r\n ? totalFilteredCount.current\r\n : totalUnfilteredCount.current;\r\n const loadedPage = currentPage;\r\n const totalRecords = props.totalRecordCount;\r\n const totalPageCount = Math.ceil(totalRecords / currentPageSize);\r\n\r\n if (totalLoaded === 0 || totalLoaded === -1) {\r\n return \"\";\r\n }\r\n\r\n let filteredDisplayText = filterApplied\r\n ? `${totalLoaded} ${props.customSummary?.summaryFilteredDataLabel} - `\r\n : \"\";\r\n\r\n let loadedDisplayText = `${totalUnfilteredCount.current} ${props.customSummary?.summaryLoadedDataLabel} - `;\r\n\r\n let result;\r\n if (props.isClientSideOperation) {\r\n result = `${filteredDisplayText}${props.customSummary?.summaryTotalDataLabel} : ${totalRecords} `;\r\n } else {\r\n result = `${filteredDisplayText}${loadedDisplayText}${totalRecords} ${props.customSummary?.summaryTotalDataLabel}`;\r\n result += ` - ${props.customSummary?.summaryTotalPageCountLabel} ${loadedPage} / ${totalPageCount}`;\r\n }\r\n\r\n return result;\r\n }, [\r\n currentPage,\r\n currentPageSize,\r\n filterApplied,\r\n props.customSummary,\r\n props.totalRecordCount,\r\n totalUnfilteredCount,\r\n props.dataSource,\r\n props.dataGridRef?.dataGridInstance?.getDataSource()?.items()?.length,\r\n ]);\r\n\r\n const handleContentReady = useCallback(\r\n (e) => {\r\n const dataGridInstance = e.component;\r\n const currentPageIndex = dataGridInstance.pageCount();\r\n\r\n const currentTotalCount =\r\n currentPageIndex == 0 ? 50 : dataGridInstance.totalCount();\r\n const newData = dataGridInstance?.getDataSource()?.items();\r\n\r\n if (filterApplied) {\r\n setTotalFilteredCountState(currentTotalCount);\r\n totalFilteredCount.current = currentTotalCount;\r\n } else {\r\n setTotalUnfilteredCountState(currentTotalCount);\r\n totalUnfilteredCount.current = currentTotalCount;\r\n }\r\n\r\n renderTotal();\r\n if (\r\n ((!filterApplied &&\r\n currentPageIndex == 1 &&\r\n currentTotalCount != totalUnfilteredCount.current) ||\r\n lastPageIndexRef.current !== currentPageIndex) &&\r\n newData &&\r\n newData.length > 0\r\n ) {\r\n setCurrentPage(currentPageIndex);\r\n setCurrentPageSize(dataGridInstance.pageSize());\r\n rowCount.current = currentTotalCount;\r\n\r\n setUpdateTrigger((prev) => !prev);\r\n lastPageIndexRef.current = currentPageIndex;\r\n }\r\n },\r\n [props.columns, filterApplied]\r\n );\r\n\r\n const handleOptionChanged = useCallback(\r\n (e) => {\r\n if (props.dataGridRef.current === null) {\r\n return;\r\n }\r\n const dataGrid = props.dataGridRef.current?.instance?.();\r\n \r\n const updateFilterStatus = () => {\r\n const filters = dataGrid?.getCombinedFilter(true);\r\n const active = filters && filters.length > 0;\r\n setFilterApplied(active);\r\n return active;\r\n };\r\n\r\n if (e.fullName.includes(\"sortOrder\")) {\r\n dataGrid?.getScrollable().scrollTo(0);\r\n }\r\n\r\n if (\r\n e.fullName.includes(\"filterValue\") ||\r\n e.fullName.includes(\"filter\") ||\r\n e.fullName === \"searchPanel.text\"\r\n ) {\r\n const active = updateFilterStatus();\r\n\r\n if (active) {\r\n setTimeout(() => {\r\n dataGrid?.refresh().done(() => {\r\n totalFilteredCount.current = dataGrid?.totalCount();\r\n setUpdateTrigger((prev) => !prev);\r\n });\r\n }, 0);\r\n }\r\n }\r\n\r\n if (props.sortingProps && props.sortingProps.onOptionChanged) {\r\n props.sortingProps.onOptionChanged(e);\r\n }\r\n },\r\n [props.dataGridRef]\r\n );\r\n\r\n const handleSelectionChanged = (event) => {\r\n props.onSelectionChanged && props.onSelectionChanged(event);\r\n };\r\n\r\n const actionButtons = useMemo(() => {\r\n if (props.actionButtonGroup) {\r\n if (props.actionButtonGroup.length > 3 && !props.edit) {\r\n return props.actionButtonGroup.slice(0, 2);\r\n } else {\r\n return props.actionButtonGroup;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }, [props.actionButtonGroup]);\r\n\r\n const onEditorPrepared = useCallback((info) => {\r\n if (\r\n info.parentType === \"filterRow\" &&\r\n info.editorName === \"dxSelectBox\" &&\r\n info.dataField === \"IsActive\"\r\n ) {\r\n if (info.dataSource != null && info.dataSource.length > 0) {\r\n info.showAllText = info.dataSource.find((i) => {\r\n return i.value === null;\r\n }).label;\r\n info.trueText = info.dataSource.find((i) => {\r\n return i.value === true;\r\n }).label;\r\n info.falseText = info.dataSource.find((i) => {\r\n return i.value === false;\r\n }).label;\r\n }\r\n }\r\n }, []);\r\n\r\n function actionCellRender(cellData, props) {\r\n const kebabMenuButtons =\r\n props.actionButtonGroup &&\r\n props.actionButtonGroup.length > 3 &&\r\n !props.edit\r\n ? props.actionButtonGroup.slice(2).map((button) => {\r\n if (button.elementType === \"element\" && button.element) {\r\n return {\r\n icon: button.element,\r\n };\r\n } else {\r\n return {\r\n icon: button.icon,\r\n onClick: (event) => {\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row,\r\n };\r\n button.onClick(customEvent);\r\n },\r\n };\r\n }\r\n })\r\n : [];\r\n\r\n const buttonElements = [];\r\n\r\n {\r\n !props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible =\r\n typeof buttonItem.visible === \"function\"\r\n ? buttonItem.visible({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.visible;\r\n\r\n const isDisabled =\r\n typeof buttonItem.disabled === \"function\"\r\n ? buttonItem.disabled({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.disabled;\r\n\r\n const permissionDisabled =\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission;\r\n\r\n const finalDisabled = isDisabled || permissionDisabled;\r\n\r\n if (buttonItem.elementType === \"element\" && buttonItem.element) {\r\n buttonElements.push(buttonItem.element);\r\n } else {\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={finalDisabled}\r\n icon={buttonItem.icon}\r\n {...(props.actionButtonsTooltipType === \"styled\" && {\r\n tooltip: buttonItem.hint,\r\n })}\r\n onClick={(event) => {\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row,\r\n };\r\n buttonItem.onClick(customEvent);\r\n }}\r\n />\r\n );\r\n }\r\n });\r\n }\r\n {\r\n props.edit &&\r\n actionButtons.forEach((buttonItem, index) => {\r\n const isVisible =\r\n typeof buttonItem.visible === \"function\"\r\n ? buttonItem.visible({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.visible;\r\n\r\n const isDisabled =\r\n typeof buttonItem.disabled === \"function\"\r\n ? buttonItem.disabled({\r\n column: cellData.column,\r\n component: cellData.component,\r\n row: cellData.row,\r\n })\r\n : buttonItem.disabled;\r\n\r\n const permissionDisabled =\r\n buttonItem.actionPermission === undefined\r\n ? false\r\n : !buttonItem.actionPermission;\r\n\r\n const finalDisabled = isDisabled || permissionDisabled;\r\n\r\n buttonElements.push(\r\n <OdsDataGrdiRowButton\r\n key={`action-button-${index}`}\r\n name={buttonItem.name}\r\n hint={buttonItem.hint}\r\n visible={isVisible}\r\n size=\"small\"\r\n type=\"text\"\r\n disabled={finalDisabled}\r\n icon={buttonItem.icon}\r\n {...(props.actionButtonsTooltipType === \"styled\" && {\r\n tooltip: buttonItem.hint,\r\n })}\r\n onClick={(event) => {\r\n if (buttonItem.onClick) {\r\n const customEvent = {\r\n column: cellData.column,\r\n component: cellData.component,\r\n element: cellData.element,\r\n event: event,\r\n model: cellData.data,\r\n row: cellData.row,\r\n };\r\n buttonItem.onClick(customEvent);\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n }\r\n\r\n if (kebabMenuButtons.length > 0) {\r\n buttonElements.push(\r\n <OdsDropdown\r\n key={`dropdown-${cellData.rowIndex || cellData.data.ID}`}\r\n menuItems={kebabMenuButtons}\r\n >\r\n <OdsDataGrdiRowButton\r\n type=\"text\"\r\n icon={<DynamicIcon iconName={\"kebabMenu\"} />}\r\n />\r\n </OdsDropdown>\r\n );\r\n }\r\n\r\n return <React.Fragment><div className=\"flex flex-row gap-4 justify-center items-center\">{buttonElements}</div></React.Fragment>;\r\n }\r\n\r\n const remoteOperations = useMemo(() => {\r\n if (props.isClientSideOperation) {\r\n return false;\r\n }\r\n\r\n return props.remoteOperations ?? true;\r\n }, [props.isClientSideOperation, props.remoteOperations]);\r\n\r\n return (\r\n <div>\r\n <DataGrid\r\n dataSource={props.dataSource}\r\n showBorders={true}\r\n repaintChangesOnly={true}\r\n allowColumnReordering={true}\r\n remoteOperations={remoteOperations}\r\n columnAutoWidth={false}\r\n wordWrapEnabled={props.wordWrapEnabled ? props.wordWrapEnabled : false}\r\n columnFixing={{ enabled: true }}\r\n focusedRowEnabled={false}\r\n onEditorPrepared={onEditorPrepared}\r\n onRowClick={props.onRowClick}\r\n onCellClick={(e) => {\r\n if (e.rowType != \"header\") {\r\n e.cellElement.style.backgroundColor = \"transparent\";\r\n }\r\n }}\r\n allowColumnResizing={true}\r\n columnResizingMode={props.columnResizingMode ?? \"widget\"}\r\n showRowLines={true}\r\n filterSyncEnabled={true}\r\n syncLookupFilterValues={true}\r\n height={\r\n props.height == undefined ? window.innerHeight - 164 : props.height\r\n }\r\n selection={\r\n props.selection ?? {\r\n mode: \"multiple\",\r\n selectAllMode: \"page\",\r\n }\r\n }\r\n noDataText={props.noDataText}\r\n {...props.sortingProps}\r\n export={props.exportProps}\r\n className={gridStyle.grid}\r\n onExporting={(e) =>\r\n ExportDataGridToExcel({\r\n gridComponent: e.component,\r\n baseFileName: props.exportProps.fileName,\r\n selectedText: props.exportProps.selectedText,\r\n getSummary: renderTotal,\r\n selectedRowsOnly: e.selectedRowsOnly,\r\n activeText: props.exportProps.activeText ?? \"Active\",\r\n passiveText: props.exportProps.passiveText ?? \"Passive\",\r\n })\r\n }\r\n onContentReady={handleContentReady}\r\n onOptionChanged={handleOptionChanged}\r\n onSelectionChanged={handleSelectionChanged}\r\n width=\"100%\"\r\n language={props.language}\r\n onToolbarPreparing={props.onToolbarPreparing}\r\n ref={props.dataGridRef}\r\n >\r\n <Scrolling\r\n mode={props.isClientSideOperation ? \"virtual\" : \"infinite\"}\r\n preloadEnabled={true}\r\n />\r\n {!props.isClientSideOperation && (\r\n <Paging enabled={true} defaultPageSize={props.pageSize} />\r\n )}\r\n\r\n <HeaderFilter visible={true} />\r\n <SearchPanel visible={true} />\r\n <FilterRow\r\n visible={props.isFilterRow != undefined ? props.isFilterRow : true}\r\n />\r\n\r\n {props.columns.map((col: any) => (\r\n <Column\r\n key={col.dataField}\r\n {...col}\r\n minWidth={10}\r\n width={props.isColumnWidthFixed === true ? 160 : undefined}\r\n >\r\n {col.lookUp && <Lookup {...col.lookUp} />}\r\n {col.dataField === \"IsActive\" && (\r\n <HeaderFilter\r\n dataSource={[\r\n { text: \"Active\", value: true },\r\n { text: \"Passive\", value: false },\r\n ]}\r\n />\r\n )}\r\n\r\n {col.headerFilter && (\r\n <HeaderFilter {...col.headerFilter} visible={true} />\r\n )}\r\n {col.multiLevelColumns &&\r\n col.multiLevelColumns.map((multiLevelColItem: any) => (\r\n <Column\r\n dataField={multiLevelColItem.dataField}\r\n caption={multiLevelColItem.caption}\r\n width={80}\r\n />\r\n ))}\r\n </Column>\r\n ))}\r\n\r\n {props.actionColumnEnable !== undefined &&\r\n props.actionColumnEnable === true && (\r\n <Column\r\n dataField=\"Actions\"\r\n caption=\"\"\r\n fixed={true}\r\n allowSorting={false}\r\n type=\"buttons\"\r\n showInColumnChooser={false}\r\n cellRender={(cellData) => actionCellRender(cellData, props)}\r\n />\r\n )}\r\n\r\n <Pager\r\n visible={props.pagerProps?.visible ?? true}\r\n showPageSizeSelector={props.pagerProps?.showPageSizeSelector ?? true}\r\n showInfo={props.pagerProps?.showInfo ?? true}\r\n displayMode={props.pagerProps?.displayMode ?? \"full\"}\r\n infoText={props.pagerProps?.infoText ?? \"Loaded {0} of {1} items\"}\r\n />\r\n <ColumnChooser enabled={true} mode=\"select\">\r\n {!props.columnChooserPositionDisabled && (\r\n <Position\r\n my=\"right top\"\r\n at=\"right bottom\"\r\n of={\r\n document.querySelector(`.${props.dataGridPageName}`)\r\n ? `.${props.dataGridPageName} .dx-datagrid-column-chooser-button`\r\n : \".dx-datagrid-column-chooser-button\"\r\n }\r\n />\r\n )}\r\n <ColumnChooserSearch\r\n enabled={true}\r\n editorOptions={{ placeholder: \"\" }}\r\n />\r\n\r\n <ColumnChooserSelection\r\n allowSelectAll={true}\r\n selectByClick={true}\r\n recursive={true}\r\n />\r\n </ColumnChooser>\r\n <FilterPanel visible={props.isFilterPanel} />\r\n {props.exportProps?.enabled && (\r\n <Export\r\n enabled={props.exportProps.enabled}\r\n allowExportSelectedData={props.exportProps.allowExportSelectedData}\r\n />\r\n )}\r\n <Toolbar>\r\n <DxItem name=\"searchPanel\" />\r\n <DxItem name=\"columnChooserButton\" cssClass=\"toolbarPanelItems\" />\r\n <DxItem name=\"exportButton\" cssClass=\"toolbarPanelItems\" />\r\n <DxItem name=\"exportButton\" cssClass=\"toolbarPanelItems\" />\r\n </Toolbar>\r\n </DataGrid>\r\n {renderTotal() && (\r\n <div className={gridStyle.gridCustomSummary}>\r\n <p>{renderTotal()}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default OdsServerSideDatagrid;\r\n"],"names":["OdsServerSideDatagrid","props","rowCount","useRef","currentPageSize","setCurrentPageSize","useState","currentPage","setCurrentPage","filterApplied","setFilterApplied","totalUnfilteredCountState","setTotalUnfilteredCountState","totalFilteredCountState","setTotalFilteredCountState","totalUnfilteredCount","totalFilteredCount","updateTrigger","setUpdateTrigger","lastPageIndexRef","gridStyle","styles","useEffect","renderTotal","useCallback","totalLoaded","loadedPage","totalRecords","totalPageCount","filteredDisplayText","loadedDisplayText","result","handleContentReady","dataGridInstance","currentPageIndex","currentTotalCount","newData","prev","handleOptionChanged","dataGrid","updateFilterStatus","filters","active","handleSelectionChanged","event","actionButtons","useMemo","onEditorPrepared","info","i","actionCellRender","cellData","kebabMenuButtons","button","customEvent","buttonElements","buttonItem","index","isVisible","isDisabled","permissionDisabled","finalDisabled","jsx","OdsDataGrdiRowButton","OdsDropdown","DynamicIcon","React","remoteOperations","jsxs","DataGrid","ExportDataGridToExcel","Scrolling","Paging","HeaderFilter","SearchPanel","FilterRow","col","Column","Lookup","multiLevelColItem","Pager","ColumnChooser","Position","ColumnChooserSearch","ColumnChooserSelection","FilterPanel","Export","Toolbar","DxItem"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .OdsServerSideDatagrid-module__grid___zNBYr .grid-cell-selected{background-color:#90ee90}.OdsServerSideDatagrid-module__grid___zNBYr .grid-cell-disable-text-selection{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.OdsServerSideDatagrid-module__grid___zNBYr .grid-cell-disable-colored{background-color:#d3d3d3}.OdsServerSideDatagrid-module__grid___zNBYr .grid-summary-row-label{font-weight:900}.OdsServerSideDatagrid-module__grid___zNBYr .grid-toolbar-button-item{padding:0!important}.OdsServerSideDatagrid-module__grid___zNBYr .dx-datagrid.dx-gridbase-container.dx-datagrid-borders{border:none!important;border-radius:16px 16px 0 0}.OdsServerSideDatagrid-module__grid___zNBYr .dx-datagrid-borders>.dx-datagrid-filter-panel,.OdsServerSideDatagrid-module__grid___zNBYr .dx-datagrid-borders>.dx-datagrid-headers{border:0!important}.OdsServerSideDatagrid-module__grid___zNBYr .dx-datagrid-search-panel{margin-left:0}.OdsServerSideDatagrid-module__grid___zNBYr .dx-toolbar-after .dx-toolbar-item,.OdsServerSideDatagrid-module__grid___zNBYr .dx-toolbar-after .dx-toolbar-item:last-child{padding:0}.OdsServerSideDatagrid-module__grid___zNBYr .dx-toolbar .dx-toolbar-after{display:inline-flex;flex-flow:row-reverse;gap:5px}.OdsServerSideDatagrid-module__gridCustomSummary___CxKcl{background-color:#fff;border-radius:0 0 16px 16px;font-size:13px;text-align:unset;padding:17px 16px 3px 15px;font-weight:600;border-top:1px solid #ededed}
@@ -0,0 +1,10 @@
1
+ const r = "OdsServerSideDatagrid-module__grid___zNBYr", d = "OdsServerSideDatagrid-module__gridCustomSummary___CxKcl", e = {
2
+ grid: r,
3
+ gridCustomSummary: d
4
+ };
5
+ export {
6
+ e as default,
7
+ r as grid,
8
+ d as gridCustomSummary
9
+ };
10
+ //# sourceMappingURL=OdsServerSideDatagrid.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OdsServerSideDatagrid.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}