@strapi/review-workflows 0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78 → 0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4
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/LICENSE +12 -17
- package/dist/_chunks/{Layout-lg3hbwGL.mjs → Layout-BJOxxAeM.mjs} +8 -9
- package/dist/_chunks/Layout-BJOxxAeM.mjs.map +1 -0
- package/dist/_chunks/{Layout-BMqtFafC.js → Layout-DnEAvmeU.js} +8 -9
- package/dist/_chunks/Layout-DnEAvmeU.js.map +1 -0
- package/dist/_chunks/{_id-B3jMqqMH.mjs → _id-6LK95-rZ.mjs} +131 -164
- package/dist/_chunks/_id-6LK95-rZ.mjs.map +1 -0
- package/dist/_chunks/{_id-B853wt9z.js → _id-DSDzUpwX.js} +130 -163
- package/dist/_chunks/_id-DSDzUpwX.js.map +1 -0
- package/dist/_chunks/{index-CdU1x9cZ.js → index-6FZL88pd.js} +14 -42
- package/dist/_chunks/index-6FZL88pd.js.map +1 -0
- package/dist/_chunks/{index-Ujtj1Rcp.js → index-DZSLya4b.js} +106 -90
- package/dist/_chunks/index-DZSLya4b.js.map +1 -0
- package/dist/_chunks/{index-BhJmjDbj.mjs → index-Df1alkCk.mjs} +16 -44
- package/dist/_chunks/index-Df1alkCk.mjs.map +1 -0
- package/dist/_chunks/{index-lebOqdrv.mjs → index-lJqpw8bs.mjs} +108 -92
- package/dist/_chunks/index-lJqpw8bs.mjs.map +1 -0
- package/dist/_chunks/{router-BboD243b.js → router-CZqe-02r.js} +3 -3
- package/dist/_chunks/{router-BboD243b.js.map → router-CZqe-02r.js.map} +1 -1
- package/dist/_chunks/{router-CvMnSjb9.mjs → router-DeSH-NeW.mjs} +3 -3
- package/dist/_chunks/{router-CvMnSjb9.mjs.map → router-DeSH-NeW.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/LimitsModal.d.ts +2 -4
- package/dist/admin/src/services/admin.d.ts +1 -1
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/content-manager.d.ts +4 -4
- package/dist/admin/src/services/settings.d.ts +1733 -7
- package/dist/server/index.js +35 -61
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +35 -61
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/assignees.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +0 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/stages.d.ts.map +1 -1
- package/dist/server/src/controllers/workflows.d.ts +0 -7
- package/dist/server/src/controllers/workflows.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +1 -2
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/review-workflows.d.ts.map +1 -1
- package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +1 -1
- package/dist/server/src/services/stages.d.ts +2 -7
- package/dist/server/src/services/stages.d.ts.map +1 -1
- package/dist/shared/contracts/review-workflows.d.ts +1 -14
- package/dist/shared/contracts/review-workflows.d.ts.map +1 -1
- package/package.json +9 -9
- package/dist/_chunks/Layout-BMqtFafC.js.map +0 -1
- package/dist/_chunks/Layout-lg3hbwGL.mjs.map +0 -1
- package/dist/_chunks/_id-B3jMqqMH.mjs.map +0 -1
- package/dist/_chunks/_id-B853wt9z.js.map +0 -1
- package/dist/_chunks/index-BhJmjDbj.mjs.map +0 -1
- package/dist/_chunks/index-CdU1x9cZ.js.map +0 -1
- package/dist/_chunks/index-Ujtj1Rcp.js.map +0 -1
- package/dist/_chunks/index-lebOqdrv.mjs.map +0 -1
- package/strapi-server.js +0 -3
|
@@ -8,11 +8,10 @@ const designSystem = require("@strapi/design-system");
|
|
|
8
8
|
const icons = require("@strapi/icons");
|
|
9
9
|
const fractionalIndexing = require("fractional-indexing");
|
|
10
10
|
const reactIntl = require("react-intl");
|
|
11
|
-
const reactRedux = require("react-redux");
|
|
12
11
|
const reactRouterDom = require("react-router-dom");
|
|
13
12
|
const yup = require("yup");
|
|
14
|
-
const index = require("./index-
|
|
15
|
-
const Layout = require("./Layout-
|
|
13
|
+
const index = require("./index-DZSLya4b.js");
|
|
14
|
+
const Layout = require("./Layout-DnEAvmeU.js");
|
|
16
15
|
const reactDndHtml5Backend = require("react-dnd-html5-backend");
|
|
17
16
|
const styledComponents = require("styled-components");
|
|
18
17
|
const reactDnd = require("react-dnd");
|
|
@@ -313,35 +312,23 @@ const Stages = ({ canDelete = true, canUpdate = true, isCreating }) => {
|
|
|
313
312
|
left: "50%",
|
|
314
313
|
position: "absolute",
|
|
315
314
|
top: "0",
|
|
316
|
-
width: 2
|
|
317
|
-
zIndex: 1
|
|
315
|
+
width: 2
|
|
318
316
|
}
|
|
319
317
|
),
|
|
320
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
321
|
-
designSystem.
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
canDelete: stages.length > 1 && canDelete,
|
|
335
|
-
canReorder: stages.length > 1,
|
|
336
|
-
canUpdate,
|
|
337
|
-
stagesCount: stages.length,
|
|
338
|
-
defaultOpen: isCreating,
|
|
339
|
-
...stage
|
|
340
|
-
}
|
|
341
|
-
) }, stage.__temp_key__);
|
|
342
|
-
})
|
|
343
|
-
}
|
|
344
|
-
)
|
|
318
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, position: "relative", tag: "ol", children: stages.map((stage, index2) => {
|
|
319
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { tag: "li", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
320
|
+
Stage,
|
|
321
|
+
{
|
|
322
|
+
index: index2,
|
|
323
|
+
canDelete: stages.length > 1 && canDelete,
|
|
324
|
+
canReorder: stages.length > 1,
|
|
325
|
+
canUpdate,
|
|
326
|
+
stagesCount: stages.length,
|
|
327
|
+
defaultOpen: isCreating,
|
|
328
|
+
...stage
|
|
329
|
+
}
|
|
330
|
+
) }, stage.__temp_key__);
|
|
331
|
+
}) })
|
|
345
332
|
] }),
|
|
346
333
|
canUpdate && /* @__PURE__ */ jsxRuntime.jsx(
|
|
347
334
|
AddStage,
|
|
@@ -458,7 +445,7 @@ const Stage = ({
|
|
|
458
445
|
addFieldRow("stages", { name, color, permissions });
|
|
459
446
|
};
|
|
460
447
|
const id = React__namespace.useId();
|
|
461
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { ref: composedRef, children: [
|
|
448
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { ref: composedRef, shadow: "tableShadow", children: [
|
|
462
449
|
liveText && /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { "aria-live": "assertive", children: liveText }),
|
|
463
450
|
isDragging ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
464
451
|
designSystem.Box,
|
|
@@ -509,7 +496,7 @@ const Stage = ({
|
|
|
509
496
|
{
|
|
510
497
|
background: "transparent",
|
|
511
498
|
hasRadius: true,
|
|
512
|
-
|
|
499
|
+
variant: "ghost",
|
|
513
500
|
"data-handler-id": handlerId,
|
|
514
501
|
ref: dragRef,
|
|
515
502
|
label: formatMessage({
|
|
@@ -523,7 +510,7 @@ const Stage = ({
|
|
|
523
510
|
)
|
|
524
511
|
] }) : null })
|
|
525
512
|
] }),
|
|
526
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, padding: 6, children: [
|
|
513
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, padding: 6, children: [
|
|
527
514
|
{
|
|
528
515
|
disabled: !canUpdate,
|
|
529
516
|
label: formatMessage({
|
|
@@ -561,7 +548,7 @@ const Stage = ({
|
|
|
561
548
|
size: 6,
|
|
562
549
|
type: "permissions"
|
|
563
550
|
}
|
|
564
|
-
].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
|
551
|
+
].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(InputRenderer, { ...field }) }, field.name)) }) })
|
|
565
552
|
] })
|
|
566
553
|
}
|
|
567
554
|
)
|
|
@@ -666,20 +653,22 @@ const PermissionsField = ({ disabled, name, placeholder, required }) => {
|
|
|
666
653
|
const { value = [], error, onChange } = strapiAdmin.useField(name);
|
|
667
654
|
const allStages = strapiAdmin.useForm("PermissionsField", (state) => state.values.stages);
|
|
668
655
|
const onFormValueChange = strapiAdmin.useForm("PermissionsField", (state) => state.onChange);
|
|
669
|
-
const
|
|
656
|
+
const rolesErrorCount = React__namespace.useRef(0);
|
|
657
|
+
const { data: roles = [], isLoading, error: getRolesError } = useGetAdminRolesQuery();
|
|
670
658
|
const filteredRoles = roles?.filter((role) => role.code !== "strapi-super-admin") ?? [];
|
|
671
659
|
React__namespace.useEffect(() => {
|
|
672
|
-
if (!isLoading &&
|
|
660
|
+
if (!isLoading && getRolesError && "status" in getRolesError && getRolesError.status == 403 && rolesErrorCount.current === 0) {
|
|
661
|
+
rolesErrorCount.current = 1;
|
|
673
662
|
toggleNotification({
|
|
674
663
|
blockTransition: true,
|
|
675
664
|
type: "danger",
|
|
676
665
|
message: formatMessage({
|
|
677
666
|
id: "review-workflows.stage.permissions.noPermissions.description",
|
|
678
|
-
defaultMessage: "You don’t have the permission to see roles"
|
|
667
|
+
defaultMessage: "You don’t have the permission to see roles. Contact your administrator."
|
|
679
668
|
})
|
|
680
669
|
});
|
|
681
670
|
}
|
|
682
|
-
}, [formatMessage, isLoading, roles, toggleNotification]);
|
|
671
|
+
}, [formatMessage, isLoading, roles, toggleNotification, getRolesError]);
|
|
683
672
|
if (!isLoading && filteredRoles.length === 0) {
|
|
684
673
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
685
674
|
designSystem.Field.Root,
|
|
@@ -713,45 +702,45 @@ const PermissionsField = ({ disabled, name, placeholder, required }) => {
|
|
|
713
702
|
}
|
|
714
703
|
);
|
|
715
704
|
}
|
|
716
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
717
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.
|
|
718
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
}) }),
|
|
723
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
724
|
-
designSystem.MultiSelect,
|
|
725
|
-
{
|
|
726
|
-
disabled,
|
|
727
|
-
onChange: (values) => {
|
|
728
|
-
const permissions = values.map((value2) => ({
|
|
729
|
-
role: parseInt(value2, 10),
|
|
730
|
-
action: "admin::review-workflows.stage.transition"
|
|
731
|
-
}));
|
|
732
|
-
onChange(name, permissions);
|
|
733
|
-
},
|
|
734
|
-
placeholder,
|
|
735
|
-
value: value.map((permission) => `${permission.role}`),
|
|
736
|
-
withTags: true,
|
|
737
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
738
|
-
designSystem.MultiSelectGroup,
|
|
739
|
-
{
|
|
740
|
-
label: formatMessage({
|
|
741
|
-
id: "Settings.review-workflows.stage.permissions.allRoles.label",
|
|
742
|
-
defaultMessage: "All roles"
|
|
743
|
-
}),
|
|
744
|
-
values: filteredRoles.map((r) => `${r.id}`),
|
|
745
|
-
children: filteredRoles.map((role) => {
|
|
746
|
-
return /* @__PURE__ */ jsxRuntime.jsx(NestedOption$1, { value: `${role.id}`, children: role.name }, role.id);
|
|
747
|
-
})
|
|
748
|
-
}
|
|
749
|
-
)
|
|
750
|
-
}
|
|
751
|
-
),
|
|
752
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
753
|
-
] }) }),
|
|
705
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "flex-end", gap: 3, children: [
|
|
706
|
+
/* @__PURE__ */ jsxRuntime.jsx(PermissionWrapper, { grow: 1, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { error, name, required: true, children: [
|
|
707
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
|
|
708
|
+
id: "Settings.review-workflows.stage.permissions.label",
|
|
709
|
+
defaultMessage: "Roles that can change this stage"
|
|
710
|
+
}) }),
|
|
754
711
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
712
|
+
designSystem.MultiSelect,
|
|
713
|
+
{
|
|
714
|
+
disabled,
|
|
715
|
+
onChange: (values) => {
|
|
716
|
+
const permissions = values.map((value2) => ({
|
|
717
|
+
role: parseInt(value2, 10),
|
|
718
|
+
action: "admin::review-workflows.stage.transition"
|
|
719
|
+
}));
|
|
720
|
+
onChange(name, permissions);
|
|
721
|
+
},
|
|
722
|
+
placeholder,
|
|
723
|
+
value: value.map((permission) => `${permission.role}`),
|
|
724
|
+
withTags: true,
|
|
725
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
726
|
+
designSystem.MultiSelectGroup,
|
|
727
|
+
{
|
|
728
|
+
label: formatMessage({
|
|
729
|
+
id: "Settings.review-workflows.stage.permissions.allRoles.label",
|
|
730
|
+
defaultMessage: "All roles"
|
|
731
|
+
}),
|
|
732
|
+
values: filteredRoles.map((r) => `${r.id}`),
|
|
733
|
+
children: filteredRoles.map((role) => {
|
|
734
|
+
return /* @__PURE__ */ jsxRuntime.jsx(NestedOption$1, { value: `${role.id}`, children: role.name }, role.id);
|
|
735
|
+
})
|
|
736
|
+
}
|
|
737
|
+
)
|
|
738
|
+
}
|
|
739
|
+
),
|
|
740
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
741
|
+
] }) }),
|
|
742
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Root, { open: isApplyAllConfirmationOpen, onOpenChange: setIsApplyAllConfirmationOpen, children: [
|
|
743
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
755
744
|
designSystem.IconButton,
|
|
756
745
|
{
|
|
757
746
|
disabled,
|
|
@@ -760,42 +749,38 @@ const PermissionsField = ({ disabled, name, placeholder, required }) => {
|
|
|
760
749
|
defaultMessage: "Apply to all stages"
|
|
761
750
|
}),
|
|
762
751
|
size: "L",
|
|
763
|
-
variant: "secondary",
|
|
764
|
-
onClick: () => setIsApplyAllConfirmationOpen(true),
|
|
765
752
|
children: /* @__PURE__ */ jsxRuntime.jsx(icons.Duplicate, {})
|
|
766
753
|
}
|
|
754
|
+
) }),
|
|
755
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
756
|
+
strapiAdmin.ConfirmDialog,
|
|
757
|
+
{
|
|
758
|
+
onConfirm: () => {
|
|
759
|
+
onFormValueChange(
|
|
760
|
+
"stages",
|
|
761
|
+
allStages.map((stage) => ({
|
|
762
|
+
...stage,
|
|
763
|
+
permissions: value
|
|
764
|
+
}))
|
|
765
|
+
);
|
|
766
|
+
setIsApplyAllConfirmationOpen(false);
|
|
767
|
+
toggleNotification({
|
|
768
|
+
type: "success",
|
|
769
|
+
message: formatMessage({
|
|
770
|
+
id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy.success",
|
|
771
|
+
defaultMessage: "Applied roles to all other stages of the workflow"
|
|
772
|
+
})
|
|
773
|
+
});
|
|
774
|
+
},
|
|
775
|
+
variant: "default",
|
|
776
|
+
children: formatMessage({
|
|
777
|
+
id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy",
|
|
778
|
+
defaultMessage: "Roles that can change that stage will be applied to all the other stages."
|
|
779
|
+
})
|
|
780
|
+
}
|
|
767
781
|
)
|
|
768
|
-
] })
|
|
769
|
-
|
|
770
|
-
strapiAdmin.ConfirmDialog,
|
|
771
|
-
{
|
|
772
|
-
isOpen: isApplyAllConfirmationOpen,
|
|
773
|
-
onClose: () => setIsApplyAllConfirmationOpen(false),
|
|
774
|
-
onConfirm: () => {
|
|
775
|
-
onFormValueChange(
|
|
776
|
-
"stages",
|
|
777
|
-
allStages.map((stage) => ({
|
|
778
|
-
...stage,
|
|
779
|
-
permissions: value
|
|
780
|
-
}))
|
|
781
|
-
);
|
|
782
|
-
setIsApplyAllConfirmationOpen(false);
|
|
783
|
-
toggleNotification({
|
|
784
|
-
type: "success",
|
|
785
|
-
message: formatMessage({
|
|
786
|
-
id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy.success",
|
|
787
|
-
defaultMessage: "Applied roles to all other stages of the workflow"
|
|
788
|
-
})
|
|
789
|
-
});
|
|
790
|
-
},
|
|
791
|
-
variant: "default",
|
|
792
|
-
children: formatMessage({
|
|
793
|
-
id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy",
|
|
794
|
-
defaultMessage: "Roles that can change that stage will be applied to all the other stages."
|
|
795
|
-
})
|
|
796
|
-
}
|
|
797
|
-
)
|
|
798
|
-
] });
|
|
782
|
+
] })
|
|
783
|
+
] }) });
|
|
799
784
|
};
|
|
800
785
|
const NestedOption$1 = styledComponents.styled(designSystem.MultiSelectOption)`
|
|
801
786
|
padding-left: ${({ theme }) => theme.spaces[7]};
|
|
@@ -807,8 +792,8 @@ const PermissionWrapper = styledComponents.styled(designSystem.Flex)`
|
|
|
807
792
|
`;
|
|
808
793
|
const WorkflowAttributes = ({ canUpdate = true }) => {
|
|
809
794
|
const { formatMessage } = reactIntl.useIntl();
|
|
810
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { background: "neutral0", hasRadius: true, gap: 4, padding: 6, shadow: "tableShadow", children: [
|
|
811
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
|
795
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { background: "neutral0", hasRadius: true, gap: 4, padding: 6, shadow: "tableShadow", children: [
|
|
796
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
812
797
|
strapiAdmin.InputRenderer,
|
|
813
798
|
{
|
|
814
799
|
disabled: !canUpdate,
|
|
@@ -821,7 +806,7 @@ const WorkflowAttributes = ({ canUpdate = true }) => {
|
|
|
821
806
|
type: "string"
|
|
822
807
|
}
|
|
823
808
|
) }),
|
|
824
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
|
809
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(ContentTypesSelector, { disabled: !canUpdate }) })
|
|
825
810
|
] });
|
|
826
811
|
};
|
|
827
812
|
const ContentTypesSelector = ({ disabled }) => {
|
|
@@ -930,10 +915,10 @@ const WORKFLOW_SCHEMA = yup__namespace.object({
|
|
|
930
915
|
name: yup__namespace.string().max(255, {
|
|
931
916
|
id: "review-workflows.validation.name.max-length",
|
|
932
917
|
defaultMessage: "Name can not be longer than 255 characters"
|
|
933
|
-
}).required(),
|
|
918
|
+
}).required().nullable(),
|
|
934
919
|
stages: yup__namespace.array().of(
|
|
935
920
|
yup__namespace.object().shape({
|
|
936
|
-
name: yup__namespace.string().required({
|
|
921
|
+
name: yup__namespace.string().nullable().required({
|
|
937
922
|
id: "review-workflows.validation.stage.name",
|
|
938
923
|
defaultMessage: "Name is required"
|
|
939
924
|
}).max(255, {
|
|
@@ -950,7 +935,7 @@ const WORKFLOW_SCHEMA = yup__namespace.object({
|
|
|
950
935
|
return stages.filter((stage) => stage.name === stageName).length === 1;
|
|
951
936
|
}
|
|
952
937
|
),
|
|
953
|
-
color: yup__namespace.string().required({
|
|
938
|
+
color: yup__namespace.string().nullable().required({
|
|
954
939
|
id: "review-workflows.validation.stage.color",
|
|
955
940
|
defaultMessage: "Color is required"
|
|
956
941
|
}).matches(/^#(?:[0-9a-fA-F]{3}){1,2}$/i),
|
|
@@ -976,7 +961,6 @@ const EditPage = () => {
|
|
|
976
961
|
const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
|
|
977
962
|
const navigate = reactRouterDom.useNavigate();
|
|
978
963
|
const { toggleNotification } = strapiAdmin.useNotification();
|
|
979
|
-
const dispatch = reactRedux.useDispatch();
|
|
980
964
|
const {
|
|
981
965
|
isLoading: isLoadingWorkflow,
|
|
982
966
|
meta,
|
|
@@ -984,7 +968,7 @@ const EditPage = () => {
|
|
|
984
968
|
error,
|
|
985
969
|
update,
|
|
986
970
|
create
|
|
987
|
-
} = Layout.useReviewWorkflows(
|
|
971
|
+
} = Layout.useReviewWorkflows();
|
|
988
972
|
const permissions = index.useTypedSelector(
|
|
989
973
|
(state) => state.admin_app.permissions["settings"]?.["review-workflows"]
|
|
990
974
|
);
|
|
@@ -1027,36 +1011,13 @@ const EditPage = () => {
|
|
|
1027
1011
|
});
|
|
1028
1012
|
if ("error" in res && index.isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
|
1029
1013
|
helpers.setErrors(formatValidationErrors(res.error));
|
|
1030
|
-
} else if ("data" in res) {
|
|
1031
|
-
for (const uid of res.data.contentTypes) {
|
|
1032
|
-
dispatch({
|
|
1033
|
-
type: "contentManagerApi/invalidateTags",
|
|
1034
|
-
payload: [
|
|
1035
|
-
{
|
|
1036
|
-
type: "ContentTypesConfiguration",
|
|
1037
|
-
id: uid
|
|
1038
|
-
}
|
|
1039
|
-
]
|
|
1040
|
-
});
|
|
1041
|
-
}
|
|
1042
1014
|
}
|
|
1043
1015
|
} else {
|
|
1044
1016
|
const res = await create(data);
|
|
1045
1017
|
if ("error" in res && index.isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
|
1046
1018
|
helpers.setErrors(formatValidationErrors(res.error));
|
|
1047
1019
|
} else if ("data" in res) {
|
|
1048
|
-
|
|
1049
|
-
dispatch({
|
|
1050
|
-
type: "contentManagerApi/invalidateTags",
|
|
1051
|
-
payload: [
|
|
1052
|
-
{
|
|
1053
|
-
type: "ContentTypesConfiguration",
|
|
1054
|
-
id: uid
|
|
1055
|
-
}
|
|
1056
|
-
]
|
|
1057
|
-
});
|
|
1058
|
-
}
|
|
1059
|
-
navigate(`../${res.data.id}`);
|
|
1020
|
+
navigate(`../${res.data.id}`, { replace: true });
|
|
1060
1021
|
}
|
|
1061
1022
|
}
|
|
1062
1023
|
} catch (error2) {
|
|
@@ -1178,23 +1139,22 @@ const EditPage = () => {
|
|
|
1178
1139
|
}
|
|
1179
1140
|
),
|
|
1180
1141
|
/* @__PURE__ */ jsxRuntime.jsx(Layout.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "stretch", direction: "column", gap: 7, children: [
|
|
1181
|
-
/* @__PURE__ */ jsxRuntime.jsx(WorkflowAttributes, { canUpdate }),
|
|
1142
|
+
/* @__PURE__ */ jsxRuntime.jsx(WorkflowAttributes, { canUpdate: canUpdate || canCreate }),
|
|
1182
1143
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1183
1144
|
Stages,
|
|
1184
1145
|
{
|
|
1185
1146
|
canDelete,
|
|
1186
|
-
canUpdate,
|
|
1147
|
+
canUpdate: canUpdate || canCreate,
|
|
1187
1148
|
isCreating: isCreatingWorkflow
|
|
1188
1149
|
}
|
|
1189
1150
|
)
|
|
1190
1151
|
] }) }),
|
|
1191
1152
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1192
|
-
|
|
1153
|
+
designSystem.Dialog.Root,
|
|
1193
1154
|
{
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
onConfirm: handleConfirmDeleteDialog(values, { setErrors }),
|
|
1197
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 5, children: [
|
|
1155
|
+
open: Object.keys(savePrompts).length > 0,
|
|
1156
|
+
onOpenChange: handleConfirmClose,
|
|
1157
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirmDeleteDialog(values, { setErrors }), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 5, children: [
|
|
1198
1158
|
savePrompts.hasDeletedServerStages && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textAlign: "center", variant: "omega", children: formatMessage({
|
|
1199
1159
|
id: "review-workflows.page.delete.confirm.stages.body",
|
|
1200
1160
|
defaultMessage: "All entries assigned to deleted stages will be moved to the previous stage."
|
|
@@ -1206,7 +1166,7 @@ const EditPage = () => {
|
|
|
1206
1166
|
},
|
|
1207
1167
|
{
|
|
1208
1168
|
count: contentTypesFromOtherWorkflows?.filter(
|
|
1209
|
-
(contentType) =>
|
|
1169
|
+
(contentType) => values.contentTypes.includes(contentType)
|
|
1210
1170
|
).length ?? 0
|
|
1211
1171
|
}
|
|
1212
1172
|
) }),
|
|
@@ -1214,7 +1174,7 @@ const EditPage = () => {
|
|
|
1214
1174
|
id: "review-workflows.page.delete.confirm.confirm",
|
|
1215
1175
|
defaultMessage: "Are you sure you want to save?"
|
|
1216
1176
|
}) })
|
|
1217
|
-
] })
|
|
1177
|
+
] }) })
|
|
1218
1178
|
}
|
|
1219
1179
|
)
|
|
1220
1180
|
] })
|
|
@@ -1223,8 +1183,8 @@ const EditPage = () => {
|
|
|
1223
1183
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1224
1184
|
index.LimitsModal.Root,
|
|
1225
1185
|
{
|
|
1226
|
-
|
|
1227
|
-
|
|
1186
|
+
open: showLimitModal === "workflow",
|
|
1187
|
+
onOpenChange: () => setShowLimitModal(null),
|
|
1228
1188
|
children: [
|
|
1229
1189
|
/* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Title, { children: formatMessage({
|
|
1230
1190
|
id: "review-workflows.edit.page.workflows.limit.title",
|
|
@@ -1237,16 +1197,23 @@ const EditPage = () => {
|
|
|
1237
1197
|
]
|
|
1238
1198
|
}
|
|
1239
1199
|
),
|
|
1240
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1200
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1201
|
+
index.LimitsModal.Root,
|
|
1202
|
+
{
|
|
1203
|
+
open: showLimitModal === "stage",
|
|
1204
|
+
onOpenChange: () => setShowLimitModal(null),
|
|
1205
|
+
children: [
|
|
1206
|
+
/* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Title, { children: formatMessage({
|
|
1207
|
+
id: "review-workflows.edit.page.stages.limit.title",
|
|
1208
|
+
defaultMessage: "You have reached the limit of stages for this workflow in your plan"
|
|
1209
|
+
}) }),
|
|
1210
|
+
/* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Body, { children: formatMessage({
|
|
1211
|
+
id: "review-workflows.edit.page.stages.limit.body",
|
|
1212
|
+
defaultMessage: "Try deleting some stages or contact Sales to enable more stages."
|
|
1213
|
+
}) })
|
|
1214
|
+
]
|
|
1215
|
+
}
|
|
1216
|
+
)
|
|
1250
1217
|
] });
|
|
1251
1218
|
};
|
|
1252
1219
|
const addTmpKeysToStages = (data) => {
|
|
@@ -1268,4 +1235,4 @@ const ProtectedEditPage = () => {
|
|
|
1268
1235
|
return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Protect, { permissions, children: /* @__PURE__ */ jsxRuntime.jsx(EditPage, {}) });
|
|
1269
1236
|
};
|
|
1270
1237
|
exports.ProtectedEditPage = ProtectedEditPage;
|
|
1271
|
-
//# sourceMappingURL=_id-
|
|
1238
|
+
//# sourceMappingURL=_id-DSDzUpwX.js.map
|