@solidxai/core-ui 0.1.0 → 0.1.2

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 (973) hide show
  1. package/dist/adapters/auth/getSession.js.map +1 -1
  2. package/dist/adapters/auth/handleLogout.js.map +1 -1
  3. package/dist/adapters/auth/index.js.map +1 -1
  4. package/dist/adapters/auth/refreshAccessToken.js.map +1 -1
  5. package/dist/adapters/auth/sessionProvider.js.map +1 -1
  6. package/dist/adapters/auth/signIn.js.map +1 -1
  7. package/dist/adapters/auth/signInWithOAuthAccessCode.js.map +1 -1
  8. package/dist/adapters/auth/signInWithOtp.js.map +1 -1
  9. package/dist/adapters/auth/signOut.js.map +1 -1
  10. package/dist/adapters/auth/storage.js.map +1 -1
  11. package/dist/adapters/auth/types.js.map +1 -1
  12. package/dist/adapters/env.js.map +1 -1
  13. package/dist/components/Svg/DevDocs.js.map +1 -1
  14. package/dist/components/Svg/DocsSvg.js.map +1 -1
  15. package/dist/components/Svg/ExcelSvg.js.map +1 -1
  16. package/dist/components/Svg/FieldSvg.js.map +1 -1
  17. package/dist/components/Svg/FileSvg.js.map +1 -1
  18. package/dist/components/Svg/HomePageModuleSvg.js.map +1 -1
  19. package/dist/components/Svg/ModelSvg.js.map +1 -1
  20. package/dist/components/Svg/ModuleSvg.js.map +1 -1
  21. package/dist/components/Svg/PDFSvg.js.map +1 -1
  22. package/dist/components/Svg/RightArrowSvg.js.map +1 -1
  23. package/dist/components/Svg/SettingsSvg.js.map +1 -1
  24. package/dist/components/auth/AuthLayout.js.map +1 -1
  25. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  26. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  27. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  28. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  29. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  30. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  31. package/dist/components/auth/SolidLogin.js +1 -1
  32. package/dist/components/auth/SolidLogin.js.map +1 -1
  33. package/dist/components/auth/SolidLogin.tsx +1 -1
  34. package/dist/components/auth/SolidRegister.js.map +1 -1
  35. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  36. package/dist/components/common/AutoCompleteField.js.map +1 -1
  37. package/dist/components/common/BackButton.js.map +1 -1
  38. package/dist/components/common/CancelButton.js.map +1 -1
  39. package/dist/components/common/CodeEditor.js.map +1 -1
  40. package/dist/components/common/CreateButton.js.map +1 -1
  41. package/dist/components/common/DownloadProgressToast.js.map +1 -1
  42. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  43. package/dist/components/common/DropzoneUpload.js.map +1 -1
  44. package/dist/components/common/FileReaderExt.js.map +1 -1
  45. package/dist/components/common/GeneralSettings.js.map +1 -1
  46. package/dist/components/common/HeaderDynamicTitles.js.map +1 -1
  47. package/dist/components/common/Image.js.map +1 -1
  48. package/dist/components/common/Link.js.map +1 -1
  49. package/dist/components/common/MarkdownViewer.js.map +1 -1
  50. package/dist/components/common/MultipleSelectAutoCompleteField.js.map +1 -1
  51. package/dist/components/common/NotFound.js.map +1 -1
  52. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -1
  53. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  54. package/dist/components/common/SolidAdmin.d.ts.map +1 -1
  55. package/dist/components/common/SolidAdmin.js +3 -3
  56. package/dist/components/common/SolidAdmin.js.map +1 -1
  57. package/dist/components/common/SolidAdmin.tsx +186 -10
  58. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  59. package/dist/components/common/SolidErrorPage.d.ts.map +1 -1
  60. package/dist/components/common/SolidErrorPage.js +3 -2
  61. package/dist/components/common/SolidErrorPage.js.map +1 -1
  62. package/dist/components/common/SolidErrorPage.tsx +31 -14
  63. package/dist/components/common/SolidExport.js.map +1 -1
  64. package/dist/components/common/SolidExportStepper.js.map +1 -1
  65. package/dist/components/common/SolidFieldTooltip.js.map +1 -1
  66. package/dist/components/common/SolidFormHeader.js.map +1 -1
  67. package/dist/components/common/SolidFormStepper.js.map +1 -1
  68. package/dist/components/common/SolidModuleHome.js.map +1 -1
  69. package/dist/components/common/SolidNotFoundPage.d.ts.map +1 -1
  70. package/dist/components/common/SolidNotFoundPage.js +2 -2
  71. package/dist/components/common/SolidNotFoundPage.js.map +1 -1
  72. package/dist/components/common/SolidNotFoundPage.tsx +23 -14
  73. package/dist/components/common/SolidPopupContainer.js.map +1 -1
  74. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  75. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  76. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  77. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js.map +1 -1
  78. package/dist/components/common/SolidSettings/SolidUploadedImage.js.map +1 -1
  79. package/dist/components/common/SolidThemeLink.js.map +1 -1
  80. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  81. package/dist/components/common/StepperArrows/ActiveArrowStep.js.map +1 -1
  82. package/dist/components/common/StepperArrows/ActiveBeforeStepArrow.js.map +1 -1
  83. package/dist/components/common/StepperArrows/InactiveStepArrow.js.map +1 -1
  84. package/dist/components/common/error.js.map +1 -1
  85. package/dist/components/common/useHandleFormCustomButtonClick.js.map +1 -1
  86. package/dist/components/common/useHandleListCustomButtonClick.js.map +1 -1
  87. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  88. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  89. package/dist/components/core/chatter/SolidChatterCustomMessage.js.map +1 -1
  90. package/dist/components/core/chatter/SolidChatterDateDivider.js.map +1 -1
  91. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  92. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  93. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  94. package/dist/components/core/common/AvatarWidget.js.map +1 -1
  95. package/dist/components/core/common/DateFieldViewComponent.js.map +1 -1
  96. package/dist/components/core/common/FilterComponent.js.map +1 -1
  97. package/dist/components/core/common/PDFViewer.js.map +1 -1
  98. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  99. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  100. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  101. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  102. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  103. package/dist/components/core/common/SolidGenericImport/DocumentSvg.js.map +1 -1
  104. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js.map +1 -1
  105. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  106. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  107. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js.map +1 -1
  108. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  109. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.js.map +1 -1
  110. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +1 -1
  111. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  112. package/dist/components/core/common/SolidGlobalSearchElement.js +81 -44
  113. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  114. package/dist/components/core/common/SolidGlobalSearchElement.tsx +43 -19
  115. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  116. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  117. package/dist/components/core/common/SolidLoaders/SolidCircularLoader.js.map +1 -1
  118. package/dist/components/core/common/SolidPasswordHelperText.js.map +1 -1
  119. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  120. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  121. package/dist/components/core/common/SolidViewLayoutManager.js.map +1 -1
  122. package/dist/components/core/common/SolidXAiIframe.js.map +1 -1
  123. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -1
  124. package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -1
  125. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  126. package/dist/components/core/dashboard/SolidDashboardHeader.js.map +1 -1
  127. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -1
  128. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  129. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -1
  130. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -1
  131. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -1
  132. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -1
  133. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -1
  134. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +1 -1
  135. package/dist/components/core/dashboard/dashboard-utils.js.map +1 -1
  136. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js.map +1 -1
  137. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -1
  138. package/dist/components/core/extension/solid-core/emailTemplate/emailFormTypeChangeHandler.js.map +1 -1
  139. package/dist/components/core/extension/solid-core/emailTemplate/emailFormTypeLoad.js.map +1 -1
  140. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  141. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  142. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
  143. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  144. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  145. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  146. package/dist/components/core/filter/SolidBooleanFilterElement.js.map +1 -1
  147. package/dist/components/core/filter/SolidFilterFields.js.map +1 -1
  148. package/dist/components/core/filter/SolidManyToManyFilterElement.js.map +1 -1
  149. package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
  150. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js.map +1 -1
  151. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js.map +1 -1
  152. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  153. package/dist/components/core/filter/fields/SolidBigintField.js.map +1 -1
  154. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  155. package/dist/components/core/filter/fields/SolidComputedField.js.map +1 -1
  156. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  157. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  158. package/dist/components/core/filter/fields/SolidDecimalField.js.map +1 -1
  159. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  160. package/dist/components/core/filter/fields/SolidFloatField.js.map +1 -1
  161. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  162. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  163. package/dist/components/core/filter/fields/SolidLongTextField.js.map +1 -1
  164. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  165. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  166. package/dist/components/core/filter/fields/SolidRelationField.js.map +1 -1
  167. package/dist/components/core/filter/fields/SolidRichTextField.js.map +1 -1
  168. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  169. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  170. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  171. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  172. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  173. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  174. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  175. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  176. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  177. package/dist/components/core/form/SolidFormFieldRenderExtension.js.map +1 -1
  178. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  179. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  180. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  181. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  182. package/dist/components/core/form/SolidFormView.js +4 -2
  183. package/dist/components/core/form/SolidFormView.js.map +1 -1
  184. package/dist/components/core/form/SolidFormView.tsx +6 -4
  185. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  186. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  187. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  188. package/dist/components/core/form/fields/ISolidField.js.map +1 -1
  189. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  190. package/dist/components/core/form/fields/SolidBooleanField.js +10 -1
  191. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  192. package/dist/components/core/form/fields/SolidBooleanField.tsx +12 -1
  193. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  194. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  195. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  196. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  197. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  198. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  199. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  200. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  201. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  202. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  203. package/dist/components/core/form/fields/SolidRelationField.js.map +1 -1
  204. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  205. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  206. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  207. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  208. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  209. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  210. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  211. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  212. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +150 -72
  213. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  214. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +157 -46
  215. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  216. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js.map +1 -1
  217. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js.map +1 -1
  218. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  219. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  220. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js.map +1 -1
  221. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  222. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  223. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  224. package/dist/components/core/form/widgets/CustomHtml.js.map +1 -1
  225. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  226. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  227. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  228. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  229. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  230. package/dist/components/core/kanban/SolidKanbanView.js +79 -82
  231. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  232. package/dist/components/core/kanban/SolidKanbanView.tsx +11 -18
  233. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  234. package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -1
  235. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  236. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -1
  237. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -1
  238. package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -1
  239. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -1
  240. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -1
  241. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -1
  242. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -1
  243. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -1
  244. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -1
  245. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -1
  246. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -1
  247. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -1
  248. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -1
  249. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -1
  250. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  251. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  252. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -1
  253. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -1
  254. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -1
  255. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -1
  256. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  257. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -1
  258. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +1 -1
  259. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  260. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  261. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  262. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  263. package/dist/components/core/list/SolidListView.d.ts +62 -1
  264. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  265. package/dist/components/core/list/SolidListView.js +134 -118
  266. package/dist/components/core/list/SolidListView.js.map +1 -1
  267. package/dist/components/core/list/SolidListView.tsx +204 -121
  268. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  269. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  270. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  271. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  272. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  273. package/dist/components/core/list/SolidListViewShimmerLoading.js.map +1 -1
  274. package/dist/components/core/list/SolidListingHeader.js.map +1 -1
  275. package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
  276. package/dist/components/core/list/SolidSelectionDynamicFilterElement.js.map +1 -1
  277. package/dist/components/core/list/SolidSelectionStaticFilterElement.js.map +1 -1
  278. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  279. package/dist/components/core/list/SolidVarInputsFilterElement.js.map +1 -1
  280. package/dist/components/core/list/columns/SolidBigintColumn.js.map +1 -1
  281. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  282. package/dist/components/core/list/columns/SolidBooleanColumn.js +8 -1
  283. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  284. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +9 -2
  285. package/dist/components/core/list/columns/SolidComputedColumn.js.map +1 -1
  286. package/dist/components/core/list/columns/SolidDateColumn.js.map +1 -1
  287. package/dist/components/core/list/columns/SolidDatetimeColumn.js.map +1 -1
  288. package/dist/components/core/list/columns/SolidDecimalColumn.js.map +1 -1
  289. package/dist/components/core/list/columns/SolidExternalIdColumn.js.map +1 -1
  290. package/dist/components/core/list/columns/SolidFloatColumn.js.map +1 -1
  291. package/dist/components/core/list/columns/SolidIdColumn.js.map +1 -1
  292. package/dist/components/core/list/columns/SolidIntColumn.js.map +1 -1
  293. package/dist/components/core/list/columns/SolidLongTextColumn.js.map +1 -1
  294. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  295. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  296. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  297. package/dist/components/core/list/columns/SolidRichTextColumn.js.map +1 -1
  298. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js.map +1 -1
  299. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js.map +1 -1
  300. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  301. package/dist/components/core/list/columns/SolidTimeColumn.js.map +1 -1
  302. package/dist/components/core/list/columns/SolidUuidColumn.js.map +1 -1
  303. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
  304. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  305. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
  306. package/dist/components/core/list/listViewRegistry.d.ts +7 -0
  307. package/dist/components/core/list/listViewRegistry.d.ts.map +1 -0
  308. package/dist/components/core/list/listViewRegistry.js +17 -0
  309. package/dist/components/core/list/listViewRegistry.js.map +1 -0
  310. package/dist/components/core/list/listViewRegistry.ts +24 -0
  311. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js.map +1 -1
  312. package/dist/components/core/list/widgets/SolidManyToOneRelationAvatarListWidget.js.map +1 -1
  313. package/dist/components/core/list/widgets/SolidShortTextAvatarWidget.js.map +1 -1
  314. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  315. package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
  316. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  317. package/dist/components/core/model/CreateModel.js.map +1 -1
  318. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  319. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  320. package/dist/components/core/model/FieldSelector.js.map +1 -1
  321. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  322. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  323. package/dist/components/core/module/CreateModule.js.map +1 -1
  324. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  325. package/dist/components/core/solid-ai/SolidAiMainWrapper.js.map +1 -1
  326. package/dist/components/core/solid-ai/SolidXAIIcon.js.map +1 -1
  327. package/dist/components/core/users/CreateUser.js.map +1 -1
  328. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  329. package/dist/components/core/users/UserListView.js.map +1 -1
  330. package/dist/components/layout/AdminLayout.js.map +1 -1
  331. package/dist/components/layout/AdminSidebar.js.map +1 -1
  332. package/dist/components/layout/AppConfig.js.map +1 -1
  333. package/dist/components/layout/AppSidebar.js.map +1 -1
  334. package/dist/components/layout/ButtonLoader.js.map +1 -1
  335. package/dist/components/layout/CustomPagination.js.map +1 -1
  336. package/dist/components/layout/DashboardHeader.js.map +1 -1
  337. package/dist/components/layout/FilterMenu.js.map +1 -1
  338. package/dist/components/layout/Footer.js.map +1 -1
  339. package/dist/components/layout/GlobalSearch.js.map +1 -1
  340. package/dist/components/layout/Header.js.map +1 -1
  341. package/dist/components/layout/Layout.js.map +1 -1
  342. package/dist/components/layout/ListingHeader.js.map +1 -1
  343. package/dist/components/layout/Loader.js.map +1 -1
  344. package/dist/components/layout/UserSidebar.js.map +1 -1
  345. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  346. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  347. package/dist/components/layout/navbar-one.js.map +1 -1
  348. package/dist/components/layout/navbar-one.tsx +0 -11
  349. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  350. package/dist/components/layout/navbar-two.js.map +1 -1
  351. package/dist/components/layout/user-profile-menu.js.map +1 -1
  352. package/dist/components/layout/user-profile.js.map +1 -1
  353. package/dist/components/modelsComponents/filterIcon.js.map +1 -1
  354. package/dist/constants/error-messages.js.map +1 -1
  355. package/dist/helpers/AppTitle.js.map +1 -1
  356. package/dist/helpers/ToastContainer.js.map +1 -1
  357. package/dist/helpers/autoCompleteVirtualScroll.js.map +1 -1
  358. package/dist/helpers/countries.js.map +1 -1
  359. package/dist/helpers/downloadFileWithProgress.js.map +1 -1
  360. package/dist/helpers/downloadMediaFile.js.map +1 -1
  361. package/dist/helpers/eventBus.js.map +1 -1
  362. package/dist/helpers/getAcceptedFileTypes.js.map +1 -1
  363. package/dist/helpers/getRandomColors.js.map +1 -1
  364. package/dist/helpers/helpers.js.map +1 -1
  365. package/dist/helpers/hydrateRelationRules.js +1 -1
  366. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  367. package/dist/helpers/hydrateRelationRules.ts +1 -1
  368. package/dist/helpers/logger.js.map +1 -1
  369. package/dist/helpers/permissions.js.map +1 -1
  370. package/dist/helpers/registry.js.map +1 -1
  371. package/dist/helpers/resendOtpHelper.js.map +1 -1
  372. package/dist/helpers/revalidate.js.map +1 -1
  373. package/dist/helpers/rolesHelper.js.map +1 -1
  374. package/dist/helpers/routePaths.js.map +1 -1
  375. package/dist/helpers/showToast.js.map +1 -1
  376. package/dist/helpers/solidIcons.js.map +1 -1
  377. package/dist/helpers/updatePasswordField.js.map +1 -1
  378. package/dist/hooks/usePathname.js.map +1 -1
  379. package/dist/hooks/useRouter.js.map +1 -1
  380. package/dist/hooks/useSearchParams.js.map +1 -1
  381. package/dist/hooks/useSession.js.map +1 -1
  382. package/dist/http/solidHttp.js.map +1 -1
  383. package/dist/index.d.ts +1 -1
  384. package/dist/index.d.ts.map +1 -1
  385. package/dist/index.js +1 -2
  386. package/dist/index.js.map +1 -1
  387. package/dist/index.ts +1 -2
  388. package/dist/layouts/AdminLayoutWrapper.js.map +1 -1
  389. package/dist/layouts/AuthLayoutWrapper.js.map +1 -1
  390. package/dist/redux/api/aiInteractionApi.js.map +1 -1
  391. package/dist/redux/api/authApi.js.map +1 -1
  392. package/dist/redux/api/dashboardApi.js.map +1 -1
  393. package/dist/redux/api/dashboardQuestionApi.js.map +1 -1
  394. package/dist/redux/api/exportTemplateApi.js.map +1 -1
  395. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  396. package/dist/redux/api/fieldApi.js.map +1 -1
  397. package/dist/redux/api/importTransactionApi.js.map +1 -1
  398. package/dist/redux/api/mediaApi.js.map +1 -1
  399. package/dist/redux/api/mediaStorageProviderApi.js.map +1 -1
  400. package/dist/redux/api/modelApi.js.map +1 -1
  401. package/dist/redux/api/moduleApi.js.map +1 -1
  402. package/dist/redux/api/permissionApi.js.map +1 -1
  403. package/dist/redux/api/pincodeApi.js.map +1 -1
  404. package/dist/redux/api/roleApi.js.map +1 -1
  405. package/dist/redux/api/solidActionApi.js.map +1 -1
  406. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  407. package/dist/redux/api/solidEntityApi.js.map +1 -1
  408. package/dist/redux/api/solidMenuApi.js.map +1 -1
  409. package/dist/redux/api/solidServiceApi.js.map +1 -1
  410. package/dist/redux/api/solidSettingsApi.js.map +1 -1
  411. package/dist/redux/api/solidViewApi.js.map +1 -1
  412. package/dist/redux/api/stateApi.js.map +1 -1
  413. package/dist/redux/api/testApi.js.map +1 -1
  414. package/dist/redux/api/userApi.js.map +1 -1
  415. package/dist/redux/features/authSlice.js.map +1 -1
  416. package/dist/redux/features/dataViewSlice.js.map +1 -1
  417. package/dist/redux/features/navbarSlice.js.map +1 -1
  418. package/dist/redux/features/popupSlice.js.map +1 -1
  419. package/dist/redux/features/themeSlice.js.map +1 -1
  420. package/dist/redux/features/userSlice.js.map +1 -1
  421. package/dist/redux/hooks/useSolidPopup.js.map +1 -1
  422. package/dist/redux/store/StoreProvider.js.map +1 -1
  423. package/dist/redux/store/createSolidStore.js.map +1 -1
  424. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  425. package/dist/resources/globals.css +0 -21
  426. package/dist/resources/images/errors/error.svg +74 -0
  427. package/dist/routes/AppEventListener.js.map +1 -1
  428. package/dist/routes/guards/AuthGuard.js.map +1 -1
  429. package/dist/routes/pages/ErrorPage.js.map +1 -1
  430. package/dist/routes/pages/NotFoundPage.js.map +1 -1
  431. package/dist/routes/pages/admin/AdminPage.js.map +1 -1
  432. package/dist/routes/pages/admin/core/FormPage.js.map +1 -1
  433. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  434. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  435. package/dist/routes/pages/admin/core/ListPage.js +11 -1
  436. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  437. package/dist/routes/pages/admin/core/ListPage.tsx +14 -1
  438. package/dist/routes/pages/admin/core/ModuleHomePage.js.map +1 -1
  439. package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
  440. package/dist/routes/pages/auth/ConfirmForgotPasswordPage.js.map +1 -1
  441. package/dist/routes/pages/auth/ForgotPasswordPage.js.map +1 -1
  442. package/dist/routes/pages/auth/InitiateForgotPasswordPage.js.map +1 -1
  443. package/dist/routes/pages/auth/InitiateForgotPasswordThankYouPage.js.map +1 -1
  444. package/dist/routes/pages/auth/InitiateGoogleOauthPage.js.map +1 -1
  445. package/dist/routes/pages/auth/InitiateLoginPage.js.map +1 -1
  446. package/dist/routes/pages/auth/InitiateRegisterPage.js.map +1 -1
  447. package/dist/routes/pages/auth/LoginPage.js.map +1 -1
  448. package/dist/routes/pages/auth/RegisterPage.js.map +1 -1
  449. package/dist/routes/pages/auth/ResetPasswordPage.js.map +1 -1
  450. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  451. package/dist/routes/solidRoutes.js.map +1 -1
  452. package/dist/routes/types.js.map +1 -1
  453. package/dist/styles.js.map +1 -1
  454. package/package.json +7 -5
  455. package/src/adapters/auth/getSession.ts +0 -49
  456. package/src/adapters/auth/handleLogout.ts +0 -39
  457. package/src/adapters/auth/index.ts +0 -10
  458. package/src/adapters/auth/refreshAccessToken.ts +0 -34
  459. package/src/adapters/auth/sessionProvider.tsx +0 -5
  460. package/src/adapters/auth/signIn.ts +0 -70
  461. package/src/adapters/auth/signInWithOAuthAccessCode.ts +0 -80
  462. package/src/adapters/auth/signInWithOtp.ts +0 -77
  463. package/src/adapters/auth/signOut.ts +0 -15
  464. package/src/adapters/auth/storage.ts +0 -28
  465. package/src/adapters/auth/types.ts +0 -9
  466. package/src/adapters/env.ts +0 -29
  467. package/src/components/Svg/DevDocs.tsx +0 -9
  468. package/src/components/Svg/DocsSvg.tsx +0 -9
  469. package/src/components/Svg/ExcelSvg.tsx +0 -15
  470. package/src/components/Svg/FieldSvg.tsx +0 -9
  471. package/src/components/Svg/FileSvg.tsx +0 -18
  472. package/src/components/Svg/HomePageModuleSvg.tsx +0 -179
  473. package/src/components/Svg/ModelSvg.tsx +0 -9
  474. package/src/components/Svg/ModuleSvg.tsx +0 -9
  475. package/src/components/Svg/PDFSvg.tsx +0 -15
  476. package/src/components/Svg/RightArrowSvg.tsx +0 -9
  477. package/src/components/Svg/SettingsSvg.tsx +0 -9
  478. package/src/components/auth/AuthLayout.tsx +0 -226
  479. package/src/components/auth/ForgotPasswordThankYou.tsx +0 -31
  480. package/src/components/auth/GoogleAuthChecking.tsx +0 -60
  481. package/src/components/auth/SolidChangeForcePassword.tsx +0 -213
  482. package/src/components/auth/SolidForgotPassword.tsx +0 -116
  483. package/src/components/auth/SolidInitialLoginOtp.tsx +0 -231
  484. package/src/components/auth/SolidInitiateRegisterOtp.tsx +0 -208
  485. package/src/components/auth/SolidLogin.tsx +0 -418
  486. package/src/components/auth/SolidRegister.tsx +0 -442
  487. package/src/components/auth/SolidResetPassword.tsx +0 -186
  488. package/src/components/common/AuthBanner.tsx +0 -41
  489. package/src/components/common/AutoCompleteField.tsx +0 -79
  490. package/src/components/common/BackButton.tsx +0 -73
  491. package/src/components/common/CancelButton.tsx +0 -62
  492. package/src/components/common/CodeEditor.tsx +0 -38
  493. package/src/components/common/CreateButton.tsx +0 -18
  494. package/src/components/common/DownloadProgressToast.tsx +0 -55
  495. package/src/components/common/DropzonePlaceholder.tsx +0 -31
  496. package/src/components/common/DropzoneUpload.tsx +0 -11
  497. package/src/components/common/FileReaderExt.tsx +0 -20
  498. package/src/components/common/GeneralSettings.tsx +0 -1215
  499. package/src/components/common/HeaderDynamicTitles.tsx +0 -13
  500. package/src/components/common/Image.tsx +0 -13
  501. package/src/components/common/Link.tsx +0 -13
  502. package/src/components/common/MarkdownViewer.tsx +0 -84
  503. package/src/components/common/MultipleSelectAutoCompleteField.tsx +0 -64
  504. package/src/components/common/NotFound.tsx +0 -22
  505. package/src/components/common/SingleSelectAutoCompleteField.tsx +0 -73
  506. package/src/components/common/SocialMediaLogin.tsx +0 -55
  507. package/src/components/common/SolidAdmin.tsx +0 -29
  508. package/src/components/common/SolidBreadcrumb.tsx +0 -130
  509. package/src/components/common/SolidErrorPage.tsx +0 -37
  510. package/src/components/common/SolidExport.tsx +0 -563
  511. package/src/components/common/SolidExportStepper.tsx +0 -135
  512. package/src/components/common/SolidFieldTooltip.tsx +0 -23
  513. package/src/components/common/SolidFormHeader.tsx +0 -25
  514. package/src/components/common/SolidFormStepper.tsx +0 -336
  515. package/src/components/common/SolidModuleHome.tsx +0 -128
  516. package/src/components/common/SolidNotFoundPage.tsx +0 -37
  517. package/src/components/common/SolidPopupContainer.tsx +0 -37
  518. package/src/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +0 -45
  519. package/src/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +0 -45
  520. package/src/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +0 -20
  521. package/src/components/common/SolidSettings/SettingsImageRemoveButton.tsx +0 -15
  522. package/src/components/common/SolidSettings/SolidUploadedImage.tsx +0 -16
  523. package/src/components/common/SolidThemeLink.tsx +0 -6
  524. package/src/components/common/SolidThemeProvider.tsx +0 -44
  525. package/src/components/common/StepperArrows/ActiveArrowStep.tsx +0 -18
  526. package/src/components/common/StepperArrows/ActiveBeforeStepArrow.tsx +0 -18
  527. package/src/components/common/StepperArrows/InactiveStepArrow.tsx +0 -19
  528. package/src/components/common/error.tsx +0 -30
  529. package/src/components/common/solid-export.css +0 -85
  530. package/src/components/common/solidModuleHome.module.css +0 -135
  531. package/src/components/common/useHandleFormCustomButtonClick.ts +0 -40
  532. package/src/components/common/useHandleListCustomButtonClick.ts +0 -40
  533. package/src/components/core/chatter/SolidChatter.tsx +0 -248
  534. package/src/components/core/chatter/SolidChatterAuditMessage.tsx +0 -35
  535. package/src/components/core/chatter/SolidChatterCustomMessage.tsx +0 -46
  536. package/src/components/core/chatter/SolidChatterDateDivider.tsx +0 -16
  537. package/src/components/core/chatter/SolidChatterHeader.tsx +0 -218
  538. package/src/components/core/chatter/SolidChatterMessageBox.tsx +0 -163
  539. package/src/components/core/chatter/SolidMessageComposer.tsx +0 -146
  540. package/src/components/core/chatter/chatter.module.css +0 -74
  541. package/src/components/core/common/AvatarWidget.tsx +0 -55
  542. package/src/components/core/common/DateFieldViewComponent.tsx +0 -36
  543. package/src/components/core/common/FilterComponent.tsx +0 -457
  544. package/src/components/core/common/PDFViewer.tsx +0 -117
  545. package/src/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +0 -59
  546. package/src/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +0 -89
  547. package/src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +0 -179
  548. package/src/components/core/common/SolidAccountSettings/SolidNotifications.tsx +0 -129
  549. package/src/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +0 -304
  550. package/src/components/core/common/SolidCreateButton.tsx +0 -59
  551. package/src/components/core/common/SolidGenericImport/DocumentSvg.tsx +0 -15
  552. package/src/components/core/common/SolidGenericImport/SolidGenericImport.tsx +0 -64
  553. package/src/components/core/common/SolidGenericImport/SolidImport.module.css +0 -40
  554. package/src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +0 -116
  555. package/src/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +0 -123
  556. package/src/components/core/common/SolidGenericImport/SolidImportStepper.tsx +0 -217
  557. package/src/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +0 -196
  558. package/src/components/core/common/SolidGenericImport/SolidImportTransactionStatus.tsx +0 -157
  559. package/src/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +0 -29
  560. package/src/components/core/common/SolidGlobalSearchElement.tsx +0 -1488
  561. package/src/components/core/common/SolidLayoutViews.tsx +0 -87
  562. package/src/components/core/common/SolidListViewOptions.tsx +0 -31
  563. package/src/components/core/common/SolidLoaders/SolidCircularLoader.tsx +0 -7
  564. package/src/components/core/common/SolidLoaders/SolidLoaders.module.css +0 -20
  565. package/src/components/core/common/SolidPasswordHelperText.tsx +0 -33
  566. package/src/components/core/common/SolidSaveCustomFilterForm.tsx +0 -75
  567. package/src/components/core/common/SolidSearchBox.tsx +0 -17
  568. package/src/components/core/common/SolidViewLayoutManager.ts +0 -421
  569. package/src/components/core/common/SolidXAiIframe.tsx +0 -77
  570. package/src/components/core/dashboard/SolidDashboard.module.css +0 -79
  571. package/src/components/core/dashboard/SolidDashboard.tsx +0 -332
  572. package/src/components/core/dashboard/SolidDashboardBody.tsx +0 -117
  573. package/src/components/core/dashboard/SolidDashboardFilterRequired.tsx +0 -28
  574. package/src/components/core/dashboard/SolidDashboardHeader.tsx +0 -10
  575. package/src/components/core/dashboard/SolidDashboardLoading.tsx +0 -55
  576. package/src/components/core/dashboard/SolidDashboardNotAvailable.tsx +0 -32
  577. package/src/components/core/dashboard/SolidDashboardRenderError.tsx +0 -29
  578. package/src/components/core/dashboard/SolidDashboardVariable.tsx +0 -256
  579. package/src/components/core/dashboard/SolidQuestionRenderer.tsx +0 -78
  580. package/src/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +0 -18
  581. package/src/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +0 -54
  582. package/src/components/core/dashboard/chart-renderers/init-chartjs.ts +0 -25
  583. package/src/components/core/dashboard/dashboard-utils.ts +0 -39
  584. package/src/components/core/extension/solid-core/CustomIcon/StatusIcon.tsx +0 -17
  585. package/src/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +0 -36
  586. package/src/components/core/extension/solid-core/emailTemplate/emailFormTypeChangeHandler.ts +0 -18
  587. package/src/components/core/extension/solid-core/emailTemplate/emailFormTypeLoad.ts +0 -18
  588. package/src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +0 -105
  589. package/src/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +0 -205
  590. package/src/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +0 -131
  591. package/src/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +0 -201
  592. package/src/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +0 -131
  593. package/src/components/core/field/FieldListViewData.tsx +0 -313
  594. package/src/components/core/filter/SolidBooleanFilterElement.tsx +0 -30
  595. package/src/components/core/filter/SolidFilterFields.tsx +0 -131
  596. package/src/components/core/filter/SolidManyToManyFilterElement.tsx +0 -64
  597. package/src/components/core/filter/SolidManyToOneFilterElement.tsx +0 -61
  598. package/src/components/core/filter/SolidSelectionDynamicFilterElement.tsx +0 -50
  599. package/src/components/core/filter/SolidSelectionStaticFilterElement.tsx +0 -32
  600. package/src/components/core/filter/SolidVarInputsFilterElement.tsx +0 -209
  601. package/src/components/core/filter/fields/SolidBigintField.tsx +0 -9
  602. package/src/components/core/filter/fields/SolidBooleanField.tsx +0 -68
  603. package/src/components/core/filter/fields/SolidComputedField.tsx +0 -23
  604. package/src/components/core/filter/fields/SolidDateField.tsx +0 -63
  605. package/src/components/core/filter/fields/SolidDatetimeField.tsx +0 -54
  606. package/src/components/core/filter/fields/SolidDecimalField.tsx +0 -9
  607. package/src/components/core/filter/fields/SolidExternalIdField.tsx +0 -52
  608. package/src/components/core/filter/fields/SolidFloatField.tsx +0 -9
  609. package/src/components/core/filter/fields/SolidIdField.tsx +0 -46
  610. package/src/components/core/filter/fields/SolidIntField.tsx +0 -61
  611. package/src/components/core/filter/fields/SolidLongTextField.tsx +0 -9
  612. package/src/components/core/filter/fields/SolidMediaMultipleField.tsx +0 -60
  613. package/src/components/core/filter/fields/SolidMediaSingleField.tsx +0 -62
  614. package/src/components/core/filter/fields/SolidRelationField.tsx +0 -17
  615. package/src/components/core/filter/fields/SolidRichTextField.tsx +0 -9
  616. package/src/components/core/filter/fields/SolidSelectionDynamicField.tsx +0 -52
  617. package/src/components/core/filter/fields/SolidSelectionStaticField.tsx +0 -54
  618. package/src/components/core/filter/fields/SolidShortTextField.tsx +0 -60
  619. package/src/components/core/filter/fields/SolidTimeField.tsx +0 -48
  620. package/src/components/core/filter/fields/SolidUuidField.tsx +0 -51
  621. package/src/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +0 -62
  622. package/src/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +0 -84
  623. package/src/components/core/form/SolidFormActionHeader.tsx +0 -516
  624. package/src/components/core/form/SolidFormFieldRender.tsx +0 -53
  625. package/src/components/core/form/SolidFormFieldRenderExtension.tsx +0 -26
  626. package/src/components/core/form/SolidFormFooter.tsx +0 -164
  627. package/src/components/core/form/SolidFormLayouts.tsx +0 -104
  628. package/src/components/core/form/SolidFormUserViewLayout.tsx +0 -75
  629. package/src/components/core/form/SolidFormView.tsx +0 -1867
  630. package/src/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +0 -53
  631. package/src/components/core/form/SolidFormViewNormalHeaderButton.tsx +0 -53
  632. package/src/components/core/form/SolidFormViewShimmerLoading.tsx +0 -109
  633. package/src/components/core/form/fields/ISolidField.tsx +0 -72
  634. package/src/components/core/form/fields/SolidBooleanField.tsx +0 -434
  635. package/src/components/core/form/fields/SolidDateField.tsx +0 -247
  636. package/src/components/core/form/fields/SolidDateTimeField.tsx +0 -229
  637. package/src/components/core/form/fields/SolidDecimalField.tsx +0 -171
  638. package/src/components/core/form/fields/SolidEmailField.tsx +0 -176
  639. package/src/components/core/form/fields/SolidIntegerField.tsx +0 -282
  640. package/src/components/core/form/fields/SolidJsonField.tsx +0 -185
  641. package/src/components/core/form/fields/SolidLongTextField.tsx +0 -618
  642. package/src/components/core/form/fields/SolidMediaMultipleField.tsx +0 -662
  643. package/src/components/core/form/fields/SolidMediaSingleField.tsx +0 -546
  644. package/src/components/core/form/fields/SolidPasswordField.tsx +0 -391
  645. package/src/components/core/form/fields/SolidRelationField.tsx +0 -56
  646. package/src/components/core/form/fields/SolidRichTextField.tsx +0 -188
  647. package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +0 -340
  648. package/src/components/core/form/fields/SolidSelectionStaticField.tsx +0 -462
  649. package/src/components/core/form/fields/SolidShortTextField.tsx +0 -399
  650. package/src/components/core/form/fields/SolidTimeField.tsx +0 -245
  651. package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +0 -453
  652. package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +0 -1009
  653. package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +0 -636
  654. package/src/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -38
  655. package/src/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.ts +0 -64
  656. package/src/components/core/form/fields/solidFields.module.css +0 -7
  657. package/src/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +0 -135
  658. package/src/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +0 -144
  659. package/src/components/core/form/fields/widgets/SolidIconEditWidget.tsx +0 -265
  660. package/src/components/core/form/fields/widgets/SolidIconViewWidget.tsx +0 -32
  661. package/src/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +0 -50
  662. package/src/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +0 -222
  663. package/src/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +0 -70
  664. package/src/components/core/form/solidFormViewShimmerLoading.module.css +0 -4
  665. package/src/components/core/form/widgets/CustomHtml.tsx +0 -20
  666. package/src/components/core/kanban/KanbanBoard.tsx +0 -116
  667. package/src/components/core/kanban/KanbanCard.tsx +0 -280
  668. package/src/components/core/kanban/KanbanColumn.tsx +0 -138
  669. package/src/components/core/kanban/KanbanUserViewLayout.tsx +0 -73
  670. package/src/components/core/kanban/SolidKanbanView.tsx +0 -866
  671. package/src/components/core/kanban/SolidKanbanViewConfigure.tsx +0 -152
  672. package/src/components/core/kanban/SolidKanbanViewFields.tsx +0 -164
  673. package/src/components/core/kanban/SolidManyToOneFilterElement.tsx +0 -59
  674. package/src/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +0 -50
  675. package/src/components/core/kanban/SolidSelectionStaticFilterElement.tsx +0 -32
  676. package/src/components/core/kanban/SolidVarInputsFilterElement.tsx +0 -184
  677. package/src/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +0 -9
  678. package/src/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +0 -16
  679. package/src/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +0 -23
  680. package/src/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +0 -14
  681. package/src/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +0 -13
  682. package/src/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +0 -9
  683. package/src/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +0 -12
  684. package/src/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +0 -9
  685. package/src/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +0 -14
  686. package/src/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +0 -20
  687. package/src/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +0 -9
  688. package/src/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +0 -140
  689. package/src/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +0 -164
  690. package/src/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +0 -13
  691. package/src/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +0 -9
  692. package/src/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +0 -14
  693. package/src/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +0 -14
  694. package/src/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +0 -121
  695. package/src/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +0 -12
  696. package/src/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +0 -13
  697. package/src/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +0 -16
  698. package/src/components/core/list/ListViewRowActionPopup.tsx +0 -40
  699. package/src/components/core/list/SolidColumnSelector/SolidListColumnSelector.module.css +0 -12
  700. package/src/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +0 -233
  701. package/src/components/core/list/SolidEmptyListViewPlaceholder.tsx +0 -115
  702. package/src/components/core/list/SolidListView.tsx +0 -2009
  703. package/src/components/core/list/SolidListViewColumn.tsx +0 -165
  704. package/src/components/core/list/SolidListViewConfigure.tsx +0 -342
  705. package/src/components/core/list/SolidListViewHeaderButton.tsx +0 -32
  706. package/src/components/core/list/SolidListViewHeaderContextMenuButton.tsx +0 -32
  707. package/src/components/core/list/SolidListViewRowButtonContextMenu.tsx +0 -40
  708. package/src/components/core/list/SolidListViewShimmerLoading.tsx +0 -78
  709. package/src/components/core/list/SolidListViewWrapper.module.css +0 -49
  710. package/src/components/core/list/SolidListingHeader.tsx +0 -41
  711. package/src/components/core/list/SolidManyToOneFilterElement.tsx +0 -60
  712. package/src/components/core/list/SolidSelectionDynamicFilterElement.tsx +0 -50
  713. package/src/components/core/list/SolidSelectionStaticFilterElement.tsx +0 -32
  714. package/src/components/core/list/SolidTableRowCell.tsx +0 -35
  715. package/src/components/core/list/SolidVarInputsFilterElement.tsx +0 -184
  716. package/src/components/core/list/columns/SolidBigintColumn.tsx +0 -9
  717. package/src/components/core/list/columns/SolidBooleanColumn.tsx +0 -87
  718. package/src/components/core/list/columns/SolidComputedColumn.tsx +0 -27
  719. package/src/components/core/list/columns/SolidDateColumn.tsx +0 -90
  720. package/src/components/core/list/columns/SolidDatetimeColumn.tsx +0 -79
  721. package/src/components/core/list/columns/SolidDecimalColumn.tsx +0 -9
  722. package/src/components/core/list/columns/SolidExternalIdColumn.tsx +0 -80
  723. package/src/components/core/list/columns/SolidFloatColumn.tsx +0 -9
  724. package/src/components/core/list/columns/SolidIdColumn.tsx +0 -79
  725. package/src/components/core/list/columns/SolidIntColumn.tsx +0 -87
  726. package/src/components/core/list/columns/SolidLongTextColumn.tsx +0 -9
  727. package/src/components/core/list/columns/SolidMediaMultipleColumn.tsx +0 -301
  728. package/src/components/core/list/columns/SolidMediaSingleColumn.tsx +0 -170
  729. package/src/components/core/list/columns/SolidRelationColumn.tsx +0 -21
  730. package/src/components/core/list/columns/SolidRichTextColumn.tsx +0 -9
  731. package/src/components/core/list/columns/SolidSelectionDynamicColumn.tsx +0 -80
  732. package/src/components/core/list/columns/SolidSelectionStaticColumn.tsx +0 -81
  733. package/src/components/core/list/columns/SolidShortTextColumn.tsx +0 -160
  734. package/src/components/core/list/columns/SolidTimeColumn.tsx +0 -78
  735. package/src/components/core/list/columns/SolidUuidColumn.tsx +0 -79
  736. package/src/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +0 -106
  737. package/src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +0 -117
  738. package/src/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +0 -110
  739. package/src/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +0 -30
  740. package/src/components/core/list/widgets/SolidManyToOneRelationAvatarListWidget.tsx +0 -30
  741. package/src/components/core/list/widgets/SolidShortTextAvatarWidget.tsx +0 -70
  742. package/src/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +0 -21
  743. package/src/components/core/locales/SolidChatterLocaleTabView.tsx +0 -91
  744. package/src/components/core/locales/SolidLocale.tsx +0 -127
  745. package/src/components/core/locales/solid-locale.css +0 -36
  746. package/src/components/core/model/CreateModel.tsx +0 -536
  747. package/src/components/core/model/FieldMetaData.tsx +0 -262
  748. package/src/components/core/model/FieldMetaDataForm.tsx +0 -3553
  749. package/src/components/core/model/FieldSelector.tsx +0 -62
  750. package/src/components/core/model/ModelListViewData.tsx +0 -384
  751. package/src/components/core/model/ModelMetaData.tsx +0 -949
  752. package/src/components/core/module/CreateModule.tsx +0 -613
  753. package/src/components/core/module/ModuleListViewData.tsx +0 -431
  754. package/src/components/core/solid-ai/SolidAiMainWrapper.tsx +0 -8
  755. package/src/components/core/solid-ai/SolidXAIIcon.tsx +0 -37
  756. package/src/components/core/users/CreateUser.tsx +0 -468
  757. package/src/components/core/users/CreateUserRole.tsx +0 -213
  758. package/src/components/core/users/UserListView.tsx +0 -376
  759. package/src/components/layout/AdminLayout.tsx +0 -55
  760. package/src/components/layout/AdminSidebar.tsx +0 -64
  761. package/src/components/layout/AppConfig.tsx +0 -104
  762. package/src/components/layout/AppSidebar.tsx +0 -216
  763. package/src/components/layout/ButtonLoader.tsx +0 -7
  764. package/src/components/layout/CustomPagination.tsx +0 -55
  765. package/src/components/layout/DashboardHeader.tsx +0 -89
  766. package/src/components/layout/FilterMenu.tsx +0 -122
  767. package/src/components/layout/Footer.tsx +0 -13
  768. package/src/components/layout/GlobalSearch.tsx +0 -36
  769. package/src/components/layout/Header.tsx +0 -8
  770. package/src/components/layout/Layout.tsx +0 -205
  771. package/src/components/layout/ListingHeader.tsx +0 -205
  772. package/src/components/layout/Loader.tsx +0 -16
  773. package/src/components/layout/UserSidebar.tsx +0 -52
  774. package/src/components/layout/context/layoutcontext.tsx +0 -52
  775. package/src/components/layout/navbar-one.tsx +0 -239
  776. package/src/components/layout/navbar-two-menu.tsx +0 -71
  777. package/src/components/layout/navbar-two.tsx +0 -37
  778. package/src/components/layout/user-profile-menu.tsx +0 -212
  779. package/src/components/layout/user-profile.tsx +0 -7
  780. package/src/components/modelsComponents/filterIcon.tsx +0 -9
  781. package/src/constants/error-messages.ts +0 -238
  782. package/src/declarations.d.ts +0 -22
  783. package/src/helpers/AppTitle.tsx +0 -12
  784. package/src/helpers/ToastContainer.tsx +0 -94
  785. package/src/helpers/autoCompleteVirtualScroll.ts +0 -41
  786. package/src/helpers/countries.tsx +0 -260
  787. package/src/helpers/downloadFileWithProgress.ts +0 -86
  788. package/src/helpers/downloadMediaFile.tsx +0 -22
  789. package/src/helpers/eventBus.ts +0 -40
  790. package/src/helpers/getAcceptedFileTypes.tsx +0 -22
  791. package/src/helpers/getRandomColors.tsx +0 -68
  792. package/src/helpers/helpers.ts +0 -61
  793. package/src/helpers/hydrateRelationRules.ts +0 -122
  794. package/src/helpers/logger.ts +0 -33
  795. package/src/helpers/permissions.ts +0 -7
  796. package/src/helpers/registry.ts +0 -337
  797. package/src/helpers/resendOtpHelper.tsx +0 -5
  798. package/src/helpers/revalidate.ts +0 -8
  799. package/src/helpers/rolesHelper.ts +0 -4
  800. package/src/helpers/routePaths.ts +0 -25
  801. package/src/helpers/showToast.ts +0 -13
  802. package/src/helpers/solidIcons.tsx +0 -1831
  803. package/src/helpers/updatePasswordField.ts +0 -42
  804. package/src/hooks/usePathname.ts +0 -6
  805. package/src/hooks/useRouter.ts +0 -35
  806. package/src/hooks/useSearchParams.ts +0 -10
  807. package/src/hooks/useSession.ts +0 -52
  808. package/src/http/solidHttp.ts +0 -63
  809. package/src/index.ts +0 -460
  810. package/src/layouts/AdminLayoutWrapper.tsx +0 -10
  811. package/src/layouts/AuthLayoutWrapper.tsx +0 -10
  812. package/src/redux/api/aiInteractionApi.ts +0 -59
  813. package/src/redux/api/authApi.ts +0 -131
  814. package/src/redux/api/dashboardApi.ts +0 -56
  815. package/src/redux/api/dashboardQuestionApi.ts +0 -17
  816. package/src/redux/api/exportTemplateApi.tsx +0 -59
  817. package/src/redux/api/fetchBaseQuery.tsx +0 -65
  818. package/src/redux/api/fieldApi.ts +0 -86
  819. package/src/redux/api/importTransactionApi.tsx +0 -69
  820. package/src/redux/api/mediaApi.ts +0 -55
  821. package/src/redux/api/mediaStorageProviderApi.ts +0 -55
  822. package/src/redux/api/modelApi.ts +0 -80
  823. package/src/redux/api/moduleApi.ts +0 -72
  824. package/src/redux/api/permissionApi.ts +0 -32
  825. package/src/redux/api/pincodeApi.tsx +0 -56
  826. package/src/redux/api/roleApi.ts +0 -58
  827. package/src/redux/api/solidActionApi.ts +0 -66
  828. package/src/redux/api/solidChatterMessageApi.ts +0 -25
  829. package/src/redux/api/solidEntityApi.tsx +0 -164
  830. package/src/redux/api/solidMenuApi.ts +0 -71
  831. package/src/redux/api/solidServiceApi.ts +0 -31
  832. package/src/redux/api/solidSettingsApi.tsx +0 -83
  833. package/src/redux/api/solidViewApi.ts +0 -73
  834. package/src/redux/api/stateApi.tsx +0 -56
  835. package/src/redux/api/testApi.ts +0 -21
  836. package/src/redux/api/userApi.ts +0 -135
  837. package/src/redux/features/authSlice.ts +0 -19
  838. package/src/redux/features/dataViewSlice.ts +0 -26
  839. package/src/redux/features/navbarSlice.ts +0 -21
  840. package/src/redux/features/popupSlice.ts +0 -37
  841. package/src/redux/features/themeSlice.ts +0 -17
  842. package/src/redux/features/userSlice.ts +0 -28
  843. package/src/redux/hooks/useSolidPopup.ts +0 -20
  844. package/src/redux/store/StoreProvider.tsx +0 -52
  845. package/src/redux/store/createSolidStore.ts +0 -55
  846. package/src/redux/store/defaultStoreConfig.ts +0 -62
  847. package/src/resources/fonts/SF-Pro-Display-Black.otf +0 -0
  848. package/src/resources/fonts/SF-Pro-Display-Bold.otf +0 -0
  849. package/src/resources/fonts/SF-Pro-Display-Heavy.otf +0 -0
  850. package/src/resources/fonts/SF-Pro-Display-Light.otf +0 -0
  851. package/src/resources/fonts/SF-Pro-Display-Medium.otf +0 -0
  852. package/src/resources/fonts/SF-Pro-Display-Regular.otf +0 -0
  853. package/src/resources/fonts/SF-Pro-Display-Semibold.otf +0 -0
  854. package/src/resources/fonts/SF-Pro-Display-Thin.otf +0 -0
  855. package/src/resources/fonts/SF-Pro-Display-Ultralight.otf +0 -0
  856. package/src/resources/globals.css +0 -3597
  857. package/src/resources/images/AvatarDemo.png +0 -0
  858. package/src/resources/images/Background.svg +0 -3
  859. package/src/resources/images/Footerbg.png +0 -0
  860. package/src/resources/images/LoginBanner.png +0 -0
  861. package/src/resources/images/Navigation/Level.svg +0 -5
  862. package/src/resources/images/Navigation/Presure.svg +0 -7
  863. package/src/resources/images/Navigation/SolidSettinsIcon.svg +0 -1
  864. package/src/resources/images/Navigation/Temperature.svg +0 -13
  865. package/src/resources/images/Profile/Avatar.png +0 -0
  866. package/src/resources/images/SolidXLogo.svg +0 -21
  867. package/src/resources/images/activity.svg +0 -3
  868. package/src/resources/images/app-builder.png +0 -0
  869. package/src/resources/images/auth/solid-left-layout-bg.png +0 -0
  870. package/src/resources/images/auth/solid-login-light.png +0 -0
  871. package/src/resources/images/auth/solid-right-layout-bg.png +0 -0
  872. package/src/resources/images/clog-wheel.png +0 -0
  873. package/src/resources/images/dark-mode.png +0 -0
  874. package/src/resources/images/dashboard/Ellipse 1.svg +0 -10
  875. package/src/resources/images/dashboard/Rectangle 17.svg +0 -10
  876. package/src/resources/images/dashboard/Rectangle 25.svg +0 -11
  877. package/src/resources/images/dashboard/image 5.svg +0 -9
  878. package/src/resources/images/eye-icon.png +0 -0
  879. package/src/resources/images/fb.svg +0 -3
  880. package/src/resources/images/fileReader/image-jpg.png +0 -0
  881. package/src/resources/images/fileTypes/File.png +0 -0
  882. package/src/resources/images/fileTypes/Mp3.png +0 -0
  883. package/src/resources/images/fileTypes/Mp4.png +0 -0
  884. package/src/resources/images/filter-icon.png +0 -0
  885. package/src/resources/images/form/user.png +0 -0
  886. package/src/resources/images/iam.png +0 -0
  887. package/src/resources/images/icons/icon-activity.svg +0 -3
  888. package/src/resources/images/icons/icon-calender.svg +0 -3
  889. package/src/resources/images/icons/icon-graph.svg +0 -3
  890. package/src/resources/images/icons/icon-kanban.svg +0 -3
  891. package/src/resources/images/icons/icon-list.svg +0 -3
  892. package/src/resources/images/icons/icon-users.svg +0 -3
  893. package/src/resources/images/icons/jump-to-icon.png +0 -0
  894. package/src/resources/images/insta.svg +0 -3
  895. package/src/resources/images/layout/images/comfortable.png +0 -0
  896. package/src/resources/images/layout/images/compact.png +0 -0
  897. package/src/resources/images/layout/images/cozy.png +0 -0
  898. package/src/resources/images/layout/images/kanban.png +0 -0
  899. package/src/resources/images/li.svg +0 -3
  900. package/src/resources/images/loginhero.png +0 -0
  901. package/src/resources/images/logo.png +0 -0
  902. package/src/resources/images/mail-icon.png +0 -0
  903. package/src/resources/images/menu/app-builder.svg +0 -19
  904. package/src/resources/images/menu/iam.svg +0 -14
  905. package/src/resources/images/menu/logicloop-black.svg +0 -28
  906. package/src/resources/images/menu/logicloop-blue.svg +0 -32
  907. package/src/resources/images/menu/logicloop-white.svg +0 -32
  908. package/src/resources/images/menu/queues.svg +0 -14
  909. package/src/resources/images/menu/radix.svg +0 -9
  910. package/src/resources/images/menu/rl-lead-middleware.svg +0 -19
  911. package/src/resources/images/menu/solid-address-master.svg +0 -10
  912. package/src/resources/images/menu/srmd-tracker-black.svg +0 -16
  913. package/src/resources/images/menu/srmd-tracker-original.svg +0 -32
  914. package/src/resources/images/menu/srmd-tracker-white.svg +0 -17
  915. package/src/resources/images/menu/srmd-tracker.svg +0 -16
  916. package/src/resources/images/menu-icon.png +0 -0
  917. package/src/resources/images/menu-toggle.png +0 -0
  918. package/src/resources/images/password-icon.png +0 -0
  919. package/src/resources/images/profile.png +0 -0
  920. package/src/resources/images/radix-logo-white.png +0 -0
  921. package/src/resources/images/radix-logo.png +0 -0
  922. package/src/resources/images/search-icon.png +0 -0
  923. package/src/resources/images/signupBanner.png +0 -0
  924. package/src/resources/images/tw.svg +0 -3
  925. package/src/resources/images/user-icon.png +0 -0
  926. package/src/resources/solid-primereact.css +0 -2986
  927. package/src/resources/solid-responsive.css +0 -791
  928. package/src/resources/stylesheets/_config.scss +0 -54
  929. package/src/resources/stylesheets/_content.scss +0 -95
  930. package/src/resources/stylesheets/_footer.scss +0 -10
  931. package/src/resources/stylesheets/_main.scss +0 -49
  932. package/src/resources/stylesheets/_menu.scss +0 -183
  933. package/src/resources/stylesheets/_mixins.scss +0 -13
  934. package/src/resources/stylesheets/_responsive.scss +0 -101
  935. package/src/resources/stylesheets/_topbar.scss +0 -152
  936. package/src/resources/stylesheets/_typography.scss +0 -65
  937. package/src/resources/stylesheets/_utils.scss +0 -29
  938. package/src/resources/stylesheets/_variables.scss +0 -3
  939. package/src/resources/stylesheets/layout.scss +0 -11
  940. package/src/resources/themes/solid-dark-purple/theme.css +0 -6208
  941. package/src/resources/themes/solid-light-purple/solid-login-light.png +0 -0
  942. package/src/resources/themes/solid-light-purple/theme.css +0 -6263
  943. package/src/routes/AppEventListener.tsx +0 -28
  944. package/src/routes/guards/AuthGuard.tsx +0 -17
  945. package/src/routes/pages/ErrorPage.tsx +0 -6
  946. package/src/routes/pages/NotFoundPage.tsx +0 -5
  947. package/src/routes/pages/admin/AdminPage.tsx +0 -5
  948. package/src/routes/pages/admin/core/FormPage.tsx +0 -7
  949. package/src/routes/pages/admin/core/KanbanPage.tsx +0 -10
  950. package/src/routes/pages/admin/core/ListPage.tsx +0 -10
  951. package/src/routes/pages/admin/core/ModuleHomePage.tsx +0 -7
  952. package/src/routes/pages/admin/core/SettingsPage.tsx +0 -5
  953. package/src/routes/pages/auth/ConfirmForgotPasswordPage.tsx +0 -5
  954. package/src/routes/pages/auth/ForgotPasswordPage.tsx +0 -5
  955. package/src/routes/pages/auth/InitiateForgotPasswordPage.tsx +0 -5
  956. package/src/routes/pages/auth/InitiateForgotPasswordThankYouPage.tsx +0 -5
  957. package/src/routes/pages/auth/InitiateGoogleOauthPage.tsx +0 -5
  958. package/src/routes/pages/auth/InitiateLoginPage.tsx +0 -5
  959. package/src/routes/pages/auth/InitiateRegisterPage.tsx +0 -5
  960. package/src/routes/pages/auth/LoginPage.tsx +0 -10
  961. package/src/routes/pages/auth/RegisterPage.tsx +0 -5
  962. package/src/routes/pages/auth/ResetPasswordPage.tsx +0 -5
  963. package/src/routes/pages/auth/SsoPage.tsx +0 -79
  964. package/src/routes/solidRoutes.tsx +0 -89
  965. package/src/routes/types.ts +0 -34
  966. package/src/styles.ts +0 -4
  967. package/src/types/css-modules.d.ts +0 -4
  968. package/src/types/handlebars.d.ts +0 -4
  969. package/src/types/index.d.ts +0 -76
  970. package/src/types/layout.d.ts +0 -94
  971. package/src/types/next-auth.d.ts +0 -0
  972. package/src/types/next.d.ts +0 -46
  973. package/src/types/solid-core.d.ts +0 -319
