@solidstarters/solid-core-ui 1.1.19 → 1.1.20

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 (336) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +4 -2
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  5. package/dist/components/auth/ForgotPasswordThankYou.js +3 -1
  6. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  7. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  8. package/dist/components/auth/SolidForgotPassword.js +3 -1
  9. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  10. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  11. package/dist/components/auth/SolidInitialLoginOtp.js +3 -1
  12. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  13. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  14. package/dist/components/auth/SolidInitiateRegisterOtp.js +3 -1
  15. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  16. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  17. package/dist/components/auth/SolidLogin.js +3 -1
  18. package/dist/components/auth/SolidLogin.js.map +1 -1
  19. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -1
  20. package/dist/components/auth/SolidOTPVerify.js +3 -1
  21. package/dist/components/auth/SolidOTPVerify.js.map +1 -1
  22. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  23. package/dist/components/auth/SolidRegister.js +3 -1
  24. package/dist/components/auth/SolidRegister.js.map +1 -1
  25. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  26. package/dist/components/auth/SolidResetPassword.js +3 -1
  27. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  28. package/dist/components/common/CancelButton.js +2 -2
  29. package/dist/components/common/CancelButton.js.map +1 -1
  30. package/dist/components/common/SolidBreadcrumb.d.ts +11 -0
  31. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -0
  32. package/dist/components/common/SolidBreadcrumb.js +22 -0
  33. package/dist/components/common/SolidBreadcrumb.js.map +1 -0
  34. package/dist/components/core/common/SolidConfigureLayoutElement.d.ts +1 -1
  35. package/dist/components/core/common/SolidConfigureLayoutElement.d.ts.map +1 -1
  36. package/dist/components/core/common/SolidConfigureLayoutElement.js +13 -7
  37. package/dist/components/core/common/SolidConfigureLayoutElement.js.map +1 -1
  38. package/dist/components/core/filter/SolidManyToOneFilterElement.js +1 -1
  39. package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
  40. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  41. package/dist/components/core/form/SolidFormView.js +31 -36
  42. package/dist/components/core/form/SolidFormView.js.map +1 -1
  43. package/dist/components/core/form/fields/ISolidField.d.ts +1 -0
  44. package/dist/components/core/form/fields/ISolidField.d.ts.map +1 -1
  45. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  46. package/dist/components/core/form/fields/SolidBooleanField.js +3 -2
  47. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  48. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  49. package/dist/components/core/form/fields/SolidDateField.js +3 -2
  50. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  51. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  52. package/dist/components/core/form/fields/SolidDateTimeField.js +3 -2
  53. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  54. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  55. package/dist/components/core/form/fields/SolidDecimalField.js +10 -2
  56. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  57. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  58. package/dist/components/core/form/fields/SolidIntegerField.js +10 -2
  59. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  60. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  61. package/dist/components/core/form/fields/SolidJsonField.js +3 -2
  62. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  63. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  64. package/dist/components/core/form/fields/SolidLongTextField.js +3 -2
  65. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  66. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  67. package/dist/components/core/form/fields/SolidMediaMultipleField.js +6 -5
  68. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  69. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  70. package/dist/components/core/form/fields/SolidMediaSingleField.js +4 -3
  71. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  72. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  73. package/dist/components/core/form/fields/SolidRichTextField.js +3 -2
  74. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  75. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  76. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +3 -2
  77. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  78. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  79. package/dist/components/core/form/fields/SolidSelectionStaticField.js +3 -2
  80. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  81. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  82. package/dist/components/core/form/fields/SolidShortTextField.js +3 -2
  83. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  84. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  85. package/dist/components/core/form/fields/SolidTimeField.js +3 -2
  86. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  87. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  88. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +9 -5
  89. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  90. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +7 -8
  91. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  92. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  93. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +10 -8
  94. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  95. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  96. package/dist/components/core/list/SolidListView.js +54 -48
  97. package/dist/components/core/list/SolidListView.js.map +1 -1
  98. package/dist/components/core/list/SolidManyToOneFilterElement.js +1 -1
  99. package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
  100. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  101. package/dist/components/core/model/CreateModel.js +13 -5
  102. package/dist/components/core/model/CreateModel.js.map +1 -1
  103. package/dist/components/core/model/FieldMetaData.js +1 -1
  104. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  105. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  106. package/dist/components/core/model/FieldMetaDataForm.js +65 -68
  107. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  108. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  109. package/dist/components/core/model/ModelMetaData.js +6 -1
  110. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  111. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  112. package/dist/components/core/module/CreateModule.js +11 -4
  113. package/dist/components/core/module/CreateModule.js.map +1 -1
  114. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  115. package/dist/components/core/users/CreateUser.js +10 -3
  116. package/dist/components/core/users/CreateUser.js.map +1 -1
  117. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  118. package/dist/components/layout/AppSidebar.js +34 -5
  119. package/dist/components/layout/AppSidebar.js.map +1 -1
  120. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  121. package/dist/components/layout/user-profile-menu.js +3 -1
  122. package/dist/components/layout/user-profile-menu.js.map +1 -1
  123. package/dist/helpers/permissions.d.ts +1 -0
  124. package/dist/helpers/permissions.d.ts.map +1 -1
  125. package/dist/helpers/permissions.js +3 -0
  126. package/dist/helpers/permissions.js.map +1 -1
  127. package/dist/redux/api/authApi.d.ts.map +1 -1
  128. package/dist/redux/api/authApi.js +1 -1
  129. package/dist/redux/api/authApi.js.map +1 -1
  130. package/dist/redux/api/solidViewApi.d.ts +1 -1
  131. package/dist/redux/api/solidViewApi.d.ts.map +1 -1
  132. package/dist/redux/api/solidViewApi.js +1 -1
  133. package/dist/redux/api/solidViewApi.js.map +1 -1
  134. package/dist/resources/globals.css +2551 -0
  135. package/dist/resources/images/AvatarDemo.png +0 -0
  136. package/dist/resources/images/Footerbg.png +0 -0
  137. package/dist/resources/images/LoginBanner.png +0 -0
  138. package/dist/resources/images/Navigation/Level.svg +5 -0
  139. package/dist/resources/images/Navigation/Presure.svg +7 -0
  140. package/dist/resources/images/Navigation/Temperature.svg +13 -0
  141. package/dist/resources/images/Navigation/settings.png +0 -0
  142. package/dist/resources/images/Profile/Avatar.png +0 -0
  143. package/dist/resources/images/SS-Logo.png +0 -0
  144. package/dist/resources/images/activity.svg +3 -0
  145. package/dist/resources/images/app-builder.png +0 -0
  146. package/dist/resources/images/auth/solid-left-layout-bg.png +0 -0
  147. package/dist/resources/images/auth/solid-login-light.png +0 -0
  148. package/dist/resources/images/auth/solid-right-layout-bg.png +0 -0
  149. package/dist/resources/images/clog-wheel.png +0 -0
  150. package/dist/resources/images/dark-mode.png +0 -0
  151. package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
  152. package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
  153. package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
  154. package/dist/resources/images/dashboard/image 5.svg +9 -0
  155. package/dist/resources/images/eye-icon.png +0 -0
  156. package/dist/resources/images/fb.svg +3 -0
  157. package/dist/resources/images/fileReader/image-jpg.png +0 -0
  158. package/dist/resources/images/filter-icon.png +0 -0
  159. package/dist/resources/images/form/user.png +0 -0
  160. package/dist/resources/images/iam.png +0 -0
  161. package/dist/resources/images/icons/icon-activity.svg +3 -0
  162. package/dist/resources/images/icons/icon-calender.svg +3 -0
  163. package/dist/resources/images/icons/icon-graph.svg +3 -0
  164. package/dist/resources/images/icons/icon-kanban.svg +3 -0
  165. package/dist/resources/images/icons/icon-list.svg +3 -0
  166. package/dist/resources/images/icons/icon-users.svg +3 -0
  167. package/dist/resources/images/icons/jump-to-icon.png +0 -0
  168. package/dist/resources/images/insta.svg +3 -0
  169. package/dist/resources/images/layout/images/comfortable.png +0 -0
  170. package/dist/resources/images/layout/images/compact.png +0 -0
  171. package/dist/resources/images/layout/images/cozy.png +0 -0
  172. package/dist/resources/images/layout/images/kanban.png +0 -0
  173. package/dist/resources/images/li.svg +3 -0
  174. package/dist/resources/images/loginhero.png +0 -0
  175. package/dist/resources/images/logo.png +0 -0
  176. package/dist/resources/images/mail-icon.png +0 -0
  177. package/dist/resources/images/menu/app-builder.svg +19 -0
  178. package/dist/resources/images/menu/iam.svg +14 -0
  179. package/dist/resources/images/menu/logicloop-black.svg +28 -0
  180. package/dist/resources/images/menu/logicloop-blue.svg +32 -0
  181. package/dist/resources/images/menu/logicloop-white.svg +32 -0
  182. package/dist/resources/images/menu/queues.svg +14 -0
  183. package/dist/resources/images/menu/radix.svg +9 -0
  184. package/dist/resources/images/menu/rl-lead-middleware.svg +19 -0
  185. package/dist/resources/images/menu/solid-address-master.svg +10 -0
  186. package/dist/resources/images/menu/srmd-tracker-black.svg +16 -0
  187. package/dist/resources/images/menu/srmd-tracker-original.svg +32 -0
  188. package/dist/resources/images/menu/srmd-tracker-white.svg +17 -0
  189. package/dist/resources/images/menu/srmd-tracker.svg +16 -0
  190. package/dist/resources/images/menu-icon.png +0 -0
  191. package/dist/resources/images/menu-toggle.png +0 -0
  192. package/dist/resources/images/password-icon.png +0 -0
  193. package/dist/resources/images/profile.png +0 -0
  194. package/dist/resources/images/radix-logo-white.png +0 -0
  195. package/dist/resources/images/radix-logo.png +0 -0
  196. package/dist/resources/images/search-icon.png +0 -0
  197. package/dist/resources/images/signupBanner.png +0 -0
  198. package/dist/resources/images/tw.svg +3 -0
  199. package/dist/resources/images/user-icon.png +0 -0
  200. package/dist/resources/stylesheets/_config.scss +54 -0
  201. package/dist/resources/stylesheets/_content.scss +91 -0
  202. package/dist/resources/stylesheets/_footer.scss +8 -0
  203. package/dist/resources/stylesheets/_main.scss +47 -0
  204. package/dist/resources/stylesheets/_menu.scss +185 -0
  205. package/dist/resources/stylesheets/_mixins.scss +13 -0
  206. package/dist/resources/stylesheets/_responsive.scss +99 -0
  207. package/dist/resources/stylesheets/_topbar.scss +149 -0
  208. package/dist/resources/stylesheets/_typography.scss +63 -0
  209. package/dist/resources/stylesheets/_utils.scss +27 -0
  210. package/dist/resources/stylesheets/_variables.scss +3 -0
  211. package/dist/resources/stylesheets/layout.scss +11 -0
  212. package/package.json +6 -3
  213. package/src/components/auth/AuthLayout.tsx +8 -5
  214. package/src/components/auth/ForgotPasswordThankYou.tsx +6 -3
  215. package/src/components/auth/SolidForgotPassword.tsx +6 -3
  216. package/src/components/auth/SolidInitialLoginOtp.tsx +6 -3
  217. package/src/components/auth/SolidInitiateRegisterOtp.tsx +6 -3
  218. package/src/components/auth/SolidLogin.tsx +6 -3
  219. package/src/components/auth/SolidOTPVerify.tsx +6 -3
  220. package/src/components/auth/SolidRegister.tsx +6 -4
  221. package/src/components/auth/SolidResetPassword.tsx +6 -3
  222. package/src/components/common/CancelButton.tsx +2 -2
  223. package/src/components/common/SolidBreadcrumb.tsx +27 -0
  224. package/src/components/core/common/SolidConfigureLayoutElement.tsx +31 -12
  225. package/src/components/core/filter/SolidManyToOneFilterElement.tsx +1 -1
  226. package/src/components/core/form/SolidFormView.tsx +63 -65
  227. package/src/components/core/form/fields/ISolidField.tsx +2 -1
  228. package/src/components/core/form/fields/SolidBooleanField.tsx +3 -2
  229. package/src/components/core/form/fields/SolidDateField.tsx +3 -2
  230. package/src/components/core/form/fields/SolidDateTimeField.tsx +3 -2
  231. package/src/components/core/form/fields/SolidDecimalField.tsx +10 -2
  232. package/src/components/core/form/fields/SolidIntegerField.tsx +10 -2
  233. package/src/components/core/form/fields/SolidJsonField.tsx +3 -2
  234. package/src/components/core/form/fields/SolidLongTextField.tsx +3 -2
  235. package/src/components/core/form/fields/SolidMediaMultipleField.tsx +5 -4
  236. package/src/components/core/form/fields/SolidMediaSingleField.tsx +4 -3
  237. package/src/components/core/form/fields/SolidRichTextField.tsx +3 -2
  238. package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +3 -2
  239. package/src/components/core/form/fields/SolidSelectionStaticField.tsx +3 -2
  240. package/src/components/core/form/fields/SolidShortTextField.tsx +3 -2
  241. package/src/components/core/form/fields/SolidTimeField.tsx +3 -2
  242. package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +14 -7
  243. package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +7 -7
  244. package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +11 -7
  245. package/src/components/core/list/SolidListView.tsx +36 -55
  246. package/src/components/core/list/SolidManyToOneFilterElement.tsx +1 -1
  247. package/src/components/core/model/CreateModel.tsx +32 -23
  248. package/src/components/core/model/FieldMetaData.tsx +24 -24
  249. package/src/components/core/model/FieldMetaDataForm.tsx +45 -60
  250. package/src/components/core/model/ModelMetaData.tsx +7 -1
  251. package/src/components/core/module/CreateModule.tsx +20 -15
  252. package/src/components/core/users/CreateUser.tsx +13 -3
  253. package/src/components/layout/AppSidebar.tsx +58 -23
  254. package/src/components/layout/user-profile-menu.tsx +11 -8
  255. package/src/declarations.d.ts +19 -0
  256. package/src/helpers/permissions.ts +3 -0
  257. package/src/redux/api/authApi.ts +2 -1
  258. package/src/redux/api/solidViewApi.ts +1 -0
  259. package/src/resources/globals.css +2551 -0
  260. package/src/resources/images/AvatarDemo.png +0 -0
  261. package/src/resources/images/Footerbg.png +0 -0
  262. package/src/resources/images/LoginBanner.png +0 -0
  263. package/src/resources/images/Navigation/Level.svg +5 -0
  264. package/src/resources/images/Navigation/Presure.svg +7 -0
  265. package/src/resources/images/Navigation/Temperature.svg +13 -0
  266. package/src/resources/images/Navigation/settings.png +0 -0
  267. package/src/resources/images/Profile/Avatar.png +0 -0
  268. package/src/resources/images/SS-Logo.png +0 -0
  269. package/src/resources/images/activity.svg +3 -0
  270. package/src/resources/images/app-builder.png +0 -0
  271. package/src/resources/images/auth/solid-left-layout-bg.png +0 -0
  272. package/src/resources/images/auth/solid-login-light.png +0 -0
  273. package/src/resources/images/auth/solid-right-layout-bg.png +0 -0
  274. package/src/resources/images/clog-wheel.png +0 -0
  275. package/src/resources/images/dark-mode.png +0 -0
  276. package/src/resources/images/dashboard/Ellipse 1.svg +10 -0
  277. package/src/resources/images/dashboard/Rectangle 17.svg +10 -0
  278. package/src/resources/images/dashboard/Rectangle 25.svg +11 -0
  279. package/src/resources/images/dashboard/image 5.svg +9 -0
  280. package/src/resources/images/eye-icon.png +0 -0
  281. package/src/resources/images/fb.svg +3 -0
  282. package/src/resources/images/fileReader/image-jpg.png +0 -0
  283. package/src/resources/images/filter-icon.png +0 -0
  284. package/src/resources/images/form/user.png +0 -0
  285. package/src/resources/images/iam.png +0 -0
  286. package/src/resources/images/icons/icon-activity.svg +3 -0
  287. package/src/resources/images/icons/icon-calender.svg +3 -0
  288. package/src/resources/images/icons/icon-graph.svg +3 -0
  289. package/src/resources/images/icons/icon-kanban.svg +3 -0
  290. package/src/resources/images/icons/icon-list.svg +3 -0
  291. package/src/resources/images/icons/icon-users.svg +3 -0
  292. package/src/resources/images/icons/jump-to-icon.png +0 -0
  293. package/src/resources/images/insta.svg +3 -0
  294. package/src/resources/images/layout/images/comfortable.png +0 -0
  295. package/src/resources/images/layout/images/compact.png +0 -0
  296. package/src/resources/images/layout/images/cozy.png +0 -0
  297. package/src/resources/images/layout/images/kanban.png +0 -0
  298. package/src/resources/images/li.svg +3 -0
  299. package/src/resources/images/loginhero.png +0 -0
  300. package/src/resources/images/logo.png +0 -0
  301. package/src/resources/images/mail-icon.png +0 -0
  302. package/src/resources/images/menu/app-builder.svg +19 -0
  303. package/src/resources/images/menu/iam.svg +14 -0
  304. package/src/resources/images/menu/logicloop-black.svg +28 -0
  305. package/src/resources/images/menu/logicloop-blue.svg +32 -0
  306. package/src/resources/images/menu/logicloop-white.svg +32 -0
  307. package/src/resources/images/menu/queues.svg +14 -0
  308. package/src/resources/images/menu/radix.svg +9 -0
  309. package/src/resources/images/menu/rl-lead-middleware.svg +19 -0
  310. package/src/resources/images/menu/solid-address-master.svg +10 -0
  311. package/src/resources/images/menu/srmd-tracker-black.svg +16 -0
  312. package/src/resources/images/menu/srmd-tracker-original.svg +32 -0
  313. package/src/resources/images/menu/srmd-tracker-white.svg +17 -0
  314. package/src/resources/images/menu/srmd-tracker.svg +16 -0
  315. package/src/resources/images/menu-icon.png +0 -0
  316. package/src/resources/images/menu-toggle.png +0 -0
  317. package/src/resources/images/password-icon.png +0 -0
  318. package/src/resources/images/profile.png +0 -0
  319. package/src/resources/images/radix-logo-white.png +0 -0
  320. package/src/resources/images/radix-logo.png +0 -0
  321. package/src/resources/images/search-icon.png +0 -0
  322. package/src/resources/images/signupBanner.png +0 -0
  323. package/src/resources/images/tw.svg +3 -0
  324. package/src/resources/images/user-icon.png +0 -0
  325. package/src/resources/stylesheets/_config.scss +54 -0
  326. package/src/resources/stylesheets/_content.scss +91 -0
  327. package/src/resources/stylesheets/_footer.scss +8 -0
  328. package/src/resources/stylesheets/_main.scss +47 -0
  329. package/src/resources/stylesheets/_menu.scss +185 -0
  330. package/src/resources/stylesheets/_mixins.scss +13 -0
  331. package/src/resources/stylesheets/_responsive.scss +99 -0
  332. package/src/resources/stylesheets/_topbar.scss +149 -0
  333. package/src/resources/stylesheets/_typography.scss +63 -0
  334. package/src/resources/stylesheets/_utils.scss +27 -0
  335. package/src/resources/stylesheets/_variables.scss +3 -0
  336. package/src/resources/stylesheets/layout.scss +11 -0
