@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.
- package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.js +7 -7
- package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
- package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidForgotPassword.js +9 -4
- package/dist/components/auth/SolidForgotPassword.js.map +1 -1
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +13 -6
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/common/BackButton.d.ts +2 -0
- package/dist/components/common/BackButton.d.ts.map +1 -0
- package/dist/components/common/BackButton.js +17 -0
- package/dist/components/common/BackButton.js.map +1 -0
- package/dist/components/common/CancelButton.js +2 -2
- package/dist/components/common/CancelButton.js.map +1 -1
- package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
- package/dist/components/common/DropzonePlaceholder.js +2 -1
- package/dist/components/common/DropzonePlaceholder.js.map +1 -1
- package/dist/components/common/FileReaderExt.d.ts +4 -0
- package/dist/components/common/FileReaderExt.d.ts.map +1 -0
- package/dist/components/common/FileReaderExt.js +15 -0
- package/dist/components/common/FileReaderExt.js.map +1 -0
- package/dist/components/common/GeneralSettings.d.ts +4 -0
- package/dist/components/common/GeneralSettings.d.ts.map +1 -0
- package/dist/components/common/GeneralSettings.js +139 -0
- package/dist/components/common/GeneralSettings.js.map +1 -0
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -1
- package/dist/components/common/SingleSelectAutoCompleteField.js +1 -1
- package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -1
- package/dist/components/common/SolidFormStepper.d.ts +2 -0
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -0
- package/dist/components/common/SolidFormStepper.js +6 -0
- package/dist/components/common/SolidFormStepper.js.map +1 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.js +2 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +6 -5
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts +2 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +4 -3
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +83 -54
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.js +4 -4
- package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.js +7 -7
- package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.js +7 -7
- package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.js +4 -4
- package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.js +4 -4
- package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.js +2 -2
- package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.js +2 -2
- package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +11 -11
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +13 -13
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.js +2 -2
- package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js +4 -4
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.js +4 -4
- package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.js +2 -2
- package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.js +7 -7
- package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +15 -14
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +2 -2
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +99 -21
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +15 -11
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +6 -6
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +189 -176
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
- package/dist/components/core/model/FieldSelector.js +1 -1
- package/dist/components/core/model/FieldSelector.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +55 -44
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +98 -60
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +18 -15
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
- package/dist/components/layout/user-profile-menu.js +3 -1
- package/dist/components/layout/user-profile-menu.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/redux/api/solidEntityApi.d.ts +2 -0
- package/dist/redux/api/solidEntityApi.d.ts.map +1 -1
- package/dist/redux/api/solidEntityApi.js +10 -0
- package/dist/redux/api/solidEntityApi.js.map +1 -1
- package/dist/redux/api/solidSettingsApi.d.ts +9 -0
- package/dist/redux/api/solidSettingsApi.d.ts.map +1 -0
- package/dist/redux/api/solidSettingsApi.js +40 -0
- package/dist/redux/api/solidSettingsApi.js.map +1 -0
- package/package.json +1 -1
- package/src/components/auth/SolidChangeForcePassword.tsx +2 -3
- package/src/components/auth/SolidForgotPassword.tsx +9 -4
- package/src/components/auth/SolidLogin.tsx +21 -12
- package/src/components/common/BackButton.tsx +27 -0
- package/src/components/common/CancelButton.tsx +2 -2
- package/src/components/common/DropzonePlaceholder.tsx +11 -3
- package/src/components/common/FileReaderExt.tsx +18 -0
- package/src/components/common/GeneralSettings.tsx +286 -0
- package/src/components/common/SingleSelectAutoCompleteField.tsx +0 -1
- package/src/components/common/SolidFormStepper.tsx +12 -0
- package/src/components/core/common/LoadDynamicJsxComponent.tsx +2 -1
- package/src/components/core/common/SolidGlobalSearchElement.tsx +6 -2
- package/src/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
- package/src/components/core/form/SolidFormView.tsx +201 -186
- package/src/components/core/form/fields/SolidBooleanField.tsx +3 -7
- package/src/components/core/form/fields/SolidDateField.tsx +2 -8
- package/src/components/core/form/fields/SolidDateTimeField.tsx +19 -24
- package/src/components/core/form/fields/SolidDecimalField.tsx +2 -7
- package/src/components/core/form/fields/SolidIntegerField.tsx +17 -22
- package/src/components/core/form/fields/SolidJsonField.tsx +15 -19
- package/src/components/core/form/fields/SolidLongTextField.tsx +19 -24
- package/src/components/core/form/fields/SolidMediaMultipleField.tsx +47 -51
- package/src/components/core/form/fields/SolidMediaSingleField.tsx +47 -51
- package/src/components/core/form/fields/SolidRichTextField.tsx +3 -7
- package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -7
- package/src/components/core/form/fields/SolidSelectionStaticField.tsx +20 -25
- package/src/components/core/form/fields/SolidShortTextField.tsx +18 -23
- package/src/components/core/form/fields/SolidTimeField.tsx +19 -24
- package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +51 -52
- package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +20 -25
- package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +6 -5
- package/src/components/core/list/SolidListView.tsx +118 -8
- package/src/components/core/model/CreateModel.tsx +68 -53
- package/src/components/core/model/FieldMetaData.tsx +16 -21
- package/src/components/core/model/FieldMetaDataForm.tsx +803 -895
- package/src/components/core/model/FieldSelector.tsx +10 -15
- package/src/components/core/model/ModelMetaData.tsx +373 -358
- package/src/components/core/module/CreateModule.tsx +327 -295
- package/src/components/core/users/CreateUser.tsx +175 -167
- package/src/components/layout/user-profile-menu.tsx +6 -1
- package/src/index.ts +6 -2
- package/src/redux/api/solidEntityApi.tsx +11 -0
- 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="
|
|
237
|
+
<div className="solid-form-wrapper">
|
|
235
238
|
<Toast ref={toast} />
|
|
236
|
-
|
|
237
239
|
<form onSubmit={formik.handleSubmit}>
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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
|
-
|
|
284
|
-
|
|
285
|
-
|
|
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
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
</
|
|
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
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
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
|
-
|
|
387
|
-
|
|
388
|
-
</div>
|
|
267
|
+
</>
|
|
268
|
+
)}
|
|
389
269
|
</div>
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
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
|
-
|
|
405
|
-
|
|
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
|
-
|
|
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;
|