robobyte-front-builder 1.0.17 → 1.0.21

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 (516) hide show
  1. package/README.md +211 -0
  2. package/next.config.js +19 -48
  3. package/package.json +39 -85
  4. package/src/context/BuilderContext.jsx +134 -6
  5. package/src/context/SystemContext.js +2 -2
  6. package/src/hooks/useGlobalStore.js +36 -0
  7. package/src/hooks/useTimerEngine.js +54 -0
  8. package/src/lib/index.js +11 -3
  9. package/src/lib/layouts/BlankLayout.jsx +13 -0
  10. package/src/lib/providers/RoboByteFrontBuilderProvider.jsx +59 -1
  11. package/src/lib/themes/builderTheme.js +41 -0
  12. package/src/pages/_app.js +32 -134
  13. package/src/pages/api/ai.js +87 -0
  14. package/src/pages/builders/report/index.js +1 -0
  15. package/src/pages/builders/report/list/index.js +1 -0
  16. package/src/pages/builders/report/viewer/index.js +1 -0
  17. package/src/pages/index.js +88 -37
  18. package/src/pages/printBuilder/index.jsx +263 -0
  19. package/src/pages/printBuilder/layouts/index.jsx +298 -0
  20. package/src/pages/reportModule/reportBuilder/index.js +723 -563
  21. package/src/pages/reportModule/reportBuilder/reportViewer/index.js +137 -71
  22. package/src/pages/reportModule/reportBuilder/reports/index.js +51 -13
  23. package/src/pages/reportModule/reportBuilder/reportsPermissions/index.js +126 -0
  24. package/src/pages/viewBuilder/index.jsx +117 -32
  25. package/src/pages/viewBuilder/views/index.js +3 -3
  26. package/src/pages/viewer/[id]/index.js +2 -1
  27. package/src/services/DeleteService.js +31 -60
  28. package/src/services/Endpoints/PrintLayoutEndpoints.js +42 -0
  29. package/src/services/Endpoints.js +2 -0
  30. package/src/services/GetService.js +33 -54
  31. package/src/services/PatchService.js +38 -65
  32. package/src/services/PostService.js +37 -63
  33. package/src/services/UpdateService.js +39 -65
  34. package/src/services/builderHelper/actionExecutor.js +141 -25
  35. package/src/services/builderHelper/builderHelper.js +92 -0
  36. package/src/services/builderHelper/colorSchema.js +95 -0
  37. package/src/services/builderHelper/iconResolver.js +50 -0
  38. package/src/services/builderHelper/jsExecutor.js +212 -46
  39. package/src/services/builderHelper/nodeFactory.js +32 -15
  40. package/src/services/builderHelper/numberFormat.js +123 -0
  41. package/src/services/builderHelper/resolveProps.js +73 -4
  42. package/src/services/builderHelper/thresholdEngine.js +77 -0
  43. package/src/services/builderHelper/tree.js +31 -0
  44. package/src/services/components/agGridAutoComplete.js +5 -9
  45. package/src/services/config.js +9 -1
  46. package/src/services/globalStore.js +80 -0
  47. package/src/services/helper/multiSelectEditor.js +5 -9
  48. package/src/services/helper/multiSelectEditorByBuilder.js +241 -0
  49. package/src/services/helper/reportSessionHelper.js +83 -0
  50. package/src/services/reportData/fetchReportData.js +69 -28
  51. package/src/services/routerRef.js +35 -0
  52. package/src/views/ConfirmDialog.js +2 -2
  53. package/src/views/builder/JSEditor.js +105 -107
  54. package/src/views/builder/inspector/Inspector.jsx +6 -9
  55. package/src/views/builder/inspector/Tabs/ComponentActionsTab.jsx +7 -13
  56. package/src/views/builder/inspector/Tabs/MainTab.jsx +143 -25
  57. package/src/views/builder/inspector/Tabs/RulesTab.jsx +9 -24
  58. package/src/views/builder/inspector/Tabs/StyleTab.jsx +9 -24
  59. package/src/views/builder/inspector/definitions/autocomplete/main.js +4 -6
  60. package/src/views/builder/inspector/definitions/banner/actions.js +7 -0
  61. package/src/views/builder/inspector/definitions/banner/main.js +22 -0
  62. package/src/views/builder/inspector/definitions/banner/rules.js +1 -0
  63. package/src/views/builder/inspector/definitions/banner/style.js +1 -0
  64. package/src/views/builder/inspector/definitions/breadcrumb/main.js +43 -6
  65. package/src/views/builder/inspector/definitions/button/main.js +11 -12
  66. package/src/views/builder/inspector/definitions/button/style.js +18 -30
  67. package/src/views/builder/inspector/definitions/checkbox/actions.js +3 -1
  68. package/src/views/builder/inspector/definitions/checkbox/main.js +4 -6
  69. package/src/views/builder/inspector/definitions/common/main.js +13 -2
  70. package/src/views/builder/inspector/definitions/dataGrid/main.js +23 -0
  71. package/src/views/builder/inspector/definitions/dataTableViewer/main.js +46 -0
  72. package/src/views/builder/inspector/definitions/datepicker/actions.js +3 -1
  73. package/src/views/builder/inspector/definitions/datepicker/main.js +6 -14
  74. package/src/views/builder/inspector/definitions/dialog/main.js +36 -0
  75. package/src/views/builder/inspector/definitions/dropdown/main.js +5 -8
  76. package/src/views/builder/inspector/definitions/excelUpload/actions.js +23 -0
  77. package/src/views/builder/inspector/definitions/excelUpload/main.js +17 -0
  78. package/src/views/builder/inspector/definitions/excelUpload/rules.js +1 -0
  79. package/src/views/builder/inspector/definitions/excelUpload/style.js +45 -0
  80. package/src/views/builder/inspector/definitions/header/main.js +10 -1
  81. package/src/views/builder/inspector/definitions/index.js +106 -19
  82. package/src/views/builder/inspector/definitions/input/actions.js +4 -1
  83. package/src/views/builder/inspector/definitions/input/main.js +20 -11
  84. package/src/views/builder/inspector/definitions/kpi/avatarGroup.js +22 -0
  85. package/src/views/builder/inspector/definitions/kpi/badge.js +17 -0
  86. package/src/views/builder/inspector/definitions/kpi/bulletChart.js +47 -0
  87. package/src/views/builder/inspector/definitions/kpi/chart.js +55 -0
  88. package/src/views/builder/inspector/definitions/kpi/colorScale.js +60 -0
  89. package/src/views/builder/inspector/definitions/kpi/comparisonBars.js +41 -0
  90. package/src/views/builder/inspector/definitions/kpi/countdown.js +46 -0
  91. package/src/views/builder/inspector/definitions/kpi/donut.js +51 -0
  92. package/src/views/builder/inspector/definitions/kpi/funnel.js +25 -0
  93. package/src/views/builder/inspector/definitions/kpi/gauge.js +39 -0
  94. package/src/views/builder/inspector/definitions/kpi/heatmapGrid.js +96 -0
  95. package/src/views/builder/inspector/definitions/kpi/iconBox.js +20 -0
  96. package/src/views/builder/inspector/definitions/kpi/metric.js +45 -0
  97. package/src/views/builder/inspector/definitions/kpi/rating.js +27 -0
  98. package/src/views/builder/inspector/definitions/kpi/statusDot.js +18 -0
  99. package/src/views/builder/inspector/definitions/kpi/stepStage.js +65 -0
  100. package/src/views/builder/inspector/definitions/kpi/tagList.js +32 -0
  101. package/src/views/builder/inspector/definitions/kpi/timeline.js +80 -0
  102. package/src/views/builder/inspector/definitions/kpi/trend.js +20 -0
  103. package/src/views/builder/inspector/definitions/label/main.js +10 -1
  104. package/src/views/builder/inspector/definitions/layout/main.js +27 -3
  105. package/src/views/builder/inspector/definitions/number/main.js +6 -14
  106. package/src/views/builder/inspector/definitions/pageNumber/main.js +21 -0
  107. package/src/views/builder/inspector/definitions/popover/main.js +71 -0
  108. package/src/views/builder/inspector/definitions/radio/main.js +5 -8
  109. package/src/views/builder/inspector/definitions/repeater/main.js +31 -0
  110. package/src/views/builder/inspector/definitions/reportViewer/main.js +15 -1
  111. package/src/views/builder/inspector/definitions/richtext/main.js +5 -8
  112. package/src/views/builder/inspector/definitions/signature/main.js +4 -1
  113. package/src/views/builder/inspector/definitions/tag/main.js +5 -8
  114. package/src/views/builder/inspector/definitions/textarea/actions.js +4 -1
  115. package/src/views/builder/inspector/definitions/textarea/main.js +5 -7
  116. package/src/views/builder/inspector/definitions/time/main.js +5 -8
  117. package/src/views/builder/inspector/definitions/toggle/main.js +5 -19
  118. package/src/views/builder/inspector/definitions/treeView/main.js +61 -0
  119. package/src/views/builder/inspector/definitions/viewRenderer/main.js +53 -0
  120. package/src/views/builder/inspector/definitions/wizard/main.js +68 -0
  121. package/src/views/builder/inspector/definitions/wizard-step/main.js +25 -0
  122. package/src/views/builder/inspector/fields/ActionsConfigEditor.jsx +426 -0
  123. package/src/views/builder/inspector/fields/ColorSchemaField.jsx +140 -0
  124. package/src/views/builder/inspector/fields/ColumnFunctionEditor.jsx +238 -0
  125. package/src/views/builder/inspector/fields/ColumnMappingEditor.jsx +105 -0
  126. package/src/views/builder/inspector/fields/ColumnsConfigEditor.jsx +506 -0
  127. package/src/views/builder/inspector/fields/DonutRingsEditorField.jsx +337 -0
  128. package/src/views/builder/inspector/fields/ExtraColsEditor.jsx +618 -0
  129. package/src/views/builder/inspector/fields/FunctionHelpPopover.jsx +295 -0
  130. package/src/views/builder/inspector/fields/IconEditor.jsx +64 -0
  131. package/src/views/builder/inspector/fields/KpiActionField.jsx +223 -0
  132. package/src/views/builder/inspector/fields/MarkersEditorField.jsx +173 -0
  133. package/src/views/builder/inspector/fields/SelectEditor.jsx +9 -5
  134. package/src/views/builder/inspector/fields/SeriesEditorField.jsx +363 -0
  135. package/src/views/builder/inspector/fields/TableColumnsEditor.jsx +104 -0
  136. package/src/views/builder/inspector/fields/ThresholdsEditor.jsx +247 -0
  137. package/src/views/builder/inspector/fields/ValueFunctionsRefPanel.jsx +217 -0
  138. package/src/views/builder/inspector/fields/columnEditorShared.jsx +217 -0
  139. package/src/views/builder/sidebar/Sidebar.jsx +4 -2
  140. package/src/views/builder/sidebar/SidebarTabs.jsx +28 -17
  141. package/src/views/builder/sidebar/tabs/ActionsTab.jsx +7 -3
  142. package/src/views/builder/sidebar/tabs/AiTab/AiPreviewDialog.jsx +193 -0
  143. package/src/views/builder/sidebar/tabs/AiTab/aiProvider.js +49 -0
  144. package/src/views/builder/sidebar/tabs/AiTab/index.jsx +409 -0
  145. package/src/views/builder/sidebar/tabs/AiTab/schemaTransformer.js +102 -0
  146. package/src/views/builder/sidebar/tabs/AiTab/schemaValidator.js +64 -0
  147. package/src/views/builder/sidebar/tabs/AiTab/systemPrompt.js +1151 -0
  148. package/src/views/builder/sidebar/tabs/Components/ComponentsTab.jsx +31 -31
  149. package/src/views/builder/sidebar/tabs/Components/componentCatalog.js +43 -21
  150. package/src/views/builder/sidebar/tabs/Components/printComponentCatalog.js +81 -0
  151. package/src/views/builder/sidebar/tabs/TimersTab.jsx +338 -0
  152. package/src/views/builder/sidebar/tabs/TreeTab.jsx +13 -4
  153. package/src/views/builder/sidebar/tabs/ViewTab.jsx +1 -1
  154. package/src/views/builder/viewer/AdornedLabel.jsx +82 -0
  155. package/src/views/builder/viewer/ComponentRenderer.jsx +98 -24
  156. package/src/views/builder/viewer/DialogsZone.jsx +259 -0
  157. package/src/views/builder/viewer/FieldLabel.jsx +106 -0
  158. package/src/views/builder/viewer/PrintDialog.jsx +481 -0
  159. package/src/views/builder/viewer/ProductionViewer.jsx +80 -5
  160. package/src/views/builder/viewer/Viewer.jsx +106 -8
  161. package/src/views/builder/viewer/ViewerComponentWrapper.jsx +61 -4
  162. package/src/views/builder/viewer/ViewerToolbar.jsx +273 -59
  163. package/src/views/builder/viewer/renderers/AutoCompleteRenderer.jsx +26 -22
  164. package/src/views/builder/viewer/renderers/AvatarGroupRenderer.jsx +112 -0
  165. package/src/views/builder/viewer/renderers/BadgeRenderer.jsx +79 -0
  166. package/src/views/builder/viewer/renderers/BannerRenderer.jsx +62 -0
  167. package/src/views/builder/viewer/renderers/BreadcrumbRenderer.jsx +203 -15
  168. package/src/views/builder/viewer/renderers/BulletChartRenderer.jsx +147 -0
  169. package/src/views/builder/viewer/renderers/ButtonRenderer.jsx +98 -39
  170. package/src/views/builder/viewer/renderers/CardRenderer.jsx +1 -1
  171. package/src/views/builder/viewer/renderers/ChartRenderer.jsx +388 -0
  172. package/src/views/builder/viewer/renderers/CheckboxRenderer.jsx +17 -9
  173. package/src/views/builder/viewer/renderers/ColorScaleRenderer.jsx +300 -0
  174. package/src/views/builder/viewer/renderers/ComparisonBarsRenderer.jsx +133 -0
  175. package/src/views/builder/viewer/renderers/ContainerRenderer.jsx +3 -1
  176. package/src/views/builder/viewer/renderers/CountdownRenderer.jsx +249 -0
  177. package/src/views/builder/viewer/renderers/DataGridRenderer.jsx +380 -0
  178. package/src/views/builder/viewer/renderers/DataTableViewerRenderer.jsx +240 -0
  179. package/src/views/builder/viewer/renderers/DatePickerRenderer.jsx +25 -24
  180. package/src/views/builder/viewer/renderers/DialogRenderer.jsx +327 -0
  181. package/src/views/builder/viewer/renderers/DividerRenderer.jsx +1 -1
  182. package/src/views/builder/viewer/renderers/DonutRenderer.jsx +294 -0
  183. package/src/views/builder/viewer/renderers/DropdownRenderer.jsx +36 -44
  184. package/src/views/builder/viewer/renderers/ExcelUploadRenderer.jsx +639 -0
  185. package/src/views/builder/viewer/renderers/FunnelRenderer.jsx +93 -0
  186. package/src/views/builder/viewer/renderers/GaugeRenderer.jsx +159 -0
  187. package/src/views/builder/viewer/renderers/HeaderRenderer.jsx +31 -9
  188. package/src/views/builder/viewer/renderers/HeatmapGridRenderer.jsx +432 -0
  189. package/src/views/builder/viewer/renderers/IconBoxRenderer.jsx +59 -0
  190. package/src/views/builder/viewer/renderers/ImageRenderer.jsx +1 -1
  191. package/src/views/builder/viewer/renderers/InputRenderer.jsx +75 -18
  192. package/src/views/builder/viewer/renderers/LabelRenderer.jsx +35 -9
  193. package/src/views/builder/viewer/renderers/LayoutCellRenderer.jsx +102 -40
  194. package/src/views/builder/viewer/renderers/LayoutContextMenu.jsx +8 -8
  195. package/src/views/builder/viewer/renderers/LayoutRenderer.jsx +48 -6
  196. package/src/views/builder/viewer/renderers/LinkRenderer.jsx +1 -1
  197. package/src/views/builder/viewer/renderers/MenuRenderer.jsx +2 -2
  198. package/src/views/builder/viewer/renderers/MetricRenderer.jsx +80 -0
  199. package/src/views/builder/viewer/renderers/NumberFormatRenderer.jsx +21 -30
  200. package/src/views/builder/viewer/renderers/PageNumberRenderer.jsx +76 -0
  201. package/src/views/builder/viewer/renderers/PopoverRenderer.jsx +350 -0
  202. package/src/views/builder/viewer/renderers/ProgressCircleRenderer.jsx +1 -1
  203. package/src/views/builder/viewer/renderers/ProgressLineRenderer.jsx +1 -1
  204. package/src/views/builder/viewer/renderers/RadioGroupRenderer.jsx +28 -39
  205. package/src/views/builder/viewer/renderers/RatingRenderer.jsx +80 -0
  206. package/src/views/builder/viewer/renderers/RepeaterRenderer.jsx +297 -38
  207. package/src/views/builder/viewer/renderers/ReportViewerRenderer.jsx +219 -5
  208. package/src/views/builder/viewer/renderers/RichTextRenderer.jsx +60 -66
  209. package/src/views/builder/viewer/renderers/RowActionsCell.jsx +308 -0
  210. package/src/views/builder/viewer/renderers/SignatureRenderer.jsx +33 -62
  211. package/src/views/builder/viewer/renderers/StatusDotRenderer.jsx +75 -0
  212. package/src/views/builder/viewer/renderers/StepStageRenderer.jsx +348 -0
  213. package/src/views/builder/viewer/renderers/TagListRenderer.jsx +115 -0
  214. package/src/views/builder/viewer/renderers/TagPickerRenderer.jsx +31 -45
  215. package/src/views/builder/viewer/renderers/TextAreaRenderer.jsx +25 -18
  216. package/src/views/builder/viewer/renderers/TextRenderer.jsx +7 -1
  217. package/src/views/builder/viewer/renderers/TimePickerRenderer.jsx +25 -24
  218. package/src/views/builder/viewer/renderers/TimelineRenderer.jsx +525 -0
  219. package/src/views/builder/viewer/renderers/ToggleRenderer.jsx +21 -27
  220. package/src/views/builder/viewer/renderers/TreeViewRenderer.jsx +832 -0
  221. package/src/views/builder/viewer/renderers/TrendRenderer.jsx +66 -0
  222. package/src/views/builder/viewer/renderers/ViewRendererRenderer.jsx +315 -0
  223. package/src/views/builder/viewer/renderers/WizardRenderer.jsx +380 -64
  224. package/src/views/builder/viewer/renderers/WizardStepRenderer.jsx +21 -12
  225. package/src/views/builder/viewer/renderers/dataGridComponents.jsx +824 -0
  226. package/src/views/customFilter/CustomFilterDialog.js +1023 -660
  227. package/src/views/customFilter/FixedFilterDialog.js +649 -0
  228. package/src/views/customFilter/SearchFilterDialog.js +248 -0
  229. package/src/views/genericTable/BuilderExpressionParams.js +3 -3
  230. package/src/views/genericTable/ColumnConfiguratorDialog.js +771 -0
  231. package/src/views/genericTable/FixedFilterDialog.js +3 -2
  232. package/src/views/genericTable/FormattingSettingsDialog.js +551 -0
  233. package/src/views/genericTable/ReportSettingsDialog.js +151 -0
  234. package/src/views/genericTable/SGrid.js +1061 -247
  235. package/src/views/genericTable/SearchFilterDialog.js +3 -2
  236. package/src/views/genericTable/TAGGrid.js +83 -69
  237. package/src/views/genericTable/cellEditors/autocompleteEditor.js +5 -9
  238. package/src/views/genericTable/convertStringFunctions.js +336 -0
  239. package/src/views/genericTable/statusBar/rowCountStatusBar.js +3 -1
  240. package/src/views/genericTable/updateRefHelpers.js +424 -0
  241. package/src/views/printBuilder/PrintBuilderViewer.jsx +607 -0
  242. package/src/views/printBuilder/PrintPreviewCanvas.jsx +157 -0
  243. package/src/views/rolePermissions/UpdateReportPermissionDialog.js +316 -0
  244. package/src/@core/components/auth/AclGuard.js +0 -55
  245. package/src/@core/components/auth/AuthGuard.js +0 -40
  246. package/src/@core/components/auth/GuestGuard.js +0 -30
  247. package/src/@core/components/custom-inputs/Horizontal.jsx +0 -143
  248. package/src/@core/components/custom-inputs/Image.jsx +0 -78
  249. package/src/@core/components/custom-inputs/Vertical.jsx +0 -113
  250. package/src/@core/components/customizer/index.jsx +0 -470
  251. package/src/@core/components/customizer/styles.module.css +0 -169
  252. package/src/@core/components/mui/Avatar.jsx +0 -41
  253. package/src/@core/components/mui/Badge.jsx +0 -20
  254. package/src/@core/components/mui/IconButton.jsx +0 -74
  255. package/src/@core/components/mui/TabList.jsx +0 -60
  256. package/src/@core/components/option-menu/index.jsx +0 -137
  257. package/src/@core/components/scroll-to-top/index.jsx +0 -43
  258. package/src/@core/components/spinner/index.js +0 -26
  259. package/src/@core/components/window-wrapper/index.js +0 -27
  260. package/src/@core/contexts/settingsContext.jsx +0 -98
  261. package/src/@core/hooks/useBgColor.js +0 -63
  262. package/src/@core/hooks/useImageVariant.js +0 -27
  263. package/src/@core/hooks/useLayoutInit.js +0 -37
  264. package/src/@core/hooks/useObjectCookie.js +0 -18
  265. package/src/@core/hooks/useSettings.jsx +0 -15
  266. package/src/@core/layouts/BlankLayout.js +0 -37
  267. package/src/@core/layouts/BlankLayoutWithAppBar.js +0 -51
  268. package/src/@core/layouts/HorizontalLayout.jsx +0 -151
  269. package/src/@core/layouts/Layout.js +0 -39
  270. package/src/@core/layouts/VerticalLayout.jsx +0 -124
  271. package/src/@core/layouts/components/blank-layout-with-appBar/index.js +0 -115
  272. package/src/@core/layouts/components/horizontal/app-bar-content/index.js +0 -67
  273. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavGroup.js +0 -352
  274. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavItems.js +0 -21
  275. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavLink.js +0 -195
  276. package/src/@core/layouts/components/horizontal/navigation/index.js +0 -31
  277. package/src/@core/layouts/components/shared-components/LanguageDropdown.js +0 -96
  278. package/src/@core/layouts/components/shared-components/ModeToggler.js +0 -32
  279. package/src/@core/layouts/components/shared-components/NotificationDropdown.js +0 -226
  280. package/src/@core/layouts/components/shared-components/UserDropdown.js +0 -177
  281. package/src/@core/layouts/components/shared-components/footer/FooterContent.js +0 -46
  282. package/src/@core/layouts/components/shared-components/footer/index.js +0 -61
  283. package/src/@core/layouts/components/vertical/appBar/index.js +0 -74
  284. package/src/@core/layouts/components/vertical/navigation/Drawer.js +0 -122
  285. package/src/@core/layouts/components/vertical/navigation/VerticalNavGroup.js +0 -435
  286. package/src/@core/layouts/components/vertical/navigation/VerticalNavHeader.js +0 -180
  287. package/src/@core/layouts/components/vertical/navigation/VerticalNavItems.js +0 -26
  288. package/src/@core/layouts/components/vertical/navigation/VerticalNavLink.js +0 -258
  289. package/src/@core/layouts/components/vertical/navigation/VerticalNavSectionTitle.js +0 -102
  290. package/src/@core/layouts/components/vertical/navigation/index.js +0 -169
  291. package/src/@core/layouts/utils.js +0 -69
  292. package/src/@core/styles/Table.module.css +0 -93
  293. package/src/@core/styles/horizontal/menuItemStyles.js +0 -100
  294. package/src/@core/styles/horizontal/menuRootStyles.js +0 -19
  295. package/src/@core/styles/libs/fullcalendar/index.js +0 -461
  296. package/src/@core/styles/libs/keen-slider/index.js +0 -111
  297. package/src/@core/styles/libs/react-apexcharts/index.js +0 -107
  298. package/src/@core/styles/libs/react-cleave/index.js +0 -33
  299. package/src/@core/styles/libs/react-credit-cards/index.js +0 -11
  300. package/src/@core/styles/libs/react-datepicker/index.js +0 -388
  301. package/src/@core/styles/libs/react-draft-wysiwyg/index.js +0 -144
  302. package/src/@core/styles/libs/react-dropzone/index.js +0 -76
  303. package/src/@core/styles/libs/react-hot-toast/index.js +0 -37
  304. package/src/@core/styles/libs/recharts/index.js +0 -47
  305. package/src/@core/styles/stepper.js +0 -103
  306. package/src/@core/styles/vertical/menuItemStyles.js +0 -138
  307. package/src/@core/styles/vertical/menuSectionStyles.js +0 -54
  308. package/src/@core/styles/vertical/navigationCustomStyles.js +0 -62
  309. package/src/@core/svg/ContentCompact.jsx +0 -17
  310. package/src/@core/svg/ContentWide.jsx +0 -17
  311. package/src/@core/svg/DirectionLtr.jsx +0 -93
  312. package/src/@core/svg/DirectionRtl.jsx +0 -93
  313. package/src/@core/svg/LayoutCollapsed.jsx +0 -59
  314. package/src/@core/svg/LayoutHorizontal.jsx +0 -42
  315. package/src/@core/svg/LayoutVertical.jsx +0 -59
  316. package/src/@core/svg/Logo.jsx +0 -76
  317. package/src/@core/svg/SkinBordered.jsx +0 -54
  318. package/src/@core/svg/SkinDefault.jsx +0 -59
  319. package/src/@core/tailwind/plugin.js +0 -78
  320. package/src/@core/theme/ThemeComponent.js +0 -63
  321. package/src/@core/theme/ThemeOptions.js +0 -71
  322. package/src/@core/theme/breakpoints/index.js +0 -11
  323. package/src/@core/theme/colorSchemes.js +0 -326
  324. package/src/@core/theme/customShadows.js +0 -11
  325. package/src/@core/theme/globalStyles.js +0 -81
  326. package/src/@core/theme/index.js +0 -42
  327. package/src/@core/theme/overrides/accordion.js +0 -51
  328. package/src/@core/theme/overrides/accordion.jsx +0 -85
  329. package/src/@core/theme/overrides/alerts.js +0 -110
  330. package/src/@core/theme/overrides/alerts.jsx +0 -180
  331. package/src/@core/theme/overrides/autocomplete.js +0 -14
  332. package/src/@core/theme/overrides/autocomplete.jsx +0 -68
  333. package/src/@core/theme/overrides/avatar.js +0 -38
  334. package/src/@core/theme/overrides/avatars.js +0 -27
  335. package/src/@core/theme/overrides/backdrop.js +0 -22
  336. package/src/@core/theme/overrides/badges.js +0 -16
  337. package/src/@core/theme/overrides/breadcrumbs.js +0 -11
  338. package/src/@core/theme/overrides/button-group.js +0 -84
  339. package/src/@core/theme/overrides/button.js +0 -93
  340. package/src/@core/theme/overrides/buttonGroup.js +0 -9
  341. package/src/@core/theme/overrides/card.js +0 -83
  342. package/src/@core/theme/overrides/checkbox.jsx +0 -95
  343. package/src/@core/theme/overrides/chip.js +0 -72
  344. package/src/@core/theme/overrides/dataGrid.js +0 -114
  345. package/src/@core/theme/overrides/dateTimePicker.js +0 -65
  346. package/src/@core/theme/overrides/dialog.js +0 -120
  347. package/src/@core/theme/overrides/divider.js +0 -13
  348. package/src/@core/theme/overrides/drawer.js +0 -20
  349. package/src/@core/theme/overrides/fab.js +0 -13
  350. package/src/@core/theme/overrides/form-control-label.js +0 -19
  351. package/src/@core/theme/overrides/icon-button.js +0 -145
  352. package/src/@core/theme/overrides/index.js +0 -103
  353. package/src/@core/theme/overrides/input.js +0 -72
  354. package/src/@core/theme/overrides/link.js +0 -9
  355. package/src/@core/theme/overrides/list.js +0 -44
  356. package/src/@core/theme/overrides/menu.js +0 -25
  357. package/src/@core/theme/overrides/pagination.js +0 -41
  358. package/src/@core/theme/overrides/paper.js +0 -9
  359. package/src/@core/theme/overrides/popover.js +0 -16
  360. package/src/@core/theme/overrides/progress.js +0 -38
  361. package/src/@core/theme/overrides/radio.jsx +0 -80
  362. package/src/@core/theme/overrides/rating.js +0 -16
  363. package/src/@core/theme/overrides/rating.jsx +0 -32
  364. package/src/@core/theme/overrides/select.js +0 -19
  365. package/src/@core/theme/overrides/select.jsx +0 -52
  366. package/src/@core/theme/overrides/slider.js +0 -97
  367. package/src/@core/theme/overrides/snackbar.js +0 -19
  368. package/src/@core/theme/overrides/switch.js +0 -73
  369. package/src/@core/theme/overrides/switches.js +0 -25
  370. package/src/@core/theme/overrides/table-pagination.js +0 -39
  371. package/src/@core/theme/overrides/table.js +0 -81
  372. package/src/@core/theme/overrides/tabs.js +0 -30
  373. package/src/@core/theme/overrides/timeline.js +0 -80
  374. package/src/@core/theme/overrides/toggle-button.js +0 -33
  375. package/src/@core/theme/overrides/toggleButton.js +0 -16
  376. package/src/@core/theme/overrides/tooltip.js +0 -21
  377. package/src/@core/theme/overrides/typography.js +0 -13
  378. package/src/@core/theme/palette/index.js +0 -107
  379. package/src/@core/theme/shadows/index.js +0 -61
  380. package/src/@core/theme/shadows.js +0 -12
  381. package/src/@core/theme/spacing/index.js +0 -3
  382. package/src/@core/theme/spacing.js +0 -5
  383. package/src/@core/theme/typography/index.js +0 -65
  384. package/src/@core/theme/typography.js +0 -84
  385. package/src/@core/utils/create-emotion-cache.js +0 -5
  386. package/src/@core/utils/hex-to-rgba.js +0 -11
  387. package/src/@core/utils/serverHelpers.js +0 -45
  388. package/src/@menu/components/RouterLink.jsx +0 -18
  389. package/src/@menu/components/horizontal-menu/HorizontalNav.jsx +0 -88
  390. package/src/@menu/components/horizontal-menu/Menu.jsx +0 -83
  391. package/src/@menu/components/horizontal-menu/MenuButton.jsx +0 -100
  392. package/src/@menu/components/horizontal-menu/MenuItem.jsx +0 -183
  393. package/src/@menu/components/horizontal-menu/SubMenu.jsx +0 -418
  394. package/src/@menu/components/horizontal-menu/SubMenuContent.jsx +0 -41
  395. package/src/@menu/components/horizontal-menu/VerticalNavInHorizontal.jsx +0 -20
  396. package/src/@menu/components/vertical-menu/Menu.jsx +0 -161
  397. package/src/@menu/components/vertical-menu/MenuButton.jsx +0 -95
  398. package/src/@menu/components/vertical-menu/MenuItem.jsx +0 -180
  399. package/src/@menu/components/vertical-menu/MenuSection.jsx +0 -124
  400. package/src/@menu/components/vertical-menu/NavCollapseIcons.jsx +0 -70
  401. package/src/@menu/components/vertical-menu/NavHeader.jsx +0 -39
  402. package/src/@menu/components/vertical-menu/SubMenu.jsx +0 -420
  403. package/src/@menu/components/vertical-menu/SubMenuContent.jsx +0 -101
  404. package/src/@menu/components/vertical-menu/VerticalNav.jsx +0 -216
  405. package/src/@menu/contexts/horizontalNavContext.jsx +0 -29
  406. package/src/@menu/contexts/verticalNavContext.jsx +0 -65
  407. package/src/@menu/defaultConfigs.js +0 -12
  408. package/src/@menu/hooks/useHorizontalMenu.jsx +0 -19
  409. package/src/@menu/hooks/useHorizontalNav.jsx +0 -19
  410. package/src/@menu/hooks/useMediaQuery.jsx +0 -29
  411. package/src/@menu/hooks/useVerticalMenu.jsx +0 -19
  412. package/src/@menu/hooks/useVerticalNav.jsx +0 -19
  413. package/src/@menu/horizontal-menu/index.jsx +0 -8
  414. package/src/@menu/styles/StyledBackdrop.jsx +0 -15
  415. package/src/@menu/styles/StyledMenuIcon.jsx +0 -12
  416. package/src/@menu/styles/StyledMenuLabel.jsx +0 -16
  417. package/src/@menu/styles/StyledMenuPrefix.jsx +0 -10
  418. package/src/@menu/styles/StyledMenuSectionLabel.jsx +0 -21
  419. package/src/@menu/styles/StyledMenuSuffix.jsx +0 -10
  420. package/src/@menu/styles/StyledSubMenuContent.jsx +0 -43
  421. package/src/@menu/styles/horizontal/StyledHorizontalMenu.jsx +0 -13
  422. package/src/@menu/styles/horizontal/StyledHorizontalMenuItem.jsx +0 -26
  423. package/src/@menu/styles/horizontal/StyledHorizontalNav.jsx +0 -11
  424. package/src/@menu/styles/horizontal/StyledHorizontalNavExpandIcon.jsx +0 -33
  425. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContent.jsx +0 -18
  426. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContentWrapper.jsx +0 -10
  427. package/src/@menu/styles/horizontal/horizontalUl.module.css +0 -15
  428. package/src/@menu/styles/styles.module.css +0 -5
  429. package/src/@menu/styles/vertical/StyledVerticalMenu.jsx +0 -16
  430. package/src/@menu/styles/vertical/StyledVerticalMenuItem.jsx +0 -28
  431. package/src/@menu/styles/vertical/StyledVerticalMenuSection.jsx +0 -23
  432. package/src/@menu/styles/vertical/StyledVerticalNav.jsx +0 -67
  433. package/src/@menu/styles/vertical/StyledVerticalNavBgColorContainer.jsx +0 -15
  434. package/src/@menu/styles/vertical/StyledVerticalNavContainer.jsx +0 -23
  435. package/src/@menu/styles/vertical/StyledVerticalNavExpandIcon.jsx +0 -25
  436. package/src/@menu/styles/vertical/verticalNavBgImage.module.css +0 -10
  437. package/src/@menu/svg/ChevronRight.jsx +0 -9
  438. package/src/@menu/svg/Close.jsx +0 -12
  439. package/src/@menu/svg/RadioCircle.jsx +0 -12
  440. package/src/@menu/svg/RadioCircleMarked.jsx +0 -13
  441. package/src/@menu/utils/menuClasses.js +0 -44
  442. package/src/@menu/utils/menuUtils.jsx +0 -145
  443. package/src/@menu/vertical-menu/index.jsx +0 -11
  444. package/src/configs/acl.js +0 -115
  445. package/src/configs/auth.js +0 -5
  446. package/src/configs/aws-exports.js +0 -30
  447. package/src/configs/firebase.js +0 -25
  448. package/src/configs/i18n.js +0 -34
  449. package/src/configs/primaryColorConfig.js +0 -35
  450. package/src/configs/themeConfig.js +0 -44
  451. package/src/layouts/UserLayout.js +0 -94
  452. package/src/layouts/UserThemeOptions.js +0 -191
  453. package/src/layouts/components/Direction.js +0 -30
  454. package/src/layouts/components/HtmlTooltip.js +0 -15
  455. package/src/layouts/components/Translations.js +0 -11
  456. package/src/layouts/components/UserDropdown.js +0 -217
  457. package/src/layouts/components/UserIcon.js +0 -40
  458. package/src/layouts/components/acl/Can.js +0 -6
  459. package/src/layouts/components/acl/CanViewNavGroup.js +0 -36
  460. package/src/layouts/components/acl/CanViewNavLink.js +0 -17
  461. package/src/layouts/components/acl/CanViewNavSectionTitle.js +0 -17
  462. package/src/layouts/components/horizontal/AppBarContent.js +0 -39
  463. package/src/layouts/components/horizontal/ServerSideNavItems.js +0 -44
  464. package/src/layouts/components/mui/StepperComps.js +0 -55
  465. package/src/layouts/components/vertical/AppBarContent.js +0 -35
  466. package/src/layouts/components/vertical/ServerSideNavItems.js +0 -44
  467. package/src/libs/ApexCharts.jsx +0 -5
  468. package/src/libs/ReactPlayer.jsx +0 -5
  469. package/src/libs/Recharts.jsx +0 -4
  470. package/src/libs/auth.js +0 -124
  471. package/src/libs/styles/AppFullCalendar.js +0 -505
  472. package/src/libs/styles/AppKeenSlider.js +0 -116
  473. package/src/libs/styles/AppReactApexCharts.jsx +0 -110
  474. package/src/libs/styles/AppReactDatepicker.jsx +0 -470
  475. package/src/libs/styles/AppReactDropzone.js +0 -76
  476. package/src/libs/styles/AppReactToastify.jsx +0 -108
  477. package/src/libs/styles/AppRecharts.js +0 -55
  478. package/src/libs/styles/inputOtp.module.css +0 -39
  479. package/src/libs/styles/tiptapEditor.css +0 -72
  480. package/src/navigation/horizontal/index.js +0 -246
  481. package/src/navigation/vertical/index.js +0 -253
  482. package/src/pages/401.js +0 -70
  483. package/src/pages/404.js +0 -67
  484. package/src/pages/500.js +0 -68
  485. package/src/pages/[slug].js +0 -115
  486. package/src/pages/_document.js +0 -72
  487. package/src/pages/api/navigation/regenerate-registry.js +0 -116
  488. package/src/pages/api/navigation/save.js +0 -218
  489. package/src/pages/authModule/acl/index.js +0 -48
  490. package/src/pages/authModule/forgot-password/index.js +0 -228
  491. package/src/pages/authModule/permissions/rolePermissions/[id]/rolePermissionsUser/index.js +0 -392
  492. package/src/pages/authModule/permissions/rolePermissions/index.js +0 -343
  493. package/src/pages/authModule/permissions/systemPermissions/index.js +0 -354
  494. package/src/pages/authModule/privacy/index.js +0 -721
  495. package/src/pages/authModule/users/index.js +0 -210
  496. package/src/pages/login/index.js +0 -328
  497. package/src/pages/mainHome/index.js +0 -181
  498. package/src/views/builder/inspector/definitions/cell/main.js +0 -4
  499. package/src/views/builder/inspector/definitions/column/main.js +0 -9
  500. package/src/views/builder/inspector/definitions/column-group/main.js +0 -18
  501. package/src/views/builder/inspector/definitions/header-cell/main.js +0 -5
  502. package/src/views/builder/inspector/definitions/table/main.js +0 -9
  503. package/src/views/builder/viewer/renderers/CellRenderer.jsx +0 -71
  504. package/src/views/builder/viewer/renderers/ColumnGroupRenderer.jsx +0 -96
  505. package/src/views/builder/viewer/renderers/ColumnRenderer.jsx +0 -71
  506. package/src/views/builder/viewer/renderers/HeaderCellRenderer.jsx +0 -78
  507. package/src/views/builder/viewer/renderers/TabRenderer.jsx +0 -82
  508. package/src/views/builder/viewer/renderers/TableRenderer.jsx +0 -92
  509. package/src/views/pages/auth/FooterIllustrationsV2.js +0 -40
  510. package/src/views/pages/misc/FooterIllustrations.js +0 -47
  511. package/src/views/pages/misc/muiTable/CustomPagination.js +0 -34
  512. package/src/views/pages/users/UserManageDialog.js +0 -283
  513. package/src/views/pages/users/UserViewPage.js +0 -199
  514. package/src/views/users/AddUserNameDialog.js +0 -162
  515. package/src/views/users/ContactManage.js +0 -449
  516. package/src/views/users/ResetPasswordDialog.js +0 -242
