@webiny/app-headless-cms-workflows 6.4.5-beta.0 → 6.6.0-alpha.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.
Files changed (64) hide show
  1. package/Components/CmsEntriesWorkflowStateList/CmsEntriesWorkflowStateListFooterMenu.js +27 -25
  2. package/Components/CmsEntriesWorkflowStateList/CmsEntriesWorkflowStateListFooterMenu.js.map +1 -1
  3. package/Components/ContentEntryForm/CmsEntryFormCreateNewRevisionButton.js +14 -22
  4. package/Components/ContentEntryForm/CmsEntryFormCreateNewRevisionButton.js.map +1 -1
  5. package/Components/ContentEntryForm/CmsEntryFormScheduleMenuItemAction.js +3 -4
  6. package/Components/ContentEntryForm/CmsEntryFormScheduleMenuItemAction.js.map +1 -1
  7. package/Components/ContentEntryForm/ContentEntryFormWorkflow.js +20 -36
  8. package/Components/ContentEntryForm/ContentEntryFormWorkflow.js.map +1 -1
  9. package/Components/ContentEntryForm/index.d.ts +0 -3
  10. package/Components/ContentEntryForm/index.js +0 -3
  11. package/Routes/CmsWorkflowsEditor.js +1 -1
  12. package/Routes/CmsWorkflowsEditor.js.map +1 -1
  13. package/features/WorkflowStateCacheHandler.d.ts +11 -0
  14. package/features/WorkflowStateCacheHandler.js +50 -0
  15. package/features/WorkflowStateCacheHandler.js.map +1 -0
  16. package/features/feature.d.ts +1 -0
  17. package/features/feature.js +11 -0
  18. package/features/feature.js.map +1 -0
  19. package/index.js +12 -3
  20. package/index.js.map +1 -1
  21. package/package.json +14 -12
  22. package/presentation/CmsWorkflowsEditorView.d.ts +5 -0
  23. package/{Components/CmsWorkflows → presentation}/CmsWorkflowsEditorView.js +27 -27
  24. package/presentation/CmsWorkflowsEditorView.js.map +1 -0
  25. package/presentation/ContentEntryFormPresenterWorkflowDecorator.d.ts +24 -0
  26. package/presentation/ContentEntryFormPresenterWorkflowDecorator.js +67 -0
  27. package/presentation/ContentEntryFormPresenterWorkflowDecorator.js.map +1 -0
  28. package/presentation/TableRowMapperWorkflowDecorator.d.ts +11 -0
  29. package/presentation/TableRowMapperWorkflowDecorator.js +25 -0
  30. package/presentation/TableRowMapperWorkflowDecorator.js.map +1 -0
  31. package/presentation/WorkflowStateGetEntryFieldSelection.d.ts +8 -0
  32. package/presentation/WorkflowStateGetEntryFieldSelection.js +24 -0
  33. package/presentation/WorkflowStateGetEntryFieldSelection.js.map +1 -0
  34. package/presentation/WorkflowStateListEntriesFieldSelection.d.ts +8 -0
  35. package/presentation/WorkflowStateListEntriesFieldSelection.js +24 -0
  36. package/presentation/WorkflowStateListEntriesFieldSelection.js.map +1 -0
  37. package/presentation/cmsWorkflowsEditor/CmsWorkflowsEditorPresenter.d.ts +15 -0
  38. package/presentation/cmsWorkflowsEditor/CmsWorkflowsEditorPresenter.js +50 -0
  39. package/presentation/cmsWorkflowsEditor/CmsWorkflowsEditorPresenter.js.map +1 -0
  40. package/presentation/cmsWorkflowsEditor/abstractions.d.ts +19 -0
  41. package/presentation/cmsWorkflowsEditor/abstractions.js +5 -0
  42. package/presentation/cmsWorkflowsEditor/abstractions.js.map +1 -0
  43. package/presentation/cmsWorkflowsEditor/feature.d.ts +3 -0
  44. package/presentation/cmsWorkflowsEditor/feature.js +17 -0
  45. package/presentation/cmsWorkflowsEditor/feature.js.map +1 -0
  46. package/presentation/feature.d.ts +1 -0
  47. package/presentation/feature.js +21 -0
  48. package/presentation/feature.js.map +1 -0
  49. package/types.d.ts +10 -0
  50. package/types.js +0 -0
  51. package/Components/CmsWorkflows/CmsWorkflowsEditorView.d.ts +0 -3
  52. package/Components/CmsWorkflows/CmsWorkflowsEditorView.js.map +0 -1
  53. package/Components/ContentEntryForm/CmsEntryFormPublishButton.d.ts +0 -2
  54. package/Components/ContentEntryForm/CmsEntryFormPublishButton.js +0 -26
  55. package/Components/ContentEntryForm/CmsEntryFormPublishButton.js.map +0 -1
  56. package/Components/ContentEntryForm/CmsEntryFormSaveAndPublishButton.d.ts +0 -2
  57. package/Components/ContentEntryForm/CmsEntryFormSaveAndPublishButton.js +0 -24
  58. package/Components/ContentEntryForm/CmsEntryFormSaveAndPublishButton.js.map +0 -1
  59. package/Components/ContentEntryForm/CmsEntryFormSaveButton.d.ts +0 -2
  60. package/Components/ContentEntryForm/CmsEntryFormSaveButton.js +0 -23
  61. package/Components/ContentEntryForm/CmsEntryFormSaveButton.js.map +0 -1
  62. package/Components/ContentEntryForm/ContentEntryWorkflow.d.ts +0 -2
  63. package/Components/ContentEntryForm/ContentEntryWorkflow.js +0 -23
  64. package/Components/ContentEntryForm/ContentEntryWorkflow.js.map +0 -1
