@solidstarters/solid-core-ui 1.1.6 → 1.1.8

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 (179) hide show
  1. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  2. package/dist/components/auth/SolidChangeForcePassword.js +7 -7
  3. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  4. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  5. package/dist/components/auth/SolidForgotPassword.js +9 -4
  6. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  7. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  8. package/dist/components/auth/SolidLogin.js +13 -6
  9. package/dist/components/auth/SolidLogin.js.map +1 -1
  10. package/dist/components/common/BackButton.d.ts +2 -0
  11. package/dist/components/common/BackButton.d.ts.map +1 -0
  12. package/dist/components/common/BackButton.js +17 -0
  13. package/dist/components/common/BackButton.js.map +1 -0
  14. package/dist/components/common/CancelButton.js +2 -2
  15. package/dist/components/common/CancelButton.js.map +1 -1
  16. package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
  17. package/dist/components/common/DropzonePlaceholder.js +2 -1
  18. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  19. package/dist/components/common/FileReaderExt.d.ts +4 -0
  20. package/dist/components/common/FileReaderExt.d.ts.map +1 -0
  21. package/dist/components/common/FileReaderExt.js +15 -0
  22. package/dist/components/common/FileReaderExt.js.map +1 -0
  23. package/dist/components/common/GeneralSettings.d.ts +4 -0
  24. package/dist/components/common/GeneralSettings.d.ts.map +1 -0
  25. package/dist/components/common/GeneralSettings.js +139 -0
  26. package/dist/components/common/GeneralSettings.js.map +1 -0
  27. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -1
  28. package/dist/components/common/SingleSelectAutoCompleteField.js +1 -1
  29. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -1
  30. package/dist/components/common/SolidFormStepper.d.ts +2 -0
  31. package/dist/components/common/SolidFormStepper.d.ts.map +1 -0
  32. package/dist/components/common/SolidFormStepper.js +6 -0
  33. package/dist/components/common/SolidFormStepper.js.map +1 -0
  34. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -1
  35. package/dist/components/core/common/LoadDynamicJsxComponent.js +2 -1
  36. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -1
  37. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  38. package/dist/components/core/common/SolidGlobalSearchElement.js +6 -5
  39. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  40. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts +2 -1
  41. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  42. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +4 -3
  43. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  44. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  45. package/dist/components/core/form/SolidFormView.js +83 -54
  46. package/dist/components/core/form/SolidFormView.js.map +1 -1
  47. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  48. package/dist/components/core/form/fields/SolidBooleanField.js +4 -4
  49. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  50. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  51. package/dist/components/core/form/fields/SolidDateField.js +7 -7
  52. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  53. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  54. package/dist/components/core/form/fields/SolidDateTimeField.js +7 -7
  55. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  56. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  57. package/dist/components/core/form/fields/SolidDecimalField.js +4 -4
  58. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  59. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  60. package/dist/components/core/form/fields/SolidIntegerField.js +4 -4
  61. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  62. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  63. package/dist/components/core/form/fields/SolidJsonField.js +2 -2
  64. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  65. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  66. package/dist/components/core/form/fields/SolidLongTextField.js +2 -2
  67. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  68. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  69. package/dist/components/core/form/fields/SolidMediaMultipleField.js +11 -11
  70. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  71. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  72. package/dist/components/core/form/fields/SolidMediaSingleField.js +13 -13
  73. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  74. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  75. package/dist/components/core/form/fields/SolidRichTextField.js +2 -2
  76. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  77. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  78. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +4 -4
  79. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  80. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  81. package/dist/components/core/form/fields/SolidSelectionStaticField.js +4 -4
  82. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  83. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  84. package/dist/components/core/form/fields/SolidShortTextField.js +2 -2
  85. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  86. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  87. package/dist/components/core/form/fields/SolidTimeField.js +7 -7
  88. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  89. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  90. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +15 -14
  91. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  92. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  93. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
  94. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  95. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +2 -2
  96. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  97. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  98. package/dist/components/core/list/SolidListView.js +99 -21
  99. package/dist/components/core/list/SolidListView.js.map +1 -1
  100. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  101. package/dist/components/core/model/CreateModel.js +15 -11
  102. package/dist/components/core/model/CreateModel.js.map +1 -1
  103. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  104. package/dist/components/core/model/FieldMetaData.js +6 -6
  105. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  106. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  107. package/dist/components/core/model/FieldMetaDataForm.js +189 -176
  108. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  109. package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
  110. package/dist/components/core/model/FieldSelector.js +1 -1
  111. package/dist/components/core/model/FieldSelector.js.map +1 -1
  112. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  113. package/dist/components/core/model/ModelMetaData.js +55 -44
  114. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  115. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  116. package/dist/components/core/module/CreateModule.js +98 -60
  117. package/dist/components/core/module/CreateModule.js.map +1 -1
  118. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  119. package/dist/components/core/users/CreateUser.js +18 -15
  120. package/dist/components/core/users/CreateUser.js.map +1 -1
  121. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  122. package/dist/components/layout/user-profile-menu.js +3 -1
  123. package/dist/components/layout/user-profile-menu.js.map +1 -1
  124. package/dist/index.d.ts +6 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +6 -0
  127. package/dist/index.js.map +1 -1
  128. package/dist/redux/api/solidEntityApi.d.ts +2 -0
  129. package/dist/redux/api/solidEntityApi.d.ts.map +1 -1
  130. package/dist/redux/api/solidEntityApi.js +10 -0
  131. package/dist/redux/api/solidEntityApi.js.map +1 -1
  132. package/dist/redux/api/solidSettingsApi.d.ts +9 -0
  133. package/dist/redux/api/solidSettingsApi.d.ts.map +1 -0
  134. package/dist/redux/api/solidSettingsApi.js +40 -0
  135. package/dist/redux/api/solidSettingsApi.js.map +1 -0
  136. package/package.json +1 -1
  137. package/src/components/auth/SolidChangeForcePassword.tsx +2 -3
  138. package/src/components/auth/SolidForgotPassword.tsx +9 -4
  139. package/src/components/auth/SolidLogin.tsx +21 -12
  140. package/src/components/common/BackButton.tsx +27 -0
  141. package/src/components/common/CancelButton.tsx +2 -2
  142. package/src/components/common/DropzonePlaceholder.tsx +11 -3
  143. package/src/components/common/FileReaderExt.tsx +18 -0
  144. package/src/components/common/GeneralSettings.tsx +286 -0
  145. package/src/components/common/SingleSelectAutoCompleteField.tsx +0 -1
  146. package/src/components/common/SolidFormStepper.tsx +12 -0
  147. package/src/components/core/common/LoadDynamicJsxComponent.tsx +2 -1
  148. package/src/components/core/common/SolidGlobalSearchElement.tsx +6 -2
  149. package/src/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
  150. package/src/components/core/form/SolidFormView.tsx +201 -186
  151. package/src/components/core/form/fields/SolidBooleanField.tsx +3 -7
  152. package/src/components/core/form/fields/SolidDateField.tsx +2 -8
  153. package/src/components/core/form/fields/SolidDateTimeField.tsx +19 -24
  154. package/src/components/core/form/fields/SolidDecimalField.tsx +2 -7
  155. package/src/components/core/form/fields/SolidIntegerField.tsx +17 -22
  156. package/src/components/core/form/fields/SolidJsonField.tsx +15 -19
  157. package/src/components/core/form/fields/SolidLongTextField.tsx +19 -24
  158. package/src/components/core/form/fields/SolidMediaMultipleField.tsx +47 -51
  159. package/src/components/core/form/fields/SolidMediaSingleField.tsx +47 -51
  160. package/src/components/core/form/fields/SolidRichTextField.tsx +3 -7
  161. package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -7
  162. package/src/components/core/form/fields/SolidSelectionStaticField.tsx +20 -25
  163. package/src/components/core/form/fields/SolidShortTextField.tsx +18 -23
  164. package/src/components/core/form/fields/SolidTimeField.tsx +19 -24
  165. package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +51 -52
  166. package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +20 -25
  167. package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +6 -5
  168. package/src/components/core/list/SolidListView.tsx +118 -8
  169. package/src/components/core/model/CreateModel.tsx +68 -53
  170. package/src/components/core/model/FieldMetaData.tsx +16 -21
  171. package/src/components/core/model/FieldMetaDataForm.tsx +803 -895
  172. package/src/components/core/model/FieldSelector.tsx +10 -15
  173. package/src/components/core/model/ModelMetaData.tsx +373 -358
  174. package/src/components/core/module/CreateModule.tsx +327 -295
  175. package/src/components/core/users/CreateUser.tsx +175 -167
  176. package/src/components/layout/user-profile-menu.tsx +6 -1
  177. package/src/index.ts +6 -2
  178. package/src/redux/api/solidEntityApi.tsx +11 -0
  179. package/src/redux/api/solidSettingsApi.tsx +47 -0