@@ -1,20 +1,31 @@
1
- import React, { useEffect, useState } from 'react'
2
- import { Box, CircularProgress, Typography, Paper, IconButton, CardContent, Tooltip,Button } from '@mui/material'
3
- import { useRouter } from 'next/router'
1
+ import React, {useEffect, useState} from 'react'
2
+ import {Box, CircularProgress, Typography, Paper, IconButton, CardContent, Tooltip} from '@mui/material'
3
+ import {useRouter} from 'next/router'
4
4
  import SGrid from 'views/genericTable/SGrid'
5
- import { Endpoints, Services } from 'services/Endpoints'
5
+ import {Endpoints, Services} from 'services/Endpoints'
6
6
  import PermissionsSubjects from 'src/configs/Permissions/PermissionsSubjects.json'
7
- import { SettingsOutlined } from '@mui/icons-material'
7
+ import CardHeader from "@mui/material/CardHeader";
8
+ import Grid from "@mui/material/Grid";
9
+ import {Plus} from "mdi-material-ui";
10
+ import TAGGrid from "views/genericTable/TAGGrid";
11
+ import {SettingsOutlined} from "@mui/icons-material";
12
+ import UpdateReportPermissionDialog from "views/rolePermissions/UpdateReportPermissionDialog";
13
+ import {getReportSession} from 'src/services/helper/reportSessionHelper'
14
+ import BlankLayout from '../../../../lib/layouts/BlankLayout';
15
+ import ReportsCard from "../reportsPermissions";
16
+
8
17
 