@@ -1,24 +0,0 @@
1
- import react from "react";
2
- import { ContentEntryEditorConfig } from "@webiny/app-headless-cms";
3
- import { WorkflowStateValue, useWorkflowState } from "@webiny/app-workflows";
4
- import { observer } from "mobx-react-lite";
5
- import { CmsEntryFormPublishButton } from "./CmsEntryFormPublishButton.js";
6
- const { Actions: Actions } = ContentEntryEditorConfig;
7
- const { ButtonAction: ButtonAction } = Actions;
8
- const OverrideSaveAndPublishButton = observer((props)=>{
9
- const { presenter } = useWorkflowState();
10
- if ("publish" !== props.name || !presenter.vm.workflow) return props.children;
11
- if (presenter.vm.state?.state === WorkflowStateValue.approved) return /*#__PURE__*/ react.createElement(CmsEntryFormPublishButton, null);
12
- return null;
13
- });
14
- const CmsEntryFormSaveAndPublishButton = ButtonAction.createDecorator((Original)=>function(props) {
15
- return /*#__PURE__*/ react.createElement(Original, {
16
- ...props,
17
- element: /*#__PURE__*/ react.createElement(OverrideSaveAndPublishButton, {
18
- name: props.name
19
- }, props.element)
20
- });
21
- });
22
- export { CmsEntryFormSaveAndPublishButton };
23
-
24
- //# sourceMappingURL=CmsEntryFormSaveAndPublishButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Components/ContentEntryForm/CmsEntryFormSaveAndPublishButton.js","sources":["../../../src/Components/ContentEntryForm/CmsEntryFormSaveAndPublishButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { ContentEntryEditorConfig } from \"@webiny/app-headless-cms\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\nimport { observer } from \"mobx-react-lite\";\nimport { WorkflowStateValue } from \"@webiny/app-workflows\";\nimport { CmsEntryFormPublishButton } from \"./CmsEntryFormPublishButton.js\";\n\nconst { Actions } = ContentEntryEditorConfig;\nconst { ButtonAction } = Actions;\n\ninterface IOverrideSaveAndPublishButtonProps {\n name: string;\n children: React.ReactElement;\n}\n\nconst OverrideSaveAndPublishButton = observer((props: IOverrideSaveAndPublishButtonProps) => {\n const { presenter } = useWorkflowState();\n\n /**\n * If there is no workflow state or state is approved, we simply render the original element.\n * This is to ensure that no button will be shown if workflow state is active.\n */\n if (props.name !== \"publish\" || !presenter.vm.workflow) {\n return props.children;\n } else if (presenter.vm.state?.state === WorkflowStateValue.approved) {\n return <CmsEntryFormPublishButton />;\n }\n return null;\n});\n\nexport const CmsEntryFormSaveAndPublishButton = ButtonAction.createDecorator(Original => {\n return function WorkflowCmsEntryFormSaveAndPublishButton(props) {\n return (\n <Original\n {...props}\n element={\n <OverrideSaveAndPublishButton name={props.name}>\n {props.element}\n </OverrideSaveAndPublishButton>\n }\n />\n );\n };\n});\n"],"names":["Actions","ContentEntryEditorConfig","ButtonAction","OverrideSaveAndPublishButton","observer","props","presenter","useWorkflowState","WorkflowStateValue","CmsEntryFormPublishButton","CmsEntryFormSaveAndPublishButton","Original"],"mappings":";;;;;AAOA,MAAM,EAAEA,SAAAA,OAAO,EAAE,GAAGC;AACpB,MAAM,EAAEC,cAAAA,YAAY,EAAE,GAAGF;AAOzB,MAAMG,+BAA+BC,SAAS,CAACC;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAMtB,IAAIF,AAAe,cAAfA,MAAM,IAAI,IAAkB,CAACC,UAAU,EAAE,CAAC,QAAQ,EAClD,OAAOD,MAAM,QAAQ;IAClB,IAAIC,UAAU,EAAE,CAAC,KAAK,EAAE,UAAUE,mBAAmB,QAAQ,EAChE,OAAO,WAAP,GAAO,oBAACC,2BAAyBA;IAErC,OAAO;AACX;AAEO,MAAMC,mCAAmCR,aAAa,eAAe,CAACS,CAAAA,WAClE,SAAkDN,KAAK;QAC1D,OAAO,WAAP,GACI,oBAACM,UAAAA;YACI,GAAGN,KAAK;YACT,uBACI,oBAACF,8BAA4BA;gBAAC,MAAME,MAAM,IAAI;eACzCA,MAAM,OAAO;;IAKlC"}
@@ -1,2 +0,0 @@
1
- import React from "react";
2
- export declare const CmsEntryFormSaveButton: (props: unknown) => React.JSX.Element;
@@ -1,23 +0,0 @@
1
- import react from "react";
2
- import { ContentEntryEditorConfig } from "@webiny/app-headless-cms";
3
- import { useWorkflowState } from "@webiny/app-workflows";
4
- import { observer } from "mobx-react-lite";
5
- const { Actions: Actions } = ContentEntryEditorConfig;
6
- const { ButtonAction: ButtonAction } = Actions;
7
- const OverrideSaveButton = observer((props)=>{
8
- const { presenter } = useWorkflowState();
9
- if ("save" !== props.name) return props.children;
10
- if (!presenter.vm.state) return props.children;
11
- return null;
12
- });
13
- const CmsEntryFormSaveButton = ButtonAction.createDecorator((Original)=>function(props) {
14
- return /*#__PURE__*/ react.createElement(Original, {
15
- ...props,
16
- element: /*#__PURE__*/ react.createElement(OverrideSaveButton, {
17
- name: props.name
18
- }, props.element)
19
- });
20
- });
21
- export { CmsEntryFormSaveButton };
22
-
23
- //# sourceMappingURL=CmsEntryFormSaveButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Components/ContentEntryForm/CmsEntryFormSaveButton.js","sources":["../../../src/Components/ContentEntryForm/CmsEntryFormSaveButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { ContentEntryEditorConfig } from \"@webiny/app-headless-cms\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\nimport { observer } from \"mobx-react-lite\";\n\nconst { Actions } = ContentEntryEditorConfig;\nconst { ButtonAction } = Actions;\n\ninterface IOverrideSaveButtonProps {\n name: string;\n children: React.ReactElement;\n}\n\nconst OverrideSaveButton = observer((props: IOverrideSaveButtonProps) => {\n const { presenter } = useWorkflowState();\n\n /**\n * If there is no workflow state or state is approved, we simply render the original element.\n * This is to ensure that no button will be shown if workflow state is active.\n */\n if (props.name !== \"save\") {\n return props.children;\n } else if (!presenter.vm.state) {\n return props.children;\n }\n return null;\n});\n\nexport const CmsEntryFormSaveButton = ButtonAction.createDecorator(Original => {\n return function WorkflowCmsEntryFormSaveButton(props) {\n return (\n <Original\n {...props}\n element={<OverrideSaveButton name={props.name}>{props.element}</OverrideSaveButton>}\n />\n );\n };\n});\n"],"names":["Actions","ContentEntryEditorConfig","ButtonAction","OverrideSaveButton","observer","props","presenter","useWorkflowState","CmsEntryFormSaveButton","Original"],"mappings":";;;;AAKA,MAAM,EAAEA,SAAAA,OAAO,EAAE,GAAGC;AACpB,MAAM,EAAEC,cAAAA,YAAY,EAAE,GAAGF;AAOzB,MAAMG,qBAAqBC,SAAS,CAACC;IACjC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAMtB,IAAIF,AAAe,WAAfA,MAAM,IAAI,EACV,OAAOA,MAAM,QAAQ;IAClB,IAAI,CAACC,UAAU,EAAE,CAAC,KAAK,EAC1B,OAAOD,MAAM,QAAQ;IAEzB,OAAO;AACX;AAEO,MAAMG,yBAAyBN,aAAa,eAAe,CAACO,CAAAA,WACxD,SAAwCJ,KAAK;QAChD,OAAO,WAAP,GACI,oBAACI,UAAAA;YACI,GAAGJ,KAAK;YACT,uBAAS,oBAACF,oBAAkBA;gBAAC,MAAME,MAAM,IAAI;eAAGA,MAAM,OAAO;;IAGzE"}
@@ -1,2 +0,0 @@
1
- import React from "react";
2
- export declare const ContentEntryWorkflow: (props: unknown) => React.JSX.Element;
@@ -1,23 +0,0 @@
1
- import react from "react";
2
- import { ContentEntryEditorConfig, useContentEntry } from "@webiny/app-headless-cms";
3
- import { Components } from "@webiny/app-workflows";
4
- import { useSecurity } from "@webiny/app-admin";
5
- import { useApolloClient } from "@apollo/react-hooks";
6
- import { createAppName } from "../../utils/appName.js";
7
- const { ContentReview: { WorkflowStateProvider: WorkflowStateProvider } } = Components;
8
- const { ContentEntry: ContentEntry } = ContentEntryEditorConfig;
9
- const ContentEntryWorkflow = ContentEntry.createDecorator((Original)=>function() {
10
- const { entry, contentModel: model } = useContentEntry();
11
- const client = useApolloClient();
12
- const { identity } = useSecurity();
13
- return /*#__PURE__*/ react.createElement(WorkflowStateProvider, {
14
- app: createAppName(model),
15
- id: entry.id,
16
- identity: identity,
17
- client: client,
18
- title: `${model.name}: ${entry.meta?.title || "unknown"}`
19
- }, /*#__PURE__*/ react.createElement(Original, null));
20
- });
21
- export { ContentEntryWorkflow };
22
-
23
- //# sourceMappingURL=ContentEntryWorkflow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Components/ContentEntryForm/ContentEntryWorkflow.js","sources":["../../../src/Components/ContentEntryForm/ContentEntryWorkflow.tsx"],"sourcesContent":["import React from \"react\";\nimport { ContentEntryEditorConfig, useContentEntry } from \"@webiny/app-headless-cms\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { useSecurity } from \"@webiny/app-admin\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { createAppName } from \"~/utils/appName.js\";\n\nconst {\n ContentReview: { WorkflowStateProvider }\n} = Components;\n\nconst { ContentEntry } = ContentEntryEditorConfig;\n\nexport const ContentEntryWorkflow = ContentEntry.createDecorator(Original => {\n return function ContentEntryWorkflowSetup() {\n const { entry, contentModel: model } = useContentEntry();\n const client = useApolloClient();\n\n const { identity } = useSecurity();\n\n return (\n <WorkflowStateProvider\n app={createAppName(model)}\n id={entry.id}\n identity={identity}\n client={client}\n title={`${model.name}: ${entry.meta?.title || \"unknown\"}`}\n >\n <Original />\n </WorkflowStateProvider>\n );\n };\n});\n"],"names":["WorkflowStateProvider","Components","ContentEntry","ContentEntryEditorConfig","ContentEntryWorkflow","Original","entry","model","useContentEntry","client","useApolloClient","identity","useSecurity","createAppName"],"mappings":";;;;;;AAOA,MAAM,EACF,eAAe,EAAEA,uBAAAA,qBAAqB,EAAE,EAC3C,GAAGC;AAEJ,MAAM,EAAEC,cAAAA,YAAY,EAAE,GAAGC;AAElB,MAAMC,uBAAuBF,aAAa,eAAe,CAACG,CAAAA,WACtD;QACH,MAAM,EAAEC,KAAK,EAAE,cAAcC,KAAK,EAAE,GAAGC;QACvC,MAAMC,SAASC;QAEf,MAAM,EAAEC,QAAQ,EAAE,GAAGC;QAErB,OAAO,WAAP,GACI,oBAACZ,uBAAqBA;YAClB,KAAKa,cAAcN;YACnB,IAAID,MAAM,EAAE;YACZ,UAAUK;YACV,QAAQF;YACR,OAAO,GAAGF,MAAM,IAAI,CAAC,EAAE,EAAED,MAAM,IAAI,EAAE,SAAS,WAAW;yBAEzD,oBAACD,UAAAA;IAGb"}