robobyte-front-builder 1.0.19 → 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 (513) 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 +61 -7
  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 +8 -6
  21. package/src/pages/reportModule/reportBuilder/reportViewer/index.js +33 -22
  22. package/src/pages/reportModule/reportBuilder/reports/index.js +3 -5
  23. package/src/pages/reportModule/reportBuilder/reportsPermissions/index.js +2 -3
  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 +5 -9
  49. package/src/services/reportData/fetchReportData.js +69 -28
  50. package/src/services/routerRef.js +35 -0
  51. package/src/views/ConfirmDialog.js +2 -2
  52. package/src/views/builder/JSEditor.js +105 -107
  53. package/src/views/builder/inspector/Inspector.jsx +6 -9
  54. package/src/views/builder/inspector/Tabs/ComponentActionsTab.jsx +7 -13
  55. package/src/views/builder/inspector/Tabs/MainTab.jsx +143 -25
  56. package/src/views/builder/inspector/Tabs/RulesTab.jsx +9 -24
  57. package/src/views/builder/inspector/Tabs/StyleTab.jsx +9 -24
  58. package/src/views/builder/inspector/definitions/autocomplete/main.js +4 -6
  59. package/src/views/builder/inspector/definitions/banner/actions.js +7 -0
  60. package/src/views/builder/inspector/definitions/banner/main.js +22 -0
  61. package/src/views/builder/inspector/definitions/banner/rules.js +1 -0
  62. package/src/views/builder/inspector/definitions/banner/style.js +1 -0
  63. package/src/views/builder/inspector/definitions/breadcrumb/main.js +43 -6
  64. package/src/views/builder/inspector/definitions/button/main.js +11 -12
  65. package/src/views/builder/inspector/definitions/button/style.js +18 -30
  66. package/src/views/builder/inspector/definitions/checkbox/actions.js +3 -1
  67. package/src/views/builder/inspector/definitions/checkbox/main.js +4 -6
  68. package/src/views/builder/inspector/definitions/common/main.js +13 -2
  69. package/src/views/builder/inspector/definitions/dataGrid/main.js +23 -0
  70. package/src/views/builder/inspector/definitions/dataTableViewer/main.js +46 -0
  71. package/src/views/builder/inspector/definitions/datepicker/actions.js +3 -1
  72. package/src/views/builder/inspector/definitions/datepicker/main.js +6 -14
  73. package/src/views/builder/inspector/definitions/dialog/main.js +36 -0
  74. package/src/views/builder/inspector/definitions/dropdown/main.js +5 -8
  75. package/src/views/builder/inspector/definitions/excelUpload/actions.js +23 -0
  76. package/src/views/builder/inspector/definitions/excelUpload/main.js +17 -0
  77. package/src/views/builder/inspector/definitions/excelUpload/rules.js +1 -0
  78. package/src/views/builder/inspector/definitions/excelUpload/style.js +45 -0
  79. package/src/views/builder/inspector/definitions/header/main.js +10 -1
  80. package/src/views/builder/inspector/definitions/index.js +106 -19
  81. package/src/views/builder/inspector/definitions/input/actions.js +4 -1
  82. package/src/views/builder/inspector/definitions/input/main.js +20 -11
  83. package/src/views/builder/inspector/definitions/kpi/avatarGroup.js +22 -0
  84. package/src/views/builder/inspector/definitions/kpi/badge.js +17 -0
  85. package/src/views/builder/inspector/definitions/kpi/bulletChart.js +47 -0
  86. package/src/views/builder/inspector/definitions/kpi/chart.js +55 -0
  87. package/src/views/builder/inspector/definitions/kpi/colorScale.js +60 -0
  88. package/src/views/builder/inspector/definitions/kpi/comparisonBars.js +41 -0
  89. package/src/views/builder/inspector/definitions/kpi/countdown.js +46 -0
  90. package/src/views/builder/inspector/definitions/kpi/donut.js +51 -0
  91. package/src/views/builder/inspector/definitions/kpi/funnel.js +25 -0
  92. package/src/views/builder/inspector/definitions/kpi/gauge.js +39 -0
  93. package/src/views/builder/inspector/definitions/kpi/heatmapGrid.js +96 -0
  94. package/src/views/builder/inspector/definitions/kpi/iconBox.js +20 -0
  95. package/src/views/builder/inspector/definitions/kpi/metric.js +45 -0
  96. package/src/views/builder/inspector/definitions/kpi/rating.js +27 -0
  97. package/src/views/builder/inspector/definitions/kpi/statusDot.js +18 -0
  98. package/src/views/builder/inspector/definitions/kpi/stepStage.js +65 -0
  99. package/src/views/builder/inspector/definitions/kpi/tagList.js +32 -0
  100. package/src/views/builder/inspector/definitions/kpi/timeline.js +80 -0
  101. package/src/views/builder/inspector/definitions/kpi/trend.js +20 -0
  102. package/src/views/builder/inspector/definitions/label/main.js +10 -1
  103. package/src/views/builder/inspector/definitions/layout/main.js +27 -3
  104. package/src/views/builder/inspector/definitions/number/main.js +6 -14
  105. package/src/views/builder/inspector/definitions/pageNumber/main.js +21 -0
  106. package/src/views/builder/inspector/definitions/popover/main.js +71 -0
  107. package/src/views/builder/inspector/definitions/radio/main.js +5 -8
  108. package/src/views/builder/inspector/definitions/repeater/main.js +31 -0
  109. package/src/views/builder/inspector/definitions/reportViewer/main.js +15 -1
  110. package/src/views/builder/inspector/definitions/richtext/main.js +5 -8
  111. package/src/views/builder/inspector/definitions/signature/main.js +4 -1
  112. package/src/views/builder/inspector/definitions/tag/main.js +5 -8
  113. package/src/views/builder/inspector/definitions/textarea/actions.js +4 -1
  114. package/src/views/builder/inspector/definitions/textarea/main.js +5 -7
  115. package/src/views/builder/inspector/definitions/time/main.js +5 -8
  116. package/src/views/builder/inspector/definitions/toggle/main.js +5 -19
  117. package/src/views/builder/inspector/definitions/treeView/main.js +61 -0
  118. package/src/views/builder/inspector/definitions/viewRenderer/main.js +53 -0
  119. package/src/views/builder/inspector/definitions/wizard/main.js +68 -0
  120. package/src/views/builder/inspector/definitions/wizard-step/main.js +25 -0
  121. package/src/views/builder/inspector/fields/ActionsConfigEditor.jsx +426 -0
  122. package/src/views/builder/inspector/fields/ColorSchemaField.jsx +140 -0
  123. package/src/views/builder/inspector/fields/ColumnFunctionEditor.jsx +238 -0
  124. package/src/views/builder/inspector/fields/ColumnMappingEditor.jsx +105 -0
  125. package/src/views/builder/inspector/fields/ColumnsConfigEditor.jsx +506 -0
  126. package/src/views/builder/inspector/fields/DonutRingsEditorField.jsx +337 -0
  127. package/src/views/builder/inspector/fields/ExtraColsEditor.jsx +618 -0
  128. package/src/views/builder/inspector/fields/FunctionHelpPopover.jsx +295 -0
  129. package/src/views/builder/inspector/fields/IconEditor.jsx +64 -0
  130. package/src/views/builder/inspector/fields/KpiActionField.jsx +223 -0
  131. package/src/views/builder/inspector/fields/MarkersEditorField.jsx +173 -0
  132. package/src/views/builder/inspector/fields/SelectEditor.jsx +9 -5
  133. package/src/views/builder/inspector/fields/SeriesEditorField.jsx +363 -0
  134. package/src/views/builder/inspector/fields/TableColumnsEditor.jsx +104 -0
  135. package/src/views/builder/inspector/fields/ThresholdsEditor.jsx +247 -0
  136. package/src/views/builder/inspector/fields/ValueFunctionsRefPanel.jsx +217 -0
  137. package/src/views/builder/inspector/fields/columnEditorShared.jsx +217 -0
  138. package/src/views/builder/sidebar/Sidebar.jsx +4 -2
  139. package/src/views/builder/sidebar/SidebarTabs.jsx +28 -17
  140. package/src/views/builder/sidebar/tabs/ActionsTab.jsx +7 -3
  141. package/src/views/builder/sidebar/tabs/AiTab/AiPreviewDialog.jsx +193 -0
  142. package/src/views/builder/sidebar/tabs/AiTab/aiProvider.js +49 -0
  143. package/src/views/builder/sidebar/tabs/AiTab/index.jsx +409 -0
  144. package/src/views/builder/sidebar/tabs/AiTab/schemaTransformer.js +102 -0
  145. package/src/views/builder/sidebar/tabs/AiTab/schemaValidator.js +64 -0
  146. package/src/views/builder/sidebar/tabs/AiTab/systemPrompt.js +1151 -0
  147. package/src/views/builder/sidebar/tabs/Components/ComponentsTab.jsx +31 -31
  148. package/src/views/builder/sidebar/tabs/Components/componentCatalog.js +43 -21
  149. package/src/views/builder/sidebar/tabs/Components/printComponentCatalog.js +81 -0
  150. package/src/views/builder/sidebar/tabs/TimersTab.jsx +338 -0
  151. package/src/views/builder/sidebar/tabs/TreeTab.jsx +13 -4
  152. package/src/views/builder/sidebar/tabs/ViewTab.jsx +1 -1
  153. package/src/views/builder/viewer/AdornedLabel.jsx +82 -0
  154. package/src/views/builder/viewer/ComponentRenderer.jsx +98 -24
  155. package/src/views/builder/viewer/DialogsZone.jsx +259 -0
  156. package/src/views/builder/viewer/FieldLabel.jsx +106 -0
  157. package/src/views/builder/viewer/PrintDialog.jsx +481 -0
  158. package/src/views/builder/viewer/ProductionViewer.jsx +80 -5
  159. package/src/views/builder/viewer/Viewer.jsx +106 -8
  160. package/src/views/builder/viewer/ViewerComponentWrapper.jsx +61 -4
  161. package/src/views/builder/viewer/ViewerToolbar.jsx +273 -59
  162. package/src/views/builder/viewer/renderers/AutoCompleteRenderer.jsx +26 -22
  163. package/src/views/builder/viewer/renderers/AvatarGroupRenderer.jsx +112 -0
  164. package/src/views/builder/viewer/renderers/BadgeRenderer.jsx +79 -0
  165. package/src/views/builder/viewer/renderers/BannerRenderer.jsx +62 -0
  166. package/src/views/builder/viewer/renderers/BreadcrumbRenderer.jsx +203 -15
  167. package/src/views/builder/viewer/renderers/BulletChartRenderer.jsx +147 -0
  168. package/src/views/builder/viewer/renderers/ButtonRenderer.jsx +98 -39
  169. package/src/views/builder/viewer/renderers/CardRenderer.jsx +1 -1
  170. package/src/views/builder/viewer/renderers/ChartRenderer.jsx +388 -0
  171. package/src/views/builder/viewer/renderers/CheckboxRenderer.jsx +17 -9
  172. package/src/views/builder/viewer/renderers/ColorScaleRenderer.jsx +300 -0
  173. package/src/views/builder/viewer/renderers/ComparisonBarsRenderer.jsx +133 -0
  174. package/src/views/builder/viewer/renderers/ContainerRenderer.jsx +3 -1
  175. package/src/views/builder/viewer/renderers/CountdownRenderer.jsx +249 -0
  176. package/src/views/builder/viewer/renderers/DataGridRenderer.jsx +380 -0
  177. package/src/views/builder/viewer/renderers/DataTableViewerRenderer.jsx +240 -0
  178. package/src/views/builder/viewer/renderers/DatePickerRenderer.jsx +25 -24
  179. package/src/views/builder/viewer/renderers/DialogRenderer.jsx +327 -0
  180. package/src/views/builder/viewer/renderers/DividerRenderer.jsx +1 -1
  181. package/src/views/builder/viewer/renderers/DonutRenderer.jsx +294 -0
  182. package/src/views/builder/viewer/renderers/DropdownRenderer.jsx +36 -44
  183. package/src/views/builder/viewer/renderers/ExcelUploadRenderer.jsx +639 -0
  184. package/src/views/builder/viewer/renderers/FunnelRenderer.jsx +93 -0
  185. package/src/views/builder/viewer/renderers/GaugeRenderer.jsx +159 -0
  186. package/src/views/builder/viewer/renderers/HeaderRenderer.jsx +31 -9
  187. package/src/views/builder/viewer/renderers/HeatmapGridRenderer.jsx +432 -0
  188. package/src/views/builder/viewer/renderers/IconBoxRenderer.jsx +59 -0
  189. package/src/views/builder/viewer/renderers/ImageRenderer.jsx +1 -1
  190. package/src/views/builder/viewer/renderers/InputRenderer.jsx +75 -18
  191. package/src/views/builder/viewer/renderers/LabelRenderer.jsx +35 -9
  192. package/src/views/builder/viewer/renderers/LayoutCellRenderer.jsx +102 -40
  193. package/src/views/builder/viewer/renderers/LayoutContextMenu.jsx +8 -8
  194. package/src/views/builder/viewer/renderers/LayoutRenderer.jsx +48 -6
  195. package/src/views/builder/viewer/renderers/LinkRenderer.jsx +1 -1
  196. package/src/views/builder/viewer/renderers/MenuRenderer.jsx +2 -2
  197. package/src/views/builder/viewer/renderers/MetricRenderer.jsx +80 -0
  198. package/src/views/builder/viewer/renderers/NumberFormatRenderer.jsx +21 -30
  199. package/src/views/builder/viewer/renderers/PageNumberRenderer.jsx +76 -0
  200. package/src/views/builder/viewer/renderers/PopoverRenderer.jsx +350 -0
  201. package/src/views/builder/viewer/renderers/ProgressCircleRenderer.jsx +1 -1
  202. package/src/views/builder/viewer/renderers/ProgressLineRenderer.jsx +1 -1
  203. package/src/views/builder/viewer/renderers/RadioGroupRenderer.jsx +28 -39
  204. package/src/views/builder/viewer/renderers/RatingRenderer.jsx +80 -0
  205. package/src/views/builder/viewer/renderers/RepeaterRenderer.jsx +297 -38
  206. package/src/views/builder/viewer/renderers/ReportViewerRenderer.jsx +219 -5
  207. package/src/views/builder/viewer/renderers/RichTextRenderer.jsx +60 -66
  208. package/src/views/builder/viewer/renderers/RowActionsCell.jsx +308 -0
  209. package/src/views/builder/viewer/renderers/SignatureRenderer.jsx +33 -62
  210. package/src/views/builder/viewer/renderers/StatusDotRenderer.jsx +75 -0
  211. package/src/views/builder/viewer/renderers/StepStageRenderer.jsx +348 -0
  212. package/src/views/builder/viewer/renderers/TagListRenderer.jsx +115 -0
  213. package/src/views/builder/viewer/renderers/TagPickerRenderer.jsx +31 -45
  214. package/src/views/builder/viewer/renderers/TextAreaRenderer.jsx +25 -18
  215. package/src/views/builder/viewer/renderers/TextRenderer.jsx +7 -1
  216. package/src/views/builder/viewer/renderers/TimePickerRenderer.jsx +25 -24
  217. package/src/views/builder/viewer/renderers/TimelineRenderer.jsx +525 -0
  218. package/src/views/builder/viewer/renderers/ToggleRenderer.jsx +21 -27
  219. package/src/views/builder/viewer/renderers/TreeViewRenderer.jsx +832 -0
  220. package/src/views/builder/viewer/renderers/TrendRenderer.jsx +66 -0
  221. package/src/views/builder/viewer/renderers/ViewRendererRenderer.jsx +315 -0
  222. package/src/views/builder/viewer/renderers/WizardRenderer.jsx +380 -64
  223. package/src/views/builder/viewer/renderers/WizardStepRenderer.jsx +21 -12
  224. package/src/views/builder/viewer/renderers/dataGridComponents.jsx +824 -0
  225. package/src/views/customFilter/CustomFilterDialog.js +1023 -660
  226. package/src/views/customFilter/FixedFilterDialog.js +649 -0
  227. package/src/views/customFilter/SearchFilterDialog.js +248 -0
  228. package/src/views/genericTable/BuilderExpressionParams.js +3 -3
  229. package/src/views/genericTable/ColumnConfiguratorDialog.js +33 -24
  230. package/src/views/genericTable/FixedFilterDialog.js +3 -2
  231. package/src/views/genericTable/FormattingSettingsDialog.js +8 -3
  232. package/src/views/genericTable/SGrid.js +198 -97
  233. package/src/views/genericTable/SearchFilterDialog.js +3 -2
  234. package/src/views/genericTable/cellEditors/autocompleteEditor.js +5 -9
  235. package/src/views/genericTable/convertStringFunctions.js +274 -138
  236. package/src/views/genericTable/statusBar/rowCountStatusBar.js +3 -1
  237. package/src/views/genericTable/updateRefHelpers.js +9 -6
  238. package/src/views/printBuilder/PrintBuilderViewer.jsx +607 -0
  239. package/src/views/printBuilder/PrintPreviewCanvas.jsx +157 -0
  240. package/src/views/rolePermissions/UpdateReportPermissionDialog.js +3 -2
  241. package/src/@core/components/auth/AclGuard.js +0 -55
  242. package/src/@core/components/auth/AuthGuard.js +0 -40
  243. package/src/@core/components/auth/GuestGuard.js +0 -30
  244. package/src/@core/components/custom-inputs/Horizontal.jsx +0 -143
  245. package/src/@core/components/custom-inputs/Image.jsx +0 -78
  246. package/src/@core/components/custom-inputs/Vertical.jsx +0 -113
  247. package/src/@core/components/customizer/index.jsx +0 -470
  248. package/src/@core/components/customizer/styles.module.css +0 -169
  249. package/src/@core/components/mui/Avatar.jsx +0 -41
  250. package/src/@core/components/mui/Badge.jsx +0 -20
  251. package/src/@core/components/mui/IconButton.jsx +0 -74
  252. package/src/@core/components/mui/TabList.jsx +0 -60
  253. package/src/@core/components/option-menu/index.jsx +0 -137
  254. package/src/@core/components/scroll-to-top/index.jsx +0 -43
  255. package/src/@core/components/spinner/index.js +0 -26
  256. package/src/@core/components/window-wrapper/index.js +0 -27
  257. package/src/@core/contexts/settingsContext.jsx +0 -98
  258. package/src/@core/hooks/useBgColor.js +0 -63
  259. package/src/@core/hooks/useImageVariant.js +0 -27
  260. package/src/@core/hooks/useLayoutInit.js +0 -37
  261. package/src/@core/hooks/useObjectCookie.js +0 -18
  262. package/src/@core/hooks/useSettings.jsx +0 -15
  263. package/src/@core/layouts/BlankLayout.js +0 -37
  264. package/src/@core/layouts/BlankLayoutWithAppBar.js +0 -51
  265. package/src/@core/layouts/HorizontalLayout.jsx +0 -151
  266. package/src/@core/layouts/Layout.js +0 -39
  267. package/src/@core/layouts/VerticalLayout.jsx +0 -124
  268. package/src/@core/layouts/components/blank-layout-with-appBar/index.js +0 -115
  269. package/src/@core/layouts/components/horizontal/app-bar-content/index.js +0 -67
  270. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavGroup.js +0 -352
  271. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavItems.js +0 -21
  272. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavLink.js +0 -195
  273. package/src/@core/layouts/components/horizontal/navigation/index.js +0 -31
  274. package/src/@core/layouts/components/shared-components/LanguageDropdown.js +0 -96
  275. package/src/@core/layouts/components/shared-components/ModeToggler.js +0 -32
  276. package/src/@core/layouts/components/shared-components/NotificationDropdown.js +0 -226
  277. package/src/@core/layouts/components/shared-components/UserDropdown.js +0 -177
  278. package/src/@core/layouts/components/shared-components/footer/FooterContent.js +0 -46
  279. package/src/@core/layouts/components/shared-components/footer/index.js +0 -61
  280. package/src/@core/layouts/components/vertical/appBar/index.js +0 -74
  281. package/src/@core/layouts/components/vertical/navigation/Drawer.js +0 -122
  282. package/src/@core/layouts/components/vertical/navigation/VerticalNavGroup.js +0 -435
  283. package/src/@core/layouts/components/vertical/navigation/VerticalNavHeader.js +0 -180
  284. package/src/@core/layouts/components/vertical/navigation/VerticalNavItems.js +0 -26
  285. package/src/@core/layouts/components/vertical/navigation/VerticalNavLink.js +0 -258
  286. package/src/@core/layouts/components/vertical/navigation/VerticalNavSectionTitle.js +0 -102
  287. package/src/@core/layouts/components/vertical/navigation/index.js +0 -169
  288. package/src/@core/layouts/utils.js +0 -69
  289. package/src/@core/styles/Table.module.css +0 -93
  290. package/src/@core/styles/horizontal/menuItemStyles.js +0 -100
  291. package/src/@core/styles/horizontal/menuRootStyles.js +0 -19
  292. package/src/@core/styles/libs/fullcalendar/index.js +0 -461
  293. package/src/@core/styles/libs/keen-slider/index.js +0 -111
  294. package/src/@core/styles/libs/react-apexcharts/index.js +0 -107
  295. package/src/@core/styles/libs/react-cleave/index.js +0 -33
  296. package/src/@core/styles/libs/react-credit-cards/index.js +0 -11
  297. package/src/@core/styles/libs/react-datepicker/index.js +0 -388
  298. package/src/@core/styles/libs/react-draft-wysiwyg/index.js +0 -144
  299. package/src/@core/styles/libs/react-dropzone/index.js +0 -76
  300. package/src/@core/styles/libs/react-hot-toast/index.js +0 -37
  301. package/src/@core/styles/libs/recharts/index.js +0 -47
  302. package/src/@core/styles/stepper.js +0 -103
  303. package/src/@core/styles/vertical/menuItemStyles.js +0 -138
  304. package/src/@core/styles/vertical/menuSectionStyles.js +0 -54
  305. package/src/@core/styles/vertical/navigationCustomStyles.js +0 -62
  306. package/src/@core/svg/ContentCompact.jsx +0 -17
  307. package/src/@core/svg/ContentWide.jsx +0 -17
  308. package/src/@core/svg/DirectionLtr.jsx +0 -93
  309. package/src/@core/svg/DirectionRtl.jsx +0 -93
  310. package/src/@core/svg/LayoutCollapsed.jsx +0 -59
  311. package/src/@core/svg/LayoutHorizontal.jsx +0 -42
  312. package/src/@core/svg/LayoutVertical.jsx +0 -59
  313. package/src/@core/svg/Logo.jsx +0 -76
  314. package/src/@core/svg/SkinBordered.jsx +0 -54
  315. package/src/@core/svg/SkinDefault.jsx +0 -59
  316. package/src/@core/tailwind/plugin.js +0 -78
  317. package/src/@core/theme/ThemeComponent.js +0 -63
  318. package/src/@core/theme/ThemeOptions.js +0 -71
  319. package/src/@core/theme/breakpoints/index.js +0 -11
  320. package/src/@core/theme/colorSchemes.js +0 -326
  321. package/src/@core/theme/customShadows.js +0 -11
  322. package/src/@core/theme/globalStyles.js +0 -81
  323. package/src/@core/theme/index.js +0 -42
  324. package/src/@core/theme/overrides/accordion.js +0 -51
  325. package/src/@core/theme/overrides/accordion.jsx +0 -85
  326. package/src/@core/theme/overrides/alerts.js +0 -110
  327. package/src/@core/theme/overrides/alerts.jsx +0 -180
  328. package/src/@core/theme/overrides/autocomplete.js +0 -14
  329. package/src/@core/theme/overrides/autocomplete.jsx +0 -68
  330. package/src/@core/theme/overrides/avatar.js +0 -38
  331. package/src/@core/theme/overrides/avatars.js +0 -27
  332. package/src/@core/theme/overrides/backdrop.js +0 -22
  333. package/src/@core/theme/overrides/badges.js +0 -16
  334. package/src/@core/theme/overrides/breadcrumbs.js +0 -11
  335. package/src/@core/theme/overrides/button-group.js +0 -84
  336. package/src/@core/theme/overrides/button.js +0 -93
  337. package/src/@core/theme/overrides/buttonGroup.js +0 -9
  338. package/src/@core/theme/overrides/card.js +0 -83
  339. package/src/@core/theme/overrides/checkbox.jsx +0 -95
  340. package/src/@core/theme/overrides/chip.js +0 -72
  341. package/src/@core/theme/overrides/dataGrid.js +0 -114
  342. package/src/@core/theme/overrides/dateTimePicker.js +0 -65
  343. package/src/@core/theme/overrides/dialog.js +0 -120
  344. package/src/@core/theme/overrides/divider.js +0 -13
  345. package/src/@core/theme/overrides/drawer.js +0 -20
  346. package/src/@core/theme/overrides/fab.js +0 -13
  347. package/src/@core/theme/overrides/form-control-label.js +0 -19
  348. package/src/@core/theme/overrides/icon-button.js +0 -145
  349. package/src/@core/theme/overrides/index.js +0 -103
  350. package/src/@core/theme/overrides/input.js +0 -72
  351. package/src/@core/theme/overrides/link.js +0 -9
  352. package/src/@core/theme/overrides/list.js +0 -44
  353. package/src/@core/theme/overrides/menu.js +0 -25
  354. package/src/@core/theme/overrides/pagination.js +0 -41
  355. package/src/@core/theme/overrides/paper.js +0 -9
  356. package/src/@core/theme/overrides/popover.js +0 -16
  357. package/src/@core/theme/overrides/progress.js +0 -38
  358. package/src/@core/theme/overrides/radio.jsx +0 -80
  359. package/src/@core/theme/overrides/rating.js +0 -16
  360. package/src/@core/theme/overrides/rating.jsx +0 -32
  361. package/src/@core/theme/overrides/select.js +0 -19
  362. package/src/@core/theme/overrides/select.jsx +0 -52
  363. package/src/@core/theme/overrides/slider.js +0 -97
  364. package/src/@core/theme/overrides/snackbar.js +0 -19
  365. package/src/@core/theme/overrides/switch.js +0 -73
  366. package/src/@core/theme/overrides/switches.js +0 -25
  367. package/src/@core/theme/overrides/table-pagination.js +0 -39
  368. package/src/@core/theme/overrides/table.js +0 -81
  369. package/src/@core/theme/overrides/tabs.js +0 -30
  370. package/src/@core/theme/overrides/timeline.js +0 -80
  371. package/src/@core/theme/overrides/toggle-button.js +0 -33
  372. package/src/@core/theme/overrides/toggleButton.js +0 -16
  373. package/src/@core/theme/overrides/tooltip.js +0 -21
  374. package/src/@core/theme/overrides/typography.js +0 -13
  375. package/src/@core/theme/palette/index.js +0 -107
  376. package/src/@core/theme/shadows/index.js +0 -61
  377. package/src/@core/theme/shadows.js +0 -12
  378. package/src/@core/theme/spacing/index.js +0 -3
  379. package/src/@core/theme/spacing.js +0 -5
  380. package/src/@core/theme/typography/index.js +0 -65
  381. package/src/@core/theme/typography.js +0 -84
  382. package/src/@core/utils/create-emotion-cache.js +0 -5
  383. package/src/@core/utils/hex-to-rgba.js +0 -11
  384. package/src/@core/utils/serverHelpers.js +0 -45
  385. package/src/@menu/components/RouterLink.jsx +0 -18
  386. package/src/@menu/components/horizontal-menu/HorizontalNav.jsx +0 -88
  387. package/src/@menu/components/horizontal-menu/Menu.jsx +0 -83
  388. package/src/@menu/components/horizontal-menu/MenuButton.jsx +0 -100
  389. package/src/@menu/components/horizontal-menu/MenuItem.jsx +0 -183
  390. package/src/@menu/components/horizontal-menu/SubMenu.jsx +0 -418
  391. package/src/@menu/components/horizontal-menu/SubMenuContent.jsx +0 -41
  392. package/src/@menu/components/horizontal-menu/VerticalNavInHorizontal.jsx +0 -20
  393. package/src/@menu/components/vertical-menu/Menu.jsx +0 -161
  394. package/src/@menu/components/vertical-menu/MenuButton.jsx +0 -95
  395. package/src/@menu/components/vertical-menu/MenuItem.jsx +0 -180
  396. package/src/@menu/components/vertical-menu/MenuSection.jsx +0 -124
  397. package/src/@menu/components/vertical-menu/NavCollapseIcons.jsx +0 -70
  398. package/src/@menu/components/vertical-menu/NavHeader.jsx +0 -39
  399. package/src/@menu/components/vertical-menu/SubMenu.jsx +0 -420
  400. package/src/@menu/components/vertical-menu/SubMenuContent.jsx +0 -101
  401. package/src/@menu/components/vertical-menu/VerticalNav.jsx +0 -216
  402. package/src/@menu/contexts/horizontalNavContext.jsx +0 -29
  403. package/src/@menu/contexts/verticalNavContext.jsx +0 -65
  404. package/src/@menu/defaultConfigs.js +0 -12
  405. package/src/@menu/hooks/useHorizontalMenu.jsx +0 -19
  406. package/src/@menu/hooks/useHorizontalNav.jsx +0 -19
  407. package/src/@menu/hooks/useMediaQuery.jsx +0 -29
  408. package/src/@menu/hooks/useVerticalMenu.jsx +0 -19
  409. package/src/@menu/hooks/useVerticalNav.jsx +0 -19
  410. package/src/@menu/horizontal-menu/index.jsx +0 -8
  411. package/src/@menu/styles/StyledBackdrop.jsx +0 -15
  412. package/src/@menu/styles/StyledMenuIcon.jsx +0 -12
  413. package/src/@menu/styles/StyledMenuLabel.jsx +0 -16
  414. package/src/@menu/styles/StyledMenuPrefix.jsx +0 -10
  415. package/src/@menu/styles/StyledMenuSectionLabel.jsx +0 -21
  416. package/src/@menu/styles/StyledMenuSuffix.jsx +0 -10
  417. package/src/@menu/styles/StyledSubMenuContent.jsx +0 -43
  418. package/src/@menu/styles/horizontal/StyledHorizontalMenu.jsx +0 -13
  419. package/src/@menu/styles/horizontal/StyledHorizontalMenuItem.jsx +0 -26
  420. package/src/@menu/styles/horizontal/StyledHorizontalNav.jsx +0 -11
  421. package/src/@menu/styles/horizontal/StyledHorizontalNavExpandIcon.jsx +0 -33
  422. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContent.jsx +0 -18
  423. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContentWrapper.jsx +0 -10
  424. package/src/@menu/styles/horizontal/horizontalUl.module.css +0 -15
  425. package/src/@menu/styles/styles.module.css +0 -5
  426. package/src/@menu/styles/vertical/StyledVerticalMenu.jsx +0 -16
  427. package/src/@menu/styles/vertical/StyledVerticalMenuItem.jsx +0 -28
  428. package/src/@menu/styles/vertical/StyledVerticalMenuSection.jsx +0 -23
  429. package/src/@menu/styles/vertical/StyledVerticalNav.jsx +0 -67
  430. package/src/@menu/styles/vertical/StyledVerticalNavBgColorContainer.jsx +0 -15
  431. package/src/@menu/styles/vertical/StyledVerticalNavContainer.jsx +0 -23
  432. package/src/@menu/styles/vertical/StyledVerticalNavExpandIcon.jsx +0 -25
  433. package/src/@menu/styles/vertical/verticalNavBgImage.module.css +0 -10
  434. package/src/@menu/svg/ChevronRight.jsx +0 -9
  435. package/src/@menu/svg/Close.jsx +0 -12
  436. package/src/@menu/svg/RadioCircle.jsx +0 -12
  437. package/src/@menu/svg/RadioCircleMarked.jsx +0 -13
  438. package/src/@menu/utils/menuClasses.js +0 -44
  439. package/src/@menu/utils/menuUtils.jsx +0 -145
  440. package/src/@menu/vertical-menu/index.jsx +0 -11
  441. package/src/configs/acl.js +0 -115
  442. package/src/configs/auth.js +0 -5
  443. package/src/configs/aws-exports.js +0 -30
  444. package/src/configs/firebase.js +0 -25
  445. package/src/configs/i18n.js +0 -34
  446. package/src/configs/primaryColorConfig.js +0 -35
  447. package/src/configs/themeConfig.js +0 -44
  448. package/src/layouts/UserLayout.js +0 -94
  449. package/src/layouts/UserThemeOptions.js +0 -191
  450. package/src/layouts/components/Direction.js +0 -30
  451. package/src/layouts/components/HtmlTooltip.js +0 -15
  452. package/src/layouts/components/Translations.js +0 -11
  453. package/src/layouts/components/UserDropdown.js +0 -217
  454. package/src/layouts/components/UserIcon.js +0 -40
  455. package/src/layouts/components/acl/Can.js +0 -6
  456. package/src/layouts/components/acl/CanViewNavGroup.js +0 -36
  457. package/src/layouts/components/acl/CanViewNavLink.js +0 -17
  458. package/src/layouts/components/acl/CanViewNavSectionTitle.js +0 -17
  459. package/src/layouts/components/horizontal/AppBarContent.js +0 -39
  460. package/src/layouts/components/horizontal/ServerSideNavItems.js +0 -44
  461. package/src/layouts/components/mui/StepperComps.js +0 -55
  462. package/src/layouts/components/vertical/AppBarContent.js +0 -35
  463. package/src/layouts/components/vertical/ServerSideNavItems.js +0 -44
  464. package/src/libs/ApexCharts.jsx +0 -5
  465. package/src/libs/ReactPlayer.jsx +0 -5
  466. package/src/libs/Recharts.jsx +0 -4
  467. package/src/libs/auth.js +0 -124
  468. package/src/libs/styles/AppFullCalendar.js +0 -505
  469. package/src/libs/styles/AppKeenSlider.js +0 -116
  470. package/src/libs/styles/AppReactApexCharts.jsx +0 -110
  471. package/src/libs/styles/AppReactDatepicker.jsx +0 -470
  472. package/src/libs/styles/AppReactDropzone.js +0 -76
  473. package/src/libs/styles/AppReactToastify.jsx +0 -108
  474. package/src/libs/styles/AppRecharts.js +0 -55
  475. package/src/libs/styles/inputOtp.module.css +0 -39
  476. package/src/libs/styles/tiptapEditor.css +0 -72
  477. package/src/navigation/horizontal/index.js +0 -246
  478. package/src/navigation/vertical/index.js +0 -253
  479. package/src/pages/401.js +0 -70
  480. package/src/pages/404.js +0 -67
  481. package/src/pages/500.js +0 -68
  482. package/src/pages/[slug].js +0 -115
  483. package/src/pages/_document.js +0 -72
  484. package/src/pages/api/navigation/regenerate-registry.js +0 -116
  485. package/src/pages/api/navigation/save.js +0 -218
  486. package/src/pages/authModule/acl/index.js +0 -48
  487. package/src/pages/authModule/forgot-password/index.js +0 -228
  488. package/src/pages/authModule/permissions/rolePermissions/[id]/rolePermissionsUser/index.js +0 -392
  489. package/src/pages/authModule/permissions/rolePermissions/index.js +0 -343
  490. package/src/pages/authModule/permissions/systemPermissions/index.js +0 -354
  491. package/src/pages/authModule/privacy/index.js +0 -721
  492. package/src/pages/authModule/users/index.js +0 -210
  493. package/src/pages/login/index.js +0 -328
  494. package/src/pages/mainHome/index.js +0 -181
  495. package/src/views/builder/inspector/definitions/cell/main.js +0 -4
  496. package/src/views/builder/inspector/definitions/column/main.js +0 -9
  497. package/src/views/builder/inspector/definitions/column-group/main.js +0 -18
  498. package/src/views/builder/inspector/definitions/header-cell/main.js +0 -5
  499. package/src/views/builder/inspector/definitions/table/main.js +0 -9
  500. package/src/views/builder/viewer/renderers/CellRenderer.jsx +0 -71
  501. package/src/views/builder/viewer/renderers/ColumnGroupRenderer.jsx +0 -96
  502. package/src/views/builder/viewer/renderers/ColumnRenderer.jsx +0 -71
  503. package/src/views/builder/viewer/renderers/HeaderCellRenderer.jsx +0 -78
  504. package/src/views/builder/viewer/renderers/TabRenderer.jsx +0 -82
  505. package/src/views/builder/viewer/renderers/TableRenderer.jsx +0 -92
  506. package/src/views/pages/auth/FooterIllustrationsV2.js +0 -40
  507. package/src/views/pages/misc/FooterIllustrations.js +0 -47
  508. package/src/views/pages/misc/muiTable/CustomPagination.js +0 -34
  509. package/src/views/pages/users/UserManageDialog.js +0 -283
  510. package/src/views/pages/users/UserViewPage.js +0 -199
  511. package/src/views/users/AddUserNameDialog.js +0 -162
  512. package/src/views/users/ContactManage.js +0 -449
  513. package/src/views/users/ResetPasswordDialog.js +0 -242