9
18
  // make sure you’ve globally included the Alpine theme once in _app.js or your main stylesheet:
10
19
  // import 'ag-grid-community/styles/ag-grid.css'
11
20
  // import 'ag-grid-community/styles/ag-theme-alpine.css'
12
21
 
13
- const ReportViewer = params => {
22
+ const ReportViewer = (params) => {
14
23
  const router = useRouter()
15
24
  const {
16
25
  id,
17
26
  filter,
27
+ extraCols,
28
+ setOutGridApi,
18
29
  minimized,
19
30
  setData,
20
31
  pageId,
@@ -25,62 +36,118 @@ const ReportViewer = params => {
25
36
  columnsConfig,
26
37
  refresh,
27
38
  dataAsObject,
28
- sessionId
39
+ height,
40
+ sessionId,
41
+ globalParams,
42
+ isRerender = false,
43
+ updateRef,
44
+ // nodeId / reportRefs are injected by the UI builder's ReportViewerRenderer.
45
+ // nodeId — the builder schema node ID for this ReportViewer instance
46
+ // reportRefs — the shared registry { [nodeId]: updateRef } for all reports on the page
47
+ nodeId,
48
+ reportRefs,
49
+ // Viewer state — threaded from ReportViewerRenderer for column function scope
50
+ data,
51
+ dataRef,
52
+ openDialog,
53
+ closeDialog,
29
54
  } = params ?? router.query
30
55
  const [isLoading, setIsLoading] = useState(false)
31
56
  const [builderModel, setBuilderModel] = useState(null)
32
57
  const [builderMetadata, setBuilderMetadata] = useState(null)
33
58
  const [sessionPayload, setSessionPayload] = useState(null)
34
59
  const [payloadVersion, setPayloadVersion] = useState(0)
35
- console.log(filter)
60
+
36
61
  useEffect(() => {
37
- // Prefer window.name payload (set by opener) to avoid relying on session
62
+ // Prefer localStorage payload via sessionId (set by SGrid)
38
63
  try {
39
- if (typeof window !== 'undefined' && window.name) {
40
- const nm = window.name
41
- if (nm.startsWith('RB:')) {
42
- const b64 = nm.substring(3)
43
- try {
44
- const json = decodeURIComponent(escape(typeof atob !== 'undefined' ? atob(b64) : b64))
45
- const payload = JSON.parse(json)
46
- setSessionPayload(payload)
47
- // Clear the name to avoid reusing stale payload on internal navigations
48
- window.name = ''
49
- } catch (e) {
50
- console.warn('Failed to parse window.name payload', e)
64
+ if (typeof window !== 'undefined') {
65
+ const sId = sessionId || router.query?.sessionId;
66
+ if (sId) {
67
+ const payload = getReportSession(sId);
68
+ if (payload) {
69
+ setSessionPayload(payload);
70
+ console.log('Processed localStorage payload for sessionId:', sId);
71
+
72
+ return;
73
+ }
74
+ }
75
+ }
76
+
77
+ // Fallback: sessionStorage payload (set by SGrid)
78
+ try {
79
+ if (typeof window !== 'undefined') {
80
+ const stored = sessionStorage.getItem('RB_PAYLOAD');
81
+ if (stored) {
82
+ try {
83
+ const payload = JSON.parse(stored);
84
+ setSessionPayload(payload);
85
+ sessionStorage.removeItem('RB_PAYLOAD');
86
+ console.log('Processed and cleared sessionStorage payload');
87
+
88
+ return; // Exit early if we found a payload in session
89
+ } catch (e) {
90
+ console.warn('Failed to parse sessionStorage payload', e);
91
+ }
51
92
  }
52
93
  }
94
+ } catch (e) {
95
+ console.error('Failed to load sessionStorage payload', e)
53
96
  }
97
+
54
98
  // Fallback: payload via query "payload" (URL-encoded JSON)
55
- const qp = router.query?.payload
56
- if (!sessionPayload && qp) {
99
+ const qp = router.query?.payload;
100
+ if (qp) {
57
101
  try {
58
- const payload = JSON.parse(decodeURIComponent(qp))
59
- setSessionPayload(payload)
60
- } catch {}
102
+ const payload = JSON.parse(decodeURIComponent(qp));
103
+ setSessionPayload(payload);
104
+
105
+ return;
106
+ } catch {
107
+ }
108
+ }
109
+
110
+ // If we reach here, no payload was found in this navigation
111
+ // We should probably clear sessionPayload IF the current URL doesn't have it
112
+ // but only if it was previously set.
113
+ if (sessionPayload) {
114
+ setSessionPayload(null);
61
115
  }
62
116
  } catch (e) {
63
- console.error('Failed to load window.name payload', e)
117
+ console.error('Failed to load report payload', e)
64
118
  }
65
- console.log(router.query?.payload)
66
- }, [router.query?.payload])
119
+ }, [router.asPath, id, pageId, router.query?.pageId, sessionId, router.query?.sessionId])
67
120
 
68
121
  const handleGetReport = async (reportId, reportPageId) => {
69
122
  setIsLoading(true)
70
123
  try {
71
- const { data } = await Services.PostService(
124
+ const {data} = await Services.PostService(
72
125
  Endpoints.ReportBuilder.Post.GetReportDetails,
73
126
  false,
74
127
  {},
75
- { id: reportId, pageId: reportPageId }
128
+ {id: reportId, pageId: reportPageId}
76
129
  )
77
130
  const localBuilderModel = JSON.parse(data.value)
78
- setBuilderModel({ ...localBuilderModel, id: data.id })
131
+ if (globalParams != null && localBuilderModel?.selectionParams != null) {
132
+ localBuilderModel.selectionParams = localBuilderModel.selectionParams.map((param, idx) => {
133
+ if (globalParams.hasOwnProperty(idx)) {
134
+ return {...param, value: globalParams[idx]}
135
+ }
136
+ return param
137
+ })
138
+ }
139
+ localBuilderModel.filter = localBuilderModel.filter ?? {}
140
+ localBuilderModel.filter.LocalTfilter = localBuilderModel.filter?.LocalTfilter?.map(x => ({
141
+ ...x,
142
+ isMainFilter: true
143
+ })) ?? []
144
+ console.log(localBuilderModel)
145
+ setBuilderModel({...localBuilderModel, id: data.id})
79
146
  setBuilderMetadata({
80
147
  id: data.id,
81
148
  name: data.name,
82
149
  description: data.description,
83
- isNew: false
150
+ isNew: false,
84
151
  })
85
152
  } catch (err) {
86
153
  console.error(err)
@@ -90,24 +157,23 @@ const ReportViewer = params => {
90
157
  }
91
158
 
92
159
  useEffect(() => {
93
- console.log(sessionPayload)
94
- // bump version when payload externalFilter or pageId changes to force SGrid remount
95
- try {
96
- const sig = JSON.stringify({ ef: sessionPayload?.externalFilter ?? null, p: sessionPayload?.pageId ?? null })
97
- setPayloadVersion(v => v + 1)
98
- } catch {}
99
160
  // Load report when id or pageId changes; prefer session payload pageId if available
100
- let reportId = id ?? router.query?.id
101
- const pId = sessionPayload?.pageId != null ? sessionPayload.pageId : pageId
102
- if (reportId || pId) handleGetReport(reportId, pId)
103
- }, [id, router.query?.id, pageId, sessionPayload?.pageId, JSON.stringify(sessionPayload?.externalFilter)])
161
+ const targetPageId = sessionPayload?.pageId || pageId || router.query?.pageId;
162
+ const targetId = sessionPayload?.id || id || router.query?.id;
163
+
164
+ if (targetPageId || targetId) {
165
+ handleGetReport(targetId, targetPageId)
166
+ }
167
+
168
+ // bump version when payload changes to force SGrid remount
169
+ setPayloadVersion(v => v + 1);
170
+ }, [id, router.query?.id, pageId, router.query?.pageId, sessionPayload])
104
171
 
105
172
  return (
106
173
  <Box
107
174
  sx={{
108
175
  display: 'block',
109
176
  width: '100%',
110
- p: minimized !== true ? 2 : 0
111
177
  }}
112
178
  >
113
179
  {isLoading ? (
@@ -115,54 +181,43 @@ const ReportViewer = params => {
115
181
  sx={{
116
182
  display: 'flex',
117
183
  alignItems: 'center',
118
- justifyContent: 'center'
184
+ justifyContent: 'center',
119
185
  }}
120
186
  >
121
- <CircularProgress />
187
+ <CircularProgress/>
122
188
  </Box>
123
189
  ) : !builderModel ? (
124
- <Box textAlign='center' mt={8}>
125
- <Typography variant='subtitle1' color='text.secondary'>
190
+ <Box textAlign="center" mt={8}>
191
+ <Typography variant="subtitle1" color="text.secondary">
126
192
  No report selected
127
193
  </Typography>
128
194
  </Box>
129
195
  ) : (
130
196
  <>
131
- <Box
132
- display='flex'
133
- gap={1}
134
- flexDirection={'column'}
135
- sx={{
136
- width: '100%',
137
- backgroundColor: 'white',
138
- borderRadius: 2,
139
- boxShadow: minimized !== true && '0 4px 12px rgba(0,0,0,0.08)' // subtle custom shadow
140
- }}
141
- >
142
- {minimized !== true && noHeader !== true && (
143
- <Box display='flex' justifyContent={'space-between'} alignItems={'center'} gap={1} sx={{ p: 2 }}>
144
- <Typography variant='subtitle1' color='text.secondary'>
145
- {builderMetadata?.name ?? ''}
146
- </Typography>
197
+ <Box display="flex" gap={1} flexDirection={'column'} sx={{ width: '100%' }}>
198
+ {(minimized !== true && noHeader !== true) &&
199
+ <Box display="flex" justifyContent={'space-between'} alignItems={'center'} gap={1} sx={{p: 2}}>
200
+ <Typography variant="subtitle1" color="text.secondary">{builderMetadata?.name ?? ""}</Typography>
147
201
  <Tooltip title={'Studio'}>
148
202
  <IconButton
149
203
  size={'small'}
150
204
  onClick={() => {
151
- router.push({ pathname: '/reportBuilder', query: { id: id ?? router.query?.id } })
205
+ router.push({pathname: '/builders/report', query: {id: id ?? router.query?.id}})
152
206
  }}
153
207
  >
154
- <SettingsOutlined color={'primary'} />
208
+ <SettingsOutlined color={'primary'}/>
155
209
  </IconButton>
156
210
  </Tooltip>
157
- </Box>
158
- )}
159
- <Box display={'flex'} alignItems='center' gap={1} width={'100%'}>
211
+ </Box>}
212
+ <Box sx={{width: '100%'}}>
160
213
  <SGrid
161
214
  key={`rv-${payloadVersion}`}
162
215
  minimized={minimized}
216
+ extraCols={extraCols}
163
217
  builderModel={builderModel}
164
218
  setData={setData}
165
219
  isSingle={isSingle}
220
+ setOutGridApi={setOutGridApi}
166
221
  externalTimer={externalTimer}
167
222
  actions={actions}
168
223
  reportTitle={builderMetadata?.name}
@@ -170,6 +225,17 @@ const ReportViewer = params => {
170
225
  columnsConfig={columnsConfig ?? []}
171
226
  refresh={refresh}
172
227
  dataAsObject={dataAsObject}
228
+ height={height ?? '85vh'}
229
+ isRerender={isRerender}
230
+ // uniqueIdPath={'Id'}
231
+ // noPurge={true}
232
+ updateRef={updateRef}
233
+ nodeId={nodeId}
234
+ reportRefs={reportRefs}
235
+ data={data}
236
+ dataRef={dataRef}
237
+ openDialog={openDialog}
238
+ closeDialog={closeDialog}
173
239
  />
174
240
  </Box>
175
241
  </Box>
@@ -181,7 +247,7 @@ const ReportViewer = params => {
181
247
 
182
248
  ReportViewer.acl = {
183
249
  action: 'view',
184
- subject: PermissionsSubjects.ReportBuilder
250
+ subject: PermissionsSubjects.Free,
185
251
  }
186
-
252
+ ReportViewer.getLayout = page => <BlankLayout>{page}</BlankLayout>
187
253
  export default ReportViewer
@@ -9,24 +9,32 @@ import {
9
9
  IconButton,
10
10
  Button,
11
11
  Card,
12
- CardContent, MenuItem, Select, FormControl, InputLabel
12
+ CardContent, MenuItem, Select, FormControl, InputLabel, Dialog
13
13
  } from '@mui/material'
14
14
  import SearchIcon from '@mui/icons-material/Search'
15
15
  import ClearIcon from '@mui/icons-material/Clear'
16
16
  import {Endpoints, Services} from 'services/Endpoints'
17
17
  import PermissionsSubjects from 'src/configs/Permissions/PermissionsSubjects.json'
18
- import {EditOutlined} from "@mui/icons-material";
18
+ import {EditOutlined, SettingsOutlined} from "@mui/icons-material";
19
19
  import Grid from "@mui/material/Grid";
20
20
  import ReportBuilderTypeEnum from "services/enums/ReportBuilderTypeEnum";
21
+ import handleChange from "services/helper/handleChange";
22
+ import UpdateReportPermissionDialog from "views/rolePermissions/UpdateReportPermissionDialog";
23
+
21
24
 
22
25
  const ReportsList = () => {
23
26
  const router = useRouter()
24
27
  const [search, setSearch] = useState('')
25
28
  const [reports, setReports] = useState([])
29
+ const [selectedChildRow, setSelectedChildRow] = useState()
26
30
  const [filter, setFilter] = useState({
27
31
  type : 'Report',
28
32
  })
29
-
33
+ const [openDialogs, setOpenDialogs] = useState({
34
+ confirm: false,
35
+ PermissionReport: false,
36
+ CustomFilter: false,
37
+ })
30
38
 
31
39
  const handleGetReports = async () => {
32
40
  try {
@@ -48,10 +56,15 @@ const ReportsList = () => {
48
56
  handleGetReports()
49
57
  }, [])
50
58
 
59
+ const handleToggleDialogs = dialog => {
60
+ handleChange(setOpenDialogs, dialog, !openDialogs[dialog])
61
+ }
62
+
51
63
  const filtered = useMemo(() => {
52
64
  if (!search) return reports
53
65
  return reports.filter(r =>
54
- (r.name || '').toLowerCase().includes(search.toLowerCase())
66
+ (r.name || '').toLowerCase().includes(search.toLowerCase()) ||
67
+ (r.pageId || '').toLowerCase().includes(search.toLowerCase())
55
68
  )
56
69
  }, [search, reports])
57
70
 
@@ -62,12 +75,12 @@ const ReportsList = () => {
62
75
  return (
63
76
  <Box p={4} maxWidth={800} mx="auto">
64
77
  {/* Header */}
65
- <Box display="flex" sx={{width:'100%'}} justifyContent="space-between" alignItems="center" mb={3}>
66
- <Grid container sx={{width:'100%'}} >
67
- <Grid item size={8}>
78
+ <Box display="flex" justifyContent="space-between" alignItems="center" mb={3}>
79
+ <Grid container>
80
+ <Grid size={{ xs: 8 }}>
68
81
  <Typography variant="h4">All Reports</Typography>
69
82
  </Grid>
70
- <Grid item size={4}>
83
+ <Grid size={{ xs: 4 }}>
71
84
  <Box sx={{display:'flex'}}>
72
85
  <FormControl fullWidth>
73
86
  <InputLabel id='demo-simple-select-label'>النوع</InputLabel>
@@ -92,9 +105,9 @@ const ReportsList = () => {
92
105
  ))}
93
106
  </Select>
94
107
  </FormControl>
95
- <Button variant="contained" sx={{ml:3}} onClick={() => router.push('/reportModule/reportBuilder')}>
96
- New
97
- </Button>
108
+ <Button variant="contained" sx={{ml:3}} onClick={() => router.push('/builders/report')}>
109
+ New
110
+ </Button>
98
111
  </Box>
99
112
  </Grid>
100
113
  </Grid>
@@ -133,6 +146,18 @@ const ReportsList = () => {
133
146
  {filtered.length > 0 ? (
134
147
  filtered.map(report => (
135
148
  <Card key={report.id} variant="outlined">
149
+ <Box sx={{display: 'flex', justifyContent: 'end'}}>
150
+ <IconButton
151
+ size={'small'}
152
+ onClick={() => {
153
+ setSelectedChildRow(report)
154
+ handleToggleDialogs('PermissionReport')
155
+ }}
156
+ >
157
+ <SettingsOutlined color={'primary'}/>
158
+ </IconButton>
159
+ </Box>
160
+
136
161
  <CardContent>
137
162
  <Typography variant="h6" color="primary">
138
163
  {report.name}
@@ -157,12 +182,15 @@ const ReportsList = () => {
157
182
  </Typography>
158
183
 
159
184
  </Box>
185
+ <Typography variant="caption">
186
+ {report.pageId}
187
+ </Typography>
160
188
  <Box mt={2} display="flex" alignItems="center" gap={1}>
161
189
  <Button
162
190
  size="small"
163
191
  variant="outlined"
164
192
  onClick={() =>
165
- router.push({pathname: '/reportModule/reportBuilder/reportViewer', query: {id: report.id}})
193
+ router.push({pathname: '/builders/report/viewer', query: {id: report.id}})
166
194
  }
167
195
  sx={{flexGrow: 1}} // <-- takes all remaining space
168
196
  >
@@ -172,7 +200,7 @@ const ReportsList = () => {
172
200
  size="small"
173
201
  variant="outlined"
174
202
  onClick={() =>
175
- router.push({pathname: '/reportModule/reportBuilder', query: {id: report.id}})
203
+ router.push({pathname: '/builders/report', query: {id: report.id}})
176
204
  }
177
205
  >
178
206
  <EditOutlined color={'secondary'} fontSize="small"/>
@@ -186,6 +214,16 @@ const ReportsList = () => {
186
214
  )}
187
215
  </Box>
188
216
  </Paper>
217
+ <Dialog
218
+ fullWidth
219
+ open={openDialogs.PermissionReport}
220
+ maxWidth='md'
221
+ scroll='body'
222
+ onClose={() => handleToggleDialogs('PermissionReport')}
223
+ >
224
+ <UpdateReportPermissionDialog handleToggleDialogs={handleToggleDialogs} report={selectedChildRow}/>
225
+ </Dialog>
226
+
189
227
  </Box>
190
228
  )
191
229
  }
@@ -0,0 +1,126 @@
1
+ // ** React Imports
2
+ // ** Next Import
3
+
4
+ // ** MUI Imports
5
+ import Box from '@mui/material/Box'
6
+ import Grid from '@mui/material/Grid'
7
+ import Typography from '@mui/material/Typography'
8
+ import CardHeader from '@mui/material/CardHeader'
9
+ // ** Icons Imports
10
+ import {CloudUploadOutline, Delete, DeleteCircle, DotsVerticalCircleOutline, Plus} from 'mdi-material-ui'
11
+ // ** Store Imports
12
+ // ** Custom Components Imports
13
+ import {useEffect, useState, useContext, useMemo} from 'react'
14
+ import handleChange from 'src/services/helper/handleChange'
15
+ import {Avatar, Button, ButtonGroup, Card, CardContent, Checkbox, Dialog, IconButton, Popover} from '@mui/material'
16
+ import ReportViewer from "../reportViewer";
17
+ import PermissionsSubjects from "src/configs/Permissions/PermissionsSubjects.json";
18
+ import {AuthContext} from "context/AuthContext";
19
+ import BlankLayout from '../../../../lib/layouts/BlankLayout';
20
+ // ** Utils Import
21
+
22
+ // ** Actions Imports
23
+
24
+ // ** Custom Components Imports
25
+
26
+ const pageMetaData = {
27
+ id: '157d6ea7-3572-4fef-9f16-7e5b7e552023'
28
+ }
29
+ const ReportsCard = () => {
30
+ // ** State
31
+
32
+ const authContext = useContext(AuthContext)
33
+
34
+ const [anchorEl, setAnchorEl] = useState(null)
35
+ const [selectedChildRow, setSelectedChildRow] = useState()
36
+ const filter = useMemo(() => {
37
+ return {
38
+ fixedTFilter: [{
39
+ isOrList: true,
40
+ method: 'Equals',
41
+ path: 'PermissionRoleId',
42
+ value: authContext?.user?.roleIds ?? []
43
+ }]
44
+ }
45
+ }
46
+ , [authContext])
47
+
48
+ const [openDialogs, setOpenDialogs] = useState({
49
+ image: false,
50
+ banner: false,
51
+ updatebanner: false,
52
+ confirm: false,
53
+ filter: false,
54
+ notification: false,
55
+ notify: false
56
+ })
57
+
58
+ // ** States
59
+ const actions = (params) => {
60
+ return <Box sx={{display: 'flex', alignItems: 'center'}}>
61
+ <IconButton
62
+ sx={{color: 'primary.light'}}
63
+ onClick={e => {
64
+ setAnchorEl(e.currentTarget)
65
+ setSelectedChildRow(params.data)
66
+ }}
67
+ >
68
+ <DotsVerticalCircleOutline/>
69
+ </IconButton>
70
+ </Box>
71
+ }
72
+
73
+
74
+ function handleFilterChange(field, value) {
75
+ handleChange(setFilter, field, value)
76
+ }
77
+
78
+ useEffect(() => {
79
+
80
+ }, [])
81
+
82
+ const handleToggleDialogs = dialog => {
83
+ handleChange(setOpenDialogs, dialog, !openDialogs[dialog])
84
+ }
85
+
86
+ return (
87
+ <Card>
88
+ <Grid container>
89
+ <Grid size={{ xs: 12 }}>
90
+ <CardHeader
91
+ title={
92
+ <Box>
93
+ <Typography variant='h6'>التقارير</Typography>
94
+
95
+ </Box>
96
+ }
97
+ sx={{pb: 4, '& .MuiCardHeader-title': {letterSpacing: '.15px'}}}
98
+ action={
99
+ <Grid container spacing={1} size={{ xs: 12 }}>
100
+
101
+ </Grid>
102
+ }
103
+ />
104
+
105
+ <Grid container spacing={3}>
106
+ <ReportViewer
107
+ noHeader={true}
108
+ pageId={pageMetaData.id}
109
+ filter={filter}
110
+ actions={actions}
111
+ height={'80vh'}
112
+ />
113
+
114
+ </Grid>
115
+ </Grid>
116
+ </Grid>
117
+ </Card>
118
+
119
+ )
120
+ }
121
+ ReportsCard.acl = {
122
+ action: 'view',
123
+ subject: PermissionsSubjects.Free
124
+ };
125
+ ReportsCard.getLayout = page => <BlankLayout>{page}</BlankLayout>
126
+ export default ReportsCard