@@ -13,6 +13,8 @@ import * as Yup from "yup";
13
13
  import { LayoutContext } from "../layout/context/layoutcontext";
14
14
  import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
15
15
  import { AppTitle } from "@/helpers/AppTitle";
16
+ import Image from "next/image";
17
+ import SolidLogo from '../../resources/images/SS-Logo.png'
16
18
 
17
19
  const SolidForgotPassword = () => {
18
20
  const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()
@@ -76,10 +78,11 @@ const SolidForgotPassword = () => {
76
78
  {solidSettingsData?.data?.authPagesLayout === 'center' &&
77
79
  <div className="flex justify-content-center">
78
80
  <div className="solid-logo flex align-items-center gap-3">
79
- <img
81
+ <Image
80
82
  alt="solid logo"
81
- src={'/images/SS-Logo-1 1.png'}
82
- className="position-relative img-fluid"
83
+ src={SolidLogo}
84
+ className="relative"
85
+ fill
83
86
  />
84
87
  <AppTitle title={solidSettingsData} />
85
88
  </div>
@@ -4,6 +4,7 @@ import { AppTitle } from "@/helpers/AppTitle";
4
4
  import { useConfirmOtpLoginMutation } from "@/redux/api/authApi";
5
5
  import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
6
6
  import { Form, Formik } from "formik";
7
+ import Image from "next/image";
7
8
  import Link from "next/link";
8
9
  import { useRouter, useSearchParams } from "next/navigation";
9
10
  import { Button } from "primereact/button";
@@ -12,6 +13,7 @@ import { Message } from "primereact/message";
12
13
  import { Toast } from "primereact/toast";
13
14
  import { useEffect, useRef } from "react";
14
15
  import * as Yup from "yup";
16
+ import SolidLogo from '../../resources/images/SS-Logo.png'
15
17
 
16
18
  const SolidInitialLoginOtp = () => {
17
19
  const searchParams = useSearchParams();
@@ -51,10 +53,11 @@ const SolidInitialLoginOtp = () => {
51
53
  {solidSettingsData?.data?.authPagesLayout === 'center' &&
52
54
  <div className="flex justify-content-center">
53
55
  <div className="solid-logo flex align-items-center gap-3">
54
- <img
56
+ <Image
55
57
  alt="solid logo"
56
- src={'/images/SS-Logo-1 1.png'}
57
- className="position-relative img-fluid"
58
+ src={SolidLogo}
59
+ className="relative"
60
+ fill
58
61
  />
59
62
  <AppTitle title={solidSettingsData} />
60
63
  </div>
@@ -4,6 +4,7 @@ import { AppTitle } from "@/helpers/AppTitle";
4
4
  import { useConfirmOtpRegisterMutation } from "@/redux/api/authApi";
5
5
  import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
6
6
  import { Form, Formik } from "formik";
7
+ import Image from "next/image";
7
8
  import Link from "next/link";
8
9
  import { useRouter, useSearchParams } from "next/navigation";
9
10
  import { Button } from "primereact/button";
@@ -12,6 +13,7 @@ import { Message } from "primereact/message";
12
13
  import { Toast } from "primereact/toast";
13
14
  import { useEffect, useRef } from "react";
14
15
  import * as Yup from "yup";
16
+ import SolidLogo from '../../resources/images/SS-Logo.png'
15
17
 
16
18
  const SolidInitiateRegisterOtp = () => {
17
19
  const searchParams = useSearchParams();
@@ -51,10 +53,11 @@ const SolidInitiateRegisterOtp = () => {
51
53
  {solidSettingsData?.data?.authPagesLayout === 'center' &&
52
54
  <div className="flex justify-content-center">
53
55
  <div className="solid-logo flex align-items-center gap-3">
54
- <img
56
+ <Image
55
57
  alt="solid logo"
56
- src={'/images/SS-Logo-1 1.png'}
57
- className="position-relative img-fluid"
58
+ src={SolidLogo}
59
+ className="relative"
60
+ fill
58
61
  />
59
62
  <AppTitle title={solidSettingsData} />
60
63
  </div>
@@ -19,6 +19,8 @@ import { LayoutContext } from "../layout/context/layoutcontext";
19
19
  import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
20
20
  import { useInitateLoginMutation } from "@/redux/api/authApi";
21
21
  import { AppTitle } from "@/helpers/AppTitle";
22
+ import Image from "next/image";
23
+ import SolidLogo from '../../resources/images/SS-Logo.png'
22
24
 
23
25
  const SolidLogin = () => {
24
26
  const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
@@ -51,10 +53,11 @@ const SolidLogin = () => {
51
53
  {solidSettingsData?.data?.authPagesLayout === 'center' &&
52
54
  <div className="flex justify-content-center">
53
55
  <div className="solid-logo flex align-items-center gap-3">
54
- <img
56
+ <Image
55
57
  alt="solid logo"
56
- src={'/images/SS-Logo-1 1.png'}
57
- className="position-relative img-fluid"
58
+ src={SolidLogo}
59
+ className="relative"
60
+ fill
58
61
  />
59
62
  <AppTitle title={solidSettingsData} />
60
63
  </div>
@@ -13,6 +13,8 @@ import * as Yup from "yup";
13
13
  import { LayoutContext } from "../layout/context/layoutcontext";
14
14
  import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
15
15
  import { AppTitle } from "@/helpers/AppTitle";
16
+ import Image from "next/image";
17
+ import SolidLogo from '../../resources/images/SS-Logo.png'
16
18
 
17
19
 
18
20
  const SolidOTPVerify = () => {
@@ -53,10 +55,11 @@ const SolidOTPVerify = () => {
53
55
  {solidSettingsData?.data?.authPagesLayout === 'center' &&
54
56
  <div className="flex justify-content-center">
55
57
  <div className="solid-logo flex align-items-center gap-3">
56
- <img
58
+ <Image
57
59
  alt="solid logo"
58
- src={'/images/SS-Logo-1 1.png'}
59
- className="position-relative img-fluid"
60
+ src={SolidLogo}
61
+ className="relative"
62
+ fill
60
63
  />
61
64
  <AppTitle title={solidSettingsData} />
62
65
  </div>
@@ -18,7 +18,8 @@ import { useEffect, useRef } from "react";
18
18
  import * as Yup from "yup";
19
19
  import { SocialMediaLogin } from "../common/SocialMediaLogin";
20
20
  import { AppTitle } from "@/helpers/AppTitle";
21
-
21
+ import Image from "next/image";
22
+ import SolidLogo from '../../resources/images/SS-Logo.png'
22
23
 
23
24
  interface AuthTabsProps {
24
25
  iamPasswordRegistrationEnabled: boolean;
@@ -299,10 +300,11 @@ const SolidRegister = () => {
299
300
  {solidSettingsData?.data?.authPagesLayout === 'center' &&
300
301
  <div className="flex justify-content-center">
301
302
  <div className="solid-logo flex align-items-center gap-3">
302
- <img
303
+ <Image
303
304
  alt="solid logo"
304
- src={'/images/SS-Logo-1 1.png'}
305
- className="position-relative img-fluid"
305
+ src={SolidLogo}
306
+ className="relative"
307
+ fill
306
308
  />
307
309
  <AppTitle title={solidSettingsData} />
308
310
  </div>
@@ -4,6 +4,7 @@ import { AppTitle } from "@/helpers/AppTitle";
4
4
  import { useConfirmForgotPasswordMutation } from "@/redux/api/authApi";
5
5
  import { useLazyGetAuthSettingsQuery } from "@/redux/api/solidSettingsApi";
6
6
  import { useFormik } from "formik";
7
+ import Image from "next/image";
7
8
  import Link from "next/link";
8
9
  import { useRouter, useSearchParams } from "next/navigation";
9
10
  import { Button } from "primereact/button";
@@ -13,6 +14,7 @@ import { Toast } from "primereact/toast";
13
14
  import { classNames } from "primereact/utils";
14
15
  import { useEffect, useRef } from "react";
15
16
  import * as Yup from "yup";
17
+ import SolidLogo from '../../resources/images/SS-Logo.png'
16
18
 
17
19
  const SolidResetPassword = () => {
18
20
  const searchParams = useSearchParams();
@@ -81,10 +83,11 @@ const SolidResetPassword = () => {
81
83
  {solidSettingsData?.data?.authPagesLayout === 'center' &&
82
84
  <div className="flex justify-content-center">
83
85
  <div className="solid-logo flex align-items-center gap-3">
84
- <img
86
+ <Image
85
87
  alt="solid logo"
86
- src={'/images/SS-Logo-1 1.png'}
87
- className="position-relative img-fluid"
88
+ src={SolidLogo}
89
+ className="relative"
90
+ fill
88
91
  />
89
92
  <AppTitle title={solidSettingsData} />
90
93
  </div>
@@ -18,7 +18,7 @@ export const CancelButton = () => {
18
18
  };
19
19
  return (
20
20
  <div>
21
- <Button outlined size="small" type="button" label="Cancel" onClick={handleGoBack} className='bg-primary-reverse'/>
21
+ <Button outlined size="small" type="button" label="Close" onClick={handleGoBack} className='bg-primary-reverse'/>
22
22
  </div>
23
23
  )
24
24
  }
@@ -36,7 +36,7 @@ export const SolidCancelButton = () => {
36
36
  };
37
37
  return (
38
38
  <div>
39
- <Button outlined size="small" type="button" label="Cancel" onClick={handleGoBack} className='bg-primary-reverse'/>
39
+ <Button outlined size="small" type="button" label="Close" onClick={handleGoBack} className='bg-primary-reverse'/>
40
40
  </div>
41
41
  )
42
42
  }
@@ -0,0 +1,27 @@
1
+ import Link from 'next/link';
2
+ import { BreadCrumb } from 'primereact/breadcrumb';
3
+ import React from 'react';
4
+
5
+ interface BreadcrumbItem {
6
+ label: string;
7
+ link?: string;
8
+ }
9
+
10
+ interface SolidBreadcrumbProps {
11
+ breadcrumbItems: BreadcrumbItem[];
12
+ }
13
+
14
+ export const SolidBreadcrumb: React.FC<SolidBreadcrumbProps> = ({ breadcrumbItems }) => {
15
+ const items = breadcrumbItems.map((item) => ({
16
+ label: item.label,
17
+ ...(item.link && item.link !== '#' ? {
18
+ template: () => (
19
+ <Link href={item.link || '/'}>
20
+ <p className="text-primary font-normal">{item.label}</p>
21
+ </Link>
22
+ )
23
+ } : {})
24
+ }));
25
+
26
+ return <BreadCrumb model={items} className="solid-breadcrumb" />;
27
+ };
@@ -1,4 +1,6 @@
1
1
  "use client"
2
+ import { deleteManyPermission, deletePermission } from "@/helpers/permissions";
3
+ import Image from "next/image";
2
4
  import { Accordion, AccordionTab } from "primereact/accordion";
3
5
  import { Button } from "primereact/button";
4
6
  import { Checkbox, CheckboxChangeEvent } from "primereact/checkbox";
@@ -11,12 +13,13 @@ interface FilterColumns {
11
13
  name: string;
12
14
  key: string;
13
15
  }
14
- export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, viewData, sizeOptions, setSize, size, viewModes, setView, view }: any) => {
16
+ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, viewData, sizeOptions, setSize, size, viewModes, setView, view, params, actionsAllowed, selectedRecords, setDialogVisible }: any) => {
15
17
 
16
18
  // const [visible, setVisible] = useState<boolean>(false);
17
19
  const op = useRef(null);
18
20
  const customizeLayout = useRef<OverlayPanel | null>(null);
19
21
  const [isOverlayOpen, setIsOverlayOpen] = useState(false);
22
+ console.log("isOverlayOpen", isOverlayOpen);
20
23
  useEffect(() => {
21
24
  const handleClickOutside = (event: MouseEvent) => {
22
25
  if (
@@ -35,6 +38,7 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
35
38
 
36
39
  return () => document.removeEventListener("click", handleClickOutside);
37
40
  }, [isOverlayOpen])
41
+
38
42
  const categories: FilterColumns[] = [
39
43
  { name: 'ID', key: 'A' },
40
44
  { name: 'Tracker Date', key: 'M' },
@@ -68,8 +72,20 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
68
72
  <OverlayPanel ref={op} className="listview-cogwheel-panel">
69
73
  <div className="p-2">
70
74
  <div className="flex flex-column">
71
- <Button text icon='pi pi-download' label="Import" size="small" severity="secondary" className="text-left gap-2" />
72
- <Button text icon='pi pi-upload' label="Export" size="small" severity="secondary" className="text-left gap-2" />
75
+ {actionsAllowed.includes(`${deleteManyPermission(params.modelName)}`) && viewData?.data?.solidView?.layout?.attrs?.delete !== false && selectedRecords.length > 0 &&
76
+ <Button
77
+ text
78
+ type="button"
79
+ className="text-left gap-2 text-base"
80
+ label="Delete"
81
+ size="small"
82
+ iconPos="left"
83
+ severity="danger"
84
+ icon={'pi pi-trash'}
85
+ onClick={() => setDialogVisible(true)}
86
+ />}
87
+ <Button text icon='pi pi-download' label="Import" size="small" severity="secondary" className="text-left gap-2 text-base" />
88
+ <Button text icon='pi pi-upload' label="Export" size="small" severity="secondary" className="text-left gap-2 text-base" />
73
89
  {/* <Button text icon='pi pi-share-alt' label="Share" size="small" severity="secondary" className="text-left gap-2" /> */}
74
90
  {/* {viewData?.data?.solidView?.model?.enableSoftDelete &&
75
91
  <Button text severity="secondary" size="small" className="text-left w-13rem" label={showArchived ? "Hide Archived Records" : "Show Archived Records"} iconPos="left" onClick={() => { setShowArchived(!showArchived); }} />
@@ -98,7 +114,7 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
98
114
  severity={isOverlayOpen ? undefined : "secondary"}
99
115
  size="small"
100
116
  text={isOverlayOpen ? false : true}
101
- className="text-left gap-2 w-full"
117
+ className="text-left gap-2 w-full text-base"
102
118
  // @ts-ignore
103
119
  onClick={(e) => {
104
120
  customizeLayout.current?.toggle(e);
@@ -131,11 +147,11 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
131
147
  />
132
148
  <label htmlFor={option.value} className="ml-2 flex align-items-center justify-content-between w-full">
133
149
  {option.label}
134
- <img
150
+ <Image
135
151
  src={option.image}
136
152
  alt={option.value}
137
- className='img-fluid position-relative'
138
- style={{ width: '2.75rem' }}
153
+ fill
154
+ className='relative row-spacing-img'
139
155
  />
140
156
  </label>
141
157
  </div>
@@ -156,11 +172,11 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
156
172
  />
157
173
  <label htmlFor={option.value} className="ml-2 flex align-items-center justify-content-between w-full">
158
174
  {option.label}
159
- <img
175
+ <Image
160
176
  src={option.image}
161
177
  alt={option.value}
162
- className='img-fluid position-relative'
163
- style={{ width: '2.75rem' }}
178
+ fill
179
+ className='relative row-spacing-img'
164
180
  />
165
181
  </label>
166
182
  </div>
@@ -196,11 +212,14 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
196
212
  <Divider className="m-0" />
197
213
  <div className="p-3 flex gap-2">
198
214
  <Button label="Apply" size="small" />
199
- <Button outlined label="Cancel" size="small" />
215
+ <Button outlined label="Cancel" size="small"
216
+ // @ts-ignore
217
+ onClick={(e) => op.current.hide(e)}
218
+ />
200
219
  </div>
201
220
  </OverlayPanel>
202
221
  </div>
203
222
  </OverlayPanel>
204
- </div >
223
+ </div>
205
224
  )
206
225
  }
@@ -7,7 +7,7 @@ import qs from "qs";
7
7
 
8
8
  export const SolidManyToOneFilterElement = ({ value, updateInputs, index, fieldMetadata }: any) => {
9
9
 
10
- const entityApi = createSolidEntityApi(fieldMetadata.relationModelSingularName);
10
+ const entityApi = createSolidEntityApi(fieldMetadata.relationCoModelSingularName);
11
11
  const { useLazyGetSolidEntitiesQuery } = entityApi;
12
12
  const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();
13
13
 
@@ -35,6 +35,7 @@ import { SolidTimeField } from "./fields/SolidTimeField";
35
35
  import { BackButton } from "@/components/common/BackButton";
36
36
  import { SolidFormStepper } from "@/components/common/SolidFormStepper";
37
37
  import { OverlayPanel } from "primereact/overlaypanel";
38
+ import { SolidBreadcrumb } from "@/components/common/SolidBreadcrumb";
38
39
 
39
40
  export type SolidFormViewProps = {
40
41
  moduleName: string;
@@ -130,7 +131,7 @@ const fieldFactory = (type: string, fieldContext: SolidFieldProps): ISolidField
130
131
  }
131
132
 
132
133
  // solidFieldsMetadata={solidFieldsMetadata} solidView={solidView}
133
- const SolidField = ({ formik, field, fieldMetadata, initialEntityData, solidFormViewMetaData, modelName }: any) => {
134
+ const SolidField = ({ formik, field, fieldMetadata, initialEntityData, solidFormViewMetaData, modelName, readOnly }: any) => {
134
135
  const fieldContext: SolidFieldProps = {
135
136
  // field metadata - coming from the field-metadata table.
136
137
  fieldMetadata: fieldMetadata,
@@ -141,6 +142,7 @@ const SolidField = ({ formik, field, fieldMetadata, initialEntityData, solidForm
141
142
  // complete form view metadata - this includes layout of the whole form & metadata about all fields in the corresponding model.
142
143
  solidFormViewMetaData: solidFormViewMetaData,
143
144
  modelName: modelName,
145
+ readOnly: readOnly
144
146
  }
145
147
  const solidField = fieldFactory(fieldMetadata?.type, fieldContext);
146
148
 
@@ -543,7 +545,13 @@ const SolidFormView = (params: SolidFormViewProps) => {
543
545
  const {
544
546
  data: solidFormViewData,
545
547
  isLoading: solidFormViewDataIsLoading,
546
- } = useGetSolidEntityByIdQuery({ id: params.id, qs: formViewDataQs }, { skip: !solidFormViewMetaData || params.id === 'new' });
548
+ refetch: refetchSolidFormViewData,
549
+ } = useGetSolidEntityByIdQuery({ id: params.id, qs: formViewDataQs });
550
+ useEffect(() => {
551
+ refetchSolidFormViewData()
552
+ }, [formViewDataQs])
553
+
554
+
547
555
  useEffect(() => {
548
556
  if (solidFormViewData) {
549
557
  setInitialEntityData(solidFormViewData.data);
@@ -628,8 +636,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
628
636
  case "field": {
629
637
  // const fieldMetadata = solidFieldsMetadata[attrs.name];
630
638
  const fieldMetadata = solidFormViewMetaData.data.solidFieldsMetadata[attrs.name];
631
-
632
- return <SolidField key={key} field={element} formik={formik} fieldMetadata={fieldMetadata} initialEntityData={solidFormViewData ? solidFormViewData.data : null} solidFormViewMetaData={solidFormViewMetaData} modelName={params.modelName} />;
639
+ // Read only permission if there is no update permission on model and router doesnt contains new
640
+ const readOnlyPermission = !actionsAllowed.includes(`${updatePermission(params.modelName)}`) && params.id !== "new"
641
+ return <SolidField key={key} field={element} formik={formik} fieldMetadata={fieldMetadata} initialEntityData={solidFormViewData ? solidFormViewData.data : null} solidFormViewMetaData={solidFormViewMetaData} modelName={params.modelName} readOnly={readOnlyPermission} />;
633
642
  }
634
643
  case "notebook":
635
644
  return <SolidNotebook key={key}>{children.map((element: any) => renderFormElementDynamically(element, solidFormViewMetaData))}</SolidNotebook>;
@@ -688,13 +697,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
688
697
  outlined
689
698
  severity="secondary"
690
699
  type="button"
691
- icon={
692
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
693
- <path d="M6 14C5.45 14 4.97917 13.8042 4.5875 13.4125C4.19583 13.0208 4 12.55 4 12C4 11.45 4.19583 10.9792 4.5875 10.5875C4.97917 10.1958 5.45 10 6 10C6.55 10 7.02083 10.1958 7.4125 10.5875C7.80417 10.9792 8 11.45 8 12C8 12.55 7.80417 13.0208 7.4125 13.4125C7.02083 13.8042 6.55 14 6 14ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM18 14C17.45 14 16.9792 13.8042 16.5875 13.4125C16.1958 13.0208 16 12.55 16 12C16 11.45 16.1958 10.9792 16.5875 10.5875C16.9792 10.1958 17.45 10 18 10C18.55 10 19.0208 10.1958 19.4125 10.5875C19.8042 10.9792 20 11.45 20 12C20 12.55 19.8042 13.0208 19.4125 13.4125C19.0208 13.8042 18.55 14 18 14Z" fill="#4B4D52" />
694
- </svg>
695
- }
700
+ icon={'pi pi-cog'}
696
701
  size="small"
697
- className="bg-primary-reverse p-0"
702
+ className="surface-card p-0"
698
703
  style={{
699
704
  height: 33.06,
700
705
  width: 33.06
@@ -706,7 +711,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
706
711
  />
707
712
  <OverlayPanel ref={op} className="solid-custom-overlay">
708
713
  <div className="flex flex-column gap-1 p-1">
709
- <Button
714
+ {/* <Button
710
715
  text
711
716
  type="button"
712
717
  className="w-8rem text-left gap-2 text-color"
@@ -716,26 +721,48 @@ const SolidFormView = (params: SolidFormViewProps) => {
716
721
  icon={<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
717
722
  <path d="M6 11.9997C5.63333 11.9997 5.31944 11.8691 5.05833 11.608C4.79722 11.3469 4.66667 11.033 4.66667 10.6663V2.66634C4.66667 2.29967 4.79722 1.98579 5.05833 1.72467C5.31944 1.46356 5.63333 1.33301 6 1.33301H12C12.3667 1.33301 12.6806 1.46356 12.9417 1.72467C13.2028 1.98579 13.3333 2.29967 13.3333 2.66634V10.6663C13.3333 11.033 13.2028 11.3469 12.9417 11.608C12.6806 11.8691 12.3667 11.9997 12 11.9997H6ZM6 10.6663H12V2.66634H6V10.6663ZM3.33333 14.6663C2.96667 14.6663 2.65278 14.5358 2.39167 14.2747C2.13056 14.0136 2 13.6997 2 13.333V3.99967H3.33333V13.333H10.6667V14.6663H3.33333Z" fill="black" fill-opacity="0.88" />
718
723
  </svg>}
719
- />
720
- <Button
721
- text
722
- type="button"
723
- className="w-8rem text-left gap-2 text-color"
724
- label="Delete"
725
- size="small"
726
- iconPos="left"
727
- icon={<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
728
- <path d="M4.66666 14C4.29999 14 3.9861 13.8694 3.72499 13.6083C3.46388 13.3472 3.33332 13.0333 3.33332 12.6667V4H2.66666V2.66667H5.99999V2H9.99999V2.66667H13.3333V4H12.6667V12.6667C12.6667 13.0333 12.5361 13.3472 12.275 13.6083C12.0139 13.8694 11.7 14 11.3333 14H4.66666ZM11.3333 4H4.66666V12.6667H11.3333V4ZM5.99999 11.3333H7.33332V5.33333H5.99999V11.3333ZM8.66666 11.3333H9.99999V5.33333H8.66666V11.3333Z" fill="#4B4D52" />
729
- </svg>
730
- }
731
- onClick={() => setDeleteDialogVisible(true)}
732
- />
724
+ /> */}
725
+ {params.embeded !== true &&
726
+ actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
727
+ !formViewLayout.attrs.readonly &&
728
+ <Button
729
+ text
730
+ type="button"
731
+ className="w-8rem text-left gap-2"
732
+ label="Delete"
733
+ size="small"
734
+ iconPos="left"
735
+ severity="danger"
736
+ icon={'pi pi-trash'}
737
+ onClick={() => setDeleteDialogVisible(true)}
738
+ />
739
+ }
740
+ {params.embeded == true &&
741
+ actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
742
+ !formViewLayout.attrs.readonly &&
743
+ <Button
744
+ text
745
+ type="button"
746
+ className="w-8rem text-left gap-2"
747
+ label="Delete"
748
+ size="small"
749
+ iconPos="left"
750
+ severity="danger"
751
+ icon={'pi pi-trash'}
752
+ onClick={() => setDeleteDialogVisible(true)}
753
+ />
754
+ }
733
755
  </div>
734
756
  </OverlayPanel>
735
757
  </div>
736
758
  )
737
759
  }
738
760
 
761
+ const breadcrumbData = [
762
+ { label: 'Book', link: '/admin/core/library-management/book/list' },
763
+ { label: params.id === "new" ? `Add ${params.modelName}` : `Edit ${params.modelName}` },
764
+ ];
765
+
739
766
  return (
740
767
  <div className="solid-form-wrapper">
741
768
  <Toast ref={toast} />
@@ -752,7 +779,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
752
779
  {params.embeded !== true &&
753
780
  actionsAllowed.includes(`${createPermission(params.modelName)}`) &&
754
781
  !formViewLayout.attrs.readonly &&
755
- !formViewLayout.attrs.readonly &&
782
+ formik.dirty &&
756
783
  <div>
757
784
  <Button
758
785
  label="Save"
@@ -762,10 +789,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
762
789
  />
763
790
  </div>
764
791
  }
765
- {params.embeded !== true &&
792
+ {/* {params.embeded !== true &&
766
793
  actionsAllowed.includes(`${createPermission(params.modelName)}`) &&
767
794
  !formViewLayout.attrs.readonly &&
768
- !formViewLayout.attrs.readonly &&
769
795
  <div>
770
796
  <Button
771
797
  label="Save & Close"
@@ -777,11 +803,11 @@ const SolidFormView = (params: SolidFormViewProps) => {
777
803
  type="submit"
778
804
  />
779
805
  </div>
780
- }
806
+ } */}
781
807
  {params.embeded == true &&
782
808
  actionsAllowed.includes(`${createPermission(params.modelName)}`) &&
783
809
  !formViewLayout.attrs.readonly &&
784
- !formViewLayout.attrs.readonly &&
810
+ formik.dirty &&
785
811
  <div>
786
812
  <Button
787
813
  label="Save"
@@ -795,7 +821,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
795
821
  </div>
796
822
  }
797
823
  {params.embeded == true &&
798
- <Button outlined size="small" type="button" label="Cancel" onClick={() => params.handlePopupClose()} className='bg-primary-reverse' />
824
+ <Button outlined size="small" type="button" label="Close" onClick={() => params.handlePopupClose()} className='bg-primary-reverse' />
799
825
 
800
826
  }
801
827
  {params.embeded !== true &&
@@ -814,7 +840,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
814
840
  {params.embeded !== true &&
815
841
  actionsAllowed.includes(`${updatePermission(params.modelName)}`) &&
816
842
  !formViewLayout.attrs.readonly &&
817
- !formViewLayout.attrs.readonly &&
843
+ formik.dirty &&
818
844
  <div>
819
845
  <Button
820
846
  label="Save"
@@ -827,7 +853,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
827
853
  {params.embeded == true &&
828
854
  actionsAllowed.includes(`${updatePermission(params.modelName)}`) &&
829
855
  !formViewLayout.attrs.readonly &&
830
- !formViewLayout.attrs.readonly &&
856
+ formik.dirty &&
831
857
  <div>
832
858
  <Button
833
859
  label="Save"
@@ -837,10 +863,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
837
863
  />
838
864
  </div>
839
865
  }
840
- {params.embeded !== true &&
866
+ {/* {params.embeded !== true &&
841
867
  actionsAllowed.includes(`${updatePermission(params.modelName)}`) &&
842
868
  !formViewLayout.attrs.readonly &&
843
- !formViewLayout.attrs.readonly &&
844
869
  <div>
845
870
  <Button
846
871
  label="Save & Close"
@@ -852,37 +877,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
852
877
  type="submit"
853
878
  />
854
879
  </div>
855
- }
856
- {params.embeded !== true &&
857
- actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
858
- !formViewLayout.attrs.readonly &&
859
- !formViewLayout.attrs.readonly &&
860
- <div>
861
- <Button
862
- size="small"
863
- type="button"
864
- label="Delete"
865
- severity="danger"
866
- onClick={() => setDeleteDialogVisible(true)}
867
- />
868
- </div>
869
- }
870
- {params.embeded == true &&
871
- actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
872
- !formViewLayout.attrs.readonly &&
873
- !formViewLayout.attrs.readonly &&
874
- <div>
875
- <Button
876
- size="small"
877
- type="button"
878
- label="Delete"
879
- severity="danger"
880
- onClick={() => setDeleteDialogVisible(true)}
881
- />
882
- </div>
883
- }
880
+ } */}
884
881
  {params.embeded == true &&
885
- <Button outlined size="small" type="button" label="Cancel" onClick={() => params.handlePopupClose()} className='bg-primary-reverse' />
882
+ <Button outlined size="small" type="button" label="Close" onClick={() => params.handlePopupClose()} className='bg-primary-reverse' />
886
883
 
887
884
  }
888
885
  {params.embeded !== true &&
@@ -893,6 +890,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
893
890
  </>
894
891
  )}
895
892
  </div>
893
+ <SolidBreadcrumb breadcrumbItems={breadcrumbData} />
896
894
  {/* {params.embeded !== true &&
897
895
  <div className="solid-form-stepper">
898
896
  <SolidFormStepper />
@@ -7,7 +7,8 @@ export type SolidFieldProps = {
7
7
  fieldMetadata: any,
8
8
  field: any,
9
9
  data: any,
10
- modelName?: any
10
+ modelName?: any,
11
+ readOnly?: any
11
12
  };
12
13
 
13
14
  export type FormikObject = {