@@ -0,0 +1,298 @@
1
+ import { useState, useEffect, useMemo, useRef } from 'react'
2
+ import { useRouter } from 'next/router'
3
+ import {
4
+ Box, Typography, Paper, TextField, InputAdornment,
5
+ IconButton, Button, Card, CardContent, Chip,
6
+ Dialog, DialogTitle, DialogContent, DialogActions,
7
+ CircularProgress, Tooltip, Divider,
8
+ } from '@mui/material'
9
+ import SearchIcon from '@mui/icons-material/Search'
10
+ import ClearIcon from '@mui/icons-material/Clear'
11
+ import EditOutlinedIcon from '@mui/icons-material/EditOutlined'
12
+ import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline'
13
+ import PrintOutlinedIcon from '@mui/icons-material/PrintOutlined'
14
+ import AddIcon from '@mui/icons-material/Add'
15
+ import { Endpoints, Services } from 'services/Endpoints'
16
+ import PrintPreviewCanvas from 'views/printBuilder/PrintPreviewCanvas'
17
+ import { INITIAL_PRINT_SCHEMA, createEmptyNode } from 'pages/printBuilder/index'
18
+
19
+ // ── Helpers ───────────────────────────────────────────────────────────────────
20
+
21
+ function formatDate(str) {
22
+ if (!str) return '—'
23
+ try { return new Date(str).toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' }) }
24
+ catch { return str }
25
+ }
26
+
27
+ function parseSchema(raw) {
28
+ try {
29
+ const parsed = JSON.parse(raw)
30
+ const merged = { ...INITIAL_PRINT_SCHEMA, ...parsed }
31
+ const activeZone = merged.activeZone ?? 'body-page-0'
32
+ merged.root = merged.zones?.[activeZone] ?? createEmptyNode(activeZone)
33
+ return merged
34
+ } catch {
35
+ return INITIAL_PRINT_SCHEMA
36
+ }
37
+ }
38
+
39
+ function zoneCount(schema) {
40
+ return schema?.pageOrder?.length ?? 0
41
+ }
42
+
43
+ // ── Minimal read-only viewer context for the preview ─────────────────────────
44
+ const PREVIEW_VIEWER_CTX = {
45
+ data: {},
46
+ setData: () => {},
47
+ form: {},
48
+ setForm: () => {},
49
+ mode: 'preview',
50
+ isEditMode: false,
51
+ isPreviewMode: true,
52
+ isPrintContext: true,
53
+ isPrintBuilder: false,
54
+ builderContext: null,
55
+ }
56
+
57
+ // ── Preview Dialog ────────────────────────────────────────────────────────────
58
+
59
+ function PreviewDialog({ layout, open, onClose, onEdit }) {
60
+ const schema = useMemo(() => layout ? parseSchema(layout.value) : null, [layout])
61
+
62
+ return (
63
+ <Dialog open={open} onClose={onClose} maxWidth='lg' fullWidth
64
+ PaperProps={{ sx: { height: '90vh', display: 'flex', flexDirection: 'column' } }}>
65
+ <DialogTitle sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', pb: 1 }}>
66
+ <Typography variant='h6' noWrap sx={{ flex: 1 }}>
67
+ {layout?.title || 'Preview'}
68
+ </Typography>
69
+ <Box display='flex' gap={1}>
70
+ <Button size='small' variant='outlined' startIcon={<EditOutlinedIcon />}
71
+ onClick={() => { onClose(); onEdit(layout) }}>
72
+ Edit
73
+ </Button>
74
+ <Button size='small' onClick={onClose}>Close</Button>
75
+ </Box>
76
+ </DialogTitle>
77
+ <Divider />
78
+ <DialogContent sx={{ flex: 1, overflow: 'auto', p: 2, bgcolor: 'background.default' }}>
79
+ {schema && (
80
+ <Box sx={{ transform: 'scale(0.75)', transformOrigin: 'top center', width: '133%', ml: '-16.5%' }}>
81
+ <PrintPreviewCanvas schema={schema} makeViewerCtx={() => PREVIEW_VIEWER_CTX} />
82
+ </Box>
83
+ )}
84
+ </DialogContent>
85
+ </Dialog>
86
+ )
87
+ }
88
+
89
+ // ── Delete confirm ────────────────────────────────────────────────────────────
90
+
91
+ function DeleteDialog({ layout, open, onClose, onDeleted }) {
92
+ const [loading, setLoading] = useState(false)
93
+
94
+ const handleDelete = async () => {
95
+ setLoading(true)
96
+ try {
97
+ await Services.DeleteService(Endpoints.PrintLayout.Delete.Delete, { id: layout.id })
98
+ onDeleted(layout.id)
99
+ onClose()
100
+ } catch (err) {
101
+ console.error('[PrintLayoutsList] delete failed:', err)
102
+ } finally {
103
+ setLoading(false)
104
+ }
105
+ }
106
+
107
+ return (
108
+ <Dialog open={open} onClose={onClose} maxWidth='xs' fullWidth>
109
+ <DialogTitle>Delete layout?</DialogTitle>
110
+ <DialogContent>
111
+ <Typography>
112
+ "<strong>{layout?.title}</strong>" will be permanently deleted and cannot be recovered.
113
+ </Typography>
114
+ </DialogContent>
115
+ <DialogActions>
116
+ <Button onClick={onClose} disabled={loading}>Cancel</Button>
117
+ <Button color='error' variant='contained' onClick={handleDelete} disabled={loading}
118
+ startIcon={loading ? <CircularProgress size={14} /> : null}>
119
+ Delete
120
+ </Button>
121
+ </DialogActions>
122
+ </Dialog>
123
+ )
124
+ }
125
+
126
+ // ── Layout card ───────────────────────────────────────────────────────────────
127
+
128
+ function LayoutCard({ layout, onPreview, onEdit, onDeleteRequest }) {
129
+ const schema = useMemo(() => parseSchema(layout.value), [layout.value])
130
+ const pages = zoneCount(schema)
131
+ const size = schema?.settings?.pageSize ?? 'A4'
132
+ const orient = schema?.settings?.orientation ?? 'portrait'
133
+
134
+ return (
135
+ <Card variant='outlined' sx={{ display: 'flex', flexDirection: 'column' }}>
136
+ <CardContent sx={{ flex: 1, pb: 1 }}>
137
+ <Typography variant='subtitle1' fontWeight={600} noWrap gutterBottom>
138
+ {layout.title || `Layout ${layout.id}`}
139
+ </Typography>
140
+
141
+ <Box display='flex' gap={0.75} flexWrap='wrap' mb={1.5}>
142
+ <Chip label={size} size='small' variant='outlined' />
143
+ <Chip label={orient} size='small' variant='outlined' />
144
+ <Chip label={`${pages} page${pages !== 1 ? 's' : ''}`} size='small' variant='outlined' />
145
+ </Box>
146
+
147
+ <Typography variant='caption' color='text.secondary' display='block'>
148
+ {layout.createdBy ? `By ${layout.createdBy}` : ''}
149
+ {layout.createdBy && layout.createDate ? ' · ' : ''}
150
+ {formatDate(layout.createDate)}
151
+ </Typography>
152
+
153
+ {layout.id && (
154
+ <Typography variant='caption' color='text.disabled' display='block' sx={{ mt: 0.25 }}>
155
+ ID: {layout.id}
156
+ </Typography>
157
+ )}
158
+ </CardContent>
159
+
160
+ <Divider />
161
+
162
+ <Box display='flex' alignItems='center' gap={0.5} px={1.5} py={1}>
163
+ <Button size='small' variant='outlined' startIcon={<PrintOutlinedIcon />}
164
+ onClick={() => onPreview(layout)} sx={{ flex: 1 }}>
165
+ Preview
166
+ </Button>
167
+ <Tooltip title='Edit'>
168
+ <IconButton size='small' onClick={() => onEdit(layout)}>
169
+ <EditOutlinedIcon fontSize='small' color='secondary' />
170
+ </IconButton>
171
+ </Tooltip>
172
+ <Tooltip title='Delete'>
173
+ <IconButton size='small' onClick={() => onDeleteRequest(layout)}>
174
+ <DeleteOutlineIcon fontSize='small' color='error' />
175
+ </IconButton>
176
+ </Tooltip>
177
+ </Box>
178
+ </Card>
179
+ )
180
+ }
181
+
182
+ // ── Main page ─────────────────────────────────────────────────────────────────
183
+
184
+ export default function PrintLayoutsList() {
185
+ const router = useRouter()
186
+ const [layouts, setLayouts] = useState([])
187
+ const [loading, setLoading] = useState(true)
188
+ const [search, setSearch] = useState('')
189
+ const [preview, setPreview] = useState(null) // layout object being previewed
190
+ const [toDelete, setToDelete] = useState(null) // layout object pending delete
191
+
192
+ // ── Fetch all ──────────────────────────────────────────────────────────────
193
+ useEffect(() => {
194
+ let cancelled = false
195
+ const fetch = async () => {
196
+ setLoading(true)
197
+ try {
198
+ const res = await Services.GetService(Endpoints.PrintLayout.Get.GetAll, false, {})
199
+ if (!cancelled && res?.data) setLayouts(res.data)
200
+ } catch (err) {
201
+ console.error('[PrintLayoutsList] fetch failed:', err)
202
+ } finally {
203
+ if (!cancelled) setLoading(false)
204
+ }
205
+ }
206
+ fetch()
207
+ return () => { cancelled = true }
208
+ }, [])
209
+
210
+ // ── Filter ─────────────────────────────────────────────────────────────────
211
+ const filtered = useMemo(() => {
212
+ if (!search) return layouts
213
+ const q = search.toLowerCase()
214
+ return layouts.filter(l => (l.title || '').toLowerCase().includes(q) || String(l.id).includes(q))
215
+ }, [layouts, search])
216
+
217
+ // ── Handlers ───────────────────────────────────────────────────────────────
218
+ const handleEdit = (layout) => router.push({ pathname: '/printBuilder', query: { id: layout.id } })
219
+ const handleDeleted = (id) => setLayouts(prev => prev.filter(l => l.id !== id))
220
+
221
+ return (
222
+ <Box p={4} maxWidth={1100} mx='auto'>
223
+
224
+ {/* Header */}
225
+ <Box display='flex' justifyContent='space-between' alignItems='center' mb={3}>
226
+ <Typography variant='h4'>Print Layouts</Typography>
227
+ <Button variant='contained' startIcon={<AddIcon />}
228
+ onClick={() => router.push('/printBuilder')}>
229
+ New Layout
230
+ </Button>
231
+ </Box>
232
+
233
+ {/* Search */}
234
+ <Paper elevation={2} sx={{ p: 2, mb: 3 }}>
235
+ <TextField
236
+ fullWidth
237
+ placeholder='Search layouts…'
238
+ value={search}
239
+ onChange={e => setSearch(e.target.value)}
240
+ InputProps={{
241
+ startAdornment: (
242
+ <InputAdornment position='start'><SearchIcon /></InputAdornment>
243
+ ),
244
+ endAdornment: search && (
245
+ <InputAdornment position='end'>
246
+ <IconButton onClick={() => setSearch('')}><ClearIcon /></IconButton>
247
+ </InputAdornment>
248
+ ),
249
+ }}
250
+ />
251
+ </Paper>
252
+
253
+ {/* Grid */}
254
+ {loading ? (
255
+ <Box display='flex' justifyContent='center' py={8}>
256
+ <CircularProgress />
257
+ </Box>
258
+ ) : filtered.length === 0 ? (
259
+ <Paper elevation={1} sx={{ p: 6, textAlign: 'center' }}>
260
+ <PrintOutlinedIcon sx={{ fontSize: 48, color: 'text.disabled', mb: 1 }} />
261
+ <Typography color='text.secondary'>
262
+ {search ? 'No layouts match your search.' : 'No print layouts yet. Click "New Layout" to create one.'}
263
+ </Typography>
264
+ </Paper>
265
+ ) : (
266
+ <Box display='grid' gridTemplateColumns='repeat(auto-fill, minmax(280px, 1fr))' gap={2}>
267
+ {filtered.map(layout => (
268
+ <LayoutCard
269
+ key={layout.id}
270
+ layout={layout}
271
+ onPreview={setPreview}
272
+ onEdit={handleEdit}
273
+ onDeleteRequest={setToDelete}
274
+ />
275
+ ))}
276
+ </Box>
277
+ )}
278
+
279
+ {/* Preview dialog */}
280
+ <PreviewDialog
281
+ layout={preview}
282
+ open={!!preview}
283
+ onClose={() => setPreview(null)}
284
+ onEdit={handleEdit}
285
+ />
286
+
287
+ {/* Delete confirm dialog */}
288
+ {toDelete && (
289
+ <DeleteDialog
290
+ layout={toDelete}
291
+ open={!!toDelete}
292
+ onClose={() => setToDelete(null)}
293
+ onDeleted={handleDeleted}
294
+ />
295
+ )}
296
+ </Box>
297
+ )
298
+ }
@@ -1,4 +1,4 @@
1
- import BlankLayout from "src/@core/layouts/BlankLayout";
1
+ import BlankLayout from "../../../lib/layouts/BlankLayout";
2
2
  import {
3
3
  Autocomplete,
4
4
  Box,
@@ -41,10 +41,12 @@ import {
41
41
  SaveAsOutlined,
42
42
  SaveOutlined, Search, Visibility, VisibilityOff, Image as ImageIcon,
43
43
  CloudDownloadOutlined,
44
- CloudUploadOutlined
44
+ CloudUploadOutlined,
45
+ CheckCircleOutlined,
46
+ DeleteOutlined
45
47
  } from "@mui/icons-material";
46
48
  import dayjs from 'dayjs';
47
- import {BackspaceOutline, CheckCircleOutline, DeleteOutline, Filter, PencilOutline} from "mdi-material-ui";
49
+ import {BackspaceOutline, Filter, PencilOutline} from "mdi-material-ui";
48
50
  import SGrid from "views/genericTable/SGrid";
49
51
  import {Controller, useForm} from "react-hook-form";
50
52
  import ComputedTextEditor from "views/genericTable/RegexTextEditor";
@@ -772,7 +774,7 @@ const ReportBuilder = () => {
772
774
  }
773
775
  title="Remove field"
774
776
  >
775
- <DeleteOutline fontSize="small"/>
777
+ <DeleteOutlined fontSize="small"/>
776
778
  </IconButton>
777
779
  </Box>
778
780
  </ListItem>
@@ -890,7 +892,7 @@ const ReportBuilder = () => {
890
892
  }}><SaveOutlined color={'primary'}/></IconButton>}