@@ -1,1867 +0,0 @@
1
- import { useSession } from '../../../hooks/useSession'
2
- import { permissionExpression } from "../../../helpers/permissions";
3
- import { createSolidEntityApi } from "../../../redux/api/solidEntityApi";
4
- import { useGetSolidViewLayoutQuery } from "../../../redux/api/solidViewApi";
5
- import { useLazyCheckIfPermissionExistsQuery } from "../../../redux/api/userApi";
6
- import { FetchBaseQueryError } from "@reduxjs/toolkit/dist/query";
7
- import { useFormik } from "formik";
8
- import { usePathname } from "../../../hooks/usePathname";
9
- import { useRouter } from "../../../hooks/useRouter";
10
- import { useSearchParams } from "../../../hooks/useSearchParams";
11
- import "primeflex/primeflex.css";
12
- import { Button } from "primereact/button";
13
- import { Dialog } from "primereact/dialog";
14
- import { TabPanel, TabView } from "primereact/tabview";
15
- import { Toast } from "primereact/toast";
16
- import qs from "qs";
17
- import React, { ChangeEvent, useEffect, useMemo, useRef, useState } from "react";
18
- import * as Yup from "yup";
19
- import { FormikObject, ISolidField, SolidFieldProps } from "./fields/ISolidField";
20
- import { SolidBooleanField } from "./fields/SolidBooleanField";
21
- import { SolidDateField } from "./fields/SolidDateField";
22
- import { SolidDateTimeField } from "./fields/SolidDateTimeField";
23
- import { SolidDecimalField } from "./fields/SolidDecimalField";
24
- import { SolidIntegerField } from "./fields/SolidIntegerField";
25
- import { SolidJsonField } from "./fields/SolidJsonField";
26
- import { SolidLongTextField } from "./fields/SolidLongTextField";
27
- import { SolidMediaMultipleField } from "./fields/SolidMediaMultipleField";
28
- import { SolidMediaSingleField } from "./fields/SolidMediaSingleField";
29
- import { SolidRelationField } from "./fields/SolidRelationField";
30
- import { SolidRichTextField } from "./fields/SolidRichTextField";
31
- import { SolidSelectionDynamicField } from "./fields/SolidSelectionDynamicField";
32
- import { SolidSelectionStaticField } from "./fields/SolidSelectionStaticField";
33
- import { SolidShortTextField } from "./fields/SolidShortTextField";
34
- import { SolidTimeField } from "./fields/SolidTimeField";
35
- import { SolidUiEvent } from "../../../types";
36
- import { getExtensionComponent, getExtensionFunction } from "../../../helpers/registry";
37
- import { SolidFormWidgetProps, SolidUiEventResponse } from "../../../types/solid-core";
38
- import { SolidPasswordField } from "./fields/SolidPasswordField";
39
- import { SolidEmailField } from "./fields/SolidEmailField";
40
- import { Panel } from "primereact/panel";
41
- import { SolidFormUserViewLayout } from "./SolidFormUserViewLayout";
42
- import Lightbox from "yet-another-react-lightbox";
43
- import Counter from "yet-another-react-lightbox/plugins/counter";
44
- import Download from "yet-another-react-lightbox/plugins/download";
45
- import Video from "yet-another-react-lightbox/plugins/video";
46
- import "yet-another-react-lightbox/styles.css";
47
- import "yet-another-react-lightbox/plugins/counter.css";
48
- import { SolidFormActionHeader } from "./SolidFormActionHeader";
49
- import { SolidFormViewShimmerLoading } from "./SolidFormViewShimmerLoading";
50
- import { hasAnyRole } from "../../../helpers/rolesHelper";
51
- import SolidChatterLocaleTabView from "../locales/SolidChatterLocaleTabView";
52
- import { ConfirmDialog } from "primereact/confirmdialog";
53
- import { SolidXAIIcon } from "../solid-ai/SolidXAIIcon";
54
- import { ERROR_MESSAGES } from "../../../constants/error-messages";
55
- import { useLazyGetMcpUrlQuery, useLazyGetSolidSettingsQuery } from "../../../redux/api/solidSettingsApi";
56
- import { SolidFormFooter } from "./SolidFormFooter";
57
- import { normalizeSolidFormActionPath } from "../../../helpers/routePaths";
58
- import showToast from "../../../helpers/showToast";
59
-
60
- export type SolidFormViewProps = {
61
- moduleName: string;
62
- modelName: string;
63
- id: string;
64
- embeded: boolean;
65
- handlePopupClose?: any,
66
- customCreateHandler?: any
67
- inlineCreateAutoSave?: boolean,
68
- customLayout?: any,
69
- parentFieldName?: string,
70
- parentData?: any,
71
- redirectToPath?: string,
72
- onEmbeddedFormSave?: () => void,
73
- };
74
-
75
-
76
- interface ErrorResponseData {
77
- message: string;
78
- statusCode: number;
79
- error: string;
80
- }
81
-
82
- const getLayoutFields = (node: any): any => {
83
- let fields = [];
84
-
85
- if (node.type === "field") {
86
- fields.push(node);
87
- }
88
-
89
- if (node.children && Array.isArray(node.children)) {
90
- for (const child of node.children) {
91
- fields = fields.concat(getLayoutFields(child));
92
- }
93
- }
94
-
95
- return fields;
96
- }
97
-
98
- export const getLayoutFieldsAsObject = (layout: any[]): any => {
99
- const allFields = layout.flatMap(getLayoutFields);
100
- return allFields.reduce((result, field) => {
101
- if (field.attrs.name) {
102
- result[field.attrs.name] = { ...field };
103
- }
104
- return result;
105
- }, {});
106
- }
107
- export const getActualFieldMetadata = (key: string, solidFieldsMetadata: Record<string, any>) => {
108
- if (solidFieldsMetadata[key]) {
109
- return solidFieldsMetadata[key];
110
- }
111
-
112
- if (key.endsWith("Confirm")) {
113
- const baseKey = key.slice(0, -"Confirm".length); // Remove "Confirm"
114
- if (solidFieldsMetadata[baseKey]) {
115
- return solidFieldsMetadata[baseKey];
116
- }
117
- }
118
-
119
- return null; // or handle fallback
120
- };
121
-
122
-
123
- const fieldFactory = (type: string, fieldContext: SolidFieldProps, setLightboxUrls?: any, setOpenLightbox?: any): ISolidField | null => {
124
- if (type === 'shortText') {
125
- return new SolidShortTextField(fieldContext);
126
- }
127
- if (type === 'longText') {
128
- return new SolidLongTextField(fieldContext);
129
- }
130
- if (type === 'int' || type === 'bigint') {
131
- return new SolidIntegerField(fieldContext);
132
- }
133
- if (type === 'decimal' || type === 'float') {
134
- return new SolidDecimalField(fieldContext);
135
- }
136
- if (type === 'boolean') {
137
- return new SolidBooleanField(fieldContext);
138
- }
139
- if (type === 'richText') {
140
- return new SolidRichTextField(fieldContext);
141
- }
142
- if (type === 'date') {
143
- return new SolidDateField(fieldContext);
144
- }
145
- if (type === 'datetime') {
146
- return new SolidDateTimeField(fieldContext);
147
- }
148
- if (type === 'time') {
149
- return new SolidTimeField(fieldContext);
150
- }
151
- if (type === 'json') {
152
- return new SolidJsonField(fieldContext);
153
- }
154
- if (type === 'selectionStatic') {
155
- return new SolidSelectionStaticField(fieldContext);
156
- }
157
- if (type === 'selectionDynamic') {
158
- return new SolidSelectionDynamicField(fieldContext);
159
- }
160
- if (type === 'relation') {
161
- return new SolidRelationField(fieldContext);
162
- }
163
- if (type === 'mediaSingle') {
164
- return new SolidMediaSingleField(fieldContext, setLightboxUrls, setOpenLightbox);
165
- }
166
- if (type === 'mediaMultiple') {
167
- return new SolidMediaMultipleField(fieldContext, setLightboxUrls, setOpenLightbox);
168
- }
169
- if (type === 'password') {
170
- return new SolidPasswordField(fieldContext);
171
- }
172
- if (type === 'email') {
173
- return new SolidEmailField(fieldContext);
174
- }
175
- return null;
176
- }
177
-
178
- // solidFieldsMetadata={solidFieldsMetadata} solidView={solidView}
179
- const SolidField = ({ formik, field, fieldMetadata, initialEntityData, solidFormViewMetaData, modelName, readOnly, viewMode, onChange, onBlur, parentFieldName, parentData, setLightboxUrls, setOpenLightbox, onEmbeddedFormSave }: any) => {
180
- const fieldContext: SolidFieldProps = {
181
- // field metadata - coming from the field-metadata table.
182
- fieldMetadata: fieldMetadata,
183
- // field layout - coming from view.layout
184
- field: field,
185
- // initial data
186
- data: initialEntityData,
187
- // complete form view metadata - this includes layout of the whole form & metadata about all fields in the corresponding model.
188
- solidFormViewMetaData: solidFormViewMetaData,
189
- modelName: modelName,
190
- readOnly: readOnly,
191
- viewMode: viewMode,
192
- onChange: onChange,
193
- onBlur: onBlur
194
- }
195
- if (parentData) {
196
- fieldContext.parentData = parentData;
197
- }
198
- if (parentFieldName) {
199
- fieldContext.parentFieldName = parentFieldName;
200
- }
201
- if (onEmbeddedFormSave) {
202
- fieldContext.onEmbeddedFormSave = onEmbeddedFormSave;
203
- }
204
- const solidField = fieldFactory(fieldMetadata?.type, fieldContext, setLightboxUrls, setOpenLightbox);
205
-
206
- return solidField?.render(formik);
207
- };
208
-
209
- const SolidGroup = ({ children, attrs }: any) => {
210
-
211
- const className = attrs.className;
212
-
213
- return (
214
- <div className={className}>
215
- {attrs.label && <p>{attrs.label}</p>}
216
- <div className="grid">{children}</div>
217
- </div>
218
- // <div className={className}>
219
- // <div className="s_group">
220
- // <fieldset>
221
- // {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
222
- // <div className="grid">{children}</div>
223
- // </fieldset>
224
- // </div>
225
-
226
- // </div>
227
- // <div className="formgrid grid">
228
- // {children}
229
- // </div>
230
- );
231
- };
232
-
233
- const SolidRow = ({ children, attrs }: any) => {
234
-
235
- const className = attrs.className;
236
-
237
- return (
238
- // <div className={`row ${className}`}>
239
-
240
- // <div className="s_group">
241
- // <fieldset>
242
- // {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
243
- // <div className="grid">{children}</div>
244
- // </fieldset>
245
- // </div>
246
-
247
- // </div>
248
- <div className={`row ${className}`}>
249
- {attrs.label && <p >{attrs.label}</p>}
250
- <div className="grid">{children}</div>
251
- </div>
252
- // <div>{children}</div>
253
- );
254
- };
255
-
256
- const SolidColumn = ({ children, attrs }: any) => {
257
- const className = attrs.className;
258
-
259
- return (
260
- // first fieldset ui
261
-
262
- // <div className={`${className}`}>
263
- // <div className="s_group">
264
- // <fieldset>
265
- // {attrs.label && <p className="s_group_heading">{attrs.label}</p>}
266
- // <div className="grid">{children}</div>
267
- // </fieldset>
268
- // </div>
269
- // </div>
270
-
271
- //second fieldset ui
272
- // <div className={`${className}`}>
273
- // {attrs.label && <p>{attrs.label}</p>}
274
- // <div className="grid">{children}</div>
275
- // </div>
276
-
277
- //figma fieldset ui
278
- attrs.label ?
279
- <div className={`${className}`}>
280
- <Panel header={attrs.label} className="solid-column-panel">
281
- <div className="grid">{children}</div>
282
- </Panel>
283
- {/* <div className="p-fieldset">
284
- <div className="solid-fieldset-header">
285
- <div>{attrs.label}</div>
286
- </div>
287
- <div className="grid solid-fieldset-content">{children}</div>
288
- </div> */}
289
- </div>
290
- :
291
- <div className={`${className}`}>
292
- <div className="grid">{children}</div>
293
- </div>
294
- );
295
- };
296
-
297
- const SolidSheet = ({ children }: any) => (
298
- <div className="p-fluid p-grid">
299
- {children}
300
- </div>
301
- );
302
-
303
- const SolidNotebook = ({ children, activeTab, embeded }: any) => {
304
- // const childrenArray = children;
305
- // const childrenArray = React.Children.toArray(children).filter(Boolean);
306
- const childrenArray = React.Children.toArray(children).filter(child => !!child);
307
-
308
- const router = useRouter();
309
- const pathname = usePathname();
310
- const searchParams = useSearchParams();
311
-
312
- // Local state to manage active tab in embedded context
313
- const [localActiveTab, setLocalActiveTab] = useState(activeTab);
314
-
315
- const activeIndex = useMemo(() => {
316
- return childrenArray.findIndex((child: any) => {
317
- return child.key === (embeded ? localActiveTab : activeTab);
318
- });
319
- }, [childrenArray, activeTab, localActiveTab, embeded]);
320
-
321
- const handleTabChange = (e: any) => {
322
- const selectedChild = childrenArray[e.index] as any;
323
- const newTabLabel = selectedChild?.key;
324
-
325
- if (newTabLabel) {
326
- if (!embeded) {
327
- const queryParams = new URLSearchParams(searchParams.toString());
328
- queryParams.set('activeTab', newTabLabel);
329
- router.push(`${pathname}?${queryParams.toString()}`);
330
- } else {
331
- // Update the active tab state locally for embedded view
332
- setLocalActiveTab(newTabLabel);
333
- }
334
- }
335
- };
336
-
337
-
338
- return (
339
- <div className="solid-tab-view w-full">
340
- <TabView activeIndex={activeIndex >= 0 ? activeIndex : 0} onTabChange={handleTabChange}>
341
- {/* {children} */}
342
- {childrenArray}
343
- </TabView>
344
- </div>
345
- )
346
- };
347
-
348
- const SolidDynamicWidget = ({ widgetName, formik, field, solidFormViewMetaData, solidFormViewData }: any) => {
349
- const solidView = solidFormViewMetaData.data.solidView;
350
- const solidFieldsMetadata = solidFormViewMetaData.data.solidFieldsMetadata;
351
-
352
- let DynamicWidget = getExtensionComponent(widgetName);
353
-
354
- const widgetProps: SolidFormWidgetProps = {
355
- formData: formik.values,
356
- field: field,
357
- fieldsMetadata: solidFieldsMetadata,
358
- viewMetadata: solidView,
359
- formViewData: solidFormViewData
360
- }
361
-
362
- return (
363
- <div className="solid-tab-view w-full">
364
- {DynamicWidget && <DynamicWidget {...widgetProps} />}
365
- </div>
366
- )
367
- };
368
-
369
-
370
- const SolidPage = ({ attrs, children, key, formik, fields }: any) => {
371
- const fieldsName = fields.map((f: any) => f.attrs.name);
372
- const errorCount = formik.submitCount > 0 ? fieldsName.filter((name: any) => !!formik.errors[name]).length : 0;
373
- const label = (
374
- <span style={{ color: errorCount > 0 ? 'red' : 'inherit' }}>
375
- {attrs.label}{errorCount > 0 && ` (${errorCount})`}
376
- </span>
377
- );
378
-
379
-
380
- return (
381
-
382
- <TabPanel key={key} header={label} >
383
- <div className="p-fluid">{children}</div>
384
- </TabPanel>
385
- )
386
-
387
- };
388
-
389
- // Original code...
390
- // const addLevelToGroups = (layout: any, level = 1) => {
391
- // return layout.map((element: any) => {
392
- // if (element.type === "group") {
393
- // // Add the level to the group's attrs
394
- // element.attrs = {
395
- // ...element.attrs,
396
- // level: level, // Add level information to the attrs
397
- // // className: level === 1 ? 'col-12' : 'col-6', // Assign className based on level
398
- // };
399
- // } else {
400
- // element.children = addLevelToGroups(element.children, level);
401
- // }
402
- // // If the element has children, recursively apply this logic
403
- // // if (element.children) {
404
- // // element.children = addLevelToGroups(element.children, level + 1);
405
- // // }
406
-
407
- // return element;
408
- // });
409
- // };
410
-
411
- // Fix for immutable objects.
412
- // const addLevelToGroups = (layout: any, level = 1): any[] => {
413
- // return layout.map((element: any) => {
414
- // // Create a new object for immutability
415
- // const updatedElement = { ...element };
416
-
417
- // if (updatedElement.type === "group") {
418
- // // Add level to attrs, creating a new object for immutability
419
- // updatedElement.attrs = {
420
- // ...updatedElement.attrs,
421
- // level: level, // Add level information
422
- // };
423
- // }
424
-
425
- // // If the element has children, recursively apply this logic
426
- // if (updatedElement.children) {
427
- // updatedElement.children = addLevelToGroups(updatedElement.children, level + 1);
428
- // }
429
-
430
- // return updatedElement;
431
- // });
432
- // };
433
-
434
- const SolidFormView = (params: SolidFormViewProps) => {
435
-
436
- const { data: session, status } = useSession();
437
- const user = session?.user;
438
-
439
- const pathname = usePathname();
440
- const router = useRouter();
441
- const toast = useRef<Toast>(null);
442
- const searchParams = useSearchParams();
443
- const [confirmVisible, setConfirmVisible] = useState(false);
444
- const confirmResolveRef = useRef<(value: boolean) => void>();
445
- const [redirectToList, setRedirectToList] = useState(false);
446
- const [selectedLocale, setSelectedLocale] = useState<string | null>('en');
447
- const [defaultEntityLocaleId, setDefaultEntityLocaleId] = useState<string | null>(null);
448
- const [isDeleteDialogVisible, setDeleteDialogVisible] = useState(false);
449
- const [isLayoutDialogVisible, setLayoutDialogVisible] = useState(false);
450
- const [published, setPublished] = useState<string | null>(null);
451
- const [actionsAllowed, setActionsAllowed] = useState<string[]>([]);
452
- const [viewMode, setViewMode] = useState<"view" | "edit">(params.embeded === true ? "edit" : "view");
453
- const [createMode, setCreateMode] = useState<boolean>(false);
454
- const [openLightbox, setOpenLightbox] = useState(false);
455
- const [lightboxUrls, setLightboxUrls] = useState([]);
456
- const [isShowChatter, setShowChatter] = useState(false);
457
- const [chatterLocaleWidth, setChatterLocaleWidth] = useState(380); // default width
458
- const [isResizingChatterLocale, setIsResizingChatterLocale] = useState(false);
459
- const [isSubmitting, setIsSubmitting] = useState(false);
460
-
461
- const [solidWorkflowFieldValue, setSolidWorkflowFieldValue] = useState<string>("");
462
- const [defaultTabViewOptionIndex, setDefaultTabViewOptionIndex] = useState<number>(1);
463
- const errorFields: string[] = [];
464
-
465
- const [triggerCheckIfPermissionExists] = useLazyCheckIfPermissionExistsQuery();
466
-
467
- const [mcpUrl, setMcpUrl] = useState<string | null>(null);
468
- const [getMcpUrl] = useLazyGetMcpUrlQuery();
469
-
470
- // when rendering the form view we will optionally get action params...
471
- // these we can bubble up in the event that is being raised onFormLayoutLoad, onFormDataLoad & onFormLoad
472
- const actionName = searchParams.get('actionName');
473
- const actionType = searchParams.get('actionType');
474
- const actionContext = searchParams.get('actionContext');
475
-
476
- const [trigger, { data: solidSettingsData }] = useLazyGetSolidSettingsQuery();
477
- useEffect(() => {
478
- trigger("") // Fetch settings on mount
479
- }, [])
480
-
481
- useEffect(() => {
482
- if (solidSettingsData?.data?.mcpEnabled && solidSettingsData?.data?.mcpServerUrl) {
483
- enableSolidXAiPanel();
484
- }
485
- }, [solidSettingsData]);
486
-
487
-
488
- const enableSolidXAiPanel = async () => {
489
- try {
490
- const queryData = {
491
- showHeader: "false",
492
- inListView: "false"
493
- };
494
- const queryString = qs.stringify({ ...queryData }, { encodeValuesOnly: true });
495
- const response = await getMcpUrl(queryString).unwrap();
496
- console.log("response", response);
497
- if (response && response?.data?.mcpUrl) {
498
- setMcpUrl(response?.data?.mcpUrl);
499
- }
500
- } catch (error) {
501
-
502
- }
503
- }
504
-
505
- const op = useRef(null);
506
- useEffect(() => {
507
- const stored = localStorage.getItem('chatter_locale_width');
508
- if (stored) {
509
- setChatterLocaleWidth(parseInt(stored, 10));
510
- }
511
- }, []);
512
- useEffect(() => {
513
- const handleMouseMove = (e: MouseEvent) => {
514
- if (!isResizingChatterLocale) return;
515
- const newWidth = window.innerWidth - e.clientX;
516
- const clampedWidth = Math.max(280, Math.min(newWidth, 700));
517
- setChatterLocaleWidth(clampedWidth);
518
- localStorage.setItem('chatter_locale_width', clampedWidth.toString());
519
- };
520
-
521
- const handleMouseUp = () => {
522
- setIsResizingChatterLocale(false);
523
- };
524
-
525
- if (isResizingChatterLocale) {
526
- window.addEventListener('mousemove', handleMouseMove);
527
- window.addEventListener('mouseup', handleMouseUp);
528
- }
529
-
530
- return () => {
531
- window.removeEventListener('mousemove', handleMouseMove);
532
- window.removeEventListener('mouseup', handleMouseUp);
533
- };
534
- }, [isResizingChatterLocale]);
535
-
536
-
537
- useEffect(() => {
538
- const mode = searchParams.get('viewMode');
539
- const locale = searchParams.get('locale');
540
- const defaultEntityLocaleIdn = searchParams.get('defaultEntityLocaleId');
541
- if (params.id === 'new' && !locale) {
542
- setViewMode('edit');
543
- setCreateMode(true);
544
- return;
545
- }
546
-
547
- if (locale) {
548
- setSelectedLocale(locale);
549
- }
550
-
551
- if (defaultEntityLocaleIdn) {
552
- setDefaultEntityLocaleId(defaultEntityLocaleIdn);
553
- }
554
-
555
- // Set the viewMode based on the URL
556
- if (mode === 'view' || mode === 'edit') {
557
- setViewMode(mode);
558
- } else {
559
- setViewMode('view'); // Default to 'view' if no valid mode is provided
560
- }
561
- }, [searchParams, params.id]);
562
-
563
- // function that updates view mode
564
- const updateViewMode = (newMode: "view" | "edit") => {
565
- setViewMode(newMode);
566
- const params = new URLSearchParams(searchParams.toString());
567
- params.set("viewMode", newMode);
568
- router.push(`${pathname}?${params.toString()}`);
569
- };
570
-
571
- useEffect(() => {
572
- const fetchPermissions = async () => {
573
- if (params.modelName) {
574
- const permissionNames = [
575
- permissionExpression(params.modelName, 'create'),
576
- permissionExpression(params.modelName, 'delete'),
577
- permissionExpression(params.modelName, 'update'),
578
- permissionExpression(params.modelName, 'findOne'),
579
- permissionExpression(params.modelName, 'publish'),
580
- permissionExpression(params.modelName, 'unpublish'),
581
- permissionExpression('chatterMessage', 'findMany')
582
- ]
583
- const queryData = {
584
- permissionNames: permissionNames
585
- };
586
- const queryString = qs.stringify(queryData, {
587
- encodeValuesOnly: true
588
- });
589
- const response = await triggerCheckIfPermissionExists(queryString);
590
- setActionsAllowed(response.data.data);
591
- }
592
- };
593
- fetchPermissions();
594
- }, [params.modelName]);
595
-
596
- // Create the RTK slices for this entitor (const id of fieldValue) {
597
- // if (!isInt(id)) {
598
- // errors.push({ field: this.fieldMetadata.name, error: `Invalid ids in ${ commandFieldName } ` });
599
- // }
600
- // }y
601
- const entityApi = createSolidEntityApi(params.modelName);
602
- const {
603
- useCreateSolidEntityMutation,
604
- useDeleteSolidEntityMutation,
605
- useGetSolidEntityByIdQuery,
606
- useUpdateSolidEntityMutation,
607
- usePatchUpdateSolidEntityMutation,
608
- usePublishSolidEntityMutation,
609
- useUnpublishSolidEntityMutation
610
- } = entityApi;
611
-
612
- const [
613
- createEntity,
614
- { isSuccess: isEntityCreateSuccess, isError: isEntityCreateError, error: entityCreateError },
615
- ] = useCreateSolidEntityMutation();
616
-
617
- const [
618
- updateEntity,
619
- { isSuccess: isEntityUpdateSuceess, isError: isEntityUpdateError, error: entityUpdateError },
620
- ] = useUpdateSolidEntityMutation();
621
-
622
- const [
623
- deleteEntity,
624
- { isSuccess: isEntityDeleteSuceess, isError: isEntityDeleteError, error: entityDeleteError },
625
- ] = useDeleteSolidEntityMutation();
626
-
627
- const [
628
- patchEntity,
629
- { isSuccess: isEntityPatchSuceess, isError: isEntityPatchError, error: entityPatchError },
630
- ] = usePatchUpdateSolidEntityMutation();
631
-
632
- const [
633
- publishSolidEntity,
634
- { isSuccess: isEntityPublishedSuccess, isError: isEntityPublishedError, error: entityPublishedError },
635
- ] = usePublishSolidEntityMutation();
636
-
637
- const [
638
- unpublishSolidEntity,
639
- { isSuccess: isEntityUnpublishedSuccess, isError: isEntityUnpublishedError, error: entityUnpublishedError },
640
- ] = useUnpublishSolidEntityMutation();
641
-
642
- // - - - - - - - - - - - -- - - - - - - - - - - - METADATA here
643
- // Get the form view layout & metadata first.
644
- const formViewMetaDataQs = qs.stringify({ ...params, viewType: 'form', defaultEntityLocaleId: defaultEntityLocaleId }, {
645
- encodeValuesOnly: true,
646
- });
647
- const [formViewMetaData, setFormViewMetaData] = useState({});
648
- const [formViewLayout, setFormViewLayout] = useState<any>(null);
649
- const {
650
- data: solidFormViewMetaData,
651
- isLoading: solidFormViewMetaDataIsLoading
652
- } = useGetSolidViewLayoutQuery(formViewMetaDataQs);
653
- const [refreshChatterMessage, setRefreshChatterMessage] = useState<boolean>(true);
654
- useEffect(() => {
655
- if (
656
- isEntityCreateSuccess == true ||
657
- isEntityUpdateSuceess == true ||
658
- isEntityDeleteSuceess == true ||
659
- isEntityPatchSuceess == true ||
660
- isEntityPublishedSuccess == true ||
661
- isEntityUnpublishedSuccess == true
662
- ) {
663
- setRefreshChatterMessage(true);
664
- if (params.embeded == true && params.onEmbeddedFormSave) {
665
- params.onEmbeddedFormSave();
666
- }
667
- // Close The pop in case the form is used in embeded form
668
- if (params.embeded == true) {
669
- params.handlePopupClose()
670
- }
671
- if (redirectToList === true) {
672
- if (params.redirectToPath) {
673
- router.push(params.redirectToPath);
674
- window.location.reload();
675
- } else {
676
- const segments = pathname.split('/').filter(Boolean); // Split and filter empty segments
677
- const newPath = '/' + segments.slice(0, -2).join('/') + '/list'; // Remove last segment and add "/all"
678
- router.push(newPath);
679
- }
680
- }
681
- }
682
- }, [isEntityCreateSuccess, isEntityUpdateSuceess, isEntityDeleteSuceess, isEntityPatchSuceess, isEntityPublishedSuccess, isEntityUnpublishedSuccess]);
683
-
684
- useEffect(() => {
685
-
686
- if (solidFormViewMetaData?.data?.solidView?.model?.internationalisation) {
687
- setDefaultTabViewOptionIndex(0)
688
- const matchedLocale = solidFormViewMetaData?.data?.applicableLocales?.find((x: any) => x.isDefault === 'yes');
689
- //this is to attach default locale when adding data in popup view where relations exists
690
- if (!selectedLocale && matchedLocale && !searchParams.get('locale')) {
691
- setSelectedLocale(matchedLocale.locale);
692
- }
693
- }
694
-
695
- }, [params.modelName, solidFormViewMetaData])
696
-
697
- function isFetchBaseQueryErrorWithErrorResponse(error: any): error is FetchBaseQueryError & { data: ErrorResponseData } {
698
- return error && typeof error === 'object' && 'data' in error && 'message' in error.data;
699
- }
700
-
701
- useEffect(() => {
702
- const handleError = (errorToast: any) => {
703
- let errorMessage: any = [ERROR_MESSAGES.ERROR_OCCURED];
704
-
705
- if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {
706
- errorMessage = errorToast.data.message;
707
- } else {
708
- errorMessage = [ERROR_MESSAGES.SOMETHING_WRONG];
709
- }
710
-
711
- toast.current?.show({
712
- severity: 'error',
713
- summary: 'Error',
714
- detail: errorMessage,
715
- sticky: true,
716
- //@ts-ignore
717
- content: () => (
718
- <div className="flex flex-column align-items-left" style={{ flex: "1" }}>
719
- {Array.isArray(errorMessage) ? (
720
- errorMessage.map((message, index) => (
721
- <div className="flex align-items-center gap-2" key={index}>
722
- <span className="font-bold text-900">{message.trim()}</span>
723
- </div>
724
- ))
725
- ) : (
726
- <div className="flex align-items-center gap-2">
727
- <span className="font-bold text-900">{errorMessage?.trim()}</span>
728
- </div>
729
- )}
730
- </div>
731
- ),
732
- });
733
- };
734
-
735
- // Check and handle errors from each API operation
736
- if (isEntityCreateError) {
737
- handleError(entityCreateError);
738
- } else if (isEntityDeleteError) {
739
- handleError(entityDeleteError);
740
- } else if (isEntityUpdateError) {
741
- handleError(entityUpdateError);
742
- } else if (isEntityPatchError) {
743
- handleError(entityPatchError);
744
- } else if (isEntityPublishedError) {
745
- handleError(entityPublishedError);
746
- } else if (isEntityUnpublishedError) {
747
- handleError(entityUnpublishedError);
748
- }
749
- }, [
750
- isEntityCreateError,
751
- isEntityDeleteError,
752
- isEntityUpdateError,
753
- isEntityPatchError,
754
- isEntityPublishedError,
755
- isEntityUnpublishedError
756
- ]);
757
-
758
- const confirmDialogWithPromise = () => {
759
- return new Promise<boolean>((resolve) => {
760
- confirmResolveRef.current = resolve;
761
- setConfirmVisible(true);
762
- });
763
- };
764
-
765
- const onFormikSubmit = async (values: any) => {
766
- const solidView = solidFormViewMetaData.data.solidView;
767
- const solidFieldsMetadata = solidFormViewMetaData.data.solidFieldsMetadata;
768
- const layoutFieldsObj = getLayoutFieldsAsObject([formViewLayout]);
769
- setIsSubmitting(true);
770
- try {
771
- let formData = new FormData();
772
-
773
- // Iterate through the keys in the values object
774
- Object.entries(values).forEach(([key, value]) => {
775
-
776
- const fieldMetadata = solidFieldsMetadata[key];
777
- // const fieldMetadata = getActualFieldMetadata(key, solidFieldsMetadata);
778
- const fieldContext: SolidFieldProps = {
779
- fieldMetadata: fieldMetadata,
780
- field: layoutFieldsObj[key],
781
- data: initialEntityData,
782
- solidFormViewMetaData: solidFormViewMetaData,
783
- modelName: params.modelName
784
- }
785
- let solidField = fieldFactory(fieldMetadata?.type, fieldContext);
786
- // Append each field to the FormData
787
- if (value !== undefined && value !== null && solidField) {
788
- solidField.updateFormData(value, formData);
789
- }
790
- if (value !== undefined && value !== null && key.endsWith("Confirm")) {
791
- formData.append(key, String(value))
792
- }
793
-
794
- });
795
-
796
- let solidWorkflowField = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowField;
797
- if (params.id !== "new") {
798
- if (solidFormViewMetaData?.data?.solidFormViewWorkflowData) {
799
- if (solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.type === "selectionStatic") {
800
- formData.append(solidWorkflowField, solidWorkflowFieldValue);
801
- }
802
- if (solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.type === "many-to-one") {
803
- formData.append(`${solidWorkflowField}Id`, solidWorkflowFieldValue);
804
- }
805
- }
806
- }
807
- if (solidFormViewMetaData?.data?.solidView?.model?.internationalisation) {
808
- if (selectedLocale && !formData.has('localeName')) {
809
- formData.append('localeName', selectedLocale);
810
- }
811
- if (defaultEntityLocaleId) {
812
- formData.append('defaultEntityLocaleId', defaultEntityLocaleId.toString());
813
- }
814
- }
815
- if (solidFormViewMetaData?.data?.solidView?.model?.draftPublishWorkflow) {
816
- if (published) {
817
- formData.append('publishedAt', published);
818
- }
819
- }
820
- if (params.inlineCreateAutoSave === true) {
821
- params.customCreateHandler(formData);
822
- } else {
823
- if (params.id === 'new') {
824
- // default locale
825
- const result = await createEntity(formData).unwrap();
826
- showToast(toast, "success", ERROR_MESSAGES.FORM_SAVED, ERROR_MESSAGES.FORM_SAVED_SUCCESSFULLY);
827
- // if (!params.embeded && result?.data?.id) {
828
- // const newPathname = pathname.replace(/new$/, result.data.id);
829
-
830
- // const params = new URLSearchParams(searchParams.toString());
831
- // params.set("viewMode", "view");
832
-
833
- // const updatedUrl = `${newPathname}?${params.toString()}`;
834
- // await router.push(updatedUrl, { scroll: false });
835
-
836
- // setViewMode("view")
837
- // }
838
- if (!params.embeded) {
839
- const baseFormPath = normalizeSolidFormActionPath(pathname, "form");
840
- const queryParams = new URLSearchParams(searchParams.toString());
841
- queryParams.set("viewMode", "view");
842
- router.push(`${baseFormPath}/${result?.data?.id}?${queryParams.toString()}`);
843
- setViewMode("view")
844
- }
845
- return result;
846
- }
847
- else {
848
- // updateEntity({ id: +params.id, data: formData });
849
- const result = await updateEntity({ id: +params.id, data: formData }).unwrap();
850
- // const result = await updateEntity({ id: +params.id, data: formData }).unwrap();
851
- if (!params.embeded) {
852
- showToast(toast, "success", ERROR_MESSAGES.FORM_UPDATE, ERROR_MESSAGES.FORM_UPDATE_SUCCESSFULLY);
853
- if (result?.statusCode === 200) {
854
- updateViewMode("view")
855
- }
856
- }
857
- return result;
858
-
859
- }
860
- }
861
-
862
- } catch (err) {
863
- console.error(ERROR_MESSAGES.ENTITY_FAILED, err);
864
- } finally {
865
- setIsSubmitting(false);
866
- }
867
- }
868
-
869
- const showFieldError = () => {
870
- if (errorFields?.length === 0) return;
871
- errorFields.forEach((error) => {
872
- toast?.current?.show({
873
- severity: "error",
874
- summary: "Metadata Error",
875
- detail: error,
876
- life: 3000,
877
- });
878
-
879
- });
880
-
881
- // errorFields.length = 0;
882
- };
883
- useEffect(() => {
884
- if (errorFields?.length > 0) {
885
- showFieldError();
886
- }
887
- }, [errorFields])
888
-
889
-
890
- // - - - - - - - - - - - -- - - - - - - - - - - - DATA here
891
- // Fetch the actual data here.
892
- // This is the initial value of this form, will come from an API call in the case of edit.
893
- let layoutFields = [];
894
- let toPopulate = [];
895
- let toPopulateMedia = [];
896
- if (solidFormViewMetaData && formViewLayout) {
897
- const solidView = solidFormViewMetaData.data.solidView;
898
- const solidFieldsMetadata = solidFormViewMetaData.data.solidFieldsMetadata;
899
- layoutFields = [formViewLayout].flatMap(getLayoutFields);
900
- for (let i = 0; i < layoutFields?.length; i++) {
901
- const formLayoutField = layoutFields[i];
902
- const fieldMetadata = solidFieldsMetadata[formLayoutField.attrs.name];
903
- if (fieldMetadata?.type === 'relation') {
904
- toPopulate.push(fieldMetadata.name);
905
- }
906
- if (fieldMetadata?.type === 'mediaSingle' || fieldMetadata?.type === 'mediaMultiple') {
907
- toPopulateMedia.push(fieldMetadata.name);
908
- }
909
- }
910
- if (formViewLayout.attrs?.workflowField && solidFieldsMetadata[formViewLayout.attrs.workflowField]?.type === 'relation' && solidFieldsMetadata[formViewLayout.attrs.workflowField]?.relationType === 'many-to-one') {
911
- toPopulate.push(solidFieldsMetadata[formViewLayout.attrs.workflowField].name);
912
- }
913
- }
914
- // TODO: Possible optimisation here, we are firing 2 queries to load the form view data object.
915
- // once without populate & populateMedia and then again once after that.
916
- const formViewDataQs = qs.stringify({ populate: toPopulate, populateMedia: toPopulateMedia }, {
917
- encodeValuesOnly: true,
918
- });
919
- const [initialEntityData, setInitialEntityData] = useState({});
920
- const {
921
- data: solidFormViewData,
922
- isLoading: solidFormViewDataIsLoading,
923
- refetch: refetchSolidFormViewData,
924
- } = useGetSolidEntityByIdQuery({ id: params.id, qs: formViewDataQs }, {
925
- skip: params.id === 'new'
926
- });
927
- useEffect(() => {
928
- if (params.id !== 'new') {
929
- refetchSolidFormViewData()
930
- }
931
- }, [formViewDataQs])
932
-
933
- useEffect(() => {
934
- if (solidFormViewMetaData) {
935
- if (params.customLayout) {
936
- setFormViewLayout(params.customLayout);
937
- } else {
938
- setFormViewLayout(solidFormViewMetaData?.data?.solidView?.layout);
939
- }
940
- setPublished(solidFormViewData?.data?.publishedAt);
941
- setFormViewMetaData(solidFormViewMetaData);
942
- }
943
- }, [solidFormViewMetaData]);
944
-
945
- // useEffect(() => {
946
- // const handleOnFormLayoutLoadEvent = async () => {
947
- // if (solidFormViewMetaData) {
948
- // // let formLayout = solidFormViewMetaData;
949
- // // let customLayout = params?.customLayout;
950
- // const onFormLayoutLoadHandlerExtensionFunction = solidFormViewMetaData?.data?.solidView?.layout?.onFormLayoutLoad;
951
- // // let dynamicExtensionFunction = null;
952
- // let formLayout = solidFormViewMetaData?.data?.solidView?.layout;
953
- // if (params.customLayout) {
954
- // formLayout = params.customLayout;
955
- // }
956
- // const event: SolidLoadForm = {
957
- // parentData: params?.parentData,
958
- // fieldsMetadata: solidFormViewMetaData,
959
- // formData: solidFormViewData?.data,
960
- // type: 'onFormLayoutLoad',
961
- // viewMetadata: solidFormViewMetaData?.data?.solidView,
962
- // formViewLayout: formLayout,
963
- // queryParams: {
964
- // actionName,
965
- // actionType,
966
- // actionContext
967
- // }
968
- // }
969
- // if (onFormLayoutLoadHandlerExtensionFunction) {
970
- // const dynamicExtensionFunction = getExtensionFunction(onFormLayoutLoadHandlerExtensionFunction);
971
- // if (dynamicExtensionFunction) {
972
- // try {
973
- // const updatedFormLayout: SolidUiEventResponse = await dynamicExtensionFunction(event);
974
- // if (updatedFormLayout && updatedFormLayout?.layoutChanged && updatedFormLayout?.newLayout) {
975
- // setFormViewLayout(updatedFormLayout.newLayout);
976
- // // const newFormLayout = {
977
- // // ...formLayout,
978
- // // data: {
979
- // // ...formLayout.data,
980
- // // solidView: {
981
- // // ...formLayout.data.solidView,
982
- // // layout: updatedFormLayout.newLayout
983
- // // }
984
- // // }
985
- // // };
986
- // // formLayout = newFormLayout;
987
- // // customLayout = updatedFormLayout.newLayout;
988
- // }
989
- // } catch (error) {
990
- // console.error(ERROR_MESSAGES.DYNAMIC_FUNCTION_ERROR, error);
991
- // }
992
- // }
993
- // }
994
- // // setFormViewMetaData(formLayout);
995
- // // if (params.customLayout) {
996
- // // setFormViewLayout(customLayout);
997
- // // } else {
998
- // // setFormViewLayout(formLayout.data.solidView.layout);
999
- // // }
1000
- // }
1001
- // };
1002
- // const handleOnFormDataLoadEvent = async () => {
1003
- // const onFormDataLoadHandlerExtensionFunction = solidFormViewMetaData?.data?.solidView?.layout?.onFormDataLoad;
1004
- // // let dynamicExtensionFunction = null;
1005
- // let formViewData = solidFormViewData?.data;
1006
-
1007
- // let formLayout = solidFormViewMetaData?.data?.solidView?.layout;
1008
- // if (params.customLayout) {
1009
- // formLayout = params.customLayout;
1010
- // }
1011
-
1012
- // const event: SolidLoadForm = {
1013
- // fieldsMetadata: solidFormViewMetaData,
1014
- // formData: solidFormViewData?.data,
1015
- // type: "onFormDataLoad",
1016
- // viewMetadata: solidFormViewMetaData?.data?.solidView,
1017
- // formViewLayout: formLayout,
1018
- // queryParams: {
1019
- // actionName,
1020
- // actionType,
1021
- // actionContext
1022
- // }
1023
- // };
1024
- // if (onFormDataLoadHandlerExtensionFunction) {
1025
- // const dynamicExtensionFunction = getExtensionFunction(onFormDataLoadHandlerExtensionFunction);
1026
- // if (dynamicExtensionFunction) {
1027
- // const updatedFormData: SolidUiEventResponse = await dynamicExtensionFunction(event);
1028
-
1029
- // if (updatedFormData && updatedFormData?.dataChanged && updatedFormData?.newFormData) {
1030
- // formViewData = updatedFormData.newFormData;
1031
- // }
1032
- // }
1033
- // if (formViewData) {
1034
- // setInitialEntityData(formViewData);
1035
- // }
1036
- // }
1037
- // };
1038
- // const handleOnFormLoadEvent = async () => {
1039
- // const onFormLoadHandlerExtensionFunction = solidFormViewMetaData?.data?.solidView?.layout?.onFormLoad;
1040
- // // let dynamicExtensionFunction = null;
1041
- // let localFormViewMetadata = solidFormViewMetaData;
1042
- // // let customLayout = params?.customLayout;
1043
- // let formViewData = solidFormViewData?.data;
1044
-
1045
- // let formLayout = solidFormViewMetaData?.data?.solidView?.layout;
1046
- // if (params.customLayout) {
1047
- // formLayout = params.customLayout;
1048
- // }
1049
-
1050
- // const event: SolidLoadForm = {
1051
- // parentData: params?.parentData,
1052
- // fieldsMetadata: solidFormViewMetaData,
1053
- // formData: solidFormViewData?.data,
1054
- // type: 'onFormLoad',
1055
- // viewMetadata: solidFormViewMetaData?.data?.solidView,
1056
- // formViewLayout: formViewLayout,
1057
- // queryParams: {
1058
- // actionName,
1059
- // actionType,
1060
- // actionContext
1061
- // }
1062
- // };
1063
-
1064
- // if (onFormLoadHandlerExtensionFunction) {
1065
- // const dynamicExtensionFunction = getExtensionFunction(onFormLoadHandlerExtensionFunction);
1066
- // if (dynamicExtensionFunction) {
1067
- // try {
1068
- // const result: SolidUiEventResponse = await dynamicExtensionFunction(event);
1069
- // if (result && result?.layoutChanged && result?.newLayout) {
1070
- // // const newLocalFormViewMetadata = {
1071
- // // ...localFormViewMetadata,
1072
- // // data: {
1073
- // // ...localFormViewMetadata.data,
1074
- // // solidView: {
1075
- // // ...localFormViewMetadata.data.solidView,
1076
- // // layout: result.newLayout
1077
- // // }
1078
- // // }
1079
- // // };
1080
- // // localFormViewMetadata = newLocalFormViewMetadata;
1081
- // // customLayout = result.newLayout;
1082
- // // setFormViewMetaData(localFormViewMetadata);
1083
-
1084
- // setFormViewLayout(result.newLayout);
1085
- // // if (params.customLayout) {
1086
- // // setFormViewLayout(customLayout);
1087
- // // } else {
1088
- // // setFormViewLayout(localFormViewMetadata.data.solidView.layout);
1089
- // // }
1090
- // }
1091
- // if (result && result?.dataChanged && result?.newFormData) {
1092
- // formViewData = result.newFormData;
1093
- // setInitialEntityData(formViewData);
1094
- // }
1095
- // } catch (error) {
1096
- // console.error(ERROR_MESSAGES.ON_FORM_LOAD, error);
1097
- // }
1098
- // }
1099
- // }
1100
- // };
1101
-
1102
- // handleOnFormLayoutLoadEvent();
1103
- // handleOnFormDataLoadEvent();
1104
- // handleOnFormLoadEvent();
1105
- // }, [solidFormViewMetaData, solidFormViewData]);
1106
-
1107
-
1108
- useEffect(() => {
1109
- const runFormEvents = async () => {
1110
- if (!solidFormViewMetaData) return;
1111
-
1112
- /** ----------------------------
1113
- * 1. Initialize working state
1114
- * ----------------------------- */
1115
- let workingLayout = params.customLayout ?? solidFormViewMetaData?.data?.solidView?.layout;
1116
- let workingFormData = solidFormViewData?.data;
1117
- const baseEvent = {
1118
- parentData: params?.parentData,
1119
- fieldsMetadata: solidFormViewMetaData,
1120
- viewMetadata: solidFormViewMetaData?.data?.solidView,
1121
- queryParams: {
1122
- actionName,
1123
- actionType,
1124
- actionContext,
1125
- },
1126
- };
1127
-
1128
- /** ----------------------------
1129
- * 2. onFormLayoutLoad
1130
- * ----------------------------- */
1131
- const onFormLayoutLoadFn =
1132
- solidFormViewMetaData?.data?.solidView?.layout?.onFormLayoutLoad;
1133
-
1134
- if (onFormLayoutLoadFn) {
1135
- const fn = getExtensionFunction(onFormLayoutLoadFn);
1136
- if (fn) {
1137
- try {
1138
- const result: SolidUiEventResponse = await fn({
1139
- ...baseEvent,
1140
- type: "onFormLayoutLoad",
1141
- formData: workingFormData,
1142
- formViewLayout: workingLayout,
1143
- });
1144
-
1145
- if (result?.layoutChanged && result?.newLayout) {
1146
- workingLayout = result.newLayout;
1147
- }
1148
- } catch (e) {
1149
- console.error(ERROR_MESSAGES.DYNAMIC_FUNCTION_ERROR, e);
1150
- }
1151
- }
1152
- }
1153
-
1154
- /** ----------------------------
1155
- * 3. onFormDataLoad
1156
- * ----------------------------- */
1157
- const onFormDataLoadFn =
1158
- solidFormViewMetaData?.data?.solidView?.layout?.onFormDataLoad;
1159
-
1160
- if (onFormDataLoadFn) {
1161
- const fn = getExtensionFunction(onFormDataLoadFn);
1162
- if (fn) {
1163
- try {
1164
- const result: SolidUiEventResponse = await fn({
1165
- ...baseEvent,
1166
- type: "onFormDataLoad",
1167
- formData: workingFormData,
1168
- formViewLayout: workingLayout, // ✅ UPDATED layout
1169
- });
1170
-
1171
- if (result?.dataChanged && result?.newFormData) {
1172
- workingFormData = result.newFormData;
1173
- }
1174
- } catch (e) {
1175
- console.error(ERROR_MESSAGES.DYNAMIC_FUNCTION_ERROR, e);
1176
- }
1177
- }
1178
- }
1179
-
1180
- /** ----------------------------
1181
- * 4. onFormLoad
1182
- * ----------------------------- */
1183
- const onFormLoadFn =
1184
- solidFormViewMetaData?.data?.solidView?.layout?.onFormLoad;
1185
-
1186
- if (onFormLoadFn) {
1187
- const fn = getExtensionFunction(onFormLoadFn);
1188
- if (fn) {
1189
- try {
1190
- const result: SolidUiEventResponse = await fn({
1191
- ...baseEvent,
1192
- type: "onFormLoad",
1193
- formData: workingFormData,
1194
- formViewLayout: workingLayout, // ✅ FINAL layout
1195
- });
1196
-
1197
- if (result?.layoutChanged && result?.newLayout) {
1198
- workingLayout = result.newLayout;
1199
- }
1200
-
1201
- if (result?.dataChanged && result?.newFormData) {
1202
- workingFormData = result.newFormData;
1203
- }
1204
- } catch (e) {
1205
- console.error(ERROR_MESSAGES.ON_FORM_LOAD, e);
1206
- }
1207
- }
1208
- }
1209
-
1210
- /** ----------------------------
1211
- * 5. Commit once to React state
1212
- * ----------------------------- */
1213
- if (workingLayout) {
1214
- setFormViewLayout(workingLayout);
1215
- }
1216
-
1217
- if (workingFormData) {
1218
- setInitialEntityData(workingFormData);
1219
- }
1220
- };
1221
-
1222
- runFormEvents();
1223
- }, [solidFormViewMetaData, solidFormViewData]);
1224
-
1225
-
1226
- useEffect(() => {
1227
- if (solidFormViewData) {
1228
- setInitialEntityData(solidFormViewData.data);
1229
- }
1230
- }, [solidFormViewData]);
1231
-
1232
- let formik: FormikObject;
1233
-
1234
- // If either the metadata or the data of this form is loading, then we simply render a loading screen...
1235
- if (solidFormViewMetaDataIsLoading || solidFormViewDataIsLoading || !formViewLayout) {
1236
- formik = useFormik({
1237
- initialValues: {},
1238
- validationSchema: Yup.object(),
1239
- enableReinitialize: true,
1240
- onSubmit: onFormikSubmit,
1241
- });
1242
-
1243
- return <SolidFormViewShimmerLoading />;
1244
- }
1245
- // At this point everything required to render the form is loaded, so we go ahead and start rendering things dynamically...
1246
- else {
1247
-
1248
- // Initialize formik...
1249
- const solidView = solidFormViewMetaData.data.solidView;
1250
- const solidFieldsMetadata = solidFormViewMetaData.data.solidFieldsMetadata;
1251
-
1252
- const validationSchema = {};
1253
- const initialValues = {};
1254
-
1255
- for (let i = 0; i < layoutFields?.length; i++) {
1256
- const formLayoutField = layoutFields[i];
1257
- const fieldMetadata = solidFieldsMetadata[formLayoutField.attrs.name];
1258
- const fieldContext: SolidFieldProps = {
1259
- fieldMetadata: fieldMetadata,
1260
- field: formLayoutField,
1261
- data: initialEntityData,
1262
- solidFormViewMetaData: solidFormViewMetaData,
1263
- modelName: params.modelName
1264
- }
1265
- if (params.parentData) {
1266
- fieldContext.parentData = params.parentData;
1267
- }
1268
- let solidField = fieldFactory(fieldMetadata?.type, fieldContext);
1269
- if (!fieldMetadata?.type) {
1270
- const errorMessage = formLayoutField?.attrs?.label ? formLayoutField?.attrs?.label : formLayoutField.attrs.name;
1271
- if (!errorFields.includes(errorMessage)) {
1272
- // errorFields.push(errorMessage);
1273
- }
1274
- }
1275
- if (solidField) {
1276
- // @ts-ignore
1277
- validationSchema[formLayoutField.attrs.name] = solidField.validationSchema();
1278
- // @ts-ignore
1279
- initialValues[formLayoutField.attrs.name] = solidField.initialValue();
1280
-
1281
- }
1282
- }
1283
-
1284
- formik = useFormik({
1285
- initialValues: initialValues,
1286
- validationSchema: Yup.object(validationSchema),
1287
- enableReinitialize: true,
1288
- onSubmit: onFormikSubmit,
1289
- });
1290
-
1291
- const formFieldOnXXX = async (event: ChangeEvent<HTMLInputElement>, eventType: string) => {
1292
-
1293
- // Invoke the formik change
1294
- if (eventType === 'onFieldChange') {
1295
- formik.handleChange(event);
1296
- }
1297
-
1298
- // get details from the form event
1299
- const { name: fieldName, value, type, checked } = event.target;
1300
-
1301
- // TODO: check if there is a change handler registered with this form view, load it and fire it.
1302
- let changeHandler = solidView.layout.attrs[eventType];
1303
- if (!changeHandler) {
1304
- changeHandler = solidView.layout[eventType];
1305
- }
1306
-
1307
- if (changeHandler) {
1308
- // Get hold of the dynamic module...
1309
- // const dynamicChangeHandler = await loadDynamicModule(changeHandler);
1310
- const dynamicChangeHandler = getExtensionFunction(changeHandler);
1311
-
1312
- // Invoke the dynamic module...
1313
- if (dynamicChangeHandler) {
1314
- const event: SolidUiEvent = {
1315
- fieldsMetadata: solidFieldsMetadata,
1316
- formData: formik.values,
1317
- modifiedField: fieldName,
1318
- modifiedFieldValue: value,
1319
- // @ts-ignore
1320
- // TODO: HP & OR: This will be fixed once we figure out how to get types exported from core-ui
1321
- type: eventType,
1322
- viewMetadata: solidView,
1323
- formViewLayout: formViewLayout,
1324
- queryParams: {
1325
- actionName,
1326
- actionContext,
1327
- actionType
1328
- }
1329
- }
1330
-
1331
- // Invoke the dynamic change handler:
1332
- // TODO: encapsulate in try/catch, catch the exception render in the UI as an error & stop form rendering.
1333
- const updatedFormInfo: SolidUiEventResponse = await dynamicChangeHandler(event);
1334
-
1335
- // If dataChanged is true, update Formik values
1336
- if (updatedFormInfo?.dataChanged && updatedFormInfo.newFormData) {
1337
- // This does one field at a time.
1338
- // TODO: does the below fire change events again?
1339
- Object.entries(updatedFormInfo.newFormData).forEach(([key, newValue]) => {
1340
- formik.setFieldValue(key, newValue);
1341
- });
1342
-
1343
- // This does all at once.
1344
- // formik.setValues({
1345
- // ...formik.values,
1346
- // ...updatedFormInfo.newFormData
1347
- // });
1348
- }
1349
-
1350
- // if layout has changed then we need to re-render.
1351
- if (updatedFormInfo?.layoutChanged && updatedFormInfo.newLayout) {
1352
- // setFormViewMetaData({ ...formViewMetaData, layout: updatedFormInfo.newLayout });
1353
-
1354
- // TODO: this will trigger a useEffect dependent on formViewMetadata that invokes setFormViewLayout,
1355
- // TODO: which means that this will not work if custom layout has been injected as a prop.
1356
- setFormViewLayout(updatedFormInfo.newLayout);
1357
- // setFormViewMetaData((prevMetaData: any) => {
1358
- // const updatedFormViewMetadata = {
1359
- // ...prevMetaData,
1360
- // data: {
1361
- // ...prevMetaData.data,
1362
- // solidView: {
1363
- // ...prevMetaData.data.solidView,
1364
- // layout: updatedFormInfo.newLayout,
1365
- // },
1366
- // },
1367
- // };
1368
- // return updatedFormViewMetadata;
1369
- // });
1370
- }
1371
- }
1372
- else {
1373
- // TODO: Show an error popup and stop form rendering ideallly...
1374
- console.log(ERROR_MESSAGES.UNABLE_LOAD_DYNAMIC_MODULE, changeHandler);
1375
- }
1376
- }
1377
- }
1378
-
1379
- // Now render the form dynamically...
1380
- const renderFormElementDynamically: any = (element: any, recursiveFVMD: any) => {
1381
- let { type, attrs, body, children } = element;
1382
-
1383
- // const key = attrs?.name ?? generateRandomKey();
1384
- const key = attrs?.label;
1385
- let visible = attrs?.visible;
1386
- if (visible === undefined || visible === null) {
1387
- visible = true;
1388
- }
1389
- // console.log(`Resolved visibility of form element ${ key } to ${ visible } `);
1390
- // console.log(`Form element ${ key }: `, attrs);
1391
- const visibleToRole = attrs?.roles || [];
1392
-
1393
- if (visibleToRole.length > 0) {
1394
- if (!hasAnyRole(user?.roles, visibleToRole)) {
1395
- return <></>
1396
- }
1397
- }
1398
-
1399
- switch (type) {
1400
- case "form":
1401
- if (!children)
1402
- children = [];
1403
- return <div key={key}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</div>;
1404
- case "div":
1405
- if (!children)
1406
- children = [];
1407
- return <div key={key} {...attrs}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</div>
1408
- case "span":
1409
- return <span key={key} {...attrs}>{body}</span>
1410
- case "p":
1411
- return <p key={key} className={attrs?.className} {...attrs}>{body}</p>
1412
- case "h1":
1413
- return <h1 key={key} {...attrs}>{body}</h1>
1414
- case "h2":
1415
- return <h2 key={key} {...attrs}>{body}</h2>
1416
- case "ul":
1417
- if (!children)
1418
- children = [];
1419
- return <ul key={key} {...attrs}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</ul>
1420
- case "li":
1421
- return <li key={key} {...attrs}>{body}</li>
1422
- case "sheet":
1423
- return <SolidSheet key={key}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</SolidSheet>;
1424
- case "group":
1425
- if (visible === true) {
1426
- return <SolidGroup key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</SolidGroup>;
1427
- }
1428
- break;
1429
- case "row":
1430
- if (visible === true) {
1431
- return <SolidRow key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</SolidRow>;
1432
- }
1433
- break;
1434
- case "column":
1435
- if (visible === true) {
1436
- return <SolidColumn key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</SolidColumn>;
1437
- }
1438
- break;
1439
- case "field":
1440
- if (visible === true) {
1441
-
1442
- // const fieldMetadata = solidFieldsMetadata[attrs.name];
1443
- const fieldMetadata = recursiveFVMD.data.solidFieldsMetadata[attrs.name];
1444
- // Read only permission if there is no update permission on model and router doesnt contains new
1445
- const readOnlyPermission = !actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) && params.id !== "new";
1446
- return <SolidField
1447
- key={attrs.name}
1448
- field={element}
1449
- formik={formik}
1450
- fieldMetadata={fieldMetadata}
1451
- initialEntityData={solidFormViewData ? solidFormViewData.data : {}}
1452
- solidFormViewMetaData={recursiveFVMD}
1453
- modelName={params.modelName}
1454
- readOnly={readOnlyPermission}
1455
- viewMode={viewMode}
1456
- onChange={formFieldOnXXX}
1457
- onBlur={formFieldOnXXX}
1458
- setLightboxUrls={setLightboxUrls}
1459
- setOpenLightbox={setOpenLightbox}
1460
- parentFieldName={params.parentFieldName}
1461
- parentData={params.parentData}
1462
- onEmbeddedFormSave={() => setRefreshChatterMessage(true)}
1463
- />;
1464
- }
1465
- break;
1466
-
1467
- case "notebook":
1468
- if (visible === true) {
1469
- return <SolidNotebook key={key} activeTab={searchParams.get("activeTab") || ""} embeded={params.embeded}>{children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD, formik))}</SolidNotebook>;
1470
- }
1471
- break;
1472
- case "page":
1473
- if (visible === true) {
1474
- const fields = children.flatMap((child: any) => getLayoutFields(child));
1475
- const pageChildren = children.map((element: any) => renderFormElementDynamically(element, recursiveFVMD));
1476
- return SolidPage({ children: pageChildren, attrs: attrs, key: key, formik: formik, fields });
1477
- }
1478
- break;
1479
- case "custom":
1480
- if (visible === true) {
1481
- const widgetName = attrs?.widget;
1482
- const fieldMetadata = recursiveFVMD.data.solidFieldsMetadata[attrs.name];
1483
-
1484
- if (widgetName) {
1485
- // widgetName, formik, field, fieldMetadata, solidFormViewMetaData
1486
- return <SolidDynamicWidget
1487
- key={key}
1488
- widgetName={widgetName}
1489
- field={element}
1490
- formik={formik}
1491
- fieldMetadata={fieldMetadata}
1492
- solidFormViewMetaData={recursiveFVMD}
1493
- solidFormViewData={solidFormViewData}
1494
- />
1495
- }
1496
- }
1497
- break;
1498
-
1499
- default:
1500
- return null;
1501
- }
1502
- };
1503
-
1504
- const renderFormDynamically = (recursiveFVMD: any, formViewLayout: any) => {
1505
- if (!recursiveFVMD) {
1506
- return;
1507
- }
1508
- if (!recursiveFVMD.data) {
1509
- return;
1510
- }
1511
- const solidView = recursiveFVMD.data.solidView;
1512
- const solidFieldsMetadata = recursiveFVMD.data.solidFieldsMetadata;
1513
- if (!solidView || !solidFieldsMetadata) {
1514
- return;
1515
- }
1516
- const updatedLayout = [formViewLayout];
1517
- const dynamicForm = updatedLayout.map((element: any) => renderFormElementDynamically(element, recursiveFVMD));
1518
-
1519
- return dynamicForm;
1520
- };
1521
-
1522
- const handleDeleteEntity = async () => {
1523
- deleteEntity(solidFormViewData.data.id);
1524
- setDeleteDialogVisible(false);
1525
- if (params.embeded == true) {
1526
- setRedirectToList(false)
1527
-
1528
- } else {
1529
- setRedirectToList(true)
1530
-
1531
- }
1532
- // router.back();
1533
- }
1534
-
1535
- const onDeleteClose = () => {
1536
- setDeleteDialogVisible(false);
1537
- }
1538
-
1539
- const dynamicHeader = solidView.layout?.header;
1540
- let DynamicHeaderComponent = null;
1541
- if (dynamicHeader) {
1542
- DynamicHeaderComponent = getExtensionComponent(dynamicHeader);
1543
- }
1544
- const customFormComponentEdit = solidView.layout.attrs.customFormComponentEdit;
1545
- const customFormComponentNew = solidView.layout.attrs.customFormComponentNew;
1546
- let DynamicFormComponentEdit = null;
1547
- let DynamicFormComponentNew = null;
1548
- if (customFormComponentEdit) {
1549
- DynamicFormComponentEdit = getExtensionComponent(customFormComponentEdit);
1550
- }
1551
- if (customFormComponentNew) {
1552
- DynamicFormComponentNew = getExtensionComponent(customFormComponentNew);
1553
- }
1554
-
1555
- const handleChatterExpandClick = (option?: string) => {
1556
- setShowChatter(true);
1557
- if (option === 'info') {
1558
- setDefaultTabViewOptionIndex(0);
1559
- } else if (option === 'chatter') {
1560
- setDefaultTabViewOptionIndex(1);
1561
- setRefreshChatterMessage(true);
1562
- } else {
1563
- setDefaultTabViewOptionIndex(2);
1564
- }
1565
- };
1566
-
1567
- //en 4 null
1568
- const handleLocaleChangeRedirect = (
1569
- locale: string,
1570
- defaultEntityLocaleId: string,
1571
- viewMode: string,
1572
- ) => {
1573
- let newViewMode = viewMode;
1574
- const defaultApplicableLocales = solidFormViewMetaData?.data?.applicableLocales || [];
1575
- //fr 4
1576
- const matchingLocale = defaultApplicableLocales.find(
1577
- (loc: any) =>
1578
- loc.defaultEntityLocaleId &&
1579
- loc.entityId &&
1580
- loc.locale === locale
1581
- );
1582
- // Extract the base path from the current pathname, removing query params if any
1583
- const basePath = pathname.split('?')[0];
1584
-
1585
- // Determine entity part of the path (new or existing entityId)
1586
- const entityPart = matchingLocale?.entityId ?? 'new';
1587
- if (entityPart === 'new' && viewMode === 'view') {
1588
- newViewMode = 'edit'
1589
- } else if (entityPart !== 'new' && viewMode === 'view') {
1590
- newViewMode = 'view'
1591
- } else {
1592
- newViewMode = 'edit'
1593
- }
1594
- // Construct new pathname using existing basePath and replacing entity segment
1595
- const updatedPath = basePath.replace(/\/form\/[^/]+/, `/form/${entityPart}`);
1596
-
1597
- const queryParams = new URLSearchParams({
1598
- viewMode: newViewMode,
1599
- locale,
1600
- defaultEntityLocaleId,
1601
- });
1602
-
1603
- router.push(`${updatedPath}?${queryParams.toString()}`);
1604
- };
1605
-
1606
- const handleConfirmAccept = () => {
1607
- confirmResolveRef.current?.(true);
1608
- setConfirmVisible(false);
1609
- };
1610
-
1611
- const handleConfirmReject = () => {
1612
- confirmResolveRef.current?.(false);
1613
- setConfirmVisible(false);
1614
- };
1615
- const handleDraftPublishWorkFlow = async (type: "publish" | "unpublish") => {
1616
- const userChoice = await confirmDialogWithPromise();
1617
- if (!userChoice) return;
1618
-
1619
- // const finalPublishedValue =
1620
- // type === "publish" ? new Date().toISOString() : "";
1621
-
1622
- // setPublished(finalPublishedValue);
1623
-
1624
- // const formdata = new FormData();
1625
- // formdata.append("publishedAt", finalPublishedValue);
1626
-
1627
- let result;
1628
-
1629
- if (type === "publish") {
1630
- result = await publishSolidEntity(params.id).unwrap();
1631
- showToast(toast, "success", ERROR_MESSAGES.SAVED, ERROR_MESSAGES.MARK_PUBLISH);
1632
- } else {
1633
- result = await unpublishSolidEntity(params.id).unwrap();
1634
- showToast(toast, "success", ERROR_MESSAGES.SAVED, ERROR_MESSAGES.MARK_UNPUBLISH);
1635
- }
1636
-
1637
- console.log("publish/unpublish result", result);
1638
-
1639
- // Set updated publish value from API response
1640
- setPublished(result?.data?.publishedAt);
1641
- };
1642
-
1643
-
1644
- const isVideoOrAudio = (url: string) => {
1645
- // Remove query params if present
1646
- const cleanUrl = url.split("?")[0];
1647
- const ext = cleanUrl.split(".").pop()?.toLowerCase();
1648
-
1649
- // Combined list of supported media extensions
1650
- const mediaExt = ["mp4", "webm", "ogg", "mov", "mp3", "wav", "m4a", "aac"];
1651
-
1652
- return ext ? mediaExt.includes(ext) : false;
1653
- };
1654
-
1655
- const controlsList = ["nodownload", "nofullscreen", "noremoteplayback"];
1656
- const slides = lightboxUrls.map((item: any) => {
1657
- const url = item.src || item.downloadUrl || "";
1658
- if (isVideoOrAudio(url)) {
1659
- return {
1660
- type: "video" as const,
1661
- sources: [{ src: url, type: "video/mp4", }],
1662
- };
1663
- }
1664
- return { src: url };
1665
- });
1666
-
1667
- const hasMedia = slides.some((s) => s.type === "video");
1668
-
1669
-
1670
-
1671
- return (
1672
- <div className="solid-form-wrapper">
1673
- <Toast ref={toast} />
1674
- <div className="solid-form-section" style={{ borderRight: params.embeded !== true ? '1px solid var(--primary-light-color)' : '' }} >
1675
- <form style={{ width: '100%' }} onSubmit={formik.handleSubmit}>
1676
- <SolidFormActionHeader
1677
- formik={formik}
1678
- formData={solidFormViewData?.data}
1679
- params={params}
1680
- actionsAllowed={actionsAllowed}
1681
- formViewLayout={formViewLayout}
1682
- solidView={solidView}
1683
- solidFormViewMetaData={solidFormViewMetaData}
1684
- initialEntityData={solidFormViewData ? solidFormViewData.data : {}}
1685
- setDeleteDialogVisible={setDeleteDialogVisible}
1686
- setLayoutDialogVisible={setLayoutDialogVisible}
1687
- setRedirectToList={setRedirectToList}
1688
- viewMode={viewMode}
1689
- setViewMode={setViewMode}
1690
- solidWorkflowFieldValue={solidWorkflowFieldValue}
1691
- setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}
1692
- draftEnabled={solidFormViewMetaData?.data?.solidView?.model?.draftPublishWorkflow}
1693
- publish={published}
1694
- internationalisationEnabled={solidFormViewMetaData?.data?.solidView?.model?.internationalisation}
1695
- handleDraftPublishWorkFlow={handleDraftPublishWorkFlow}
1696
- onStepperUpdate={() => setRefreshChatterMessage(true)}
1697
- isSubmitting={isSubmitting}
1698
- />
1699
- <div className={`px-4 py-3 md:p-4 solid-form-content ${params.embeded === true ? 'h-auto' : ''}`} style={{ maxHeight: params.embeded === true ? '80vh' : '', overflowY: 'auto' }}>
1700
- {DynamicHeaderComponent && <DynamicHeaderComponent />}
1701
- {params.id === 'new' && DynamicFormComponentNew ? (
1702
- <DynamicFormComponentNew params={params} />
1703
- ) : params.id !== 'new' && DynamicFormComponentEdit ? (
1704
- <DynamicFormComponentEdit params={params} />
1705
- ) : (
1706
- renderFormDynamically(formViewMetaData, formViewLayout)
1707
- )}
1708
- </div>
1709
-
1710
- </form>
1711
- <SolidFormFooter params={params}></SolidFormFooter>
1712
- </div>
1713
- {params.embeded !== true &&
1714
- <div className={`chatter-section ${isShowChatter === false ? 'collapsed' : 'open'}`} style={{ width: chatterLocaleWidth }}>
1715
- {isShowChatter && (
1716
- <div
1717
- style={{
1718
- width: 5,
1719
- cursor: 'col-resize',
1720
- position: 'absolute',
1721
- left: 0,
1722
- top: 0,
1723
- bottom: 0,
1724
- zIndex: 9,
1725
- }}
1726
- onMouseDown={() => setIsResizingChatterLocale(true)}
1727
- />
1728
- )}
1729
- {isShowChatter === true &&
1730
- <Button
1731
- icon="pi pi-angle-double-right"
1732
- size="small"
1733
- text
1734
- className="chatter-collapse-btn"
1735
- style={{ width: 30, height: 30, aspectRatio: '1/1' }}
1736
- onClick={() => setShowChatter(false)}
1737
- />
1738
- }
1739
- {isShowChatter === false ?
1740
- <div className="flex flex-column gap-2 justify-content-center p-2">
1741
- {/*if solidview Internationalisation is enabled then show the locale tab */}
1742
- {solidFormViewMetaData?.data?.solidView?.model?.draftPublishWorkflow &&
1743
- <div className="chatter-collapsed-content" onClick={() => handleChatterExpandClick('info')}>
1744
- Info
1745
- </div>}
1746
- <div className="chatter-collapsed-content" onClick={() => handleChatterExpandClick('chatter')}>
1747
- Audit Trail
1748
- </div>
1749
- {
1750
- mcpUrl &&
1751
- (
1752
- <div className="chatter-collapsed-content" onClick={() => handleChatterExpandClick('solidx-ai')}>
1753
- <div className="flex gap-2"> <SolidXAIIcon /> SolidX AI </div>
1754
- </div>
1755
- )
1756
- }
1757
- <Button
1758
- icon="pi pi-chevron-left"
1759
- size="small"
1760
- className="px-0"
1761
- style={{ width: 30 }}
1762
- onClick={() => handleChatterExpandClick('default')}
1763
- />
1764
- </div>
1765
- :
1766
- <SolidChatterLocaleTabView
1767
- createMode={createMode}
1768
- setSelectedLocale={setSelectedLocale}
1769
- selectedLocale={selectedLocale}
1770
- solidFormViewMetaData={solidFormViewMetaData}
1771
- id={params.id}
1772
- refreshChatterMessage={refreshChatterMessage}
1773
- setRefreshChatterMessage={setRefreshChatterMessage}
1774
- activeTab={defaultTabViewOptionIndex}
1775
- viewMode={viewMode}
1776
- defaultEntityLocaleId={defaultEntityLocaleId}
1777
- handleLocaleChangeRedirect={handleLocaleChangeRedirect}
1778
- solidFormViewData={solidFormViewData}
1779
- published={published}
1780
- actionsAllowed={actionsAllowed}
1781
- mcpUrl={mcpUrl}
1782
- />
1783
- }
1784
- </div>
1785
- }
1786
-
1787
- <Dialog
1788
- visible={isDeleteDialogVisible}
1789
- header="Confirm Delete"
1790
- className="solid-confirm-dialog"
1791
- modal
1792
- footer={() => (
1793
- <div className="flex justify-content-center">
1794
- <Button label="Yes" icon="pi pi-check" className='small-button' severity="danger" autoFocus onClick={() => handleDeleteEntity()} />
1795
- <Button label="No" icon="pi pi-times" className='small-button' onClick={onDeleteClose} />
1796
- </div>
1797
- )}
1798
- onHide={() => setDeleteDialogVisible(false)}
1799
- >
1800
- <p>Are you sure you want to delete?</p>
1801
- </Dialog>
1802
- <Dialog
1803
- visible={isLayoutDialogVisible}
1804
- header="Change Form Layout"
1805
- modal
1806
- onHide={() => setLayoutDialogVisible(false)}
1807
- style={{ width: '50vw' }}
1808
- breakpoints={{
1809
- '960px': '80vw',
1810
- '641px': '95vw'
1811
- }}
1812
- contentClassName="p-3 pt-0 lg:p-4"
1813
- >
1814
- <SolidFormUserViewLayout solidFormViewMetaData={solidFormViewMetaData} setLayoutDialogVisible={setLayoutDialogVisible} />
1815
- </Dialog>
1816
- {openLightbox &&
1817
- <Lightbox
1818
- open={openLightbox}
1819
- plugins={
1820
- hasMedia
1821
- ? [Counter, Download, Video] // add Video plugin if needed
1822
- : [Counter, Download]
1823
- }
1824
- close={() => setOpenLightbox(false)}
1825
- slides={[...slides]}
1826
- {...(hasMedia && {
1827
- video: {
1828
- controls: true,
1829
- playsInline: true,
1830
- autoPlay: false,
1831
- loop: false,
1832
- muted: false,
1833
- disablePictureInPicture: false,
1834
- disableRemotePlayback: false,
1835
- controlsList: controlsList.join(" "),
1836
- crossOrigin: "anonymous",
1837
- preload: "auto",
1838
- },
1839
- })}
1840
- />
1841
- }
1842
-
1843
- <ConfirmDialog
1844
- visible={confirmVisible}
1845
- onHide={() => setConfirmVisible(false)}
1846
- header="Confirmation"
1847
- acceptLabel="Yes, confrim"
1848
- rejectLabel="No, cancel"
1849
- acceptClassName="p-button-danger"
1850
- rejectClassName="p-button-text"
1851
- position="center"
1852
- accept={handleConfirmAccept}
1853
- reject={handleConfirmReject}
1854
- message={
1855
- <div className="flex flex-col items-center justify-center text-center space-y-3">
1856
- <p className="text-gray-800 text-base">
1857
- Are you sure you want to {published !== null ? 'unpublish' : 'publish'}?
1858
- </p>
1859
- </div>
1860
- }
1861
- />
1862
- </div>
1863
- );
1864
- }
1865
- };
1866
-
1867
- export default SolidFormView;