@@ -1,5 +1,7 @@
1
1
  'use client';
2
+ import { BackButton } from "@/components/common/BackButton";
2
3
  import { CancelButton } from "@/components/common/CancelButton";
4
+ import { SolidFormStepper } from "@/components/common/SolidFormStepper";
3
5
  import { useRegisterPrivateMutation, useUpdateUserMutation } from "@/redux/api/authApi";
4
6
  import { useGetrolesQuery } from "@/redux/api/roleApi";
5
7
  import { useDeleteUserMutation } from "@/redux/api/userApi";
@@ -8,6 +10,7 @@ import { useFormik } from "formik";
8
10
  import { usePathname, useRouter } from "next/navigation";
9
11
  import { Button } from "primereact/button";
10
12
  import { Checkbox } from "primereact/checkbox";
13
+ import { Divider } from "primereact/divider";
11
14
  import { InputText } from "primereact/inputtext";
12
15
  import { Message } from "primereact/message";
13
16
  import { Panel } from "primereact/panel";
@@ -24,7 +27,7 @@ interface ErrorResponseData {
24
27
  error: string;
25
28
  }
26
29
 
27
- const CreateUser = ({ data,params }: any) => {
30
+ const CreateUser = ({ data, params }: any) => {
28
31
 
29
32
  const toast = useRef<Toast>(null);
30
33
  const pathname = usePathname();
@@ -231,181 +234,185 @@ const CreateUser = ({ data,params }: any) => {
231
234
  }, [isSuccess, isDeleteUserSuceess, isUpdateuserSuceess])
232
235
 
233
236
  return (
234
- <div className="p-grid p-fluid">
237
+ <div className="solid-form-wrapper">
235
238
  <Toast ref={toast} />
236
-
237
239
  <form onSubmit={formik.handleSubmit}>
238
- {params.id === "new" ? (
239
- <div className="flex gap-3 justify-content-between mb-5">
240
- <div className="form-wrapper-title">Create User</div>
241
- <div className="gap-3 flex">
242
- <Button label="Save" size="small" type="submit" className="small-button" />
243
- <CancelButton />
244
- </div>
245
- </div>
246
- ) : (
247
- <div className="flex gap-3 justify-content-between mb-5">
248
- <h1 className="m-0">Update User</h1>
249
- <div className="gap-3 flex">
250
- <Button label="Save" size="small" type="submit" className="small-button" />
251
- {data &&
252
- <Button outlined label="Delete" size="small" severity="danger" type="button" onClick={() => deleteUser(data.id)} className="small-button" />
253
- }
254
- <CancelButton />
255
- </div>
256
- </div>
257
- )}
258
- <div className="form-wrapper">
259
- <div className="grid formgrid">
260
- <div className="md:col-6 sm:col-12">
261
- <div className="field">
262
- <label htmlFor="fullName" className="form-label form-field-label">
263
- Full Name
264
- </label>
265
- <InputText
266
- type="text"
267
- id="fullName"
268
- name="fullName"
269
- autoComplete={"off"}
270
- onChange={formik.handleChange}
271
- value={formik.values.fullName}
272
- className={classNames("p-inputtext-sm w-full small-input", {
273
- "p-invalid": formik.touched.fullName && formik.errors.fullName,
274
- })}
275
- />
276
- {isFormFieldValid(formik, "fullName") && (
277
- <Message
278
- severity="error"
279
- text={formik?.errors?.fullName?.toString()}
280
- />
281
- )}
240
+ <div className="solid-form-header">
241
+ {params.id === "new" ? (
242
+ <>
243
+ <div className="flex align-items-center gap-3">
244
+ <BackButton />
245
+ <div className="form-wrapper-title">Create User</div>
282
246
  </div>
283
- </div>
284
- <div className="md:col-6 sm:col-12">
285
- <div className="field">
286
- <label htmlFor="username" className="form-label form-field-label">
287
- Username
288
- </label>
289
- <InputText
290
- type="text"
291
- id="username"
292
- name="username"
293
- autoComplete={"off"}
294
- disabled={data ? true : false}
295
- onChange={formik.handleChange}
296
- value={formik.values.username}
297
- className={classNames("p-inputtext-sm w-full small-input", {
298
- "p-invalid": formik.touched.username && formik.errors.username,
299
- })}
300
- />
301
- {isFormFieldValid(formik, "username") && (
302
- <Message
303
- severity="error"
304
- text={formik?.errors?.username?.toString()}
305
- />
306
- )}
307
- </div>
308
- </div>
309
- <div className="md:col-6 sm:col-12">
310
- <div className="field">
311
- <label htmlFor="email" className="form-label form-field-label">
312
- Email
313
- </label>
314
- <InputText
315
- type="text"
316
- id="email"
317
- name="email"
318
- autoComplete={"off"}
319
- disabled={data ? true : false}
320
- onChange={formik.handleChange}
321
- value={formik.values.email}
322
- className={classNames("p-inputtext-sm w-full small-input", {
323
- "p-invalid": formik.touched.email && formik.errors.email,
324
- })}
325
- />
326
- {isFormFieldValid(formik, "email") && (
327
- <Message
328
- severity="error"
329
- text={formik?.errors?.email?.toString()}
330
- />
331
- )}
247
+ <div className="gap-3 flex">
248
+ <Button label="Save" size="small" type="submit" />
249
+ <CancelButton />
332
250
  </div>
333
- </div>
334
- <div className="md:col-6 sm:col-12">
335
- <div className="field">
336
- <label htmlFor="mobile" className="form-label form-field-label">
337
- Mobile
338
- </label>
339
- <InputText
340
- type="text"
341
- id="mobile"
342
- name="mobile"
343
- autoComplete={"off"}
344
- onChange={formik.handleChange}
345
- value={formik.values.mobile}
346
- className={classNames("p-inputtext-sm w-full small-input", {
347
- "p-invalid": formik.touched.mobile && formik.errors.mobile,
348
- })}
349
- />
350
- {isFormFieldValid(formik, "mobile ") && (
351
- <Message
352
- severity="error"
353
- text={formik?.errors?.mobile?.toString()}
354
- />
355
- )}
251
+ </>
252
+ ) : (
253
+ <>
254
+ <div className="flex align-items-center gap-3">
255
+ <BackButton />
256
+ <h1 className="m-0">Update User</h1>
356
257
  </div>
357
- </div>
358
- <div className="md:col-6 sm:col-12">
359
- <div className="field">
360
- <label htmlFor="Password" className="form-label form-field-label">
361
- Password
362
- </label>
363
- <Password
364
- id="password"
365
- autoComplete="off"
366
- aria-autocomplete="none"
367
- value={formik.values.password}
368
- onChange={(e) => {
369
- formik.setFieldValue("password", e.target.value);
370
- }}
371
- toggleMask
372
- className={classNames("p-inputtext-sm w-full small-input", {
373
- "p-invalid": isFormFieldValid(formik, "name"),
374
- })}
375
-
376
- inputClassName="w-full"
377
- feedback={false}
378
- />
379
- {isFormFieldValid(formik, "password") && (
380
- <Message
381
- severity="error"
382
- text={formik?.errors?.password?.toString()}
383
- />
384
- )}
258
+ <div>
259
+ <div className="gap-3 flex">
260
+ <Button label="Save" size="small" type="submit" />
261
+ {data &&
262
+ <Button outlined label="Delete" size="small" severity="danger" type="button" onClick={() => deleteUser(data.id)} />
263
+ }
264
+ <CancelButton />
265
+ </div>
385
266
  </div>
386
- </div>
387
-
388
- </div>
267
+ </>
268
+ )}
389
269
  </div>
390
-
391
- <div className="form-wrapper">
392
- <div className="p-col-12 p-md-6">
393
- <h2>Roles</h2>
394
- <Panel toggleable header="Roles" style={{ marginBottom: "30px" }}>
395
- <div style={{ display: "grid", gridTemplateColumns: "auto auto" }}>
396
- {rolesData?.data?.records && rolesData?.data?.records.map((role: any) => (
397
- <div key={role.name} className="p-field-checkbox md:col-6 sm:col-12">
398
- <Checkbox
399
- inputId={role.name}
400
- checked={selectedRoles.includes(role.name)}
401
- onChange={() => handleCheckboxChange(role.name)}
402
- disabled={data ? true : false}
270
+ <div className="solid-form-stepper">
271
+ <SolidFormStepper />
272
+ </div>
273
+ <div className="p-4 solid-form-content">
274
+ <div className="grid">
275
+ <div className="col-8 mx-auto">
276
+ <p className="form-wrapper-heading text-base">Basic Info</p>
277
+ <div className="grid formgrid">
278
+ <div className="field col-6 flex flex-column gap-2">
279
+ <label htmlFor="fullName" className="form-field-label">
280
+ Full Name
281
+ </label>
282
+ <InputText
283
+ type="text"
284
+ id="fullName"
285
+ name="fullName"
286
+ autoComplete={"off"}
287
+ onChange={formik.handleChange}
288
+ value={formik.values.fullName}
289
+ className={classNames("", {
290
+ "p-invalid": formik.touched.fullName && formik.errors.fullName,
291
+ })}
292
+ />
293
+ {isFormFieldValid(formik, "fullName") && (
294
+ <Message
295
+ severity="error"
296
+ text={formik?.errors?.fullName?.toString()}
297
+ />
298
+ )}
299
+ </div>
300
+ <div className="field col-6 flex flex-column gap-2">
301
+ <label htmlFor="username" className="form-field-label">
302
+ Username
303
+ </label>
304
+ <InputText
305
+ type="text"
306
+ id="username"
307
+ name="username"
308
+ autoComplete={"off"}
309
+ disabled={data ? true : false}
310
+ onChange={formik.handleChange}
311
+ value={formik.values.username}
312
+ className={classNames("", {
313
+ "p-invalid": formik.touched.username && formik.errors.username,
314
+ })}
315
+ />
316
+ {isFormFieldValid(formik, "username") && (
317
+ <Message
318
+ severity="error"
319
+ text={formik?.errors?.username?.toString()}
320
+ />
321
+ )}
322
+ </div>
323
+ <div className="field col-6 flex flex-column gap-2 mt-4">
324
+ <label htmlFor="email" className="form-field-label">
325
+ Email
326
+ </label>
327
+ <InputText
328
+ type="text"
329
+ id="email"
330
+ name="email"
331
+ autoComplete={"off"}
332
+ disabled={data ? true : false}
333
+ onChange={formik.handleChange}
334
+ value={formik.values.email}
335
+ className={classNames("", {
336
+ "p-invalid": formik.touched.email && formik.errors.email,
337
+ })}
338
+ />
339
+ {isFormFieldValid(formik, "email") && (
340
+ <Message
341
+ severity="error"
342
+ text={formik?.errors?.email?.toString()}
343
+ />
344
+ )}
345
+ </div>
346
+ <div className="field col-6 flex flex-column gap-2 mt-4">
347
+ <label htmlFor="mobile" className="form-field-label">
348
+ Mobile
349
+ </label>
350
+ <InputText
351
+ type="text"
352
+ id="mobile"
353
+ name="mobile"
354
+ autoComplete={"off"}
355
+ onChange={formik.handleChange}
356
+ value={formik.values.mobile}
357
+ className={classNames("", {
358
+ "p-invalid": formik.touched.mobile && formik.errors.mobile,
359
+ })}
360
+ />
361
+ {isFormFieldValid(formik, "mobile ") && (
362
+ <Message
363
+ severity="error"
364
+ text={formik?.errors?.mobile?.toString()}
403
365
  />
404
- <label htmlFor={role.name}> {role.name}</label>
405
- </div>
406
- ))}
366
+ )}
367
+ </div>
368
+ <div className="field col-6 flex flex-column gap-2 my-4">
369
+ <label htmlFor="Password" className="form-field-label">
370
+ Password
371
+ </label>
372
+ <Password
373
+ id="password"
374
+ autoComplete="off"
375
+ aria-autocomplete="none"
376
+ value={formik.values.password}
377
+ onChange={(e) => {
378
+ formik.setFieldValue("password", e.target.value);
379
+ }}
380
+ toggleMask
381
+ className={classNames("", {
382
+ "p-invalid": isFormFieldValid(formik, "name"),
383
+ })}
384
+
385
+ inputClassName="w-full"
386
+ feedback={false}
387
+ />
388
+ {isFormFieldValid(formik, "password") && (
389
+ <Message
390
+ severity="error"
391
+ text={formik?.errors?.password?.toString()}
392
+ />
393
+ )}
394
+ </div>
395
+
407
396
  </div>
408
- </Panel>
397
+
398
+ <Divider />
399
+ <p className="form-wrapper-heading text-base" style={{ fontSize: 16 }}>Roles</p>
400
+ <Panel toggleable header="Roles">
401
+ <div className="formgrid grid">
402
+ {rolesData?.data?.records && rolesData?.data?.records.map((role: any, i: number) => (
403
+ <div key={role.name} className={`field col-6 flex gap-2 ${i >= 2 ? 'mt-3' : ''}`}>
404
+ <Checkbox
405
+ inputId={role.name}
406
+ checked={selectedRoles.includes(role.name)}
407
+ onChange={() => handleCheckboxChange(role.name)}
408
+ disabled={data ? true : false}
409
+ />
410
+ <label htmlFor={role.name}> {role.name}</label>
411
+ </div>
412
+ ))}
413
+ </div>
414
+ </Panel>
415
+ </div>
409
416
  </div>
410
417
  </div>
411
418
  </form>
@@ -413,4 +420,5 @@ const CreateUser = ({ data,params }: any) => {
413
420
  );
414
421
  };
415
422
 
423
+
416
424
  export default CreateUser;
@@ -10,8 +10,11 @@ import { LayoutConfig } from "@/types";
10
10
  import { toggleTheme } from "@/redux/features/themeSlice";
11
11
  import { InputSwitch } from "primereact/inputswitch";
12
12
  import { Button } from "primereact/button";
13
+ import { useRouter } from "next/navigation";
13
14
 
14
15
  const UserProfileMenu = () => {
16
+ const router = useRouter();
17
+
15
18
  // const { user } = useAppSelector((state) => state.auth);
16
19
  const { changeTheme } = useContext(PrimeReactContext);
17
20
  const { layoutConfig, setLayoutConfig } = useContext(LayoutContext);
@@ -76,7 +79,9 @@ const UserProfileMenu = () => {
76
79
  </div>
77
80
  <InputSwitch checked={checked} onChange={handleThemeToggle} />
78
81
  </div>
79
-
82
+ <div className="p-2">
83
+ <Button icon="pi pi-cog" label="General Settings" size="small" text severity="secondary" className="w-full text-left gap-2" onClick={()=>router.push("/admin/settings") }/>
84
+ </div>
80
85
  <div className="user-profile-body p-3">
81
86
  <Button
82
87
  text
package/src/index.ts CHANGED
@@ -213,7 +213,9 @@ export { HeaderDynamicTitles } from '@/components/common/HeaderDynamicTitles';
213
213
  export { MultipleSelectAutoCompleteField } from '@/components/common/MultipleSelectAutoCompleteField';
214
214
  export { SingleSelectAutoCompleteField } from '@/components/common/SingleSelectAutoCompleteField';
215
215
  export { SocialMediaLogin } from '@/components/common/SocialMediaLogin';
216
-
216
+ export { BackButton } from '@/components/common/BackButton'
217
+ export { FileReaderExt } from '@/components/common/FileReaderExt'
218
+ export { SolidFormStepper } from '@/components/common/SolidFormStepper'
217
219
 
218
220
  // export { SolidListViewOptions } from '@/components/core/common/SolidListViewOptions';
219
221
  export { SolidConfigureLayoutElement } from '@/components/core/common/SolidConfigureLayoutElement';
@@ -449,7 +451,7 @@ export { solidViewsApi, useCreateSolidViewMutation, useDeleteMultipleSolidViewsM
449
451
  // export * from '@/redux/api/tagApi';
450
452
  // export * from '@/redux/api/tagGroupApi';
451
453
  export { useCreateuserroleMutation, useCreateuserrolebulkMutation, useDeleteMultipleUsersMutation, useDeleteUserMutation, useGetusersByIdQuery, useGetusersQuery, useLazyCheckIfPermissionExistsQuery, useLazyGetusersByIdQuery, useLazyGetusersQuery, useLazyUpdateSessionQuery, useRegisterUserMutation, useUpdatePasswordMutation, useUpdateProfileMutation, useUpdateSessionQuery, useUploadAvatarMutation, userApi } from '@/redux/api/userApi';
452
-
454
+ export { solidSettingsApi, useCreateSolidSettingsMutation, useGetSolidSettingsByIdQuery, useGetSolidSettingsQuery, useGetAuthSettingsQuery, useLazyGetAuthSettingsQuery, useLazyGetSolidSettingsQuery, useLazyGetSolidSettingsByIdQuery, useUpdateSolidSettingsMutation, } from '@/redux/api/solidSettingsApi';
453
455
  export { logout, setToken } from '@/redux/features/authSlice';
454
456
  export { gridView, listView } from '@/redux/features/dataViewSlice';
455
457
  export { hideNavbar, showNavbar, toggleNavbar } from '@/redux/features/navbarSlice';
@@ -590,6 +592,8 @@ export { default as popupReducer } from '@/redux/features/popupSlice';
590
592
  export { default as themeReducer } from '@/redux/features/themeSlice';
591
593
  export { default as userReducer } from '@/redux/features/userSlice';
592
594
 
595
+ export {default as GenerateModelCodeRowAction } from '@/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction'
593
596
 
594
597
  // types
595
598
  export type { LayoutConfig } from '@/types';
599
+ export { GeneralSettings } from '@/components/common/GeneralSettings';
@@ -69,6 +69,17 @@ export const createSolidEntityApi = (entityName: string) => {
69
69
  method: 'DELETE',
70
70
  }),
71
71
  }),
72
+ recoverSolidEntityById: builder.query({
73
+ query: (id) => `/${kebabEntityName}/recover/${id}`,
74
+ }),
75
+ recoverSolidEntity: builder.mutation({
76
+ query: (data) => ({
77
+ url: `/${kebabEntityName}/bulk-recover/`,
78
+ method: 'POST',
79
+ body: data
80
+ })
81
+
82
+ }),
72
83
  }),