891
893
 
892
894
  <IconButton onClick={() => {
893
- router.push('reportBuilder/reports')
895
+ router.push('/builders/report/list')
894
896
  }}>
895
897
  <AssessmentOutlined color={'primary'}/>
896
898
  </IconButton>
@@ -989,7 +991,7 @@ const ReportBuilder = () => {
989
991
  <Box sx={{display: 'flex', alignItems: 'center', gap: 1}}>
990
992
  {field.friendlyName}
991
993
  {isSelected && (
992
- <CheckCircleOutline
994
+ <CheckCircleOutlined
993
995
  fontSize="small"
994
996
  color="success"
995
997
  titleAccess="Field already selected"
@@ -11,8 +11,8 @@ import TAGGrid from "views/genericTable/TAGGrid";
11
11
  import {SettingsOutlined} from "@mui/icons-material";
12
12
  import UpdateReportPermissionDialog from "views/rolePermissions/UpdateReportPermissionDialog";
13
13
  import {getReportSession} from 'src/services/helper/reportSessionHelper'
14
- import BlankLayout from "src/@core/layouts/BlankLayout";
15
- import ReportsCard from "src/pages/reportModule/reportBuilder/reportsPermissions";
14
+ import BlankLayout from '../../../../lib/layouts/BlankLayout';
15
+ import ReportsCard from "../reportsPermissions";
16
16
 
17
17
 
18
18
  // make sure you’ve globally included the Alpine theme once in _app.js or your main stylesheet:
@@ -40,7 +40,17 @@ const ReportViewer = (params) => {
40
40
  sessionId,
41
41
  globalParams,
42
42
  isRerender = false,
43
- updateRef
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,
44
54
  } = params ?? router.query
45
55
  const [isLoading, setIsLoading] = useState(false)
46
56
  const [builderModel, setBuilderModel] = useState(null)
@@ -162,9 +172,8 @@ const ReportViewer = (params) => {
162
172
  return (
163
173
  <Box
164
174
  sx={{
165
- display: 'flex',
175
+ display: 'block',
166
176
  width: '100%',
167
- p: minimized !== true ? 2 : 0,
168
177
  }}
169
178
  >
170
179
  {isLoading ? (
@@ -185,26 +194,22 @@ const ReportViewer = (params) => {
185
194
  </Box>
186
195
  ) : (
187
196
  <>
188
- <Box display="flex" gap={1} flexDirection={'column'} sx={{
189
- width: '100%',
190
- backgroundColor: 'white', borderRadius: 2,
191
- boxShadow: minimized !== true && '0 4px 12px rgba(0,0,0,0.08)', // subtle custom shadow
192
- }}>
197
+ <Box display="flex" gap={1} flexDirection={'column'} sx={{ width: '100%' }}>
193
198
  {(minimized !== true && noHeader !== true) &&
194
199
  <Box display="flex" justifyContent={'space-between'} alignItems={'center'} gap={1} sx={{p: 2}}>
195
200
  <Typography variant="subtitle1" color="text.secondary">{builderMetadata?.name ?? ""}</Typography>
196
- {/*<Tooltip title={'Studio'}>*/}
197
- {/* <IconButton*/}
198
- {/* size={'small'}*/}
199
- {/* onClick={() => {*/}
200
- {/* router.push({pathname: '/reportModule/reportBuilder', query: {id: id ?? router.query?.id}})*/}
201
- {/* }}*/}
202
- {/* >*/}
203
- {/* <SettingsOutlined color={'primary'}/>*/}
204
- {/* </IconButton>*/}
205
- {/*</Tooltip>*/}
201
+ <Tooltip title={'Studio'}>
202
+ <IconButton
203
+ size={'small'}
204
+ onClick={() => {
205
+ router.push({pathname: '/builders/report', query: {id: id ?? router.query?.id}})
206
+ }}
207
+ >
208
+ <SettingsOutlined color={'primary'}/>
209
+ </IconButton>
210
+ </Tooltip>
206
211
  </Box>}
207
- <Box display={'flex'} alignItems="center" gap={1} width={'100%'}>
212
+ <Box sx={{width: '100%'}}>
208
213
  <SGrid
209
214
  key={`rv-${payloadVersion}`}
210
215
  minimized={minimized}
@@ -224,7 +229,13 @@ const ReportViewer = (params) => {
224
229
  isRerender={isRerender}
225
230
  // uniqueIdPath={'Id'}
226
231
  // noPurge={true}
227
- updateRef ={updateRef}
232
+ updateRef={updateRef}
233
+ nodeId={nodeId}
234
+ reportRefs={reportRefs}
235
+ data={data}
236
+ dataRef={dataRef}
237
+ openDialog={openDialog}
238
+ closeDialog={closeDialog}
228
239
  />
229
240
  </Box>
230
241
  </Box>
@@ -16,10 +16,8 @@ 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
18
  import {EditOutlined, SettingsOutlined} from "@mui/icons-material";
19
- import DriverRequestStatus from "services/enums/DriverRequestStatusEnum";
20
19
  import Grid from "@mui/material/Grid";
21
20
  import ReportBuilderTypeEnum from "services/enums/ReportBuilderTypeEnum";
22
- import UpdateRangeProductPriceDialog from "views/productPrice/UpdateRangeProductPriceDialog";
23
21
  import handleChange from "services/helper/handleChange";
24
22
  import UpdateReportPermissionDialog from "views/rolePermissions/UpdateReportPermissionDialog";
25
23
 
@@ -107,7 +105,7 @@ const ReportsList = () => {
107
105
  ))}
108
106
  </Select>
109
107
  </FormControl>
110
- <Button variant="contained" sx={{ml:3}} onClick={() => router.push('/reportModule/reportBuilder')}>
108
+ <Button variant="contained" sx={{ml:3}} onClick={() => router.push('/builders/report')}>
111
109
  New
112
110
  </Button>
113
111
  </Box>
@@ -192,7 +190,7 @@ const ReportsList = () => {
192
190
  size="small"
193
191
  variant="outlined"
194
192
  onClick={() =>
195
- router.push({pathname: '/reportModule/reportBuilder/reportViewer', query: {id: report.id}})
193
+ router.push({pathname: '/builders/report/viewer', query: {id: report.id}})
196
194
  }
197
195
  sx={{flexGrow: 1}} // <-- takes all remaining space
198
196
  >
@@ -202,7 +200,7 @@ const ReportsList = () => {
202
200
  size="small"
203
201
  variant="outlined"
204
202
  onClick={() =>
205
- router.push({pathname: '/reportModule/reportBuilder', query: {id: report.id}})
203
+ router.push({pathname: '/builders/report', query: {id: report.id}})
206
204
  }
207
205
  >
208
206
  <EditOutlined color={'secondary'} fontSize="small"/>
@@ -13,11 +13,10 @@ import {CloudUploadOutline, Delete, DeleteCircle, DotsVerticalCircleOutline, Plu
13
13
  import {useEffect, useState, useContext, useMemo} from 'react'
14
14
  import handleChange from 'src/services/helper/handleChange'
15
15
  import {Avatar, Button, ButtonGroup, Card, CardContent, Checkbox, Dialog, IconButton, Popover} from '@mui/material'
16
- import ReportViewer from "src/pages/reportBuilder/reportViewer";
16
+ import ReportViewer from "../reportViewer";
17
17
  import PermissionsSubjects from "src/configs/Permissions/PermissionsSubjects.json";
18
18
  import {AuthContext} from "context/AuthContext";
19
- import CompanyDeliveryLayout from "src/layouts/CompanyDeliveryLayout";
20
- import BlankLayout from "src/@core/layouts/BlankLayout";
19
+ import BlankLayout from '../../../../lib/layouts/BlankLayout';
21
20
  // ** Utils Import
22
21
 
23
22
  // ** Actions Imports