@solidxai/core-ui 0.1.5-beta.11 → 0.1.5-beta.13
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/GoogleAuthChecking.d.ts.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.js +10 -10
- package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.tsx +8 -9
- package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.js +9 -10
- package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.tsx +6 -9
- package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidForgotPassword.js +8 -8
- package/dist/components/auth/SolidForgotPassword.js.map +1 -1
- package/dist/components/auth/SolidForgotPassword.tsx +6 -8
- package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.js +57 -57
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.tsx +10 -11
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.js +57 -57
- package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.tsx +10 -11
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +12 -12
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +11 -16
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +19 -19
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidRegister.tsx +18 -23
- package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidResetPassword.js +15 -15
- package/dist/components/auth/SolidResetPassword.js.map +1 -1
- package/dist/components/auth/SolidResetPassword.tsx +7 -8
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +87 -120
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +12 -42
- package/dist/components/common/GlobalToast.d.ts +2 -0
- package/dist/components/common/GlobalToast.d.ts.map +1 -0
- package/dist/components/common/GlobalToast.js +25 -0
- package/dist/components/common/GlobalToast.js.map +1 -0
- package/dist/components/common/GlobalToast.tsx +25 -0
- package/dist/components/common/SolidExport.d.ts.map +1 -1
- package/dist/components/common/SolidExport.js +19 -31
- package/dist/components/common/SolidExport.js.map +1 -1
- package/dist/components/common/SolidExport.tsx +7 -19
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
- package/dist/components/common/SolidFormStepper.js +41 -41
- package/dist/components/common/SolidFormStepper.js.map +1 -1
- package/dist/components/common/SolidFormStepper.tsx +5 -6
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +9 -9
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +8 -9
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +8 -8
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +7 -9
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +11 -11
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +10 -11
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +9 -9
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +8 -9
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +7 -7
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +6 -7
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +78 -21
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +65 -10
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +6 -8
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +5 -9
- 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 +9 -11
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +5 -10
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +5 -6
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +5 -8
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +10 -12
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +6 -11
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +11 -6
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +13 -1
- package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.js +7 -8
- package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.tsx +5 -7
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +12 -21
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +11 -33
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +37 -26
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +38 -5
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +11 -11
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +9 -11
- package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanUserViewLayout.js +7 -8
- package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
- package/dist/components/core/kanban/KanbanUserViewLayout.tsx +4 -6
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +5 -7
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +4 -9
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +13 -13
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +5 -6
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +20 -67
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +9 -76
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +15 -25
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +12 -32
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +6 -17
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.tsx +5 -26
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +48 -55
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.tsx +4 -22
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +42 -44
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +13 -27
- package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
- package/dist/components/core/module/ModuleListViewData.js +11 -7
- package/dist/components/core/module/ModuleListViewData.js.map +1 -1
- package/dist/components/core/module/ModuleListViewData.tsx +10 -8
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +32 -69
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +8 -47
- package/dist/components/core/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +24 -37
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/components/core/users/CreateUser.tsx +8 -46
- package/dist/components/core/users/UserListView.d.ts.map +1 -1
- package/dist/components/core/users/UserListView.js +9 -16
- package/dist/components/core/users/UserListView.js.map +1 -1
- package/dist/components/core/users/UserListView.tsx +5 -21
- package/dist/components/layout/AdminLayout.d.ts.map +1 -1
- package/dist/components/layout/AdminLayout.js +4 -2
- package/dist/components/layout/AdminLayout.js.map +1 -1
- package/dist/components/layout/AdminLayout.tsx +4 -2
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +1 -2
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +0 -2
- package/dist/components/layout/Layout.d.ts.map +1 -1
- package/dist/components/layout/Layout.js +2 -1
- package/dist/components/layout/Layout.js.map +1 -1
- package/dist/components/layout/Layout.tsx +2 -0
- package/dist/components/layout/navbar-one.d.ts.map +1 -1
- package/dist/components/layout/navbar-one.js +1 -2
- package/dist/components/layout/navbar-one.js.map +1 -1
- package/dist/components/layout/navbar-one.tsx +0 -2
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +50 -24
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +48 -30
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +4 -0
- package/dist/redux/features/toastSlice.d.ts +15 -0
- package/dist/redux/features/toastSlice.d.ts.map +1 -0
- package/dist/redux/features/toastSlice.js +20 -0
- package/dist/redux/features/toastSlice.js.map +1 -0
- package/dist/redux/features/toastSlice.ts +35 -0
- package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/defaultStoreConfig.js +2 -1
- package/dist/redux/store/defaultStoreConfig.js.map +1 -1
- package/dist/redux/store/defaultStoreConfig.ts +2 -0
- package/package.json +1 -1
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { useFormik } from "formik";
|
|
3
3
|
import './solid-export.css';
|
|
4
4
|
import { Button } from "primereact/button";
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
5
|
+
import React, { useEffect, useState } from "react";
|
|
6
|
+
import { useDispatch } from 'react-redux';
|
|
7
|
+
import { showToast } from '../../redux/features/toastSlice';
|
|
7
8
|
import { createSolidEntityApi } from "../../redux/api/solidEntityApi";
|
|
8
9
|
import { Dropdown } from "primereact/dropdown";
|
|
9
10
|
import { Dialog } from "primereact/dialog";
|
|
@@ -38,7 +39,7 @@ interface Question {
|
|
|
38
39
|
name: string;
|
|
39
40
|
}
|
|
40
41
|
export const SolidExport = ({ listViewMetaData, filters }: any) => {
|
|
41
|
-
const
|
|
42
|
+
const dispatch = useDispatch();
|
|
42
43
|
const entityApi = createSolidEntityApi("userViewMetadata");
|
|
43
44
|
const { useUpsertSolidEntityMutation } = entityApi;
|
|
44
45
|
|
|
@@ -226,11 +227,7 @@ export const SolidExport = ({ listViewMetaData, filters }: any) => {
|
|
|
226
227
|
|
|
227
228
|
try {
|
|
228
229
|
const response = await createExportTemplate(exportData).unwrap();
|
|
229
|
-
|
|
230
|
-
severity: "success",
|
|
231
|
-
summary: "Template Added",
|
|
232
|
-
detail: "Template Saved",
|
|
233
|
-
});
|
|
230
|
+
dispatch(showToast({ severity: "success", summary: "Template Added", detail: "Template Saved" }));
|
|
234
231
|
let newAddedTemplate: TemplateOption = {
|
|
235
232
|
name: selectedTemplate?.name || "",
|
|
236
233
|
code: response.data.id,
|
|
@@ -246,11 +243,7 @@ export const SolidExport = ({ listViewMetaData, filters }: any) => {
|
|
|
246
243
|
console.error(ERROR_MESSAGES.TEMPLATE_FAILED, err);
|
|
247
244
|
}
|
|
248
245
|
} else {
|
|
249
|
-
|
|
250
|
-
severity: "error",
|
|
251
|
-
summary: ERROR_MESSAGES.TEMPLATE_FAILED,
|
|
252
|
-
detail: ERROR_MESSAGES.TEMPLATE_FAILED,
|
|
253
|
-
});
|
|
246
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.TEMPLATE_FAILED, detail: ERROR_MESSAGES.TEMPLATE_FAILED }));
|
|
254
247
|
}
|
|
255
248
|
};
|
|
256
249
|
|
|
@@ -387,11 +380,7 @@ export const SolidExport = ({ listViewMetaData, filters }: any) => {
|
|
|
387
380
|
const handleDeleteTemplate = async (id: string) => {
|
|
388
381
|
const response = await deleteExportTemplate(id).unwrap();
|
|
389
382
|
setTemplateOptions((prev) => prev.filter((template) => template.code !== id));
|
|
390
|
-
|
|
391
|
-
severity: "success",
|
|
392
|
-
summary: "Template Deleted",
|
|
393
|
-
detail: "Template Deleted",
|
|
394
|
-
});
|
|
383
|
+
dispatch(showToast({ severity: "success", summary: "Template Deleted", detail: "Template Deleted" }));
|
|
395
384
|
};
|
|
396
385
|
const itemTemplate = (option: TemplateOption) => {
|
|
397
386
|
return (
|
|
@@ -410,7 +399,6 @@ export const SolidExport = ({ listViewMetaData, filters }: any) => {
|
|
|
410
399
|
|
|
411
400
|
return (
|
|
412
401
|
<>
|
|
413
|
-
<Toast ref={toast} />
|
|
414
402
|
{/*<div className="flex align-items-center justify-content-between m-0 p-0">
|
|
415
403
|
<SolidExportStepper
|
|
416
404
|
solidFormViewWorkflowData={steps}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidFormStepper.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"AASA,UAAU,KAAK;IACX,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,uBAAuB,CAAC,EAAE,GAAG,CAAA;IAC7B,0BAA0B,CAAC,EAAE,GAAG,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC/B;AAED,eAAO,MAAM,gBAAgB,UAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"SolidFormStepper.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"AASA,UAAU,KAAK;IACX,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,uBAAuB,CAAC,EAAE,GAAG,CAAA;IAC7B,0BAA0B,CAAC,EAAE,GAAG,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC/B;AAED,eAAO,MAAM,gBAAgB,UAAW,KAAK,4CA2T5C,CAAA"}
|
|
@@ -48,15 +48,15 @@ import { OverlayPanel } from 'primereact/overlaypanel';
|
|
|
48
48
|
import { useEffect, useRef, useState } from 'react';
|
|
49
49
|
import { createSolidEntityApi } from '../../redux/api/solidEntityApi';
|
|
50
50
|
import { useFormik } from 'formik';
|
|
51
|
-
import { Toast } from 'primereact/toast';
|
|
52
51
|
import { useSearchParams } from "../../hooks/useSearchParams";
|
|
53
52
|
import { ERROR_MESSAGES } from '../../constants/error-messages';
|
|
54
|
-
import
|
|
53
|
+
import { useDispatch } from 'react-redux';
|
|
54
|
+
import { showToast } from '../../redux/features/toastSlice';
|
|
55
55
|
export var SolidFormStepper = function (props) {
|
|
56
56
|
var _a;
|
|
57
57
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
58
58
|
var solidFormViewMetaData = props.solidFormViewMetaData, modelName = props.modelName, initialEntityData = props.initialEntityData, id = props.id, solidWorkflowFieldValue = props.solidWorkflowFieldValue, setSolidWorkflowFieldValue = props.setSolidWorkflowFieldValue, onStepperUpdate = props.onStepperUpdate;
|
|
59
|
-
var
|
|
59
|
+
var dispatch = useDispatch();
|
|
60
60
|
var formStepperOverlay = useRef(null);
|
|
61
61
|
var containerRef = useRef(null);
|
|
62
62
|
var leftFormStepperOverlay = useRef(null);
|
|
@@ -171,7 +171,7 @@ export var SolidFormStepper = function (props) {
|
|
|
171
171
|
case 1:
|
|
172
172
|
result = _c.sent();
|
|
173
173
|
if ((result === null || result === void 0 ? void 0 : result.statusCode) === 200) {
|
|
174
|
-
showToast(
|
|
174
|
+
dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.FIELD_UPDATE(defaultWorkflowFieldDisplayName), detail: ERROR_MESSAGES.FIELD_UPDATE_SUCCESSFULLY(defaultWorkflowFieldDisplayName) }));
|
|
175
175
|
if ((_b = result === null || result === void 0 ? void 0 : result.data) === null || _b === void 0 ? void 0 : _b[solidWorkflowFieldKey]) {
|
|
176
176
|
setSolidWorkflowFieldValue(result.data[solidWorkflowFieldKey]);
|
|
177
177
|
}
|
|
@@ -183,7 +183,7 @@ export var SolidFormStepper = function (props) {
|
|
|
183
183
|
case 2:
|
|
184
184
|
error_1 = _c.sent();
|
|
185
185
|
console.error(ERROR_MESSAGES.UPDATING_STEPPER, error_1);
|
|
186
|
-
showToast(
|
|
186
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.UPDATE_FAILED, detail: ERROR_MESSAGES.FAILED_UPDATE_FROM }));
|
|
187
187
|
return [3 /*break*/, 3];
|
|
188
188
|
case 3: return [2 /*return*/];
|
|
189
189
|
}
|
|
@@ -233,41 +233,41 @@ export var SolidFormStepper = function (props) {
|
|
|
233
233
|
}
|
|
234
234
|
var hasPreviousSteps = previousSteps.length > 0 && !isSingleVisibleStep;
|
|
235
235
|
var hasNextSteps = nextSteps.length > 0 || (isSingleVisibleStep && previousSteps.length > 0);
|
|
236
|
-
return (
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
236
|
+
return (_jsx(_Fragment, { children: _jsxs("div", { ref: containerRef, className: 'arrow-stepper-container', children: [hasPreviousSteps && (_jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [_jsx("button", { type: 'button', className: "overflow-button overlow-left-button", onClick: function (e) {
|
|
237
|
+
// @ts-ignore
|
|
238
|
+
leftFormStepperOverlay.current.toggle(e);
|
|
239
|
+
}, children: _jsx("i", { className: "pi pi-ellipsis-h" }) }), _jsx(OverlayPanel, { ref: leftFormStepperOverlay, className: "solid-custom-overlay solid-form-stepper-overlay", children: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }, children: previousSteps.map(function (step, index) {
|
|
240
|
+
var stepIndex = index;
|
|
241
|
+
var isStepActive = stepIndex === activeIndex;
|
|
242
|
+
var isStepBeforeActive = stepIndex < activeIndex;
|
|
243
|
+
return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () {
|
|
244
|
+
handleButtonClick(step.value);
|
|
245
|
+
// @ts-ignore
|
|
246
|
+
leftFormStepperOverlay.current.hide();
|
|
247
|
+
}, children: step.label }, stepIndex));
|
|
248
|
+
}) }) })] })), visibleSteps.map(function (step) {
|
|
249
|
+
var stepIndex = solidFormViewWorkflowData.findIndex(function (s) { return s.value === step.value; });
|
|
250
|
+
var isActive = stepIndex === activeIndex;
|
|
251
|
+
var isBeforeActive = stepIndex < activeIndex;
|
|
252
|
+
var isSingleButton = visibleSteps.length === 1;
|
|
253
|
+
return (_jsx("button", { type: "button", className: "arrow-step-button ".concat(isSingleButton ? 'single-button' : '', " ").concat(isActive
|
|
254
|
+
? 'arrow-step-active'
|
|
255
|
+
: isBeforeActive
|
|
256
|
+
? 'arrow-step-completed'
|
|
257
|
+
: 'arrow-step-future'), onClick: function () { return handleButtonClick(step.value); }, title: step.label, children: _jsx("span", { className: "step-text", children: step.label }) }, step.value));
|
|
258
|
+
}), hasNextSteps && (_jsxs("div", { style: { display: 'flex', alignItems: 'center' }, children: [_jsx("button", { type: 'button', className: "overflow-button overflow-right-button", onClick: function (e) {
|
|
259
|
+
// @ts-ignore
|
|
260
|
+
formStepperOverlay.current.toggle(e);
|
|
261
|
+
}, children: _jsx("i", { className: "pi pi-ellipsis-h" }) }), _jsx(OverlayPanel, { ref: formStepperOverlay, className: "solid-custom-overlay solid-form-stepper-overlay", children: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }, children: (isSingleVisibleStep
|
|
262
|
+
? __spreadArray(__spreadArray([], previousSteps, true), nextSteps, true) : nextSteps).map(function (step) {
|
|
263
|
+
var stepIndex = solidFormViewWorkflowData.findIndex(function (s) { return s.value === step.value; });
|
|
264
|
+
var isStepActive = stepIndex === activeIndex;
|
|
265
|
+
var isStepBeforeActive = stepIndex < activeIndex;
|
|
266
|
+
return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () {
|
|
267
|
+
handleButtonClick(step.value);
|
|
268
|
+
// @ts-ignore
|
|
269
|
+
formStepperOverlay.current.hide();
|
|
270
|
+
}, children: step.label }, stepIndex));
|
|
271
|
+
}) }) })] }))] }) }));
|
|
272
272
|
};
|
|
273
273
|
//# sourceMappingURL=SolidFormStepper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidFormStepper.js","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { OverlayPanel } from 'primereact/overlaypanel';\nimport { useEffect, useRef, useState } from 'react'\nimport { createSolidEntityApi } from '../../redux/api/solidEntityApi';\nimport { useFormik } from 'formik';\nimport { Toast } from 'primereact/toast';\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { ERROR_MESSAGES } from '../../constants/error-messages';\nimport showToast from \"../../helpers/showToast\";\n\ninterface Props {\n solidFormViewMetaData?: any;\n modelName?: any,\n initialEntityData?: any;\n id?: any,\n solidWorkflowFieldValue?: any\n setSolidWorkflowFieldValue?: any\n onStepperUpdate?: () => void\n}\n\nexport const SolidFormStepper = (props: Props) => {\n const { solidFormViewMetaData, modelName, initialEntityData, id, solidWorkflowFieldValue, setSolidWorkflowFieldValue, onStepperUpdate } = props;\n const toast = useRef<Toast>(null);\n const formStepperOverlay = useRef(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const leftFormStepperOverlay = useRef(null);\n\n const searchParams = useSearchParams();\n const viewMode = searchParams.get('viewMode');\n\n const solidFormViewWorkflowData = solidFormViewMetaData?.data?.solidFormViewWorkflowData;\n const solidWorkflowField = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowField;\n const solidWorkflowFieldEnabled = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowFieldUpdateEnabled;\n const defaultWorkflowFieldValue = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.defaultValue\n const defaultWorkflowFieldDisplayName = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.displayName\n const activeStep = solidFormViewMetaData?.data?.solidFormViewWorkflowData[0].value\n const [solidWorkflowFieldKey, setSolidWorkflowFieldKey] = useState<string>(\"\");\n const [visibleStepsCount, setVisibleStepsCount] = useState<number>(1);\n\n // Dynamic responsive logic\n useEffect(() => {\n const calculateVisibleSteps = () => {\n if (!containerRef.current || !solidFormViewWorkflowData || solidFormViewWorkflowData.length === 0) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const overflowButtonWidth = 50;\n const arrowWidth = 30; // Width for arrow between buttons\n const spacing = 0; // No gap needed as arrows connect buttons\n\n const tempContainer = document.createElement('div');\n tempContainer.style.visibility = 'hidden';\n tempContainer.style.position = 'absolute';\n document.body.appendChild(tempContainer);\n\n const buttonWidths: number[] = [];\n\n solidFormViewWorkflowData.forEach((step: any) => {\n const tempButton = document.createElement('button');\n tempButton.className = 'arrow-step-button';\n tempButton.textContent = step.label;\n tempButton.style.padding = '0.5rem 1.5rem';\n tempButton.style.minWidth = '100px';\n tempContainer.appendChild(tempButton);\n buttonWidths.push(Math.max(100, tempButton.offsetWidth));\n });\n\n document.body.removeChild(tempContainer);\n\n let count = 0;\n let totalWidth = 0;\n\n for (let i = 0; i < buttonWidths.length; i++) {\n const buttonWidth = buttonWidths[i];\n const arrowSpace = i > 0 ? arrowWidth : 0;\n const needsOverflow = i < buttonWidths.length - 1;\n const requiredWidth = totalWidth + buttonWidth + arrowSpace + (needsOverflow ? overflowButtonWidth : 0);\n\n if (requiredWidth <= containerWidth) {\n totalWidth += buttonWidth + arrowSpace;\n count++;\n } else {\n break;\n }\n }\n\n count = Math.max(1, count);\n setVisibleStepsCount(count);\n };\n\n calculateVisibleSteps();\n\n const resizeObserver = new ResizeObserver(calculateVisibleSteps);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n const timeoutId = setTimeout(calculateVisibleSteps, 100);\n\n return () => {\n resizeObserver.disconnect();\n clearTimeout(timeoutId);\n };\n }, [solidFormViewWorkflowData]);\n\n useEffect(() => {\n if (!solidWorkflowField) return;\n\n setSolidWorkflowFieldKey(solidWorkflowField);\n\n setSolidWorkflowFieldValue(() => {\n if (initialEntityData?.[solidWorkflowField] !== undefined) {\n if (solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.type === \"relation\") {\n return initialEntityData[solidWorkflowField]?.id || initialEntityData[solidWorkflowField];\n } else {\n return initialEntityData[solidWorkflowField];\n }\n } else if (defaultWorkflowFieldValue !== undefined) {\n return defaultWorkflowFieldValue;\n } else {\n return activeStep;\n }\n });\n }, [solidWorkflowField, initialEntityData, defaultWorkflowFieldValue, activeStep]);\n\n const formik = useFormik({\n enableReinitialize: true,\n initialValues: {\n id: +id,\n [solidWorkflowFieldKey]: solidWorkflowFieldValue || \"\",\n },\n onSubmit: (values) => {\n handleStepChange(values);\n }\n });\n\n const entityApi = createSolidEntityApi(modelName);\n const { usePatchUpdateSolidEntityMutation } = entityApi;\n\n const [\n updateStepper,\n { isSuccess: isStepperUpdateSuccessfull, isError: isStepperUpdateError, error: stepperUpdateError },\n ] = usePatchUpdateSolidEntityMutation();\n\n const handleStepChange = async (values: any) => {\n try {\n const result = await updateStepper({ id: values.id, data: { [solidWorkflowFieldKey]: values[solidWorkflowFieldKey] } }).unwrap();\n if (result?.statusCode === 200) {\n showToast(toast, \"success\", ERROR_MESSAGES.FIELD_UPDATE(defaultWorkflowFieldDisplayName), ERROR_MESSAGES.FIELD_UPDATE_SUCCESSFULLY(defaultWorkflowFieldDisplayName));\n if (result?.data?.[solidWorkflowFieldKey]) {\n setSolidWorkflowFieldValue(result.data[solidWorkflowFieldKey]);\n }\n if (onStepperUpdate) {\n onStepperUpdate();\n }\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.UPDATING_STEPPER, error);\n showToast(toast, \"error\", ERROR_MESSAGES.UPDATE_FAILED, ERROR_MESSAGES.FAILED_UPDATE_FROM);\n }\n }\n\n const handleButtonClick = (stepValue: any) => {\n if (solidWorkflowFieldEnabled === false || id === \"new\" || viewMode === \"view\") {\n return\n } else {\n formik.setFieldValue(solidWorkflowFieldKey, stepValue);\n formik.handleSubmit();\n }\n }\n\n const activeIndex = solidFormViewWorkflowData?.findIndex((step: any) => step.value === solidWorkflowFieldValue) ?? -1;\n\n let visibleSteps: any[] = [];\n let previousSteps: any[] = [];\n let nextSteps: any[] = [];\n const isSingleVisibleStep = visibleStepsCount === 1;\n\n if (solidFormViewWorkflowData && solidFormViewWorkflowData.length > 0) {\n if (activeIndex === -1) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else if (visibleStepsCount === 1) {\n visibleSteps = [solidFormViewWorkflowData[activeIndex]];\n previousSteps = solidFormViewWorkflowData.slice(0, activeIndex);\n nextSteps = solidFormViewWorkflowData.slice(activeIndex + 1);\n } else {\n const totalSteps = solidFormViewWorkflowData.length;\n\n if (activeIndex < visibleStepsCount) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else {\n const slotsAvailable = visibleStepsCount - 1;\n const afterActive = Math.min(Math.floor(slotsAvailable / 2), totalSteps - activeIndex - 1);\n const beforeActive = slotsAvailable - afterActive;\n\n const startIndex = Math.max(0, activeIndex - beforeActive);\n const endIndex = Math.min(totalSteps, activeIndex + afterActive + 1);\n\n previousSteps = solidFormViewWorkflowData.slice(0, startIndex);\n visibleSteps = solidFormViewWorkflowData.slice(startIndex, endIndex);\n nextSteps = solidFormViewWorkflowData.slice(endIndex);\n }\n }\n }\n\n const hasPreviousSteps =\n previousSteps.length > 0 && !isSingleVisibleStep;\n\n const hasNextSteps =\n nextSteps.length > 0 || (isSingleVisibleStep && previousSteps.length > 0);\n\n return (\n <>\n <Toast ref={toast} />\n <div ref={containerRef} className='arrow-stepper-container'>\n {hasPreviousSteps && (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <button\n type='button'\n className=\"overflow-button overlow-left-button\"\n onClick={(e) => {\n // @ts-ignore\n leftFormStepperOverlay.current.toggle(e)\n }}\n >\n <i className=\"pi pi-ellipsis-h\" />\n </button>\n <OverlayPanel\n ref={leftFormStepperOverlay}\n className=\"solid-custom-overlay solid-form-stepper-overlay\"\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {previousSteps.map((step: any, index: number) => {\n const stepIndex = index;\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => {\n handleButtonClick(step.value);\n // @ts-ignore\n leftFormStepperOverlay.current.hide();\n }}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </OverlayPanel>\n </div>\n )}\n\n {visibleSteps.map((step: any) => {\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isActive = stepIndex === activeIndex;\n const isBeforeActive = stepIndex < activeIndex;\n const isSingleButton = visibleSteps.length === 1;\n\n return (\n <button\n key={step.value}\n type=\"button\"\n className={`arrow-step-button ${isSingleButton ? 'single-button' : ''\n } ${isActive\n ? 'arrow-step-active'\n : isBeforeActive\n ? 'arrow-step-completed'\n : 'arrow-step-future'\n }`}\n onClick={() => handleButtonClick(step.value)}\n title={step.label}\n >\n <span className=\"step-text\">{step.label}</span>\n </button>\n );\n })}\n\n {hasNextSteps && (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <button\n type='button'\n className=\"overflow-button overflow-right-button\"\n onClick={(e) => {\n // @ts-ignore\n formStepperOverlay.current.toggle(e)\n }}\n >\n <i className=\"pi pi-ellipsis-h\" />\n </button>\n <OverlayPanel\n ref={formStepperOverlay}\n className=\"solid-custom-overlay solid-form-stepper-overlay\"\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {(isSingleVisibleStep\n ? [...previousSteps, ...nextSteps]\n : nextSteps).map((step: any) => {\n\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => {\n handleButtonClick(step.value);\n // @ts-ignore\n formStepperOverlay.current.hide();\n }}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </OverlayPanel>\n </div>\n )}\n </div>\n </>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SolidFormStepper.js","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { OverlayPanel } from 'primereact/overlaypanel';\nimport { useEffect, useRef, useState } from 'react'\nimport { createSolidEntityApi } from '../../redux/api/solidEntityApi';\nimport { useFormik } from 'formik';\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { ERROR_MESSAGES } from '../../constants/error-messages';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../redux/features/toastSlice';\n\ninterface Props {\n solidFormViewMetaData?: any;\n modelName?: any,\n initialEntityData?: any;\n id?: any,\n solidWorkflowFieldValue?: any\n setSolidWorkflowFieldValue?: any\n onStepperUpdate?: () => void\n}\n\nexport const SolidFormStepper = (props: Props) => {\n const { solidFormViewMetaData, modelName, initialEntityData, id, solidWorkflowFieldValue, setSolidWorkflowFieldValue, onStepperUpdate } = props;\n const dispatch = useDispatch();\n const formStepperOverlay = useRef(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const leftFormStepperOverlay = useRef(null);\n\n const searchParams = useSearchParams();\n const viewMode = searchParams.get('viewMode');\n\n const solidFormViewWorkflowData = solidFormViewMetaData?.data?.solidFormViewWorkflowData;\n const solidWorkflowField = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowField;\n const solidWorkflowFieldEnabled = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowFieldUpdateEnabled;\n const defaultWorkflowFieldValue = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.defaultValue\n const defaultWorkflowFieldDisplayName = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.displayName\n const activeStep = solidFormViewMetaData?.data?.solidFormViewWorkflowData[0].value\n const [solidWorkflowFieldKey, setSolidWorkflowFieldKey] = useState<string>(\"\");\n const [visibleStepsCount, setVisibleStepsCount] = useState<number>(1);\n\n // Dynamic responsive logic\n useEffect(() => {\n const calculateVisibleSteps = () => {\n if (!containerRef.current || !solidFormViewWorkflowData || solidFormViewWorkflowData.length === 0) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const overflowButtonWidth = 50;\n const arrowWidth = 30; // Width for arrow between buttons\n const spacing = 0; // No gap needed as arrows connect buttons\n\n const tempContainer = document.createElement('div');\n tempContainer.style.visibility = 'hidden';\n tempContainer.style.position = 'absolute';\n document.body.appendChild(tempContainer);\n\n const buttonWidths: number[] = [];\n\n solidFormViewWorkflowData.forEach((step: any) => {\n const tempButton = document.createElement('button');\n tempButton.className = 'arrow-step-button';\n tempButton.textContent = step.label;\n tempButton.style.padding = '0.5rem 1.5rem';\n tempButton.style.minWidth = '100px';\n tempContainer.appendChild(tempButton);\n buttonWidths.push(Math.max(100, tempButton.offsetWidth));\n });\n\n document.body.removeChild(tempContainer);\n\n let count = 0;\n let totalWidth = 0;\n\n for (let i = 0; i < buttonWidths.length; i++) {\n const buttonWidth = buttonWidths[i];\n const arrowSpace = i > 0 ? arrowWidth : 0;\n const needsOverflow = i < buttonWidths.length - 1;\n const requiredWidth = totalWidth + buttonWidth + arrowSpace + (needsOverflow ? overflowButtonWidth : 0);\n\n if (requiredWidth <= containerWidth) {\n totalWidth += buttonWidth + arrowSpace;\n count++;\n } else {\n break;\n }\n }\n\n count = Math.max(1, count);\n setVisibleStepsCount(count);\n };\n\n calculateVisibleSteps();\n\n const resizeObserver = new ResizeObserver(calculateVisibleSteps);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n const timeoutId = setTimeout(calculateVisibleSteps, 100);\n\n return () => {\n resizeObserver.disconnect();\n clearTimeout(timeoutId);\n };\n }, [solidFormViewWorkflowData]);\n\n useEffect(() => {\n if (!solidWorkflowField) return;\n\n setSolidWorkflowFieldKey(solidWorkflowField);\n\n setSolidWorkflowFieldValue(() => {\n if (initialEntityData?.[solidWorkflowField] !== undefined) {\n if (solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.type === \"relation\") {\n return initialEntityData[solidWorkflowField]?.id || initialEntityData[solidWorkflowField];\n } else {\n return initialEntityData[solidWorkflowField];\n }\n } else if (defaultWorkflowFieldValue !== undefined) {\n return defaultWorkflowFieldValue;\n } else {\n return activeStep;\n }\n });\n }, [solidWorkflowField, initialEntityData, defaultWorkflowFieldValue, activeStep]);\n\n const formik = useFormik({\n enableReinitialize: true,\n initialValues: {\n id: +id,\n [solidWorkflowFieldKey]: solidWorkflowFieldValue || \"\",\n },\n onSubmit: (values) => {\n handleStepChange(values);\n }\n });\n\n const entityApi = createSolidEntityApi(modelName);\n const { usePatchUpdateSolidEntityMutation } = entityApi;\n\n const [\n updateStepper,\n { isSuccess: isStepperUpdateSuccessfull, isError: isStepperUpdateError, error: stepperUpdateError },\n ] = usePatchUpdateSolidEntityMutation();\n\n const handleStepChange = async (values: any) => {\n try {\n const result = await updateStepper({ id: values.id, data: { [solidWorkflowFieldKey]: values[solidWorkflowFieldKey] } }).unwrap();\n if (result?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.FIELD_UPDATE(defaultWorkflowFieldDisplayName), detail: ERROR_MESSAGES.FIELD_UPDATE_SUCCESSFULLY(defaultWorkflowFieldDisplayName) }));\n if (result?.data?.[solidWorkflowFieldKey]) {\n setSolidWorkflowFieldValue(result.data[solidWorkflowFieldKey]);\n }\n if (onStepperUpdate) {\n onStepperUpdate();\n }\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.UPDATING_STEPPER, error);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.UPDATE_FAILED, detail: ERROR_MESSAGES.FAILED_UPDATE_FROM }));\n }\n }\n\n const handleButtonClick = (stepValue: any) => {\n if (solidWorkflowFieldEnabled === false || id === \"new\" || viewMode === \"view\") {\n return\n } else {\n formik.setFieldValue(solidWorkflowFieldKey, stepValue);\n formik.handleSubmit();\n }\n }\n\n const activeIndex = solidFormViewWorkflowData?.findIndex((step: any) => step.value === solidWorkflowFieldValue) ?? -1;\n\n let visibleSteps: any[] = [];\n let previousSteps: any[] = [];\n let nextSteps: any[] = [];\n const isSingleVisibleStep = visibleStepsCount === 1;\n\n if (solidFormViewWorkflowData && solidFormViewWorkflowData.length > 0) {\n if (activeIndex === -1) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else if (visibleStepsCount === 1) {\n visibleSteps = [solidFormViewWorkflowData[activeIndex]];\n previousSteps = solidFormViewWorkflowData.slice(0, activeIndex);\n nextSteps = solidFormViewWorkflowData.slice(activeIndex + 1);\n } else {\n const totalSteps = solidFormViewWorkflowData.length;\n\n if (activeIndex < visibleStepsCount) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else {\n const slotsAvailable = visibleStepsCount - 1;\n const afterActive = Math.min(Math.floor(slotsAvailable / 2), totalSteps - activeIndex - 1);\n const beforeActive = slotsAvailable - afterActive;\n\n const startIndex = Math.max(0, activeIndex - beforeActive);\n const endIndex = Math.min(totalSteps, activeIndex + afterActive + 1);\n\n previousSteps = solidFormViewWorkflowData.slice(0, startIndex);\n visibleSteps = solidFormViewWorkflowData.slice(startIndex, endIndex);\n nextSteps = solidFormViewWorkflowData.slice(endIndex);\n }\n }\n }\n\n const hasPreviousSteps =\n previousSteps.length > 0 && !isSingleVisibleStep;\n\n const hasNextSteps =\n nextSteps.length > 0 || (isSingleVisibleStep && previousSteps.length > 0);\n\n return (\n <>\n <div ref={containerRef} className='arrow-stepper-container'>\n {hasPreviousSteps && (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <button\n type='button'\n className=\"overflow-button overlow-left-button\"\n onClick={(e) => {\n // @ts-ignore\n leftFormStepperOverlay.current.toggle(e)\n }}\n >\n <i className=\"pi pi-ellipsis-h\" />\n </button>\n <OverlayPanel\n ref={leftFormStepperOverlay}\n className=\"solid-custom-overlay solid-form-stepper-overlay\"\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {previousSteps.map((step: any, index: number) => {\n const stepIndex = index;\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => {\n handleButtonClick(step.value);\n // @ts-ignore\n leftFormStepperOverlay.current.hide();\n }}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </OverlayPanel>\n </div>\n )}\n\n {visibleSteps.map((step: any) => {\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isActive = stepIndex === activeIndex;\n const isBeforeActive = stepIndex < activeIndex;\n const isSingleButton = visibleSteps.length === 1;\n\n return (\n <button\n key={step.value}\n type=\"button\"\n className={`arrow-step-button ${isSingleButton ? 'single-button' : ''\n } ${isActive\n ? 'arrow-step-active'\n : isBeforeActive\n ? 'arrow-step-completed'\n : 'arrow-step-future'\n }`}\n onClick={() => handleButtonClick(step.value)}\n title={step.label}\n >\n <span className=\"step-text\">{step.label}</span>\n </button>\n );\n })}\n\n {hasNextSteps && (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <button\n type='button'\n className=\"overflow-button overflow-right-button\"\n onClick={(e) => {\n // @ts-ignore\n formStepperOverlay.current.toggle(e)\n }}\n >\n <i className=\"pi pi-ellipsis-h\" />\n </button>\n <OverlayPanel\n ref={formStepperOverlay}\n className=\"solid-custom-overlay solid-form-stepper-overlay\"\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {(isSingleVisibleStep\n ? [...previousSteps, ...nextSteps]\n : nextSteps).map((step: any) => {\n\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => {\n handleButtonClick(step.value);\n // @ts-ignore\n formStepperOverlay.current.hide();\n }}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </OverlayPanel>\n </div>\n )}\n </div>\n </>\n )\n}\n"]}
|
|
@@ -2,10 +2,10 @@ import { OverlayPanel } from 'primereact/overlaypanel';
|
|
|
2
2
|
import { useEffect, useRef, useState } from 'react'
|
|
3
3
|
import { createSolidEntityApi } from '../../redux/api/solidEntityApi';
|
|
4
4
|
import { useFormik } from 'formik';
|
|
5
|
-
import { Toast } from 'primereact/toast';
|
|
6
5
|
import { useSearchParams } from "../../hooks/useSearchParams";
|
|
7
6
|
import { ERROR_MESSAGES } from '../../constants/error-messages';
|
|
8
|
-
import
|
|
7
|
+
import { useDispatch } from 'react-redux';
|
|
8
|
+
import { showToast } from '../../redux/features/toastSlice';
|
|
9
9
|
|
|
10
10
|
interface Props {
|
|
11
11
|
solidFormViewMetaData?: any;
|
|
@@ -19,7 +19,7 @@ interface Props {
|
|
|
19
19
|
|
|
20
20
|
export const SolidFormStepper = (props: Props) => {
|
|
21
21
|
const { solidFormViewMetaData, modelName, initialEntityData, id, solidWorkflowFieldValue, setSolidWorkflowFieldValue, onStepperUpdate } = props;
|
|
22
|
-
const
|
|
22
|
+
const dispatch = useDispatch();
|
|
23
23
|
const formStepperOverlay = useRef(null);
|
|
24
24
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
25
25
|
const leftFormStepperOverlay = useRef(null);
|
|
@@ -144,7 +144,7 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
144
144
|
try {
|
|
145
145
|
const result = await updateStepper({ id: values.id, data: { [solidWorkflowFieldKey]: values[solidWorkflowFieldKey] } }).unwrap();
|
|
146
146
|
if (result?.statusCode === 200) {
|
|
147
|
-
showToast(
|
|
147
|
+
dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.FIELD_UPDATE(defaultWorkflowFieldDisplayName), detail: ERROR_MESSAGES.FIELD_UPDATE_SUCCESSFULLY(defaultWorkflowFieldDisplayName) }));
|
|
148
148
|
if (result?.data?.[solidWorkflowFieldKey]) {
|
|
149
149
|
setSolidWorkflowFieldValue(result.data[solidWorkflowFieldKey]);
|
|
150
150
|
}
|
|
@@ -154,7 +154,7 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
154
154
|
}
|
|
155
155
|
} catch (error) {
|
|
156
156
|
console.error(ERROR_MESSAGES.UPDATING_STEPPER, error);
|
|
157
|
-
showToast(
|
|
157
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.UPDATE_FAILED, detail: ERROR_MESSAGES.FAILED_UPDATE_FROM }));
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
|
|
@@ -211,7 +211,6 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
211
211
|
|
|
212
212
|
return (
|
|
213
213
|
<>
|
|
214
|
-
<Toast ref={toast} />
|
|
215
214
|
<div ref={containerRef} className='arrow-stepper-container'>
|
|
216
215
|
{hasPreviousSteps && (
|
|
217
216
|
<div style={{ display: 'flex', alignItems: 'center' }}>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,
|
|
1
|
+
{"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,4CAkK7D,CAAA"}
|
|
@@ -42,17 +42,17 @@ import { useSession } from "../../../../hooks/useSession";
|
|
|
42
42
|
import { Button } from 'primereact/button';
|
|
43
43
|
import { Message } from 'primereact/message';
|
|
44
44
|
import { Password } from 'primereact/password';
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
45
|
+
import { useMemo } from 'react';
|
|
46
|
+
import { useDispatch } from 'react-redux';
|
|
47
|
+
import { showToast } from '../../../../redux/features/toastSlice';
|
|
47
48
|
import * as Yup from 'yup';
|
|
48
49
|
import { SolidPasswordHelperText } from '../SolidPasswordHelperText';
|
|
49
50
|
import { ERROR_MESSAGES } from '../../../../constants/error-messages';
|
|
50
51
|
import { env } from "../../../../adapters/env";
|
|
51
|
-
import showToast from "../../../../helpers/showToast";
|
|
52
52
|
export var SolidChangePassword = function (_a) {
|
|
53
53
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
54
54
|
var solidSettingsData = _a.solidSettingsData;
|
|
55
|
-
var
|
|
55
|
+
var dispatch = useDispatch();
|
|
56
56
|
var changePassword = useChangePasswordMutation()[0];
|
|
57
57
|
var session = useSession();
|
|
58
58
|
var envPasswordRegex = env("NEXT_PUBLIC_PASSWORD_REGEX");
|
|
@@ -125,7 +125,7 @@ export var SolidChangePassword = function (_a) {
|
|
|
125
125
|
case 1:
|
|
126
126
|
response = _k.sent();
|
|
127
127
|
if (response === null || response === void 0 ? void 0 : response.error) {
|
|
128
|
-
showToast(
|
|
128
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR, detail: response.error }));
|
|
129
129
|
setErrors({
|
|
130
130
|
currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,
|
|
131
131
|
newPassword: ERROR_MESSAGES.MUST_MATCH,
|
|
@@ -133,14 +133,14 @@ export var SolidChangePassword = function (_a) {
|
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
135
|
else {
|
|
136
|
-
showToast(
|
|
137
|
-
handleLogout(
|
|
136
|
+
dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.PASSWORD_CHANGE, detail: ERROR_MESSAGES.PASSWORD_CHANGE }));
|
|
137
|
+
handleLogout(null);
|
|
138
138
|
resetForm();
|
|
139
139
|
}
|
|
140
140
|
return [3 /*break*/, 3];
|
|
141
141
|
case 2:
|
|
142
142
|
err_1 = _k.sent();
|
|
143
|
-
showToast(
|
|
143
|
+
dispatch(showToast({ severity: "error", summary: (_d = err_1 === null || err_1 === void 0 ? void 0 : err_1.data) === null || _d === void 0 ? void 0 : _d.message, detail: ((_f = (_e = err_1 === null || err_1 === void 0 ? void 0 : err_1.data) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.message) ? (_h = (_g = err_1 === null || err_1 === void 0 ? void 0 : err_1.data) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.message : (_j = err_1 === null || err_1 === void 0 ? void 0 : err_1.data) === null || _j === void 0 ? void 0 : _j.message }));
|
|
144
144
|
return [3 /*break*/, 3];
|
|
145
145
|
case 3: return [2 /*return*/];
|
|
146
146
|
}
|
|
@@ -151,6 +151,6 @@ export var SolidChangePassword = function (_a) {
|
|
|
151
151
|
var isFormFieldValid = function (formik, fieldName) {
|
|
152
152
|
return formik.touched[fieldName] && formik.errors[fieldName];
|
|
153
153
|
};
|
|
154
|
-
return (_jsxs("form", { onSubmit: formik.handleSubmit, className: "h-full flex flex-column justify-content-between", children: [
|
|
154
|
+
return (_jsxs("form", { onSubmit: formik.handleSubmit, className: "h-full flex flex-column justify-content-between", children: [_jsxs("div", { children: [_jsx("div", { className: 'grid', children: _jsxs("div", { className: 'col-12 md-col-8 lg:col-5', children: [_jsxs("div", { className: "flex flex-column gap-2", children: [_jsx("label", { htmlFor: "currentPassword", className: "solid-auth-input-label", children: "Current Password" }), _jsx(Password, { id: "currentPassword", name: "currentPassword", value: formik.values.currentPassword, onChange: formik.handleChange, onBlur: formik.handleBlur, toggleMask: true, invalid: !!formik.errors.currentPassword, inputClassName: "w-full", feedback: false }), isFormFieldValid(formik, "currentPassword") && _jsx(Message, { className: "text-red-500 text-sm", severity: "error", text: (_g = (_f = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _f === void 0 ? void 0 : _f.currentPassword) === null || _g === void 0 ? void 0 : _g.toString() })] }), _jsxs("div", { className: "flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4", children: [_jsx("label", { htmlFor: "password", className: "solid-auth-input-label", children: "New Password" }), _jsx(Password, { id: "newPassword", name: "newPassword", value: formik.values.newPassword, onChange: formik.handleChange, onBlur: formik.handleBlur, toggleMask: true, invalid: !!formik.errors.newPassword, inputClassName: "w-full", feedback: false }), isFormFieldValid(formik, "newPassword") && _jsx(Message, { className: "text-red-500 text-sm", severity: "error", text: (_j = (_h = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _h === void 0 ? void 0 : _h.newPassword) === null || _j === void 0 ? void 0 : _j.toString() })] }), _jsxs("div", { className: "flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4", children: [_jsx("label", { htmlFor: "password", className: "solid-auth-input-label", children: "Confirm New Password" }), _jsx(Password, { id: "confirmPassword", name: "confirmPassword", value: formik.values.confirmPassword, onChange: formik.handleChange, onBlur: formik.handleBlur, toggleMask: true, invalid: !!formik.errors.confirmPassword, inputClassName: "w-full", feedback: false }), isFormFieldValid(formik, "confirmPassword") && _jsx(Message, { className: "text-red-500 text-sm", severity: "error", text: (_l = (_k = formik === null || formik === void 0 ? void 0 : formik.errors) === null || _k === void 0 ? void 0 : _k.confirmPassword) === null || _l === void 0 ? void 0 : _l.toString() })] })] }) }), _jsx(SolidPasswordHelperText, { text: (_m = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _m === void 0 ? void 0 : _m.authenticationPasswordComplexityDescription })] }), _jsx("div", { children: _jsx(Button, { type: 'submit', size: 'small', label: "Change Password", disabled: formik.isSubmitting, loading: formik.isSubmitting }) })] }));
|
|
155
155
|
};
|
|
156
156
|
//# sourceMappingURL=SolidChangePassword.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { useChangePasswordMutation } from '../../../../redux/api/authApi';\nimport { useFormik } from 'formik';\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { Button } from 'primereact/button';\nimport { Message } from 'primereact/message';\nimport { Password } from 'primereact/password';\nimport { Toast } from 'primereact/toast';\nimport { useMemo, useRef } from 'react';\nimport * as Yup from 'yup';\nimport { SolidPasswordHelperText } from '../SolidPasswordHelperText';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { env } from \"../../../../adapters/env\";\nimport showToast from \"../../../../helpers/showToast\";\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const toast = useRef<Toast>(null);\n const [changePassword] = useChangePasswordMutation();\n\n const session: any = useSession();\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n // Try backend regex first, then env, then fallback\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) {\n // const unescaped = JSON.parse(`\"${backendRegex}\"`);\n return new RegExp(backendRegex);\n }\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage ||\n ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'))\n : Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('email')).required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n currentPassword: Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Current password')),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string()\n .oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH)\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Confirm password')),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('User ID')),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n showToast(toast, \"error\", ERROR_MESSAGES.ERROR, response.error)\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n })\n } else {\n showToast(toast, \"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n handleLogout(toast)\n resetForm();\n }\n } catch (err: any) {\n showToast(toast, \"error\", err?.data?.message, err?.data?.data?.message ? err?.data?.data?.message : err?.data?.message);\n }\n },\n });\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <Toast ref={toast} />\n <div>\n <div className='grid'>\n <div className='col-12 md-col-8 lg:col-5'>\n <div className=\"flex flex-column gap-2\">\n <label htmlFor=\"currentPassword\" className=\"solid-auth-input-label\">Current Password</label>\n <Password\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.currentPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"currentPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.currentPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">New Password</label>\n <Password\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.newPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"newPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.newPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Confirm New Password</label>\n <Password\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.confirmPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"confirmPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.confirmPassword?.toString()}\n />}\n </div>\n </div>\n </div>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n <div>\n <Button type='submit' size='small' label=\"Change Password\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </form>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { useChangePasswordMutation } from '../../../../redux/api/authApi';\nimport { useFormik } from 'formik';\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { Button } from 'primereact/button';\nimport { Message } from 'primereact/message';\nimport { Password } from 'primereact/password';\nimport { useMemo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport * as Yup from 'yup';\nimport { SolidPasswordHelperText } from '../SolidPasswordHelperText';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { env } from \"../../../../adapters/env\";\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const dispatch = useDispatch();\n const [changePassword] = useChangePasswordMutation();\n\n const session: any = useSession();\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n // Try backend regex first, then env, then fallback\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) {\n // const unescaped = JSON.parse(`\"${backendRegex}\"`);\n return new RegExp(backendRegex);\n }\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage ||\n ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'))\n : Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('email')).required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n currentPassword: Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Current password')),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string()\n .oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH)\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Confirm password')),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('User ID')),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: response.error }))\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n })\n } else {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.PASSWORD_CHANGE, detail: ERROR_MESSAGES.PASSWORD_CHANGE }));\n handleLogout(null)\n resetForm();\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: err?.data?.message, detail: err?.data?.data?.message ? err?.data?.data?.message : err?.data?.message }));\n }\n },\n });\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <div>\n <div className='grid'>\n <div className='col-12 md-col-8 lg:col-5'>\n <div className=\"flex flex-column gap-2\">\n <label htmlFor=\"currentPassword\" className=\"solid-auth-input-label\">Current Password</label>\n <Password\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.currentPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"currentPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.currentPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">New Password</label>\n <Password\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.newPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"newPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.newPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Confirm New Password</label>\n <Password\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.confirmPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"confirmPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.confirmPassword?.toString()}\n />}\n </div>\n </div>\n </div>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n <div>\n <Button type='submit' size='small' label=\"Change Password\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </form>\n )\n}\n"]}
|
|
@@ -5,16 +5,16 @@ import { useSession } from "../../../../hooks/useSession";
|
|
|
5
5
|
import { Button } from 'primereact/button';
|
|
6
6
|
import { Message } from 'primereact/message';
|
|
7
7
|
import { Password } from 'primereact/password';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { useMemo } from 'react';
|
|
9
|
+
import { useDispatch } from 'react-redux';
|
|
10
|
+
import { showToast } from '../../../../redux/features/toastSlice';
|
|
10
11
|
import * as Yup from 'yup';
|
|
11
12
|
import { SolidPasswordHelperText } from '../SolidPasswordHelperText';
|
|
12
13
|
import { ERROR_MESSAGES } from '../../../../constants/error-messages';
|
|
13
14
|
import { env } from "../../../../adapters/env";
|
|
14
|
-
import showToast from "../../../../helpers/showToast";
|
|
15
15
|
|
|
16
16
|
export const SolidChangePassword = ({ solidSettingsData }: any) => {
|
|
17
|
-
const
|
|
17
|
+
const dispatch = useDispatch();
|
|
18
18
|
const [changePassword] = useChangePasswordMutation();
|
|
19
19
|
|
|
20
20
|
const session: any = useSession();
|
|
@@ -85,19 +85,19 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
|
|
|
85
85
|
|
|
86
86
|
const response = await changePassword(payload).unwrap();
|
|
87
87
|
if (response?.error) {
|
|
88
|
-
showToast(
|
|
88
|
+
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR, detail: response.error }))
|
|
89
89
|
setErrors({
|
|
90
90
|
currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,
|
|
91
91
|
newPassword: ERROR_MESSAGES.MUST_MATCH,
|
|
92
92
|
confirmPassword: ERROR_MESSAGES.MUST_MATCH,
|
|
93
93
|
})
|
|
94
94
|
} else {
|
|
95
|
-
showToast(
|
|
96
|
-
handleLogout(
|
|
95
|
+
dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.PASSWORD_CHANGE, detail: ERROR_MESSAGES.PASSWORD_CHANGE }));
|
|
96
|
+
handleLogout(null)
|
|
97
97
|
resetForm();
|
|
98
98
|
}
|
|
99
99
|
} catch (err: any) {
|
|
100
|
-
showToast(
|
|
100
|
+
dispatch(showToast({ severity: "error", summary: err?.data?.message, detail: err?.data?.data?.message ? err?.data?.data?.message : err?.data?.message }));
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
103
|
});
|
|
@@ -106,7 +106,6 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
|
|
|
106
106
|
|
|
107
107
|
return (
|
|
108
108
|
<form onSubmit={formik.handleSubmit} className="h-full flex flex-column justify-content-between">
|
|
109
|
-
<Toast ref={toast} />
|
|
110
109
|
<div>
|
|
111
110
|
<div className='grid'>
|
|
112
111
|
<div className='col-12 md-col-8 lg:col-5'>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,kBAAkB,+CAqH9B,CAAA"}
|