73
84
  });
74
85
  };
@@ -0,0 +1,47 @@
1
+ import { createApi } from '@reduxjs/toolkit/query/react';
2
+ import { baseQueryWithAuth } from './fetchBaseQuery';
3
+
4
+ export const solidSettingsApi = createApi({
5
+ reducerPath: 'solidSettingsApi',
6
+ baseQuery: baseQueryWithAuth,
7
+ endpoints: (builder) => ({
8
+ createSolidSettings: builder.mutation({
9
+ query: (data) => ({
10
+ url: '/setting',
11
+ method: 'POST',
12
+ body: data
13
+ }),
14
+ }),
15
+ getSolidSettings: builder.query({
16
+ query: () => {
17
+ return `/setting`
18
+ },
19
+ }),
20
+ getAuthSettings: builder.query({
21
+ query: () => {
22
+ return `/setting/wrapped`
23
+ },
24
+ }),
25
+ getSolidSettingsById: builder.query({
26
+ query: (id) => `/setting/${id}`,
27
+ }),
28
+ updateSolidSettings: builder.mutation({
29
+ query: ({ id, data }) => ({
30
+ url: `/setting/${id}`,
31
+ method: 'PUT',
32
+ body: data,
33
+ }),
34
+ }),
35
+ })
36
+ });
37
+
38
+ export const {
39
+ useCreateSolidSettingsMutation,
40
+ useGetSolidSettingsByIdQuery,
41
+ useGetSolidSettingsQuery,
42
+ useGetAuthSettingsQuery,
43
+ useLazyGetAuthSettingsQuery,
44
+ useLazyGetSolidSettingsQuery,
45
+ useLazyGetSolidSettingsByIdQuery,
46
+ useUpdateSolidSettingsMutation,
47
+ } = solidSettingsApi;