@evenicanpm/admin-integrate 1.8.0 → 2.0.0
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/documents/ProcessTask/fragments.ts +4 -0
- package/documents/ProcessTemplate/fragments.ts +30 -0
- package/documents/ProcessTemplate/list.ts +29 -0
- package/package.json +2 -2
- package/src/api/process-config/mutation/process-config-import.mutation.ts +1 -1
- package/src/api/templates/queries/get-field-values.query.ts +48 -0
- package/src/api/templates/queries/get-field-values.server.ts +9 -0
- package/src/api/templates/queries/index.ts +4 -0
- package/src/api/templates/queries/types.ts +2 -2
- package/src/api/templates/queries/validate-field-on-check.query.ts +22 -0
- package/src/api/templates/queries/validate-field-on-check.server.ts +30 -0
- package/src/api/templates/queries/validate-field-on-submit.server.ts +18 -0
- package/src/components/data-table/table-row.tsx +1 -1
- package/src/components/icons/up-down.tsx +1 -0
- package/src/components/integration-view/integration-view.tsx +10 -15
- package/src/components/integration-view/nodes/task-node.tsx +1 -1
- package/src/components/integration-view/utils/mapping.ts +10 -11
- package/src/components/list-filter/list-filter.tsx +2 -0
- package/src/components/templatesV2/inputs/FormikPageBody.tsx +191 -0
- package/src/components/templatesV2/inputs/context/FormModeContext.tsx +31 -0
- package/src/components/templatesV2/inputs/context/TemplateContext.tsx +37 -0
- package/src/components/templatesV2/inputs/field-names.ts +8 -0
- package/src/components/templatesV2/inputs/form-type.ts +48 -0
- package/src/components/templatesV2/inputs/index.tsx +33 -0
- package/src/components/templatesV2/inputs/input-type.ts +23 -0
- package/src/components/templatesV2/inputs/primitives/CheckboxInput.tsx +45 -0
- package/src/components/templatesV2/inputs/primitives/NumberInput.tsx +58 -0
- package/src/components/templatesV2/inputs/primitives/SelectorInput.tsx +111 -0
- package/src/components/templatesV2/inputs/primitives/TextInput.tsx +55 -0
- package/src/components/templatesV2/inputs/primitives/TextWithQueryInput.tsx +292 -0
- package/src/components/templatesV2/inputs/primitives/index.ts +10 -0
- package/src/components/templatesV2/inputs/renderers/index.ts +2 -0
- package/src/components/templatesV2/inputs/renderers/renderFormControl.tsx +376 -0
- package/src/components/templatesV2/inputs/renderers/renderSearchInput.tsx +129 -0
- package/src/components/templatesV2/inputs/search/MultiTextSearchInput.tsx +87 -0
- package/src/components/templatesV2/inputs/search/SearchInputWrapper.tsx +113 -0
- package/src/components/templatesV2/inputs/search/TextSearchInput.tsx +309 -0
- package/src/components/templatesV2/inputs/search/index.ts +4 -0
- package/src/components/templatesV2/inputs/search/search-query-key.ts +23 -0
- package/src/components/templatesV2/inputs/search/useFieldValuesOptions.ts +58 -0
- package/src/components/templatesV2/inputs/search/useSearchInput.ts +74 -0
- package/src/components/templatesV2/inputs/table/InputTable.tsx +259 -0
- package/src/components/templatesV2/inputs/table/index.ts +1 -0
- package/src/components/templatesV2/inputs/utils/applyTemplateConfig.ts +28 -0
- package/src/components/templatesV2/inputs/utils/arrangeInputs.ts +51 -0
- package/src/components/templatesV2/inputs/utils/index.ts +6 -0
- package/src/components/templatesV2/inputs/utils/parseQueryName.ts +20 -0
- package/src/components/templatesV2/inputs/utils/renderReadOnlyText.tsx +26 -0
- package/src/components/templatesV2/inputs/utils/selectors.ts +69 -0
- package/src/components/templatesV2/inputs/utils/toStringArray.ts +23 -0
- package/src/components/templatesV2/pageForm.tsx +151 -0
- package/src/components/{templates → templatesV2}/templates-list/templates-list-row.tsx +2 -1
- package/src/components/{templates → templatesV2}/templates-list/templates-list-table.tsx +2 -2
- package/src/components/{templates → templatesV2}/templates-list/templates-list.tsx +19 -28
- package/src/components/{templates → templatesV2}/types.tsx +12 -12
- package/src/components/templatesV2/validation/buildZodSchema.ts +216 -0
- package/src/components/templatesV2/validation/zodFormikValidate.ts +17 -0
- package/src/components/templatesV2/wizard.tsx +744 -0
- package/src/pages/integration-create/integration-create-steps.ts +8 -0
- package/src/pages/integration-create/integration-create.tsx +61 -14
- package/src/pages/integration-create/select-step.tsx +3 -3
- package/src/pages/integration-create/template-list-step.tsx +28 -3
- package/src/pages/integration-create/template-options-step.tsx +119 -0
- package/src/pages/integration-create/wizard-step.tsx +5 -4
- package/src/pages/integration-details/task-drawer/add-task.tsx +4 -4
- package/src/pages/integration-details/task-drawer/edit-task.tsx +3 -3
- package/src/components/templates/inputs/index.tsx +0 -1392
- package/src/components/templates/wizard.tsx +0 -737
- /package/src/components/{templates → templatesV2}/index.ts +0 -0
- /package/src/components/{templates → templatesV2}/template-filter.ts +0 -0
- /package/src/components/{templates → templatesV2}/templates-list/index.ts +0 -0
|
@@ -11,16 +11,18 @@ import {
|
|
|
11
11
|
IntegrateBreadcrumbs,
|
|
12
12
|
} from "@evenicanpm/admin-integrate/components/breadcrumbs";
|
|
13
13
|
import { IntegrationDetailsHeader } from "@evenicanpm/admin-integrate/components/header";
|
|
14
|
-
import { removeTemplateConfig } from "@evenicanpm/admin-integrate/components/
|
|
14
|
+
import { removeTemplateConfig } from "@evenicanpm/admin-integrate/components/templatesV2/wizard";
|
|
15
15
|
import { slugify } from "@evenicanpm/admin-integrate/utils/slugify";
|
|
16
16
|
import { Clear, SaveOutlined } from "@mui/icons-material";
|
|
17
17
|
import { Box, Button, type Theme, useTheme } from "@mui/material";
|
|
18
18
|
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
|
19
19
|
import { useTranslations } from "next-intl";
|
|
20
20
|
import { useEffect, useState } from "react";
|
|
21
|
+
import { INTEGRATION_CREATE_STEPS } from "./integration-create-steps";
|
|
21
22
|
import PreCreationStep from "./pre-creation-step";
|
|
22
23
|
import SelectStep from "./select-step";
|
|
23
|
-
import TemplateListStep from "./template-list-step";
|
|
24
|
+
import TemplateListStep, { DirectionType } from "./template-list-step";
|
|
25
|
+
import TemplateOptionsStep from "./template-options-step";
|
|
24
26
|
import WizardStep from "./wizard-step";
|
|
25
27
|
|
|
26
28
|
export default function IntegrationCreate() {
|
|
@@ -50,20 +52,28 @@ export default function IntegrationCreate() {
|
|
|
50
52
|
];
|
|
51
53
|
|
|
52
54
|
const [name, setName] = useState<string>("");
|
|
53
|
-
const [step, setStep] = useState<number>(
|
|
55
|
+
const [step, setStep] = useState<number>(INTEGRATION_CREATE_STEPS.select);
|
|
54
56
|
const [processConfig, setProcessConfig] = useState<any | null>(null);
|
|
57
|
+
const [dualSourceThenTarget, setDualSourceThenTarget] = useState(false);
|
|
55
58
|
|
|
56
59
|
useEffect(() => {
|
|
57
60
|
if (searchParams.get("group")) {
|
|
58
|
-
setStep(
|
|
61
|
+
setStep(INTEGRATION_CREATE_STEPS.wizard);
|
|
59
62
|
}
|
|
60
63
|
}, [searchParams]);
|
|
61
64
|
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (step === INTEGRATION_CREATE_STEPS.templateOptions) {
|
|
67
|
+
setDualSourceThenTarget(false);
|
|
68
|
+
}
|
|
69
|
+
}, [step]);
|
|
70
|
+
|
|
62
71
|
const handleCancel = () => {
|
|
63
|
-
if (step >
|
|
72
|
+
if (step > INTEGRATION_CREATE_STEPS.select) {
|
|
64
73
|
const confirmClose = confirm(t("Common.unsavedChanges"));
|
|
65
74
|
if (!confirmClose) return;
|
|
66
|
-
setStep(
|
|
75
|
+
setStep(INTEGRATION_CREATE_STEPS.select);
|
|
76
|
+
setDualSourceThenTarget(false);
|
|
67
77
|
router.replace(pathname);
|
|
68
78
|
} else {
|
|
69
79
|
router.push("/e4integrate/integrations");
|
|
@@ -80,7 +90,7 @@ export default function IntegrationCreate() {
|
|
|
80
90
|
|
|
81
91
|
console.log("configMergeInput", configMergeInput);
|
|
82
92
|
|
|
83
|
-
|
|
93
|
+
const sourceName = configMergeInput?.input?.config?.find(
|
|
84
94
|
(item: any) => (item?.source as string)?.toLowerCase() === "source",
|
|
85
95
|
)?.uniqueIdentifier;
|
|
86
96
|
|
|
@@ -149,7 +159,7 @@ export default function IntegrationCreate() {
|
|
|
149
159
|
}, [name]);
|
|
150
160
|
|
|
151
161
|
useEffect(() => {
|
|
152
|
-
if (step ===
|
|
162
|
+
if (step === INTEGRATION_CREATE_STEPS.preCreation && !processConfig) {
|
|
153
163
|
const blankConfig: ConfigExport = {
|
|
154
164
|
Processes: [
|
|
155
165
|
{
|
|
@@ -170,7 +180,11 @@ export default function IntegrationCreate() {
|
|
|
170
180
|
<IntegrationDetailsHeader
|
|
171
181
|
name={name || t("Templates.defaultNewName")}
|
|
172
182
|
setName={setName}
|
|
173
|
-
toolbar={
|
|
183
|
+
toolbar={
|
|
184
|
+
step === INTEGRATION_CREATE_STEPS.preCreation
|
|
185
|
+
? "disabled"
|
|
186
|
+
: "hidden"
|
|
187
|
+
}
|
|
174
188
|
draft
|
|
175
189
|
untitled={name === ""}
|
|
176
190
|
>
|
|
@@ -187,21 +201,54 @@ export default function IntegrationCreate() {
|
|
|
187
201
|
variant="contained"
|
|
188
202
|
startIcon={<SaveOutlined />}
|
|
189
203
|
onClick={handleProcessConfigImport}
|
|
190
|
-
disabled={step !==
|
|
204
|
+
disabled={step !== INTEGRATION_CREATE_STEPS.preCreation}
|
|
191
205
|
>
|
|
192
206
|
{t("Templates.create")}
|
|
193
207
|
</Button>
|
|
194
208
|
</IntegrationDetailsHeader>
|
|
195
209
|
</Box>
|
|
196
|
-
{step ===
|
|
197
|
-
|
|
198
|
-
|
|
210
|
+
{step === INTEGRATION_CREATE_STEPS.select && (
|
|
211
|
+
<SelectStep setStep={setStep} />
|
|
212
|
+
)}
|
|
213
|
+
{step === INTEGRATION_CREATE_STEPS.templateOptions && (
|
|
214
|
+
<TemplateOptionsStep
|
|
215
|
+
setStep={setStep}
|
|
216
|
+
onSourceAndTarget={() => setDualSourceThenTarget(true)}
|
|
217
|
+
/>
|
|
218
|
+
)}
|
|
219
|
+
{/* {step === INTEGRATION_CREATE_STEPS.templateList && <TemplateListStep />} */}
|
|
220
|
+
{step === INTEGRATION_CREATE_STEPS.wizard && (
|
|
199
221
|
<WizardStep
|
|
200
222
|
setStep={setStep}
|
|
201
223
|
setProcessConfigMerge={handleProcessConfigMerge}
|
|
202
224
|
/>
|
|
203
225
|
)}
|
|
204
|
-
{step ===
|
|
226
|
+
{step === INTEGRATION_CREATE_STEPS.preCreation && (
|
|
227
|
+
<PreCreationStep processConfig={processConfig} />
|
|
228
|
+
)}
|
|
229
|
+
{step === INTEGRATION_CREATE_STEPS.sourceTemplateList && (
|
|
230
|
+
<TemplateListStep
|
|
231
|
+
listStepTitle={t("Templates.SelectSource")}
|
|
232
|
+
directionType={DirectionType.Incoming}
|
|
233
|
+
onSelectTemplate={
|
|
234
|
+
dualSourceThenTarget
|
|
235
|
+
? (id) => {
|
|
236
|
+
const p = new URLSearchParams(searchParams.toString());
|
|
237
|
+
p.set(`${t("Templates.sourceGroup")}`, id);
|
|
238
|
+
p.delete(`${t("Templates.group")}`);
|
|
239
|
+
router.replace(`${pathname}?${p}`);
|
|
240
|
+
setStep(INTEGRATION_CREATE_STEPS.targetTemplateList);
|
|
241
|
+
}
|
|
242
|
+
: undefined
|
|
243
|
+
}
|
|
244
|
+
/>
|
|
245
|
+
)}
|
|
246
|
+
{step === INTEGRATION_CREATE_STEPS.targetTemplateList && (
|
|
247
|
+
<TemplateListStep
|
|
248
|
+
listStepTitle={t("Templates.SelectTarget")}
|
|
249
|
+
directionType={DirectionType.Outgoing}
|
|
250
|
+
/>
|
|
251
|
+
)}
|
|
205
252
|
{/* </Card> */}
|
|
206
253
|
</>
|
|
207
254
|
);
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
} from "@mui/material";
|
|
16
16
|
import { useTranslations } from "next-intl";
|
|
17
17
|
import type React from "react";
|
|
18
|
+
import { INTEGRATION_CREATE_STEPS } from "./integration-create-steps";
|
|
18
19
|
|
|
19
20
|
interface Props {
|
|
20
21
|
setStep: React.Dispatch<React.SetStateAction<number>>;
|
|
@@ -22,16 +23,15 @@ interface Props {
|
|
|
22
23
|
|
|
23
24
|
export default function SelectStep(props: Readonly<Props>) {
|
|
24
25
|
const t = useTranslations("Integrate.Templates");
|
|
25
|
-
|
|
26
26
|
const theme = useTheme();
|
|
27
27
|
const styles = getStyles(theme);
|
|
28
28
|
|
|
29
29
|
const handleClickBlank = () => {
|
|
30
|
-
props.setStep(
|
|
30
|
+
props.setStep(INTEGRATION_CREATE_STEPS.preCreation);
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
const handleClickTemplate = () => {
|
|
34
|
-
props.setStep(
|
|
34
|
+
props.setStep(INTEGRATION_CREATE_STEPS.templateOptions);
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
return (
|
|
@@ -4,13 +4,25 @@ import type {
|
|
|
4
4
|
} from "@evenicanpm/admin-core/api/e4/graphqlRequestSdk";
|
|
5
5
|
import { getProcessTemplateGroups } from "@evenicanpm/admin-integrate/api/templates/queries";
|
|
6
6
|
import type { Head } from "@evenicanpm/admin-integrate/components/data-table/table-header";
|
|
7
|
-
import TemplatesList from "@evenicanpm/admin-integrate/components/
|
|
7
|
+
import TemplatesList from "@evenicanpm/admin-integrate/components/templatesV2/templates-list";
|
|
8
8
|
import { Box, Typography, useTheme } from "@mui/material";
|
|
9
9
|
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
|
10
10
|
import { useTranslations } from "next-intl";
|
|
11
11
|
import { useState } from "react";
|
|
12
12
|
|
|
13
|
-
export
|
|
13
|
+
export enum DirectionType {
|
|
14
|
+
Incoming = "Incoming",
|
|
15
|
+
Outgoing = "Outgoing",
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface Props {
|
|
19
|
+
listStepTitle?: string;
|
|
20
|
+
directionType?: DirectionType;
|
|
21
|
+
/** When set, skips default `group` URL handoff (e.g. source pick in dual flow). */
|
|
22
|
+
onSelectTemplate?: (id: string) => void;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default function TemplateListStep(props?: Props) {
|
|
14
26
|
const t = useTranslations("Integrate.Templates");
|
|
15
27
|
|
|
16
28
|
const router = useRouter();
|
|
@@ -18,6 +30,8 @@ export default function TemplateListStep() {
|
|
|
18
30
|
const searchParams = useSearchParams();
|
|
19
31
|
const theme = useTheme();
|
|
20
32
|
|
|
33
|
+
const title = props?.listStepTitle ?? t("listStepTitle");
|
|
34
|
+
|
|
21
35
|
const heading: Head[] = [
|
|
22
36
|
{
|
|
23
37
|
id: "name",
|
|
@@ -26,6 +40,12 @@ export default function TemplateListStep() {
|
|
|
26
40
|
width: "95%",
|
|
27
41
|
sortable: true,
|
|
28
42
|
},
|
|
43
|
+
// {
|
|
44
|
+
// id: "createdBy",
|
|
45
|
+
// label: t("ListHeader.createdBy"),
|
|
46
|
+
// align: "right",
|
|
47
|
+
// width: "20%",
|
|
48
|
+
// },
|
|
29
49
|
{
|
|
30
50
|
id: "view",
|
|
31
51
|
label: t("ListHeader.actions"),
|
|
@@ -47,6 +67,10 @@ export default function TemplateListStep() {
|
|
|
47
67
|
});
|
|
48
68
|
|
|
49
69
|
const handleRedirect = (id: string) => {
|
|
70
|
+
if (props?.onSelectTemplate) {
|
|
71
|
+
props.onSelectTemplate(id);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
50
74
|
const currentParams = new URLSearchParams(searchParams.toString());
|
|
51
75
|
currentParams.set("group", id);
|
|
52
76
|
router.replace(`${pathname}?${currentParams.toString()}`);
|
|
@@ -61,12 +85,13 @@ export default function TemplateListStep() {
|
|
|
61
85
|
}}
|
|
62
86
|
>
|
|
63
87
|
<Box sx={{ margin: theme.spacing(2, 0) }}>
|
|
64
|
-
<Typography variant="h6">{
|
|
88
|
+
<Typography variant="h6">{title}</Typography>
|
|
65
89
|
</Box>
|
|
66
90
|
<TemplatesList
|
|
67
91
|
heading={heading}
|
|
68
92
|
data={data as GetProcessTemplateGroupsQuery}
|
|
69
93
|
loading={isLoading}
|
|
94
|
+
// input={{ ...input, directionType: props?.directionType }}
|
|
70
95
|
input={input}
|
|
71
96
|
setInput={setInput}
|
|
72
97
|
handleRedirect={handleRedirect}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import LinkCard from "@evenicanpm/admin-integrate/components/link-cards";
|
|
2
|
+
import DownloadOutlinedIcon from "@mui/icons-material/DownloadOutlined";
|
|
3
|
+
import MobiledataOffIcon from "@mui/icons-material/MobiledataOff";
|
|
4
|
+
import UploadOutlinedIcon from "@mui/icons-material/UploadOutlined";
|
|
5
|
+
import {
|
|
6
|
+
Box,
|
|
7
|
+
Grid2 as Grid,
|
|
8
|
+
type Theme,
|
|
9
|
+
Typography,
|
|
10
|
+
useTheme,
|
|
11
|
+
} from "@mui/material";
|
|
12
|
+
import { useTranslations } from "next-intl";
|
|
13
|
+
import type React from "react";
|
|
14
|
+
import { INTEGRATION_CREATE_STEPS } from "./integration-create-steps";
|
|
15
|
+
|
|
16
|
+
interface Props {
|
|
17
|
+
setStep: React.Dispatch<React.SetStateAction<number>>;
|
|
18
|
+
/** Source + Target: go to source list first (parent enables dual flow). */
|
|
19
|
+
onSourceAndTarget?: () => void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default function TemplateOptionsStep(props: Props) {
|
|
23
|
+
const t = useTranslations("Integrate.Templates");
|
|
24
|
+
const theme = useTheme();
|
|
25
|
+
const styles = getStyles(theme);
|
|
26
|
+
|
|
27
|
+
const handleClickOption1 = () => {
|
|
28
|
+
props.onSourceAndTarget?.();
|
|
29
|
+
props.setStep(INTEGRATION_CREATE_STEPS.sourceTemplateList);
|
|
30
|
+
};
|
|
31
|
+
const handleClickOption2 = () =>
|
|
32
|
+
props.setStep(INTEGRATION_CREATE_STEPS.sourceTemplateList);
|
|
33
|
+
const handleClickOption3 = () =>
|
|
34
|
+
props.setStep(INTEGRATION_CREATE_STEPS.targetTemplateList);
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<Box sx={styles.main}>
|
|
38
|
+
<Grid container spacing={1} maxWidth={theme.spacing(110)}>
|
|
39
|
+
<Grid size={{ xs: 12 }}>
|
|
40
|
+
<Typography variant="h6" align="center">
|
|
41
|
+
{t("templateOptionsTitle")}
|
|
42
|
+
</Typography>
|
|
43
|
+
</Grid>
|
|
44
|
+
<Grid size={{ xs: 12, md: 4 }}>
|
|
45
|
+
<LinkCard
|
|
46
|
+
title={t("templateOption1")}
|
|
47
|
+
description={t("templateOption1Description")}
|
|
48
|
+
onClick={handleClickOption1}
|
|
49
|
+
>
|
|
50
|
+
<Box
|
|
51
|
+
sx={{
|
|
52
|
+
...styles.iconSquare,
|
|
53
|
+
color: "black.600",
|
|
54
|
+
backgroundColor: "#BE7374",
|
|
55
|
+
}}
|
|
56
|
+
>
|
|
57
|
+
<MobiledataOffIcon sx={styles.icon} />
|
|
58
|
+
</Box>
|
|
59
|
+
</LinkCard>
|
|
60
|
+
</Grid>
|
|
61
|
+
<Grid size={{ xs: 12, md: 4 }}>
|
|
62
|
+
<LinkCard
|
|
63
|
+
title={t("templateOption2")}
|
|
64
|
+
description={t("templateOption2Description")}
|
|
65
|
+
onClick={handleClickOption2}
|
|
66
|
+
>
|
|
67
|
+
<Box
|
|
68
|
+
sx={{
|
|
69
|
+
...styles.iconSquare,
|
|
70
|
+
color: "black.600",
|
|
71
|
+
backgroundColor: "bluish.500",
|
|
72
|
+
}}
|
|
73
|
+
>
|
|
74
|
+
<UploadOutlinedIcon sx={styles.icon} />
|
|
75
|
+
</Box>
|
|
76
|
+
</LinkCard>
|
|
77
|
+
</Grid>
|
|
78
|
+
<Grid size={{ xs: 12, md: 4 }}>
|
|
79
|
+
<LinkCard
|
|
80
|
+
title={t("templateOption3")}
|
|
81
|
+
description={t("templateOption3Description")}
|
|
82
|
+
onClick={handleClickOption3}
|
|
83
|
+
>
|
|
84
|
+
<Box
|
|
85
|
+
sx={{
|
|
86
|
+
...styles.iconSquare,
|
|
87
|
+
color: "black.600",
|
|
88
|
+
backgroundColor: "orange.500",
|
|
89
|
+
}}
|
|
90
|
+
>
|
|
91
|
+
<DownloadOutlinedIcon sx={styles.icon} />
|
|
92
|
+
</Box>
|
|
93
|
+
</LinkCard>
|
|
94
|
+
</Grid>
|
|
95
|
+
</Grid>
|
|
96
|
+
</Box>
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const getStyles = (theme: Theme) => ({
|
|
101
|
+
main: {
|
|
102
|
+
backgroundColor: theme.palette.grey[50],
|
|
103
|
+
padding: theme.spacing(2),
|
|
104
|
+
border: `1px solid ${theme.palette.grey[300]}`,
|
|
105
|
+
minHeight: `min(${theme.spacing(80)}, 60vh)`,
|
|
106
|
+
display: "flex",
|
|
107
|
+
alignItems: "center",
|
|
108
|
+
justifyContent: "center",
|
|
109
|
+
},
|
|
110
|
+
iconSquare: {
|
|
111
|
+
padding: theme.spacing(1),
|
|
112
|
+
paddingBottom: theme.spacing(0.5),
|
|
113
|
+
marginBottom: theme.spacing(1),
|
|
114
|
+
borderRadius: 1,
|
|
115
|
+
},
|
|
116
|
+
icon: {
|
|
117
|
+
fontSize: "h4.fontSize",
|
|
118
|
+
},
|
|
119
|
+
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// Custom components
|
|
2
|
-
import { Wizard } from "@evenicanpm/admin-integrate/components/
|
|
2
|
+
import { Wizard } from "@evenicanpm/admin-integrate/components/templatesV2";
|
|
3
3
|
// Types
|
|
4
|
-
import type { ProcessConfigMerge } from "@evenicanpm/admin-integrate/components/
|
|
4
|
+
import type { ProcessConfigMerge } from "@evenicanpm/admin-integrate/components/templatesV2/types";
|
|
5
5
|
// Mui
|
|
6
6
|
import { Box } from "@mui/material";
|
|
7
7
|
// Util
|
|
8
8
|
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
|
9
|
+
import { INTEGRATION_CREATE_STEPS } from "./integration-create-steps";
|
|
9
10
|
|
|
10
11
|
const metadata = {
|
|
11
12
|
name: "",
|
|
@@ -27,12 +28,12 @@ export default function WizardStep(props: Readonly<Props>) {
|
|
|
27
28
|
const searchParams = useSearchParams();
|
|
28
29
|
|
|
29
30
|
const handleBack = () => {
|
|
30
|
-
props.setStep(
|
|
31
|
+
props.setStep(INTEGRATION_CREATE_STEPS.templateOptions);
|
|
31
32
|
router.replace(pathname);
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
const handleFinish = () => {
|
|
35
|
-
props.setStep(
|
|
36
|
+
props.setStep(INTEGRATION_CREATE_STEPS.preCreation);
|
|
36
37
|
router.replace(pathname);
|
|
37
38
|
};
|
|
38
39
|
|
|
@@ -8,13 +8,13 @@ import type {
|
|
|
8
8
|
import { processConfigMerge } from "@evenicanpm/admin-integrate/api/process-config/mutation";
|
|
9
9
|
import { getProcessTemplates } from "@evenicanpm/admin-integrate/api/templates/queries";
|
|
10
10
|
import type { Head } from "@evenicanpm/admin-integrate/components/data-table/table-header";
|
|
11
|
-
import { Wizard } from "@evenicanpm/admin-integrate/components/
|
|
12
|
-
import TemplatesList from "@evenicanpm/admin-integrate/components/
|
|
11
|
+
import { Wizard } from "@evenicanpm/admin-integrate/components/templatesV2";
|
|
12
|
+
import TemplatesList from "@evenicanpm/admin-integrate/components/templatesV2/templates-list";
|
|
13
13
|
import type {
|
|
14
14
|
Metadata,
|
|
15
15
|
ProcessConfigMerge,
|
|
16
|
-
} from "@evenicanpm/admin-integrate/components/
|
|
17
|
-
import { removeTemplateConfig } from "@evenicanpm/admin-integrate/components/
|
|
16
|
+
} from "@evenicanpm/admin-integrate/components/templatesV2/types";
|
|
17
|
+
import { removeTemplateConfig } from "@evenicanpm/admin-integrate/components/templatesV2/wizard";
|
|
18
18
|
import { Box, Typography, useTheme } from "@mui/material";
|
|
19
19
|
import { useTranslations } from "next-intl";
|
|
20
20
|
import { useEffect, useState } from "react";
|
|
@@ -5,12 +5,12 @@ import type {
|
|
|
5
5
|
} from "@evenicanpm/admin-core/api/e4/graphqlRequestSdk";
|
|
6
6
|
import { processConfigMerge } from "@evenicanpm/admin-integrate/api/process-config/mutation";
|
|
7
7
|
import { TitleEdit } from "@evenicanpm/admin-integrate/components/core";
|
|
8
|
-
import { Wizard } from "@evenicanpm/admin-integrate/components/
|
|
8
|
+
import { Wizard } from "@evenicanpm/admin-integrate/components/templatesV2";
|
|
9
9
|
import type {
|
|
10
10
|
Metadata,
|
|
11
11
|
ProcessConfigMerge,
|
|
12
|
-
} from "@evenicanpm/admin-integrate/components/
|
|
13
|
-
import { removeTemplateConfig } from "@evenicanpm/admin-integrate/components/
|
|
12
|
+
} from "@evenicanpm/admin-integrate/components/templatesV2/types";
|
|
13
|
+
import { removeTemplateConfig } from "@evenicanpm/admin-integrate/components/templatesV2/wizard";
|
|
14
14
|
import ReportProblemIcon from "@mui/icons-material/ReportProblem";
|
|
15
15
|
import {
|
|
16
16
|
Box,
|