@webiny/app-workflows 0.0.0-unstable.ac6ebf63c6 → 0.0.0-unstable.c27f4d8a31

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 (38) hide show
  1. package/Components/App/WorkflowsAdminApp.js +2 -7
  2. package/Components/App/WorkflowsAdminApp.js.map +1 -1
  3. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js +2 -1
  4. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js.map +1 -1
  5. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js +3 -2
  6. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js.map +1 -1
  7. package/Components/WorkflowState/Bar/WorkflowStateBar.d.ts +2 -1
  8. package/Components/WorkflowState/Bar/WorkflowStateBar.js +5 -3
  9. package/Components/WorkflowState/Bar/WorkflowStateBar.js.map +1 -1
  10. package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js +5 -3
  11. package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js.map +1 -1
  12. package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js +3 -1
  13. package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js.map +1 -1
  14. package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js +1 -0
  15. package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js.map +1 -1
  16. package/Components/WorkflowsEditor/Editor/Step/Step.d.ts +1 -1
  17. package/Components/WorkflowsEditor/Editor/Step/Step.js +4 -8
  18. package/Components/WorkflowsEditor/Editor/Step/Step.js.map +1 -1
  19. package/Components/WorkflowsPermissions/SecurityPermissions.d.ts +2 -0
  20. package/Components/WorkflowsPermissions/SecurityPermissions.js +22 -0
  21. package/Components/WorkflowsPermissions/SecurityPermissions.js.map +1 -0
  22. package/Components/WorkflowsPermissions/index.d.ts +1 -1
  23. package/Components/WorkflowsPermissions/index.js +1 -1
  24. package/Components/WorkflowsPermissions/index.js.map +1 -1
  25. package/Presenters/WorkflowsPresenter.d.ts +1 -1
  26. package/Presenters/WorkflowsPresenter.js +4 -0
  27. package/Presenters/WorkflowsPresenter.js.map +1 -1
  28. package/package.json +15 -16
  29. package/routes.d.ts +5 -2
  30. package/Components/WorkflowsPermissions/WorkflowsPermissions.d.ts +0 -8
  31. package/Components/WorkflowsPermissions/WorkflowsPermissions.js +0 -22
  32. package/Components/WorkflowsPermissions/WorkflowsPermissions.js.map +0 -1
  33. package/Components/WorkflowsPermissions/WorkflowsPermissionsForm.d.ts +0 -8
  34. package/Components/WorkflowsPermissions/WorkflowsPermissionsForm.js +0 -61
  35. package/Components/WorkflowsPermissions/WorkflowsPermissionsForm.js.map +0 -1
  36. package/Components/WorkflowsPermissions/permissionPlugin.d.ts +0 -2
  37. package/Components/WorkflowsPermissions/permissionPlugin.js +0 -11
  38. package/Components/WorkflowsPermissions/permissionPlugin.js.map +0 -1
@@ -1,18 +1,13 @@
1
1
  import React from "react";
2
2
  import { Wcp } from "@webiny/app-admin";
3
- import { plugins } from "@webiny/plugins";
4
- import { workflowsPermissions } from "../WorkflowsPermissions/index.js";
3
+ import { SecurityPermissions } from "../WorkflowsPermissions/index.js";
5
4
  import { ContentReviews } from "./ContentReviews.js";
6
- const WorkflowsPermissions = () => {
7
- plugins.register([workflowsPermissions]);
8
- return null;
9
- };
10
5
 
11
6
  /**
12
7
  * Should be registered in app-serverless-cms.
13
8
  */
14
9
  export const WorkflowsAdminApp = () => {
15
- return /*#__PURE__*/React.createElement(Wcp.CanUseWorkflows, null, /*#__PURE__*/React.createElement(WorkflowsPermissions, null), /*#__PURE__*/React.createElement(ContentReviews, null));
10
+ return /*#__PURE__*/React.createElement(Wcp.CanUseWorkflows, null, /*#__PURE__*/React.createElement(SecurityPermissions, null), /*#__PURE__*/React.createElement(ContentReviews, null));
16
11
  };
17
12
 
18
13
  //# sourceMappingURL=WorkflowsAdminApp.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Wcp","plugins","workflowsPermissions","ContentReviews","WorkflowsPermissions","register","WorkflowsAdminApp","createElement","CanUseWorkflows"],"sources":["WorkflowsAdminApp.tsx"],"sourcesContent":["import React from \"react\";\nimport { Wcp } from \"@webiny/app-admin\";\nimport { plugins } from \"@webiny/plugins\";\nimport { workflowsPermissions } from \"~/Components/WorkflowsPermissions/index.js\";\nimport { ContentReviews } from \"./ContentReviews.js\";\n\nconst WorkflowsPermissions = () => {\n plugins.register([workflowsPermissions]);\n\n return null;\n};\n\n/**\n * Should be registered in app-serverless-cms.\n */\nexport const WorkflowsAdminApp = () => {\n return (\n <Wcp.CanUseWorkflows>\n <WorkflowsPermissions />\n <ContentReviews />\n </Wcp.CanUseWorkflows>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,mBAAmB;AACvC,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,oBAAoB;AAC7B,SAASC,cAAc;AAEvB,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EAC/BH,OAAO,CAACI,QAAQ,CAAC,CAACH,oBAAoB,CAAC,CAAC;EAExC,OAAO,IAAI;AACf,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMI,iBAAiB,GAAGA,CAAA,KAAM;EACnC,oBACIP,KAAA,CAAAQ,aAAA,CAACP,GAAG,CAACQ,eAAe,qBAChBT,KAAA,CAAAQ,aAAA,CAACH,oBAAoB,MAAE,CAAC,eACxBL,KAAA,CAAAQ,aAAA,CAACJ,cAAc,MAAE,CACA,CAAC;AAE9B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Wcp","SecurityPermissions","ContentReviews","WorkflowsAdminApp","createElement","CanUseWorkflows"],"sources":["WorkflowsAdminApp.tsx"],"sourcesContent":["import React from \"react\";\nimport { Wcp } from \"@webiny/app-admin\";\nimport { SecurityPermissions } from \"~/Components/WorkflowsPermissions/index.js\";\nimport { ContentReviews } from \"./ContentReviews.js\";\n\n/**\n * Should be registered in app-serverless-cms.\n */\nexport const WorkflowsAdminApp = () => {\n return (\n <Wcp.CanUseWorkflows>\n <SecurityPermissions />\n <ContentReviews />\n </Wcp.CanUseWorkflows>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,mBAAmB;AACvC,SAASC,mBAAmB;AAC5B,SAASC,cAAc;;AAEvB;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACnC,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,GAAG,CAACK,eAAe,qBAChBN,KAAA,CAAAK,aAAA,CAACH,mBAAmB,MAAE,CAAC,eACvBF,KAAA,CAAAK,aAAA,CAACF,cAAc,MAAE,CACA,CAAC;AAE9B,CAAC","ignoreList":[]}
@@ -5,6 +5,7 @@ import React from "react";
5
5
  import { Alert } from "@webiny/admin-ui";
6
6
  import { WorkflowStateBarComponent } from "../WorkflowStateBarComponent.js";
7
7
  import { observer } from "mobx-react-lite";
8
+ import { DeveloperMode } from "@webiny/app-admin";
8
9
  import { WorkflowStateValue } from "../../../../types.js";
9
10
  export const WorkflowStateBarApproved = WorkflowStateBarComponent.createDecorator(Original => {
10
11
  return observer(function WorkflowStateBarApprovedDecorator(props) {
@@ -18,7 +19,7 @@ export const WorkflowStateBarApproved = WorkflowStateBarComponent.createDecorato
18
19
  return /*#__PURE__*/React.createElement(Alert, {
19
20
  icon: null,
20
21
  swatchColor: step.color,
21
- actions: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Alert.Action, {
22
+ actions: /*#__PURE__*/React.createElement(DeveloperMode, null, /*#__PURE__*/React.createElement(Alert.Action, {
22
23
  text: "Remove Review Request",
23
24
  onClick: presenter.cancel
24
25
  }))
@@ -1 +1 @@
1
- {"version":3,"names":["React","Alert","WorkflowStateBarComponent","observer","WorkflowStateValue","WorkflowStateBarApproved","createDecorator","Original","WorkflowStateBarApprovedDecorator","props","presenter","step","vm","state","approved","createElement","icon","swatchColor","color","actions","Fragment","Action","text","onClick","cancel"],"sources":["WorkflowStateBarApproved.tsx"],"sourcesContent":["/**\n * When state is approved.\n */\nimport React from \"react\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { WorkflowStateBarComponent } from \"../WorkflowStateBarComponent.js\";\nimport { observer } from \"mobx-react-lite\";\nimport { WorkflowStateValue } from \"~/types.js\";\n\nexport const WorkflowStateBarApproved = WorkflowStateBarComponent.createDecorator(Original => {\n return observer(function WorkflowStateBarApprovedDecorator(props) {\n const { presenter } = props;\n\n const step = presenter.vm.step;\n if (presenter.vm.state?.state !== WorkflowStateValue.approved || !step) {\n return <Original {...props} />;\n }\n\n return (\n <Alert\n icon={null}\n swatchColor={step.color}\n actions={\n <>\n <Alert.Action text={\"Remove Review Request\"} onClick={presenter.cancel} />\n </>\n }\n >\n This entry was approved.\n </Alert>\n );\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,yBAAyB;AAClC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,wBAAwB,GAAGH,yBAAyB,CAACI,eAAe,CAACC,QAAQ,IAAI;EAC1F,OAAOJ,QAAQ,CAAC,SAASK,iCAAiCA,CAACC,KAAK,EAAE;IAC9D,MAAM;MAAEC;IAAU,CAAC,GAAGD,KAAK;IAE3B,MAAME,IAAI,GAAGD,SAAS,CAACE,EAAE,CAACD,IAAI;IAC9B,IAAID,SAAS,CAACE,EAAE,CAACC,KAAK,EAAEA,KAAK,KAAKT,kBAAkB,CAACU,QAAQ,IAAI,CAACH,IAAI,EAAE;MACpE,oBAAOX,KAAA,CAAAe,aAAA,CAACR,QAAQ,EAAKE,KAAQ,CAAC;IAClC;IAEA,oBACIT,KAAA,CAAAe,aAAA,CAACd,KAAK;MACFe,IAAI,EAAE,IAAK;MACXC,WAAW,EAAEN,IAAI,CAACO,KAAM;MACxBC,OAAO,eACHnB,KAAA,CAAAe,aAAA,CAAAf,KAAA,CAAAoB,QAAA,qBACIpB,KAAA,CAAAe,aAAA,CAACd,KAAK,CAACoB,MAAM;QAACC,IAAI,EAAE,uBAAwB;QAACC,OAAO,EAAEb,SAAS,CAACc;MAAO,CAAE,CAC3E;IACL,GACJ,0BAEM,CAAC;EAEhB,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Alert","WorkflowStateBarComponent","observer","DeveloperMode","WorkflowStateValue","WorkflowStateBarApproved","createDecorator","Original","WorkflowStateBarApprovedDecorator","props","presenter","step","vm","state","approved","createElement","icon","swatchColor","color","actions","Action","text","onClick","cancel"],"sources":["WorkflowStateBarApproved.tsx"],"sourcesContent":["/**\n * When state is approved.\n */\nimport React from \"react\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { WorkflowStateBarComponent } from \"../WorkflowStateBarComponent.js\";\nimport { observer } from \"mobx-react-lite\";\nimport { DeveloperMode } from \"@webiny/app-admin\";\nimport { WorkflowStateValue } from \"~/types.js\";\n\nexport const WorkflowStateBarApproved = WorkflowStateBarComponent.createDecorator(Original => {\n return observer(function WorkflowStateBarApprovedDecorator(props) {\n const { presenter } = props;\n\n const step = presenter.vm.step;\n if (presenter.vm.state?.state !== WorkflowStateValue.approved || !step) {\n return <Original {...props} />;\n }\n\n return (\n <Alert\n icon={null}\n swatchColor={step.color}\n actions={\n <DeveloperMode>\n <Alert.Action text={\"Remove Review Request\"} onClick={presenter.cancel} />\n </DeveloperMode>\n }\n >\n This entry was approved.\n </Alert>\n );\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,yBAAyB;AAClC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,wBAAwB,GAAGJ,yBAAyB,CAACK,eAAe,CAACC,QAAQ,IAAI;EAC1F,OAAOL,QAAQ,CAAC,SAASM,iCAAiCA,CAACC,KAAK,EAAE;IAC9D,MAAM;MAAEC;IAAU,CAAC,GAAGD,KAAK;IAE3B,MAAME,IAAI,GAAGD,SAAS,CAACE,EAAE,CAACD,IAAI;IAC9B,IAAID,SAAS,CAACE,EAAE,CAACC,KAAK,EAAEA,KAAK,KAAKT,kBAAkB,CAACU,QAAQ,IAAI,CAACH,IAAI,EAAE;MACpE,oBAAOZ,KAAA,CAAAgB,aAAA,CAACR,QAAQ,EAAKE,KAAQ,CAAC;IAClC;IAEA,oBACIV,KAAA,CAAAgB,aAAA,CAACf,KAAK;MACFgB,IAAI,EAAE,IAAK;MACXC,WAAW,EAAEN,IAAI,CAACO,KAAM;MACxBC,OAAO,eACHpB,KAAA,CAAAgB,aAAA,CAACZ,aAAa,qBACVJ,KAAA,CAAAgB,aAAA,CAACf,KAAK,CAACoB,MAAM;QAACC,IAAI,EAAE,uBAAwB;QAACC,OAAO,EAAEZ,SAAS,CAACa;MAAO,CAAE,CAC9D;IAClB,GACJ,0BAEM,CAAC;EAEhB,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import React from "react";
5
5
  import { Alert } from "@webiny/admin-ui";
6
+ import { DeveloperMode } from "@webiny/app-admin";
6
7
  import { WorkflowStateBarComponent } from "../WorkflowStateBarComponent.js";
7
8
  import { observer } from "mobx-react-lite";
8
9
  export const WorkflowStateBarRejected = WorkflowStateBarComponent.createDecorator(Original => {
@@ -23,10 +24,10 @@ export const WorkflowStateBarRejected = WorkflowStateBarComponent.createDecorato
23
24
  onClick: () => {
24
25
  presenter.showCommentDialog(step.id);
25
26
  }
26
- }), /*#__PURE__*/React.createElement(Alert.Action, {
27
+ }), /*#__PURE__*/React.createElement(DeveloperMode, null, /*#__PURE__*/React.createElement(Alert.Action, {
27
28
  text: "Remove Review Request",
28
29
  onClick: presenter.cancel
29
- })),
30
+ }))),
30
31
  type: "warning"
31
32
  }, "This entry was rejected.");
32
33
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","Alert","WorkflowStateBarComponent","observer","WorkflowStateBarRejected","createDecorator","Original","WorkflowStateBarRejectedDecorator","props","presenter","step","vm","lastRejectedStep","createElement","icon","swatchColor","color","actions","Fragment","Action","className","text","onClick","showCommentDialog","id","cancel","type"],"sources":["WorkflowStateBarRejected.tsx"],"sourcesContent":["/**\n * When state is approved.\n */\nimport React from \"react\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { WorkflowStateBarComponent } from \"../WorkflowStateBarComponent.js\";\nimport { observer } from \"mobx-react-lite\";\n\nexport const WorkflowStateBarRejected = WorkflowStateBarComponent.createDecorator(Original => {\n return observer(function WorkflowStateBarRejectedDecorator(props) {\n const { presenter } = props;\n\n const step = presenter.vm.lastRejectedStep;\n\n if (!step) {\n return <Original {...props} />;\n }\n\n return (\n <Alert\n icon={null}\n swatchColor={step.color}\n actions={\n <>\n <Alert.Action\n className={\"mr-sm\"}\n text={\"View Comment\"}\n onClick={() => {\n presenter.showCommentDialog(step.id);\n }}\n />\n <Alert.Action text={\"Remove Review Request\"} onClick={presenter.cancel} />\n </>\n }\n type=\"warning\"\n >\n This entry was rejected.\n </Alert>\n );\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,yBAAyB;AAClC,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,OAAO,MAAMC,wBAAwB,GAAGF,yBAAyB,CAACG,eAAe,CAACC,QAAQ,IAAI;EAC1F,OAAOH,QAAQ,CAAC,SAASI,iCAAiCA,CAACC,KAAK,EAAE;IAC9D,MAAM;MAAEC;IAAU,CAAC,GAAGD,KAAK;IAE3B,MAAME,IAAI,GAAGD,SAAS,CAACE,EAAE,CAACC,gBAAgB;IAE1C,IAAI,CAACF,IAAI,EAAE;MACP,oBAAOV,KAAA,CAAAa,aAAA,CAACP,QAAQ,EAAKE,KAAQ,CAAC;IAClC;IAEA,oBACIR,KAAA,CAAAa,aAAA,CAACZ,KAAK;MACFa,IAAI,EAAE,IAAK;MACXC,WAAW,EAAEL,IAAI,CAACM,KAAM;MACxBC,OAAO,eACHjB,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAkB,QAAA,qBACIlB,KAAA,CAAAa,aAAA,CAACZ,KAAK,CAACkB,MAAM;QACTC,SAAS,EAAE,OAAQ;QACnBC,IAAI,EAAE,cAAe;QACrBC,OAAO,EAAEA,CAAA,KAAM;UACXb,SAAS,CAACc,iBAAiB,CAACb,IAAI,CAACc,EAAE,CAAC;QACxC;MAAE,CACL,CAAC,eACFxB,KAAA,CAAAa,aAAA,CAACZ,KAAK,CAACkB,MAAM;QAACE,IAAI,EAAE,uBAAwB;QAACC,OAAO,EAAEb,SAAS,CAACgB;MAAO,CAAE,CAC3E,CACL;MACDC,IAAI,EAAC;IAAS,GACjB,0BAEM,CAAC;EAEhB,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Alert","DeveloperMode","WorkflowStateBarComponent","observer","WorkflowStateBarRejected","createDecorator","Original","WorkflowStateBarRejectedDecorator","props","presenter","step","vm","lastRejectedStep","createElement","icon","swatchColor","color","actions","Fragment","Action","className","text","onClick","showCommentDialog","id","cancel","type"],"sources":["WorkflowStateBarRejected.tsx"],"sourcesContent":["/**\n * When state is approved.\n */\nimport React from \"react\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { DeveloperMode } from \"@webiny/app-admin\";\nimport { WorkflowStateBarComponent } from \"../WorkflowStateBarComponent.js\";\nimport { observer } from \"mobx-react-lite\";\n\nexport const WorkflowStateBarRejected = WorkflowStateBarComponent.createDecorator(Original => {\n return observer(function WorkflowStateBarRejectedDecorator(props) {\n const { presenter } = props;\n\n const step = presenter.vm.lastRejectedStep;\n\n if (!step) {\n return <Original {...props} />;\n }\n\n return (\n <Alert\n icon={null}\n swatchColor={step.color}\n actions={\n <>\n <Alert.Action\n className={\"mr-sm\"}\n text={\"View Comment\"}\n onClick={() => {\n presenter.showCommentDialog(step.id);\n }}\n />\n <DeveloperMode>\n <Alert.Action\n text={\"Remove Review Request\"}\n onClick={presenter.cancel}\n />\n </DeveloperMode>\n </>\n }\n type=\"warning\"\n >\n This entry was rejected.\n </Alert>\n );\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,yBAAyB;AAClC,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,OAAO,MAAMC,wBAAwB,GAAGF,yBAAyB,CAACG,eAAe,CAACC,QAAQ,IAAI;EAC1F,OAAOH,QAAQ,CAAC,SAASI,iCAAiCA,CAACC,KAAK,EAAE;IAC9D,MAAM;MAAEC;IAAU,CAAC,GAAGD,KAAK;IAE3B,MAAME,IAAI,GAAGD,SAAS,CAACE,EAAE,CAACC,gBAAgB;IAE1C,IAAI,CAACF,IAAI,EAAE;MACP,oBAAOX,KAAA,CAAAc,aAAA,CAACP,QAAQ,EAAKE,KAAQ,CAAC;IAClC;IAEA,oBACIT,KAAA,CAAAc,aAAA,CAACb,KAAK;MACFc,IAAI,EAAE,IAAK;MACXC,WAAW,EAAEL,IAAI,CAACM,KAAM;MACxBC,OAAO,eACHlB,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAmB,QAAA,qBACInB,KAAA,CAAAc,aAAA,CAACb,KAAK,CAACmB,MAAM;QACTC,SAAS,EAAE,OAAQ;QACnBC,IAAI,EAAE,cAAe;QACrBC,OAAO,EAAEA,CAAA,KAAM;UACXb,SAAS,CAACc,iBAAiB,CAACb,IAAI,CAACc,EAAE,CAAC;QACxC;MAAE,CACL,CAAC,eACFzB,KAAA,CAAAc,aAAA,CAACZ,aAAa,qBACVF,KAAA,CAAAc,aAAA,CAACb,KAAK,CAACmB,MAAM;QACTE,IAAI,EAAE,uBAAwB;QAC9BC,OAAO,EAAEb,SAAS,CAACgB;MAAO,CAC7B,CACU,CACjB,CACL;MACDC,IAAI,EAAC;IAAS,GACjB,0BAEM,CAAC;EAEhB,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import type { IWorkflow, IWorkflowState } from "../../../types.js";
3
3
  interface IWorkflowStateBarPropsChildrenParams {
4
4
  workflow: IWorkflow;
5
+ stateBar: React.ReactElement;
5
6
  state?: IWorkflowState | null;
6
7
  }
7
8
  interface IWorkflowStateBarPropsChildren {
@@ -14,7 +15,7 @@ export interface IWorkflowStateBarProps {
14
15
  *
15
16
  * Also, this way we avoid using MobX in the consumers of this component.
16
17
  */
17
- children?: IWorkflowStateBarPropsChildren | React.ReactElement | React.ReactElement[] | null;
18
+ children?: IWorkflowStateBarPropsChildren | null;
18
19
  }
19
20
  export declare const WorkflowStateBar: ((props: IWorkflowStateBarProps) => React.JSX.Element | null) & {
20
21
  displayName: string;
@@ -24,12 +24,14 @@ export const WorkflowStateBar = observer(props => {
24
24
  if (!presenter.vm.workflow) {
25
25
  return null;
26
26
  }
27
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WorkflowStateBarDialogs, null), /*#__PURE__*/React.createElement(Plugins, null, /*#__PURE__*/React.createElement(WorkflowStateBarApproved, null), /*#__PURE__*/React.createElement(WorkflowStateBarRejected, null), /*#__PURE__*/React.createElement(WorkflowStateBarReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarStartReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarCancelReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarRequestReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarLoading, null), /*#__PURE__*/React.createElement(WorkflowStateBarWorkflow, null), /*#__PURE__*/React.createElement(WorkflowStateBarError, null)), /*#__PURE__*/React.createElement(WorkflowStateBarComponent, {
27
+ const stateBar = /*#__PURE__*/React.createElement(WorkflowStateBarComponent, {
28
28
  presenter: presenter
29
- }), typeof props.children === "function" ? props.children({
29
+ });
30
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WorkflowStateBarDialogs, null), /*#__PURE__*/React.createElement(Plugins, null, /*#__PURE__*/React.createElement(WorkflowStateBarApproved, null), /*#__PURE__*/React.createElement(WorkflowStateBarRejected, null), /*#__PURE__*/React.createElement(WorkflowStateBarReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarStartReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarCancelReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarRequestReview, null), /*#__PURE__*/React.createElement(WorkflowStateBarLoading, null), /*#__PURE__*/React.createElement(WorkflowStateBarWorkflow, null), /*#__PURE__*/React.createElement(WorkflowStateBarError, null)), typeof props.children === "function" ? props.children({
31
+ stateBar,
30
32
  state: presenter.vm.state,
31
33
  workflow: presenter.vm.workflow
32
- }) : props.children);
34
+ }) : stateBar);
33
35
  });
34
36
 
35
37
  //# sourceMappingURL=WorkflowStateBar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","observer","Plugins","WorkflowStateBarError","WorkflowStateBarLoading","WorkflowStateBarRequestReview","WorkflowStateBarCancelReview","WorkflowStateBarReview","WorkflowStateBarApproved","WorkflowStateBarRejected","WorkflowStateBarWorkflow","WorkflowStateBarComponent","WorkflowStateBarStartReview","useWorkflowState","WorkflowStateBarDialogs","WorkflowStateBar","props","presenter","vm","workflow","createElement","Fragment","children","state"],"sources":["WorkflowStateBar.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Plugins } from \"@webiny/app\";\nimport { WorkflowStateBarError } from \"./Bars/WorkflowStateBarError.js\";\nimport { WorkflowStateBarLoading } from \"./Bars/WorkflowStateBarLoading.js\";\nimport { WorkflowStateBarRequestReview } from \"./Bars/WorkflowStateBarRequestReview.js\";\nimport { WorkflowStateBarCancelReview } from \"./Bars/WorkflowStateBarCancelReview.js\";\nimport { WorkflowStateBarReview } from \"./Bars/WorkflowStateBarReview.js\";\nimport { WorkflowStateBarApproved } from \"./Bars/WorkflowStateBarApproved.js\";\nimport { WorkflowStateBarRejected } from \"./Bars/WorkflowStateBarRejected.js\";\nimport { WorkflowStateBarWorkflow } from \"./Bars/WorkflowStateBarWorkflow.js\";\nimport { WorkflowStateBarComponent } from \"./WorkflowStateBarComponent.js\";\nimport { WorkflowStateBarStartReview } from \"./Bars/WorkflowStateBarStartReview.js\";\nimport { useWorkflowState } from \"../useWorkflowState.js\";\nimport { WorkflowStateBarDialogs } from \"~/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js\";\nimport type { IWorkflow, IWorkflowState } from \"~/types.js\";\n\ninterface IWorkflowStateBarPropsChildrenParams {\n workflow: IWorkflow;\n state?: IWorkflowState | null;\n}\ninterface IWorkflowStateBarPropsChildren {\n (\n params: IWorkflowStateBarPropsChildrenParams\n ): React.ReactElement | React.ReactElement[] | null;\n}\nexport interface IWorkflowStateBarProps {\n /**\n * To have access to a state and workflow, render function is meant to be used.\n * It will rerender on every state change, and it will provide the latest state and workflow.\n *\n * Also, this way we avoid using MobX in the consumers of this component.\n */\n children?: IWorkflowStateBarPropsChildren | React.ReactElement | React.ReactElement[] | null;\n}\n\nexport const WorkflowStateBar = observer((props: IWorkflowStateBarProps) => {\n const { presenter } = useWorkflowState();\n /**\n * If no workflow, do not show anything - there might not be a workflow assigned.\n * We do not want to show loading or error states in this case.\n */\n if (!presenter.vm.workflow) {\n return null;\n }\n\n return (\n <>\n <WorkflowStateBarDialogs />\n <Plugins>\n <WorkflowStateBarApproved />\n <WorkflowStateBarRejected />\n <WorkflowStateBarReview />\n <WorkflowStateBarStartReview />\n <WorkflowStateBarCancelReview />\n <WorkflowStateBarRequestReview />\n <WorkflowStateBarLoading />\n <WorkflowStateBarWorkflow />\n <WorkflowStateBarError />\n </Plugins>\n <WorkflowStateBarComponent presenter={presenter} />\n {typeof props.children === \"function\"\n ? props.children({ state: presenter.vm.state, workflow: presenter.vm.workflow })\n : props.children}\n </>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,qBAAqB;AAC9B,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,4BAA4B;AACrC,SAASC,sBAAsB;AAC/B,SAASC,wBAAwB;AACjC,SAASC,wBAAwB;AACjC,SAASC,wBAAwB;AACjC,SAASC,yBAAyB;AAClC,SAASC,2BAA2B;AACpC,SAASC,gBAAgB;AACzB,SAASC,uBAAuB;AAsBhC,OAAO,MAAMC,gBAAgB,GAAGd,QAAQ,CAAEe,KAA6B,IAAK;EACxE,MAAM;IAAEC;EAAU,CAAC,GAAGJ,gBAAgB,CAAC,CAAC;EACxC;AACJ;AACA;AACA;EACI,IAAI,CAACI,SAAS,CAACC,EAAE,CAACC,QAAQ,EAAE;IACxB,OAAO,IAAI;EACf;EAEA,oBACInB,KAAA,CAAAoB,aAAA,CAAApB,KAAA,CAAAqB,QAAA,qBACIrB,KAAA,CAAAoB,aAAA,CAACN,uBAAuB,MAAE,CAAC,eAC3Bd,KAAA,CAAAoB,aAAA,CAAClB,OAAO,qBACJF,KAAA,CAAAoB,aAAA,CAACZ,wBAAwB,MAAE,CAAC,eAC5BR,KAAA,CAAAoB,aAAA,CAACX,wBAAwB,MAAE,CAAC,eAC5BT,KAAA,CAAAoB,aAAA,CAACb,sBAAsB,MAAE,CAAC,eAC1BP,KAAA,CAAAoB,aAAA,CAACR,2BAA2B,MAAE,CAAC,eAC/BZ,KAAA,CAAAoB,aAAA,CAACd,4BAA4B,MAAE,CAAC,eAChCN,KAAA,CAAAoB,aAAA,CAACf,6BAA6B,MAAE,CAAC,eACjCL,KAAA,CAAAoB,aAAA,CAAChB,uBAAuB,MAAE,CAAC,eAC3BJ,KAAA,CAAAoB,aAAA,CAACV,wBAAwB,MAAE,CAAC,eAC5BV,KAAA,CAAAoB,aAAA,CAACjB,qBAAqB,MAAE,CACnB,CAAC,eACVH,KAAA,CAAAoB,aAAA,CAACT,yBAAyB;IAACM,SAAS,EAAEA;EAAU,CAAE,CAAC,EAClD,OAAOD,KAAK,CAACM,QAAQ,KAAK,UAAU,GAC/BN,KAAK,CAACM,QAAQ,CAAC;IAAEC,KAAK,EAAEN,SAAS,CAACC,EAAE,CAACK,KAAK;IAAEJ,QAAQ,EAAEF,SAAS,CAACC,EAAE,CAACC;EAAS,CAAC,CAAC,GAC9EH,KAAK,CAACM,QACd,CAAC;AAEX,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","observer","Plugins","WorkflowStateBarError","WorkflowStateBarLoading","WorkflowStateBarRequestReview","WorkflowStateBarCancelReview","WorkflowStateBarReview","WorkflowStateBarApproved","WorkflowStateBarRejected","WorkflowStateBarWorkflow","WorkflowStateBarComponent","WorkflowStateBarStartReview","useWorkflowState","WorkflowStateBarDialogs","WorkflowStateBar","props","presenter","vm","workflow","stateBar","createElement","Fragment","children","state"],"sources":["WorkflowStateBar.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Plugins } from \"@webiny/app\";\nimport { WorkflowStateBarError } from \"./Bars/WorkflowStateBarError.js\";\nimport { WorkflowStateBarLoading } from \"./Bars/WorkflowStateBarLoading.js\";\nimport { WorkflowStateBarRequestReview } from \"./Bars/WorkflowStateBarRequestReview.js\";\nimport { WorkflowStateBarCancelReview } from \"./Bars/WorkflowStateBarCancelReview.js\";\nimport { WorkflowStateBarReview } from \"./Bars/WorkflowStateBarReview.js\";\nimport { WorkflowStateBarApproved } from \"./Bars/WorkflowStateBarApproved.js\";\nimport { WorkflowStateBarRejected } from \"./Bars/WorkflowStateBarRejected.js\";\nimport { WorkflowStateBarWorkflow } from \"./Bars/WorkflowStateBarWorkflow.js\";\nimport { WorkflowStateBarComponent } from \"./WorkflowStateBarComponent.js\";\nimport { WorkflowStateBarStartReview } from \"./Bars/WorkflowStateBarStartReview.js\";\nimport { useWorkflowState } from \"../useWorkflowState.js\";\nimport { WorkflowStateBarDialogs } from \"~/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js\";\nimport type { IWorkflow, IWorkflowState } from \"~/types.js\";\n\ninterface IWorkflowStateBarPropsChildrenParams {\n workflow: IWorkflow;\n stateBar: React.ReactElement;\n state?: IWorkflowState | null;\n}\ninterface IWorkflowStateBarPropsChildren {\n (\n params: IWorkflowStateBarPropsChildrenParams\n ): React.ReactElement | React.ReactElement[] | null;\n}\nexport interface IWorkflowStateBarProps {\n /**\n * To have access to a state and workflow, render function is meant to be used.\n * It will rerender on every state change, and it will provide the latest state and workflow.\n *\n * Also, this way we avoid using MobX in the consumers of this component.\n */\n children?: IWorkflowStateBarPropsChildren | null;\n}\n\nexport const WorkflowStateBar = observer((props: IWorkflowStateBarProps) => {\n const { presenter } = useWorkflowState();\n /**\n * If no workflow, do not show anything - there might not be a workflow assigned.\n * We do not want to show loading or error states in this case.\n */\n if (!presenter.vm.workflow) {\n return null;\n }\n\n const stateBar = <WorkflowStateBarComponent presenter={presenter} />;\n\n return (\n <>\n <WorkflowStateBarDialogs />\n <Plugins>\n <WorkflowStateBarApproved />\n <WorkflowStateBarRejected />\n <WorkflowStateBarReview />\n <WorkflowStateBarStartReview />\n <WorkflowStateBarCancelReview />\n <WorkflowStateBarRequestReview />\n <WorkflowStateBarLoading />\n <WorkflowStateBarWorkflow />\n <WorkflowStateBarError />\n </Plugins>\n {typeof props.children === \"function\"\n ? props.children({\n stateBar,\n state: presenter.vm.state,\n workflow: presenter.vm.workflow\n })\n : stateBar}\n </>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,qBAAqB;AAC9B,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,4BAA4B;AACrC,SAASC,sBAAsB;AAC/B,SAASC,wBAAwB;AACjC,SAASC,wBAAwB;AACjC,SAASC,wBAAwB;AACjC,SAASC,yBAAyB;AAClC,SAASC,2BAA2B;AACpC,SAASC,gBAAgB;AACzB,SAASC,uBAAuB;AAuBhC,OAAO,MAAMC,gBAAgB,GAAGd,QAAQ,CAAEe,KAA6B,IAAK;EACxE,MAAM;IAAEC;EAAU,CAAC,GAAGJ,gBAAgB,CAAC,CAAC;EACxC;AACJ;AACA;AACA;EACI,IAAI,CAACI,SAAS,CAACC,EAAE,CAACC,QAAQ,EAAE;IACxB,OAAO,IAAI;EACf;EAEA,MAAMC,QAAQ,gBAAGpB,KAAA,CAAAqB,aAAA,CAACV,yBAAyB;IAACM,SAAS,EAAEA;EAAU,CAAE,CAAC;EAEpE,oBACIjB,KAAA,CAAAqB,aAAA,CAAArB,KAAA,CAAAsB,QAAA,qBACItB,KAAA,CAAAqB,aAAA,CAACP,uBAAuB,MAAE,CAAC,eAC3Bd,KAAA,CAAAqB,aAAA,CAACnB,OAAO,qBACJF,KAAA,CAAAqB,aAAA,CAACb,wBAAwB,MAAE,CAAC,eAC5BR,KAAA,CAAAqB,aAAA,CAACZ,wBAAwB,MAAE,CAAC,eAC5BT,KAAA,CAAAqB,aAAA,CAACd,sBAAsB,MAAE,CAAC,eAC1BP,KAAA,CAAAqB,aAAA,CAACT,2BAA2B,MAAE,CAAC,eAC/BZ,KAAA,CAAAqB,aAAA,CAACf,4BAA4B,MAAE,CAAC,eAChCN,KAAA,CAAAqB,aAAA,CAAChB,6BAA6B,MAAE,CAAC,eACjCL,KAAA,CAAAqB,aAAA,CAACjB,uBAAuB,MAAE,CAAC,eAC3BJ,KAAA,CAAAqB,aAAA,CAACX,wBAAwB,MAAE,CAAC,eAC5BV,KAAA,CAAAqB,aAAA,CAAClB,qBAAqB,MAAE,CACnB,CAAC,EACT,OAAOa,KAAK,CAACO,QAAQ,KAAK,UAAU,GAC/BP,KAAK,CAACO,QAAQ,CAAC;IACXH,QAAQ;IACRI,KAAK,EAAEP,SAAS,CAACC,EAAE,CAACM,KAAK;IACzBL,QAAQ,EAAEF,SAAS,CAACC,EAAE,CAACC;EAC3B,CAAC,CAAC,GACFC,QACR,CAAC;AAEX,CAAC,CAAC","ignoreList":[]}
@@ -12,15 +12,17 @@ export const WorkflowStatesOwnWidget = props => {
12
12
  if (!canUseWorkflows) {
13
13
  return /*#__PURE__*/React.createElement(Alert, {
14
14
  type: "danger",
15
- title: "You don't have access to Workflows."
16
- }, "You do not have access to Workflows. Please contact your system administrator.");
15
+ title: "You don't have access to Content Reviews."
16
+ }, "You do not have access to Content Reviews. Please contact your system administrator.");
17
17
  }
18
18
  return /*#__PURE__*/React.createElement(WorkflowStatesProvider, {
19
19
  type: "own",
20
20
  client: client,
21
21
  states: [WorkflowStateValue.pending, WorkflowStateValue.inReview, WorkflowStateValue.approved, WorkflowStateValue.rejected]
22
22
  }, /*#__PURE__*/React.createElement(WorkflowStateWidgetCard, {
23
- title: /*#__PURE__*/React.createElement(React.Fragment, null, "Workflow States requested by current user")
23
+ title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
24
+ className: "text-accent-primary"
25
+ }, "Content Reviews"), " assigned by me")
24
26
  }));
25
27
  };
26
28
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCanUseWorkflows","Alert","WorkflowStatesProvider","WorkflowStateWidgetCard","WorkflowStateValue","WorkflowStatesOwnWidget","props","client","canUseWorkflows","createElement","type","title","states","pending","inReview","approved","rejected","Fragment"],"sources":["WorkflowStatesOwnWidget.tsx"],"sourcesContent":["import React from \"react\";\nimport type ApolloClient from \"apollo-client\";\nimport { useCanUseWorkflows } from \"~/hooks/canUseWorkflows.js\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { WorkflowStatesProvider } from \"./Provider/WorkflowStatesProvider.js\";\nimport { WorkflowStateWidgetCard } from \"./Card/WorkflowStatesWidgetCard.js\";\nimport { WorkflowStateValue } from \"~/types.js\";\n\nexport interface IWorkflowStatesOwnWidgetProps {\n client: ApolloClient<object>;\n}\n\nexport const WorkflowStatesOwnWidget = (props: IWorkflowStatesOwnWidgetProps) => {\n const { client } = props;\n\n const canUseWorkflows = useCanUseWorkflows();\n if (!canUseWorkflows) {\n return (\n <Alert type={\"danger\"} title={\"You don't have access to Workflows.\"}>\n You do not have access to Workflows. Please contact your system administrator.\n </Alert>\n );\n }\n\n return (\n <WorkflowStatesProvider\n type={\"own\"}\n client={client}\n states={[\n WorkflowStateValue.pending,\n WorkflowStateValue.inReview,\n WorkflowStateValue.approved,\n WorkflowStateValue.rejected\n ]}\n >\n <WorkflowStateWidgetCard title={<>Workflow States requested by current user</>} />\n </WorkflowStatesProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,kBAAkB;AAC3B,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAM3B,OAAO,MAAMC,uBAAuB,GAAIC,KAAoC,IAAK;EAC7E,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EAExB,MAAME,eAAe,GAAGR,kBAAkB,CAAC,CAAC;EAC5C,IAAI,CAACQ,eAAe,EAAE;IAClB,oBACIT,KAAA,CAAAU,aAAA,CAACR,KAAK;MAACS,IAAI,EAAE,QAAS;MAACC,KAAK,EAAE;IAAsC,GAAC,gFAE9D,CAAC;EAEhB;EAEA,oBACIZ,KAAA,CAAAU,aAAA,CAACP,sBAAsB;IACnBQ,IAAI,EAAE,KAAM;IACZH,MAAM,EAAEA,MAAO;IACfK,MAAM,EAAE,CACJR,kBAAkB,CAACS,OAAO,EAC1BT,kBAAkB,CAACU,QAAQ,EAC3BV,kBAAkB,CAACW,QAAQ,EAC3BX,kBAAkB,CAACY,QAAQ;EAC7B,gBAEFjB,KAAA,CAAAU,aAAA,CAACN,uBAAuB;IAACQ,KAAK,eAAEZ,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAkB,QAAA,QAAE,2CAA2C;EAAE,CAAE,CAC7D,CAAC;AAEjC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCanUseWorkflows","Alert","WorkflowStatesProvider","WorkflowStateWidgetCard","WorkflowStateValue","WorkflowStatesOwnWidget","props","client","canUseWorkflows","createElement","type","title","states","pending","inReview","approved","rejected","Fragment","className"],"sources":["WorkflowStatesOwnWidget.tsx"],"sourcesContent":["import React from \"react\";\nimport type ApolloClient from \"apollo-client\";\nimport { useCanUseWorkflows } from \"~/hooks/canUseWorkflows.js\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { WorkflowStatesProvider } from \"./Provider/WorkflowStatesProvider.js\";\nimport { WorkflowStateWidgetCard } from \"./Card/WorkflowStatesWidgetCard.js\";\nimport { WorkflowStateValue } from \"~/types.js\";\n\nexport interface IWorkflowStatesOwnWidgetProps {\n client: ApolloClient<object>;\n}\n\nexport const WorkflowStatesOwnWidget = (props: IWorkflowStatesOwnWidgetProps) => {\n const { client } = props;\n\n const canUseWorkflows = useCanUseWorkflows();\n if (!canUseWorkflows) {\n return (\n <Alert type={\"danger\"} title={\"You don't have access to Content Reviews.\"}>\n You do not have access to Content Reviews. Please contact your system administrator.\n </Alert>\n );\n }\n\n return (\n <WorkflowStatesProvider\n type={\"own\"}\n client={client}\n states={[\n WorkflowStateValue.pending,\n WorkflowStateValue.inReview,\n WorkflowStateValue.approved,\n WorkflowStateValue.rejected\n ]}\n >\n <WorkflowStateWidgetCard\n title={\n <>\n <span className={\"text-accent-primary\"}>Content Reviews</span> assigned by\n me\n </>\n }\n />\n </WorkflowStatesProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,kBAAkB;AAC3B,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAM3B,OAAO,MAAMC,uBAAuB,GAAIC,KAAoC,IAAK;EAC7E,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EAExB,MAAME,eAAe,GAAGR,kBAAkB,CAAC,CAAC;EAC5C,IAAI,CAACQ,eAAe,EAAE;IAClB,oBACIT,KAAA,CAAAU,aAAA,CAACR,KAAK;MAACS,IAAI,EAAE,QAAS;MAACC,KAAK,EAAE;IAA4C,GAAC,sFAEpE,CAAC;EAEhB;EAEA,oBACIZ,KAAA,CAAAU,aAAA,CAACP,sBAAsB;IACnBQ,IAAI,EAAE,KAAM;IACZH,MAAM,EAAEA,MAAO;IACfK,MAAM,EAAE,CACJR,kBAAkB,CAACS,OAAO,EAC1BT,kBAAkB,CAACU,QAAQ,EAC3BV,kBAAkB,CAACW,QAAQ,EAC3BX,kBAAkB,CAACY,QAAQ;EAC7B,gBAEFjB,KAAA,CAAAU,aAAA,CAACN,uBAAuB;IACpBQ,KAAK,eACDZ,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAkB,QAAA,qBACIlB,KAAA,CAAAU,aAAA;MAAMS,SAAS,EAAE;IAAsB,GAAC,iBAAqB,CAAC,mBAEhE;EACL,CACJ,CACmB,CAAC;AAEjC,CAAC","ignoreList":[]}
@@ -20,7 +20,9 @@ export const WorkflowStatesRequestedWidget = props => {
20
20
  client: client,
21
21
  states: [WorkflowStateValue.pending, WorkflowStateValue.inReview]
22
22
  }, /*#__PURE__*/React.createElement(WorkflowStateWidgetCard, {
23
- title: /*#__PURE__*/React.createElement(React.Fragment, null, "Workflow States assigned to current user")
23
+ title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
24
+ className: "text-accent-primary"
25
+ }, "Content Reviews"), " assigned to me")
24
26
  }));
25
27
  };
26
28
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCanUseWorkflows","Alert","WorkflowStatesProvider","WorkflowStateWidgetCard","WorkflowStateValue","WorkflowStatesRequestedWidget","props","client","canUseWorkflows","createElement","type","title","states","pending","inReview","Fragment"],"sources":["WorkflowStatesRequestedWidget.tsx"],"sourcesContent":["import React from \"react\";\nimport type ApolloClient from \"apollo-client\";\nimport { useCanUseWorkflows } from \"~/hooks/canUseWorkflows.js\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { WorkflowStatesProvider } from \"./Provider/WorkflowStatesProvider.js\";\nimport { WorkflowStateWidgetCard } from \"./Card/WorkflowStatesWidgetCard.js\";\nimport { WorkflowStateValue } from \"~/types.js\";\n\nexport interface IWorkflowStatesRequestedWidgetProps {\n client: ApolloClient<object>;\n}\n\nexport const WorkflowStatesRequestedWidget = (props: IWorkflowStatesRequestedWidgetProps) => {\n const { client } = props;\n\n const canUseWorkflows = useCanUseWorkflows();\n if (!canUseWorkflows) {\n return (\n <Alert type={\"danger\"} title={\"You don't have access to Workflows.\"}>\n You do not have access to Workflows. Please contact your system administrator.\n </Alert>\n );\n }\n\n return (\n <WorkflowStatesProvider\n type={\"requested\"}\n client={client}\n states={[WorkflowStateValue.pending, WorkflowStateValue.inReview]}\n >\n <WorkflowStateWidgetCard title={<>Workflow States assigned to current user</>} />\n </WorkflowStatesProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,kBAAkB;AAC3B,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAM3B,OAAO,MAAMC,6BAA6B,GAAIC,KAA0C,IAAK;EACzF,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EAExB,MAAME,eAAe,GAAGR,kBAAkB,CAAC,CAAC;EAC5C,IAAI,CAACQ,eAAe,EAAE;IAClB,oBACIT,KAAA,CAAAU,aAAA,CAACR,KAAK;MAACS,IAAI,EAAE,QAAS;MAACC,KAAK,EAAE;IAAsC,GAAC,gFAE9D,CAAC;EAEhB;EAEA,oBACIZ,KAAA,CAAAU,aAAA,CAACP,sBAAsB;IACnBQ,IAAI,EAAE,WAAY;IAClBH,MAAM,EAAEA,MAAO;IACfK,MAAM,EAAE,CAACR,kBAAkB,CAACS,OAAO,EAAET,kBAAkB,CAACU,QAAQ;EAAE,gBAElEf,KAAA,CAAAU,aAAA,CAACN,uBAAuB;IAACQ,KAAK,eAAEZ,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAgB,QAAA,QAAE,0CAA0C;EAAE,CAAE,CAC5D,CAAC;AAEjC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCanUseWorkflows","Alert","WorkflowStatesProvider","WorkflowStateWidgetCard","WorkflowStateValue","WorkflowStatesRequestedWidget","props","client","canUseWorkflows","createElement","type","title","states","pending","inReview","Fragment","className"],"sources":["WorkflowStatesRequestedWidget.tsx"],"sourcesContent":["import React from \"react\";\nimport type ApolloClient from \"apollo-client\";\nimport { useCanUseWorkflows } from \"~/hooks/canUseWorkflows.js\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { WorkflowStatesProvider } from \"./Provider/WorkflowStatesProvider.js\";\nimport { WorkflowStateWidgetCard } from \"./Card/WorkflowStatesWidgetCard.js\";\nimport { WorkflowStateValue } from \"~/types.js\";\n\nexport interface IWorkflowStatesRequestedWidgetProps {\n client: ApolloClient<object>;\n}\n\nexport const WorkflowStatesRequestedWidget = (props: IWorkflowStatesRequestedWidgetProps) => {\n const { client } = props;\n\n const canUseWorkflows = useCanUseWorkflows();\n if (!canUseWorkflows) {\n return (\n <Alert type={\"danger\"} title={\"You don't have access to Workflows.\"}>\n You do not have access to Workflows. Please contact your system administrator.\n </Alert>\n );\n }\n\n return (\n <WorkflowStatesProvider\n type={\"requested\"}\n client={client}\n states={[WorkflowStateValue.pending, WorkflowStateValue.inReview]}\n >\n <WorkflowStateWidgetCard\n title={\n <>\n <span className={\"text-accent-primary\"}>Content Reviews</span> assigned to\n me\n </>\n }\n />\n </WorkflowStatesProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,kBAAkB;AAC3B,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAM3B,OAAO,MAAMC,6BAA6B,GAAIC,KAA0C,IAAK;EACzF,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EAExB,MAAME,eAAe,GAAGR,kBAAkB,CAAC,CAAC;EAC5C,IAAI,CAACQ,eAAe,EAAE;IAClB,oBACIT,KAAA,CAAAU,aAAA,CAACR,KAAK;MAACS,IAAI,EAAE,QAAS;MAACC,KAAK,EAAE;IAAsC,GAAC,gFAE9D,CAAC;EAEhB;EAEA,oBACIZ,KAAA,CAAAU,aAAA,CAACP,sBAAsB;IACnBQ,IAAI,EAAE,WAAY;IAClBH,MAAM,EAAEA,MAAO;IACfK,MAAM,EAAE,CAACR,kBAAkB,CAACS,OAAO,EAAET,kBAAkB,CAACU,QAAQ;EAAE,gBAElEf,KAAA,CAAAU,aAAA,CAACN,uBAAuB;IACpBQ,KAAK,eACDZ,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAgB,QAAA,qBACIhB,KAAA,CAAAU,aAAA;MAAMO,SAAS,EAAE;IAAsB,GAAC,iBAAqB,CAAC,mBAEhE;EACL,CACJ,CACmB,CAAC;AAEjC,CAAC","ignoreList":[]}
@@ -26,6 +26,7 @@ export const RemoveStep = props => {
26
26
  actions: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog.CancelAction, {
27
27
  onClick: close
28
28
  }), /*#__PURE__*/React.createElement(Dialog.ConfirmAction, {
29
+ text: "Ok, delete",
29
30
  onClick: onRemove
30
31
  })),
31
32
  showCloseButton: false,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Accordion","Dialog","Icon","ReactComponent","TrashIcon","useToggler","RemoveStep","props","onRemove","step","on","toggle","toggleOn","createElement","Fragment","Item","Action","onClick","icon","size","label","open","onOpenChange","title","actions","CancelAction","close","ConfirmAction","showCloseButton","dismissible"],"sources":["RemoveStep.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion, Dialog, Icon } from \"@webiny/admin-ui\";\nimport { ReactComponent as TrashIcon } from \"@webiny/icons/delete.svg\";\nimport { IWorkflowStep } from \"~/types.js\";\nimport { useToggler } from \"@webiny/app-admin\";\n\nexport interface IRemoveStepProps {\n onRemove: () => void;\n step: IWorkflowStep;\n}\n\nexport const RemoveStep = (props: IRemoveStepProps) => {\n const { onRemove, step } = props;\n const { on, toggle, toggleOn } = useToggler();\n\n return (\n <>\n <Accordion.Item.Action\n onClick={toggleOn}\n icon={<Icon size={\"sm\"} label={\"Remove Step\"} icon={<TrashIcon />} />}\n />\n <Dialog\n open={on}\n onOpenChange={toggle}\n title={`Remove workflow step \"${step.title}\"?`}\n actions={\n <>\n <Dialog.CancelAction onClick={close} />\n <Dialog.ConfirmAction onClick={onRemove} />\n </>\n }\n showCloseButton={false}\n dismissible={true}\n >\n You will remove the step from the workflow. This action can be undone if you do not\n save the workflow.\n </Dialog>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,MAAM,EAAEC,IAAI,QAAQ,kBAAkB;AAC1D,SAASC,cAAc,IAAIC,SAAS,QAAQ,0BAA0B;AAEtE,SAASC,UAAU,QAAQ,mBAAmB;AAO9C,OAAO,MAAMC,UAAU,GAAIC,KAAuB,IAAK;EACnD,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGF,KAAK;EAChC,MAAM;IAAEG,EAAE;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7C,oBACIN,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAe,QAAA,qBACIf,KAAA,CAAAc,aAAA,CAACb,SAAS,CAACe,IAAI,CAACC,MAAM;IAClBC,OAAO,EAAEL,QAAS;IAClBM,IAAI,eAAEnB,KAAA,CAAAc,aAAA,CAACX,IAAI;MAACiB,IAAI,EAAE,IAAK;MAACC,KAAK,EAAE,aAAc;MAACF,IAAI,eAAEnB,KAAA,CAAAc,aAAA,CAACT,SAAS,MAAE;IAAE,CAAE;EAAE,CACzE,CAAC,eACFL,KAAA,CAAAc,aAAA,CAACZ,MAAM;IACHoB,IAAI,EAAEX,EAAG;IACTY,YAAY,EAAEX,MAAO;IACrBY,KAAK,EAAE,yBAAyBd,IAAI,CAACc,KAAK,IAAK;IAC/CC,OAAO,eACHzB,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAe,QAAA,qBACIf,KAAA,CAAAc,aAAA,CAACZ,MAAM,CAACwB,YAAY;MAACR,OAAO,EAAES;IAAM,CAAE,CAAC,eACvC3B,KAAA,CAAAc,aAAA,CAACZ,MAAM,CAAC0B,aAAa;MAACV,OAAO,EAAET;IAAS,CAAE,CAC5C,CACL;IACDoB,eAAe,EAAE,KAAM;IACvBC,WAAW,EAAE;EAAK,GACrB,wGAGO,CACV,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Accordion","Dialog","Icon","ReactComponent","TrashIcon","useToggler","RemoveStep","props","onRemove","step","on","toggle","toggleOn","createElement","Fragment","Item","Action","onClick","icon","size","label","open","onOpenChange","title","actions","CancelAction","close","ConfirmAction","text","showCloseButton","dismissible"],"sources":["RemoveStep.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion, Dialog, Icon } from \"@webiny/admin-ui\";\nimport { ReactComponent as TrashIcon } from \"@webiny/icons/delete.svg\";\nimport { IWorkflowStep } from \"~/types.js\";\nimport { useToggler } from \"@webiny/app-admin\";\n\nexport interface IRemoveStepProps {\n onRemove: () => void;\n step: IWorkflowStep;\n}\n\nexport const RemoveStep = (props: IRemoveStepProps) => {\n const { onRemove, step } = props;\n const { on, toggle, toggleOn } = useToggler();\n\n return (\n <>\n <Accordion.Item.Action\n onClick={toggleOn}\n icon={<Icon size={\"sm\"} label={\"Remove Step\"} icon={<TrashIcon />} />}\n />\n <Dialog\n open={on}\n onOpenChange={toggle}\n title={`Remove workflow step \"${step.title}\"?`}\n actions={\n <>\n <Dialog.CancelAction onClick={close} />\n <Dialog.ConfirmAction text={\"Ok, delete\"} onClick={onRemove} />\n </>\n }\n showCloseButton={false}\n dismissible={true}\n >\n You will remove the step from the workflow. This action can be undone if you do not\n save the workflow.\n </Dialog>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,MAAM,EAAEC,IAAI,QAAQ,kBAAkB;AAC1D,SAASC,cAAc,IAAIC,SAAS,QAAQ,0BAA0B;AAEtE,SAASC,UAAU,QAAQ,mBAAmB;AAO9C,OAAO,MAAMC,UAAU,GAAIC,KAAuB,IAAK;EACnD,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGF,KAAK;EAChC,MAAM;IAAEG,EAAE;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7C,oBACIN,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAe,QAAA,qBACIf,KAAA,CAAAc,aAAA,CAACb,SAAS,CAACe,IAAI,CAACC,MAAM;IAClBC,OAAO,EAAEL,QAAS;IAClBM,IAAI,eAAEnB,KAAA,CAAAc,aAAA,CAACX,IAAI;MAACiB,IAAI,EAAE,IAAK;MAACC,KAAK,EAAE,aAAc;MAACF,IAAI,eAAEnB,KAAA,CAAAc,aAAA,CAACT,SAAS,MAAE;IAAE,CAAE;EAAE,CACzE,CAAC,eACFL,KAAA,CAAAc,aAAA,CAACZ,MAAM;IACHoB,IAAI,EAAEX,EAAG;IACTY,YAAY,EAAEX,MAAO;IACrBY,KAAK,EAAE,yBAAyBd,IAAI,CAACc,KAAK,IAAK;IAC/CC,OAAO,eACHzB,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAe,QAAA,qBACIf,KAAA,CAAAc,aAAA,CAACZ,MAAM,CAACwB,YAAY;MAACR,OAAO,EAAES;IAAM,CAAE,CAAC,eACvC3B,KAAA,CAAAc,aAAA,CAACZ,MAAM,CAAC0B,aAAa;MAACC,IAAI,EAAE,YAAa;MAACX,OAAO,EAAET;IAAS,CAAE,CAChE,CACL;IACDqB,eAAe,EAAE,KAAM;IACvBC,WAAW,EAAE;EAAK,GACrB,wGAGO,CACV,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -13,6 +13,6 @@ export interface IStepProps {
13
13
  open?: boolean;
14
14
  notifications: IWorkflowNotificationType[];
15
15
  }
16
- export declare const Step: (({ step, title, onCancel: initialOnCancel, onSave: initialOnSave, onRemove: initialOnRemove, onMoveUp, canMoveUp, onMoveDown, canMoveDown, open, notifications }: IStepProps) => React.JSX.Element) & {
16
+ export declare const Step: (({ step, title, onCancel: initialOnCancel, onSave: initialOnSave, onRemove: initialOnRemove, onMoveUp, canMoveUp, onMoveDown, canMoveDown, open }: IStepProps) => React.JSX.Element) & {
17
17
  displayName: string;
18
18
  };
@@ -8,7 +8,7 @@ import { StepFormTitle } from "./Form/StepFormTitle.js";
8
8
  import { StepFormColor } from "./Form/StepFormColor.js";
9
9
  import { StepFormDescription } from "./Form/StepFormDescription.js";
10
10
  import { StepFormTeams } from "./Form/StepFormTeams.js";
11
- import { StepFormNotifications } from "./Form/StepFormNotifications.js";
11
+ // import { StepFormNotifications } from "./Form/StepFormNotifications.js";
12
12
  import { RemoveStep } from "./Step/RemoveStep.js";
13
13
  const useEditing = (defaultValue = false) => {
14
14
  const [editing, setEditing] = useState(defaultValue);
@@ -34,8 +34,8 @@ export const Step = observer(({
34
34
  canMoveUp,
35
35
  onMoveDown,
36
36
  canMoveDown,
37
- open,
38
- notifications
37
+ open
38
+ // notifications
39
39
  }) => {
40
40
  const {
41
41
  editing,
@@ -109,11 +109,7 @@ export const Step = observer(({
109
109
  span: 12
110
110
  }, /*#__PURE__*/React.createElement(StepFormDescription, null)), /*#__PURE__*/React.createElement(Grid.Column, {
111
111
  span: 12
112
- }, /*#__PURE__*/React.createElement(StepFormTeams, null)), /*#__PURE__*/React.createElement(Grid.Column, {
113
- span: 12
114
- }, /*#__PURE__*/React.createElement(StepFormNotifications, {
115
- items: notifications
116
- }))))) : /*#__PURE__*/React.createElement(Accordion, {
112
+ }, /*#__PURE__*/React.createElement(StepFormTeams, null))))) : /*#__PURE__*/React.createElement(Accordion, {
117
113
  variant: "container",
118
114
  background: "base",
119
115
  border: "accent"
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useState","Accordion","Card","Grid","Icon","ReactComponent","ArrowUp","ArrowDown","observer","Form","StepFormTitle","StepFormColor","StepFormDescription","StepFormTeams","StepFormNotifications","RemoveStep","useEditing","defaultValue","editing","setEditing","startEditing","stopEditing","Step","step","title","onCancel","initialOnCancel","onSave","initialOnSave","onRemove","initialOnRemove","onMoveUp","canMoveUp","onMoveDown","canMoveDown","open","notifications","moveUp","moveDown","onOpenChange","onSubmit","input","createElement","data","submit","onFormSubmit","className","Fragment","padding","actionsPosition","variant","actions","CancelAction","onClick","text","ConfirmAction","gap","Column","span","items","background","border","Item","key","id","description","colorMark","color","Action","disabled","icon","label","size","Separator"],"sources":["Step.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Accordion, Card, Grid, Icon } from \"@webiny/admin-ui\";\nimport type { IWorkflowNotificationType, IWorkflowStep } from \"~/types.js\";\nimport { ReactComponent as ArrowUp } from \"@webiny/icons/arrow_upward.svg\";\nimport { ReactComponent as ArrowDown } from \"@webiny/icons/arrow_downward.svg\";\nimport { observer } from \"mobx-react-lite\";\nimport { Form } from \"@webiny/form\";\nimport { StepFormTitle } from \"./Form/StepFormTitle.js\";\nimport { StepFormColor } from \"./Form/StepFormColor.js\";\nimport { StepFormDescription } from \"./Form/StepFormDescription.js\";\nimport { StepFormTeams } from \"./Form/StepFormTeams.js\";\nimport { StepFormNotifications } from \"./Form/StepFormNotifications.js\";\nimport { RemoveStep } from \"./Step/RemoveStep.js\";\n\nexport interface IStepProps {\n step: IWorkflowStep;\n title?: string;\n onCancel?: () => void;\n onSave: (input: IWorkflowStep) => void;\n onRemove?: (step: Pick<IWorkflowStep, \"id\">) => void;\n onMoveUp?: (step: Pick<IWorkflowStep, \"id\">) => void;\n canMoveUp?: (step: Pick<IWorkflowStep, \"id\">) => boolean;\n onMoveDown?: (step: Pick<IWorkflowStep, \"id\">) => void;\n canMoveDown?: (step: Pick<IWorkflowStep, \"id\">) => boolean;\n open?: boolean;\n notifications: IWorkflowNotificationType[];\n}\n\nconst useEditing = (defaultValue = false) => {\n const [editing, setEditing] = useState(defaultValue);\n\n const startEditing = useCallback(() => {\n setEditing(true);\n }, []);\n const stopEditing = useCallback(() => {\n setEditing(false);\n }, []);\n return {\n editing,\n startEditing,\n stopEditing\n };\n};\n\nexport const Step = observer(\n ({\n step,\n title,\n onCancel: initialOnCancel,\n onSave: initialOnSave,\n onRemove: initialOnRemove,\n onMoveUp,\n canMoveUp,\n onMoveDown,\n canMoveDown,\n open,\n notifications\n }: IStepProps) => {\n const { editing, stopEditing, startEditing } = useEditing(open);\n\n const onCancel = useCallback(() => {\n stopEditing();\n if (!initialOnCancel) {\n return;\n }\n initialOnCancel();\n }, [initialOnCancel]);\n\n const onRemove = useCallback(() => {\n if (!initialOnRemove) {\n return;\n }\n initialOnRemove(step);\n }, [step]);\n\n const moveUp = useCallback(() => {\n if (!canMoveUp || !onMoveUp || !canMoveUp(step)) {\n return;\n }\n onMoveUp(step);\n }, [onMoveUp, step]);\n\n const moveDown = useCallback(() => {\n if (!canMoveDown || !onMoveDown || !canMoveDown(step)) {\n return;\n }\n onMoveDown(step);\n }, [onMoveDown, step]);\n\n const onOpenChange = useCallback(() => {\n if (editing) {\n stopEditing();\n return;\n }\n startEditing();\n }, [step, editing]);\n\n const onSubmit = useCallback(\n (input: IWorkflowStep) => {\n initialOnSave(input);\n stopEditing();\n },\n [initialOnSave, step]\n );\n\n return (\n <Form<IWorkflowStep> data={step} onSubmit={onSubmit}>\n {({ submit: onFormSubmit }) => {\n return (\n <div className={\"flex items-center justify-space-between gap-sm-plus\"}>\n {editing ? (\n <>\n <Card\n className={\"w-full\"}\n padding=\"md\"\n title={step.title || title}\n actionsPosition={\"header\"}\n variant=\"accent\"\n actions={\n <>\n <Card.CancelAction\n onClick={onCancel}\n text={\"Cancel\"}\n />\n <Card.ConfirmAction\n onClick={onFormSubmit}\n text={\"Save\"}\n />\n </>\n }\n >\n <Grid gap={\"comfortable\"}>\n <Grid.Column span={10}>\n <StepFormTitle />\n </Grid.Column>\n <Grid.Column span={2}>\n <StepFormColor />\n </Grid.Column>\n <Grid.Column span={12}>\n <StepFormDescription />\n </Grid.Column>\n <Grid.Column span={12}>\n <StepFormTeams />\n </Grid.Column>\n <Grid.Column span={12}>\n <StepFormNotifications items={notifications} />\n </Grid.Column>\n </Grid>\n </Card>\n </>\n ) : (\n <Accordion\n variant={\"container\"}\n background={\"base\"}\n border={\"accent\"}\n >\n <Accordion.Item\n key={`step-${step.id}`}\n title={step.title || title}\n description={step.description}\n colorMark={step.color}\n onOpenChange={onOpenChange}\n actions={\n <>\n {canMoveUp && (\n <Accordion.Item.Action\n onClick={moveUp}\n disabled={!canMoveUp(step)}\n icon={\n <Icon\n label={\"Move step up\"}\n size={\"md\"}\n icon={<ArrowUp />}\n />\n }\n />\n )}\n {canMoveDown && (\n <Accordion.Item.Action\n onClick={moveDown}\n disabled={!canMoveDown(step)}\n icon={\n <Icon\n label={\"Move step down\"}\n size={\"md\"}\n icon={<ArrowDown />}\n />\n }\n />\n )}\n <Accordion.Item.Action.Separator />\n <RemoveStep step={step} onRemove={onRemove} />\n </>\n }\n >\n {null}\n </Accordion.Item>\n </Accordion>\n )}\n </div>\n );\n }}\n </Form>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useState","Accordion","Card","Grid","Icon","ReactComponent","ArrowUp","ArrowDown","observer","Form","StepFormTitle","StepFormColor","StepFormDescription","StepFormTeams","RemoveStep","useEditing","defaultValue","editing","setEditing","startEditing","stopEditing","Step","step","title","onCancel","initialOnCancel","onSave","initialOnSave","onRemove","initialOnRemove","onMoveUp","canMoveUp","onMoveDown","canMoveDown","open","moveUp","moveDown","onOpenChange","onSubmit","input","createElement","data","submit","onFormSubmit","className","Fragment","padding","actionsPosition","variant","actions","CancelAction","onClick","text","ConfirmAction","gap","Column","span","background","border","Item","key","id","description","colorMark","color","Action","disabled","icon","label","size","Separator"],"sources":["Step.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Accordion, Card, Grid, Icon } from \"@webiny/admin-ui\";\nimport type { IWorkflowNotificationType, IWorkflowStep } from \"~/types.js\";\nimport { ReactComponent as ArrowUp } from \"@webiny/icons/arrow_upward.svg\";\nimport { ReactComponent as ArrowDown } from \"@webiny/icons/arrow_downward.svg\";\nimport { observer } from \"mobx-react-lite\";\nimport { Form } from \"@webiny/form\";\nimport { StepFormTitle } from \"./Form/StepFormTitle.js\";\nimport { StepFormColor } from \"./Form/StepFormColor.js\";\nimport { StepFormDescription } from \"./Form/StepFormDescription.js\";\nimport { StepFormTeams } from \"./Form/StepFormTeams.js\";\n// import { StepFormNotifications } from \"./Form/StepFormNotifications.js\";\nimport { RemoveStep } from \"./Step/RemoveStep.js\";\n\nexport interface IStepProps {\n step: IWorkflowStep;\n title?: string;\n onCancel?: () => void;\n onSave: (input: IWorkflowStep) => void;\n onRemove?: (step: Pick<IWorkflowStep, \"id\">) => void;\n onMoveUp?: (step: Pick<IWorkflowStep, \"id\">) => void;\n canMoveUp?: (step: Pick<IWorkflowStep, \"id\">) => boolean;\n onMoveDown?: (step: Pick<IWorkflowStep, \"id\">) => void;\n canMoveDown?: (step: Pick<IWorkflowStep, \"id\">) => boolean;\n open?: boolean;\n notifications: IWorkflowNotificationType[];\n}\n\nconst useEditing = (defaultValue = false) => {\n const [editing, setEditing] = useState(defaultValue);\n\n const startEditing = useCallback(() => {\n setEditing(true);\n }, []);\n const stopEditing = useCallback(() => {\n setEditing(false);\n }, []);\n return {\n editing,\n startEditing,\n stopEditing\n };\n};\n\nexport const Step = observer(\n ({\n step,\n title,\n onCancel: initialOnCancel,\n onSave: initialOnSave,\n onRemove: initialOnRemove,\n onMoveUp,\n canMoveUp,\n onMoveDown,\n canMoveDown,\n open\n // notifications\n }: IStepProps) => {\n const { editing, stopEditing, startEditing } = useEditing(open);\n\n const onCancel = useCallback(() => {\n stopEditing();\n if (!initialOnCancel) {\n return;\n }\n initialOnCancel();\n }, [initialOnCancel]);\n\n const onRemove = useCallback(() => {\n if (!initialOnRemove) {\n return;\n }\n initialOnRemove(step);\n }, [step]);\n\n const moveUp = useCallback(() => {\n if (!canMoveUp || !onMoveUp || !canMoveUp(step)) {\n return;\n }\n onMoveUp(step);\n }, [onMoveUp, step]);\n\n const moveDown = useCallback(() => {\n if (!canMoveDown || !onMoveDown || !canMoveDown(step)) {\n return;\n }\n onMoveDown(step);\n }, [onMoveDown, step]);\n\n const onOpenChange = useCallback(() => {\n if (editing) {\n stopEditing();\n return;\n }\n startEditing();\n }, [step, editing]);\n\n const onSubmit = useCallback(\n (input: IWorkflowStep) => {\n initialOnSave(input);\n stopEditing();\n },\n [initialOnSave, step]\n );\n\n return (\n <Form<IWorkflowStep> data={step} onSubmit={onSubmit}>\n {({ submit: onFormSubmit }) => {\n return (\n <div className={\"flex items-center justify-space-between gap-sm-plus\"}>\n {editing ? (\n <>\n <Card\n className={\"w-full\"}\n padding=\"md\"\n title={step.title || title}\n actionsPosition={\"header\"}\n variant=\"accent\"\n actions={\n <>\n <Card.CancelAction\n onClick={onCancel}\n text={\"Cancel\"}\n />\n <Card.ConfirmAction\n onClick={onFormSubmit}\n text={\"Save\"}\n />\n </>\n }\n >\n <Grid gap={\"comfortable\"}>\n <Grid.Column span={10}>\n <StepFormTitle />\n </Grid.Column>\n <Grid.Column span={2}>\n <StepFormColor />\n </Grid.Column>\n <Grid.Column span={12}>\n <StepFormDescription />\n </Grid.Column>\n <Grid.Column span={12}>\n <StepFormTeams />\n </Grid.Column>\n {/*<Grid.Column span={12}>*/}\n {/* <StepFormNotifications items={notifications} />*/}\n {/*</Grid.Column>*/}\n </Grid>\n </Card>\n </>\n ) : (\n <Accordion\n variant={\"container\"}\n background={\"base\"}\n border={\"accent\"}\n >\n <Accordion.Item\n key={`step-${step.id}`}\n title={step.title || title}\n description={step.description}\n colorMark={step.color}\n onOpenChange={onOpenChange}\n actions={\n <>\n {canMoveUp && (\n <Accordion.Item.Action\n onClick={moveUp}\n disabled={!canMoveUp(step)}\n icon={\n <Icon\n label={\"Move step up\"}\n size={\"md\"}\n icon={<ArrowUp />}\n />\n }\n />\n )}\n {canMoveDown && (\n <Accordion.Item.Action\n onClick={moveDown}\n disabled={!canMoveDown(step)}\n icon={\n <Icon\n label={\"Move step down\"}\n size={\"md\"}\n icon={<ArrowDown />}\n />\n }\n />\n )}\n <Accordion.Item.Action.Separator />\n <RemoveStep step={step} onRemove={onRemove} />\n </>\n }\n >\n {null}\n </Accordion.Item>\n </Accordion>\n )}\n </div>\n );\n }}\n </Form>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SecurityPermissions: () => React.JSX.Element;
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { AdminConfig } from "@webiny/app-admin";
3
+ import { ReactComponent as PermissionsIcon } from "@webiny/icons/flowchart.svg";
4
+ const {
5
+ Security
6
+ } = AdminConfig;
7
+ export const SecurityPermissions = () => {
8
+ return /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(Security.Permissions, {
9
+ name: "workflows",
10
+ title: "Workflows",
11
+ description: "Manage Workflows permissions.",
12
+ icon: /*#__PURE__*/React.createElement(PermissionsIcon, null),
13
+ schema: {
14
+ prefix: "workflows",
15
+ fullAccess: {
16
+ editor: true
17
+ }
18
+ }
19
+ }));
20
+ };
21
+
22
+ //# sourceMappingURL=SecurityPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","AdminConfig","ReactComponent","PermissionsIcon","Security","SecurityPermissions","createElement","Permissions","name","title","description","icon","schema","prefix","fullAccess","editor"],"sources":["SecurityPermissions.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/flowchart.svg\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermissions = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"workflows\"\n title=\"Workflows\"\n description=\"Manage Workflows permissions.\"\n icon={<PermissionsIcon />}\n schema={{\n prefix: \"workflows\",\n fullAccess: { editor: true }\n }}\n />\n </AdminConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,cAAc,IAAIC,eAAe,QAAQ,6BAA6B;AAE/E,MAAM;EAAEC;AAAS,CAAC,GAAGH,WAAW;AAEhC,OAAO,MAAMI,mBAAmB,GAAGA,CAAA,KAAM;EACrC,oBACIL,KAAA,CAAAM,aAAA,CAACL,WAAW,qBACRD,KAAA,CAAAM,aAAA,CAACF,QAAQ,CAACG,WAAW;IACjBC,IAAI,EAAC,WAAW;IAChBC,KAAK,EAAC,WAAW;IACjBC,WAAW,EAAC,+BAA+B;IAC3CC,IAAI,eAAEX,KAAA,CAAAM,aAAA,CAACH,eAAe,MAAE,CAAE;IAC1BS,MAAM,EAAE;MACJC,MAAM,EAAE,WAAW;MACnBC,UAAU,EAAE;QAAEC,MAAM,EAAE;MAAK;IAC/B;EAAE,CACL,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- export { workflowsPermissions } from "./permissionPlugin.js";
1
+ export { SecurityPermissions } from "./SecurityPermissions.js";
2
2
  export { useWorkflowsPermission } from "./useWorkflowsPermission.js";
3
3
  export type { IHasWorkflowsSecurityPermissionProps } from "./HasWorkflowsEditorPermission.js";
4
4
  export { HasWorkflowsEditorPermission } from "./HasWorkflowsEditorPermission.js";
@@ -1,4 +1,4 @@
1
- export { workflowsPermissions } from "./permissionPlugin.js";
1
+ export { SecurityPermissions } from "./SecurityPermissions.js";
2
2
  export { useWorkflowsPermission } from "./useWorkflowsPermission.js";
3
3
  export { HasWorkflowsEditorPermission } from "./HasWorkflowsEditorPermission.js";
4
4
 
@@ -1 +1 @@
1
- {"version":3,"names":["workflowsPermissions","useWorkflowsPermission","HasWorkflowsEditorPermission"],"sources":["index.tsx"],"sourcesContent":["export { workflowsPermissions } from \"./permissionPlugin.js\";\nexport { useWorkflowsPermission } from \"./useWorkflowsPermission.js\";\nexport type { IHasWorkflowsSecurityPermissionProps } from \"./HasWorkflowsEditorPermission.js\";\nexport { HasWorkflowsEditorPermission } from \"./HasWorkflowsEditorPermission.js\";\n"],"mappings":"AAAA,SAASA,oBAAoB;AAC7B,SAASC,sBAAsB;AAE/B,SAASC,4BAA4B","ignoreList":[]}
1
+ {"version":3,"names":["SecurityPermissions","useWorkflowsPermission","HasWorkflowsEditorPermission"],"sources":["index.tsx"],"sourcesContent":["export { SecurityPermissions } from \"./SecurityPermissions.js\";\nexport { useWorkflowsPermission } from \"./useWorkflowsPermission.js\";\nexport type { IHasWorkflowsSecurityPermissionProps } from \"./HasWorkflowsEditorPermission.js\";\nexport { HasWorkflowsEditorPermission } from \"./HasWorkflowsEditorPermission.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SAASC,sBAAsB;AAE/B,SAASC,4BAA4B","ignoreList":[]}
@@ -19,7 +19,7 @@ export declare class WorkflowsPresenter implements IWorkflowsPresenter {
19
19
  constructor(params: IWorkflowsPresenterParams);
20
20
  private init;
21
21
  updateWorkflow: (workflow: IWorkflow) => void;
22
- deleteWorkflow(workflow: IWorkflow): void;
22
+ deleteWorkflow(workflow: Pick<IWorkflow, "id">): void;
23
23
  getWorkflow: () => IWorkflowModel;
24
24
  addStep: (step: IWorkflowStep) => void;
25
25
  updateStep: (step: IWorkflowStep) => void;
@@ -60,6 +60,10 @@ export class WorkflowsPresenter {
60
60
  id
61
61
  }) => {
62
62
  const workflow = this.getWorkflow();
63
+ if (workflow.steps.length === 1) {
64
+ workflow.removeStep(id);
65
+ return this.deleteWorkflow(workflow);
66
+ }
63
67
  workflow.removeStep(id);
64
68
  this.updateWorkflow(workflow.toJS());
65
69
  };
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","observable","runInAction","toJS","WorkflowModel","WorkflowsPresenter","vm","workflow","workflows","map","w","dirty","notifications","loading","workflowsRepository","notificationTypesRepository","error","app","constructor","params","defaultWorkflow","array","init","Promise","all","list","listWorkflows","where","id","length","push","replace","updateWorkflow","save","deleteWorkflow","remove","getWorkflow","addStep","step","updateStep","removeStep","canMoveStepUp","stepIndex","steps","findIndex","s","moveStepUp","temp","canMoveStepDown","moveStepDown"],"sources":["WorkflowsPresenter.ts"],"sourcesContent":["import type {\n IWorkflowsPresenter,\n IWorkflowsViewModel\n} from \"./abstractions/WorkflowsPresenter.js\";\nimport type {\n IWorkflowNotificationTypesRepository,\n IWorkflowsRepository\n} from \"../Repositories/index.js\";\nimport { makeAutoObservable, observable, runInAction, toJS } from \"mobx\";\nimport type {\n IWorkflow,\n IWorkflowApplication,\n IWorkflowNotificationType,\n IWorkflowStep\n} from \"~/types.js\";\nimport { type IWorkflowModel, WorkflowModel } from \"~/Models/index.js\";\n\nexport interface IWorkflowsPresenterParams {\n app: IWorkflowApplication;\n workflowsRepository: IWorkflowsRepository;\n notificationTypesRepository: IWorkflowNotificationTypesRepository;\n defaultWorkflow: IWorkflow;\n}\n\nexport class WorkflowsPresenter implements IWorkflowsPresenter {\n private readonly app;\n private readonly workflowsRepository;\n private readonly notificationTypesRepository;\n private readonly workflows;\n private readonly notifications;\n private readonly defaultWorkflow;\n\n get vm(): IWorkflowsViewModel {\n const workflow = this.workflows[0] || null;\n return {\n workflows: this.workflows.map(w => w.toJS()),\n dirty: workflow ? workflow.dirty : false,\n workflow: workflow ? workflow.toJS() : null,\n notifications: this.notifications,\n loading: this.workflowsRepository.loading || this.notificationTypesRepository.loading,\n error: toJS(this.workflowsRepository.error || this.notificationTypesRepository.error),\n app: this.app\n };\n }\n\n public constructor(params: IWorkflowsPresenterParams) {\n this.app = params.app;\n this.workflowsRepository = params.workflowsRepository;\n this.notificationTypesRepository = params.notificationTypesRepository;\n this.defaultWorkflow = params.defaultWorkflow;\n\n this.workflows = observable.array<IWorkflowModel>([]);\n this.notifications = observable.array<IWorkflowNotificationType>([]);\n\n makeAutoObservable(this);\n\n this.init();\n }\n\n private async init(): Promise<void> {\n const [notifications, workflows] = await Promise.all([\n this.notificationTypesRepository.list(),\n this.workflowsRepository.listWorkflows({\n where: {\n app: this.app.id\n }\n })\n ]);\n\n if (workflows.length === 0) {\n workflows.push(this.defaultWorkflow);\n }\n\n runInAction(() => {\n this.workflows.replace(workflows.map(w => new WorkflowModel(w)));\n this.notifications.replace(notifications);\n });\n }\n\n updateWorkflow = (workflow: IWorkflow): void => {\n this.workflowsRepository.save(workflow);\n };\n\n deleteWorkflow(workflow: IWorkflow) {\n this.workflowsRepository.remove(workflow.id);\n }\n\n getWorkflow = () => {\n return this.workflows[0];\n };\n\n addStep = (step: IWorkflowStep): void => {\n const workflow = this.getWorkflow();\n workflow.addStep(step);\n this.updateWorkflow(workflow.toJS());\n };\n\n updateStep = (step: IWorkflowStep): void => {\n const workflow = this.getWorkflow();\n workflow.updateStep(step);\n this.updateWorkflow(workflow.toJS());\n };\n\n removeStep = ({ id }: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n workflow.removeStep(id);\n this.updateWorkflow(workflow.toJS());\n };\n\n canMoveStepUp = (step: Pick<IWorkflowStep, \"id\">): boolean => {\n const workflow = this.getWorkflow();\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n return stepIndex > 0;\n };\n\n moveStepUp = (step: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (this.canMoveStepUp(step) === false) {\n return;\n }\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n const steps = [...workflow.steps];\n const temp = steps[stepIndex - 1];\n steps[stepIndex - 1] = steps[stepIndex];\n steps[stepIndex] = temp;\n runInAction(() => {\n workflow.steps.replace(steps);\n });\n this.updateWorkflow(workflow.toJS());\n };\n\n canMoveStepDown = (step: Pick<IWorkflowStep, \"id\">): boolean => {\n const workflow = this.getWorkflow();\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n return stepIndex < workflow.steps.length - 1;\n };\n\n moveStepDown = (step: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (this.canMoveStepDown(step) === false) {\n return;\n }\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n const steps = [...workflow.steps];\n const temp = steps[stepIndex + 1];\n steps[stepIndex + 1] = steps[stepIndex];\n steps[stepIndex] = temp;\n runInAction(() => {\n workflow.steps.replace(steps);\n });\n this.updateWorkflow(workflow.toJS());\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","observable","runInAction","toJS","WorkflowModel","WorkflowsPresenter","vm","workflow","workflows","map","w","dirty","notifications","loading","workflowsRepository","notificationTypesRepository","error","app","constructor","params","defaultWorkflow","array","init","Promise","all","list","listWorkflows","where","id","length","push","replace","updateWorkflow","save","deleteWorkflow","remove","getWorkflow","addStep","step","updateStep","removeStep","steps","canMoveStepUp","stepIndex","findIndex","s","moveStepUp","temp","canMoveStepDown","moveStepDown"],"sources":["WorkflowsPresenter.ts"],"sourcesContent":["import type {\n IWorkflowsPresenter,\n IWorkflowsViewModel\n} from \"./abstractions/WorkflowsPresenter.js\";\nimport type {\n IWorkflowNotificationTypesRepository,\n IWorkflowsRepository\n} from \"../Repositories/index.js\";\nimport { makeAutoObservable, observable, runInAction, toJS } from \"mobx\";\nimport type {\n IWorkflow,\n IWorkflowApplication,\n IWorkflowNotificationType,\n IWorkflowStep\n} from \"~/types.js\";\nimport { type IWorkflowModel, WorkflowModel } from \"~/Models/index.js\";\n\nexport interface IWorkflowsPresenterParams {\n app: IWorkflowApplication;\n workflowsRepository: IWorkflowsRepository;\n notificationTypesRepository: IWorkflowNotificationTypesRepository;\n defaultWorkflow: IWorkflow;\n}\n\nexport class WorkflowsPresenter implements IWorkflowsPresenter {\n private readonly app;\n private readonly workflowsRepository;\n private readonly notificationTypesRepository;\n private readonly workflows;\n private readonly notifications;\n private readonly defaultWorkflow;\n\n get vm(): IWorkflowsViewModel {\n const workflow = this.workflows[0] || null;\n return {\n workflows: this.workflows.map(w => w.toJS()),\n dirty: workflow ? workflow.dirty : false,\n workflow: workflow ? workflow.toJS() : null,\n notifications: this.notifications,\n loading: this.workflowsRepository.loading || this.notificationTypesRepository.loading,\n error: toJS(this.workflowsRepository.error || this.notificationTypesRepository.error),\n app: this.app\n };\n }\n\n public constructor(params: IWorkflowsPresenterParams) {\n this.app = params.app;\n this.workflowsRepository = params.workflowsRepository;\n this.notificationTypesRepository = params.notificationTypesRepository;\n this.defaultWorkflow = params.defaultWorkflow;\n\n this.workflows = observable.array<IWorkflowModel>([]);\n this.notifications = observable.array<IWorkflowNotificationType>([]);\n\n makeAutoObservable(this);\n\n this.init();\n }\n\n private async init(): Promise<void> {\n const [notifications, workflows] = await Promise.all([\n this.notificationTypesRepository.list(),\n this.workflowsRepository.listWorkflows({\n where: {\n app: this.app.id\n }\n })\n ]);\n\n if (workflows.length === 0) {\n workflows.push(this.defaultWorkflow);\n }\n\n runInAction(() => {\n this.workflows.replace(workflows.map(w => new WorkflowModel(w)));\n this.notifications.replace(notifications);\n });\n }\n\n updateWorkflow = (workflow: IWorkflow): void => {\n this.workflowsRepository.save(workflow);\n };\n\n deleteWorkflow(workflow: Pick<IWorkflow, \"id\">) {\n this.workflowsRepository.remove(workflow.id);\n }\n\n getWorkflow = () => {\n return this.workflows[0];\n };\n\n addStep = (step: IWorkflowStep): void => {\n const workflow = this.getWorkflow();\n workflow.addStep(step);\n this.updateWorkflow(workflow.toJS());\n };\n\n updateStep = (step: IWorkflowStep): void => {\n const workflow = this.getWorkflow();\n workflow.updateStep(step);\n this.updateWorkflow(workflow.toJS());\n };\n\n removeStep = ({ id }: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (workflow.steps.length === 1) {\n workflow.removeStep(id);\n return this.deleteWorkflow(workflow);\n }\n workflow.removeStep(id);\n this.updateWorkflow(workflow.toJS());\n };\n\n canMoveStepUp = (step: Pick<IWorkflowStep, \"id\">): boolean => {\n const workflow = this.getWorkflow();\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n return stepIndex > 0;\n };\n\n moveStepUp = (step: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (this.canMoveStepUp(step) === false) {\n return;\n }\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n const steps = [...workflow.steps];\n const temp = steps[stepIndex - 1];\n steps[stepIndex - 1] = steps[stepIndex];\n steps[stepIndex] = temp;\n runInAction(() => {\n workflow.steps.replace(steps);\n });\n this.updateWorkflow(workflow.toJS());\n };\n\n canMoveStepDown = (step: Pick<IWorkflowStep, \"id\">): boolean => {\n const workflow = this.getWorkflow();\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n return stepIndex < workflow.steps.length - 1;\n };\n\n moveStepDown = (step: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (this.canMoveStepDown(step) === false) {\n return;\n }\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n const steps = [...workflow.steps];\n const temp = steps[stepIndex + 1];\n steps[stepIndex + 1] = steps[stepIndex];\n steps[stepIndex] = temp;\n runInAction(() => {\n workflow.steps.replace(steps);\n });\n this.updateWorkflow(workflow.toJS());\n };\n}\n"],"mappings":"AAQA,SAASA,kBAAkB,EAAEC,UAAU,EAAEC,WAAW,EAAEC,IAAI,QAAQ,MAAM;AAOxE,SAA8BC,aAAa;AAS3C,OAAO,MAAMC,kBAAkB,CAAgC;EAQ3D,IAAIC,EAAEA,CAAA,EAAwB;IAC1B,MAAMC,QAAQ,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI;IAC1C,OAAO;MACHA,SAAS,EAAE,IAAI,CAACA,SAAS,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACP,IAAI,CAAC,CAAC,CAAC;MAC5CQ,KAAK,EAAEJ,QAAQ,GAAGA,QAAQ,CAACI,KAAK,GAAG,KAAK;MACxCJ,QAAQ,EAAEA,QAAQ,GAAGA,QAAQ,CAACJ,IAAI,CAAC,CAAC,GAAG,IAAI;MAC3CS,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCC,OAAO,EAAE,IAAI,CAACC,mBAAmB,CAACD,OAAO,IAAI,IAAI,CAACE,2BAA2B,CAACF,OAAO;MACrFG,KAAK,EAAEb,IAAI,CAAC,IAAI,CAACW,mBAAmB,CAACE,KAAK,IAAI,IAAI,CAACD,2BAA2B,CAACC,KAAK,CAAC;MACrFC,GAAG,EAAE,IAAI,CAACA;IACd,CAAC;EACL;EAEOC,WAAWA,CAACC,MAAiC,EAAE;IAClD,IAAI,CAACF,GAAG,GAAGE,MAAM,CAACF,GAAG;IACrB,IAAI,CAACH,mBAAmB,GAAGK,MAAM,CAACL,mBAAmB;IACrD,IAAI,CAACC,2BAA2B,GAAGI,MAAM,CAACJ,2BAA2B;IACrE,IAAI,CAACK,eAAe,GAAGD,MAAM,CAACC,eAAe;IAE7C,IAAI,CAACZ,SAAS,GAAGP,UAAU,CAACoB,KAAK,CAAiB,EAAE,CAAC;IACrD,IAAI,CAACT,aAAa,GAAGX,UAAU,CAACoB,KAAK,CAA4B,EAAE,CAAC;IAEpErB,kBAAkB,CAAC,IAAI,CAAC;IAExB,IAAI,CAACsB,IAAI,CAAC,CAAC;EACf;EAEA,MAAcA,IAAIA,CAAA,EAAkB;IAChC,MAAM,CAACV,aAAa,EAAEJ,SAAS,CAAC,GAAG,MAAMe,OAAO,CAACC,GAAG,CAAC,CACjD,IAAI,CAACT,2BAA2B,CAACU,IAAI,CAAC,CAAC,EACvC,IAAI,CAACX,mBAAmB,CAACY,aAAa,CAAC;MACnCC,KAAK,EAAE;QACHV,GAAG,EAAE,IAAI,CAACA,GAAG,CAACW;MAClB;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,IAAIpB,SAAS,CAACqB,MAAM,KAAK,CAAC,EAAE;MACxBrB,SAAS,CAACsB,IAAI,CAAC,IAAI,CAACV,eAAe,CAAC;IACxC;IAEAlB,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,SAAS,CAACuB,OAAO,CAACvB,SAAS,CAACC,GAAG,CAACC,CAAC,IAAI,IAAIN,aAAa,CAACM,CAAC,CAAC,CAAC,CAAC;MAChE,IAAI,CAACE,aAAa,CAACmB,OAAO,CAACnB,aAAa,CAAC;IAC7C,CAAC,CAAC;EACN;EAEAoB,cAAc,GAAIzB,QAAmB,IAAW;IAC5C,IAAI,CAACO,mBAAmB,CAACmB,IAAI,CAAC1B,QAAQ,CAAC;EAC3C,CAAC;EAED2B,cAAcA,CAAC3B,QAA+B,EAAE;IAC5C,IAAI,CAACO,mBAAmB,CAACqB,MAAM,CAAC5B,QAAQ,CAACqB,EAAE,CAAC;EAChD;EAEAQ,WAAW,GAAGA,CAAA,KAAM;IAChB,OAAO,IAAI,CAAC5B,SAAS,CAAC,CAAC,CAAC;EAC5B,CAAC;EAED6B,OAAO,GAAIC,IAAmB,IAAW;IACrC,MAAM/B,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC7B,QAAQ,CAAC8B,OAAO,CAACC,IAAI,CAAC;IACtB,IAAI,CAACN,cAAc,CAACzB,QAAQ,CAACJ,IAAI,CAAC,CAAC,CAAC;EACxC,CAAC;EAEDoC,UAAU,GAAID,IAAmB,IAAW;IACxC,MAAM/B,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC7B,QAAQ,CAACgC,UAAU,CAACD,IAAI,CAAC;IACzB,IAAI,CAACN,cAAc,CAACzB,QAAQ,CAACJ,IAAI,CAAC,CAAC,CAAC;EACxC,CAAC;EAEDqC,UAAU,GAAGA,CAAC;IAAEZ;EAA8B,CAAC,KAAW;IACtD,MAAMrB,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC,IAAI7B,QAAQ,CAACkC,KAAK,CAACZ,MAAM,KAAK,CAAC,EAAE;MAC7BtB,QAAQ,CAACiC,UAAU,CAACZ,EAAE,CAAC;MACvB,OAAO,IAAI,CAACM,cAAc,CAAC3B,QAAQ,CAAC;IACxC;IACAA,QAAQ,CAACiC,UAAU,CAACZ,EAAE,CAAC;IACvB,IAAI,CAACI,cAAc,CAACzB,QAAQ,CAACJ,IAAI,CAAC,CAAC,CAAC;EACxC,CAAC;EAEDuC,aAAa,GAAIJ,IAA+B,IAAc;IAC1D,MAAM/B,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC,MAAMO,SAAS,GAAGpC,QAAQ,CAACkC,KAAK,CAACG,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKU,IAAI,CAACV,EAAE,CAAC;IACjE,OAAOe,SAAS,GAAG,CAAC;EACxB,CAAC;EAEDG,UAAU,GAAIR,IAA+B,IAAW;IACpD,MAAM/B,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC,IAAI,IAAI,CAACM,aAAa,CAACJ,IAAI,CAAC,KAAK,KAAK,EAAE;MACpC;IACJ;IACA,MAAMK,SAAS,GAAGpC,QAAQ,CAACkC,KAAK,CAACG,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKU,IAAI,CAACV,EAAE,CAAC;IACjE,MAAMa,KAAK,GAAG,CAAC,GAAGlC,QAAQ,CAACkC,KAAK,CAAC;IACjC,MAAMM,IAAI,GAAGN,KAAK,CAACE,SAAS,GAAG,CAAC,CAAC;IACjCF,KAAK,CAACE,SAAS,GAAG,CAAC,CAAC,GAAGF,KAAK,CAACE,SAAS,CAAC;IACvCF,KAAK,CAACE,SAAS,CAAC,GAAGI,IAAI;IACvB7C,WAAW,CAAC,MAAM;MACdK,QAAQ,CAACkC,KAAK,CAACV,OAAO,CAACU,KAAK,CAAC;IACjC,CAAC,CAAC;IACF,IAAI,CAACT,cAAc,CAACzB,QAAQ,CAACJ,IAAI,CAAC,CAAC,CAAC;EACxC,CAAC;EAED6C,eAAe,GAAIV,IAA+B,IAAc;IAC5D,MAAM/B,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC,MAAMO,SAAS,GAAGpC,QAAQ,CAACkC,KAAK,CAACG,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKU,IAAI,CAACV,EAAE,CAAC;IACjE,OAAOe,SAAS,GAAGpC,QAAQ,CAACkC,KAAK,CAACZ,MAAM,GAAG,CAAC;EAChD,CAAC;EAEDoB,YAAY,GAAIX,IAA+B,IAAW;IACtD,MAAM/B,QAAQ,GAAG,IAAI,CAAC6B,WAAW,CAAC,CAAC;IACnC,IAAI,IAAI,CAACY,eAAe,CAACV,IAAI,CAAC,KAAK,KAAK,EAAE;MACtC;IACJ;IACA,MAAMK,SAAS,GAAGpC,QAAQ,CAACkC,KAAK,CAACG,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKU,IAAI,CAACV,EAAE,CAAC;IACjE,MAAMa,KAAK,GAAG,CAAC,GAAGlC,QAAQ,CAACkC,KAAK,CAAC;IACjC,MAAMM,IAAI,GAAGN,KAAK,CAACE,SAAS,GAAG,CAAC,CAAC;IACjCF,KAAK,CAACE,SAAS,GAAG,CAAC,CAAC,GAAGF,KAAK,CAACE,SAAS,CAAC;IACvCF,KAAK,CAACE,SAAS,CAAC,GAAGI,IAAI;IACvB7C,WAAW,CAAC,MAAM;MACdK,QAAQ,CAACkC,KAAK,CAACV,OAAO,CAACU,KAAK,CAAC;IACjC,CAAC,CAAC;IACF,IAAI,CAACT,cAAc,CAACzB,QAAQ,CAACJ,IAAI,CAAC,CAAC,CAAC;EACxC,CAAC;AACL","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-workflows",
3
- "version": "0.0.0-unstable.ac6ebf63c6",
3
+ "version": "0.0.0-unstable.c27f4d8a31",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -11,29 +11,28 @@
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
13
  "@apollo/react-hooks": "3.1.5",
14
- "@webiny/admin-ui": "0.0.0-unstable.ac6ebf63c6",
15
- "@webiny/app": "0.0.0-unstable.ac6ebf63c6",
16
- "@webiny/app-admin": "0.0.0-unstable.ac6ebf63c6",
17
- "@webiny/error": "0.0.0-unstable.ac6ebf63c6",
18
- "@webiny/form": "0.0.0-unstable.ac6ebf63c6",
19
- "@webiny/icons": "0.0.0-unstable.ac6ebf63c6",
20
- "@webiny/plugins": "0.0.0-unstable.ac6ebf63c6",
21
- "@webiny/ui": "0.0.0-unstable.ac6ebf63c6",
22
- "@webiny/utils": "0.0.0-unstable.ac6ebf63c6",
23
- "@webiny/validation": "0.0.0-unstable.ac6ebf63c6",
14
+ "@webiny/admin-ui": "0.0.0-unstable.c27f4d8a31",
15
+ "@webiny/app": "0.0.0-unstable.c27f4d8a31",
16
+ "@webiny/app-admin": "0.0.0-unstable.c27f4d8a31",
17
+ "@webiny/error": "0.0.0-unstable.c27f4d8a31",
18
+ "@webiny/form": "0.0.0-unstable.c27f4d8a31",
19
+ "@webiny/icons": "0.0.0-unstable.c27f4d8a31",
20
+ "@webiny/ui": "0.0.0-unstable.c27f4d8a31",
21
+ "@webiny/utils": "0.0.0-unstable.c27f4d8a31",
22
+ "@webiny/validation": "0.0.0-unstable.c27f4d8a31",
24
23
  "apollo-client": "2.6.10",
25
24
  "graphql-tag": "2.12.6",
26
25
  "lodash": "4.17.23",
27
26
  "mobx": "6.15.0",
28
27
  "mobx-react-lite": "3.4.3",
29
28
  "prop-types": "15.8.1",
30
- "react": "18.2.0",
31
- "react-dom": "18.2.0",
29
+ "react": "18.3.1",
30
+ "react-dom": "18.3.1",
32
31
  "react-helmet": "6.1.0"
33
32
  },
34
33
  "devDependencies": {
35
- "@types/react": "18.2.79",
36
- "@webiny/build-tools": "0.0.0-unstable.ac6ebf63c6",
34
+ "@types/react": "18.3.28",
35
+ "@webiny/build-tools": "0.0.0-unstable.c27f4d8a31",
37
36
  "rimraf": "6.1.3",
38
37
  "typescript": "5.9.3"
39
38
  },
@@ -46,5 +45,5 @@
46
45
  "removeViewBox": false
47
46
  }
48
47
  },
49
- "gitHead": "ac6ebf63c6de308703d41f2c1b375e03cd96b813"
48
+ "gitHead": "c27f4d8a31c3af1570817797441855292b6c1f20"
50
49
  }
package/routes.d.ts CHANGED
@@ -3,8 +3,11 @@ import { WorkflowStateValue } from "./types.js";
3
3
  export declare const Routes: {
4
4
  Workflows: {
5
5
  ContentReviews: Route<{
6
- type: import("zod").ZodOptional<import("zod").ZodEnum<["own", "requested"]>>;
7
- state: import("zod").ZodOptional<import("zod").ZodNativeEnum<typeof WorkflowStateValue>>;
6
+ type: import("zod").ZodOptional<import("zod").ZodEnum<{
7
+ own: "own";
8
+ requested: "requested";
9
+ }>>;
10
+ state: import("zod").ZodOptional<import("zod").ZodEnum<typeof WorkflowStateValue>>;
8
11
  }>;
9
12
  };
10
13
  };
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import type { IWorkflowsSecurityPermission } from "../../types.js";
3
- interface IWorkflowsPermissionsProps {
4
- value: IWorkflowsSecurityPermission[];
5
- onChange: (value: IWorkflowsSecurityPermission[]) => void;
6
- }
7
- export declare const WorkflowsPermissions: (props: IWorkflowsPermissionsProps) => React.JSX.Element | null;
8
- export {};
@@ -1,22 +0,0 @@
1
- import React from "react";
2
- import { Accordion } from "@webiny/admin-ui";
3
- import { ReactComponent as PermissionsIcon } from "@webiny/icons/flowchart.svg";
4
- import { WorkflowsPermissionsForm } from "./WorkflowsPermissionsForm.js";
5
- import { useCanUseWorkflows } from "../../hooks/canUseWorkflows.js";
6
- export const WorkflowsPermissions = props => {
7
- const canUseWorkflows = useCanUseWorkflows();
8
- if (!canUseWorkflows) {
9
- return null;
10
- }
11
- return /*#__PURE__*/React.createElement(Accordion.Item, {
12
- icon: /*#__PURE__*/React.createElement(Accordion.Item.Icon, {
13
- icon: /*#__PURE__*/React.createElement(PermissionsIcon, null),
14
- label: "Workflows Permissions"
15
- }),
16
- title: "Workflows",
17
- description: "Manage Workflows app access permissions.",
18
- "data-testid": "permission.workflows"
19
- }, /*#__PURE__*/React.createElement(WorkflowsPermissionsForm, props));
20
- };
21
-
22
- //# sourceMappingURL=WorkflowsPermissions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Accordion","ReactComponent","PermissionsIcon","WorkflowsPermissionsForm","useCanUseWorkflows","WorkflowsPermissions","props","canUseWorkflows","createElement","Item","icon","Icon","label","title","description"],"sources":["WorkflowsPermissions.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion } from \"@webiny/admin-ui\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/flowchart.svg\";\nimport { WorkflowsPermissionsForm } from \"~/Components/WorkflowsPermissions/WorkflowsPermissionsForm.js\";\nimport { useCanUseWorkflows } from \"~/hooks/canUseWorkflows.js\";\n\ninterface IWorkflowsPermissionsProps {\n value: IWorkflowsSecurityPermission[];\n onChange: (value: IWorkflowsSecurityPermission[]) => void;\n}\n\nexport const WorkflowsPermissions = (props: IWorkflowsPermissionsProps) => {\n const canUseWorkflows = useCanUseWorkflows();\n\n if (!canUseWorkflows) {\n return null;\n }\n return (\n <Accordion.Item\n icon={\n <Accordion.Item.Icon icon={<PermissionsIcon />} label={\"Workflows Permissions\"} />\n }\n title={\"Workflows\"}\n description={\"Manage Workflows app access permissions.\"}\n data-testid={\"permission.workflows\"}\n >\n <WorkflowsPermissionsForm {...props} />\n </Accordion.Item>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,cAAc,IAAIC,eAAe,QAAQ,6BAA6B;AAC/E,SAASC,wBAAwB;AACjC,SAASC,kBAAkB;AAO3B,OAAO,MAAMC,oBAAoB,GAAIC,KAAiC,IAAK;EACvE,MAAMC,eAAe,GAAGH,kBAAkB,CAAC,CAAC;EAE5C,IAAI,CAACG,eAAe,EAAE;IAClB,OAAO,IAAI;EACf;EACA,oBACIR,KAAA,CAAAS,aAAA,CAACR,SAAS,CAACS,IAAI;IACXC,IAAI,eACAX,KAAA,CAAAS,aAAA,CAACR,SAAS,CAACS,IAAI,CAACE,IAAI;MAACD,IAAI,eAAEX,KAAA,CAAAS,aAAA,CAACN,eAAe,MAAE,CAAE;MAACU,KAAK,EAAE;IAAwB,CAAE,CACpF;IACDC,KAAK,EAAE,WAAY;IACnBC,WAAW,EAAE,0CAA2C;IACxD,eAAa;EAAuB,gBAEpCf,KAAA,CAAAS,aAAA,CAACL,wBAAwB,EAAKG,KAAQ,CAC1B,CAAC;AAEzB,CAAC","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { type IWorkflowsSecurityPermission } from "../../types.js";
3
- interface IWorkflowsPermissionsFormProps {
4
- value: IWorkflowsSecurityPermission[];
5
- onChange: (value: IWorkflowsSecurityPermission[]) => void;
6
- }
7
- export declare const WorkflowsPermissionsForm: ({ value: inputValue, onChange }: IWorkflowsPermissionsFormProps) => React.JSX.Element;
8
- export {};
@@ -1,61 +0,0 @@
1
- import React, { useCallback, useMemo } from "react";
2
- import { i18n } from "@webiny/app/i18n/index.js";
3
- import { gridWithPaddingClass, PermissionInfo } from "@webiny/app-admin";
4
- import { Form } from "@webiny/form";
5
- import { WorkflowsSecurityPermissionAccessLevel } from "../../types.js";
6
- import { Grid, Select } from "@webiny/admin-ui";
7
- import { WORKFLOWS_PERMISSION } from "./constants.js";
8
- const t = i18n.ns("app-workflows/Components/WorkflowsPermissionsForm");
9
- export const WorkflowsPermissionsForm = ({
10
- value: inputValue,
11
- onChange
12
- }) => {
13
- const onFormChange = useCallback(data => {
14
- const newValue = (Array.isArray(inputValue) ? inputValue : []).filter(item => !item.name.startsWith(WORKFLOWS_PERMISSION));
15
- newValue.push({
16
- name: WORKFLOWS_PERMISSION,
17
- editor: data.editor || WorkflowsSecurityPermissionAccessLevel.NO
18
- });
19
- onChange(newValue);
20
- }, [inputValue]);
21
- const initialFormData = useMemo(() => {
22
- const target = Array.isArray(inputValue) ? inputValue : inputValue ? [inputValue] : [];
23
- const hasFullAccess = target.some(item => item.name === WORKFLOWS_PERMISSION || item.name === "*");
24
- if (hasFullAccess) {
25
- return {
26
- name: WORKFLOWS_PERMISSION,
27
- editor: WorkflowsSecurityPermissionAccessLevel.YES
28
- };
29
- }
30
- return {
31
- name: WORKFLOWS_PERMISSION,
32
- editor: WorkflowsSecurityPermissionAccessLevel.NO
33
- };
34
- }, [inputValue]);
35
- return /*#__PURE__*/React.createElement(Form, {
36
- data: initialFormData,
37
- onChange: onFormChange
38
- }, ({
39
- Bind
40
- }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Grid, {
41
- className: gridWithPaddingClass
42
- }, /*#__PURE__*/React.createElement(Grid.Column, {
43
- span: 6
44
- }, /*#__PURE__*/React.createElement(PermissionInfo, {
45
- title: t`Workflows Editor`
46
- })), /*#__PURE__*/React.createElement(Grid.Column, {
47
- span: 6
48
- }, /*#__PURE__*/React.createElement(Bind, {
49
- name: "editor"
50
- }, /*#__PURE__*/React.createElement(Select, {
51
- options: [{
52
- value: WorkflowsSecurityPermissionAccessLevel.NO,
53
- label: t`No access`
54
- }, {
55
- value: WorkflowsSecurityPermissionAccessLevel.YES,
56
- label: t`Has access`
57
- }]
58
- }))))));
59
- };
60
-
61
- //# sourceMappingURL=WorkflowsPermissionsForm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useCallback","useMemo","i18n","gridWithPaddingClass","PermissionInfo","Form","WorkflowsSecurityPermissionAccessLevel","Grid","Select","WORKFLOWS_PERMISSION","t","ns","WorkflowsPermissionsForm","value","inputValue","onChange","onFormChange","data","newValue","Array","isArray","filter","item","name","startsWith","push","editor","NO","initialFormData","target","hasFullAccess","some","YES","createElement","Bind","Fragment","className","Column","span","title","options","label"],"sources":["WorkflowsPermissionsForm.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { gridWithPaddingClass, PermissionInfo } from \"@webiny/app-admin\";\nimport { Form } from \"@webiny/form\";\nimport {\n type IWorkflowsSecurityPermission,\n WorkflowsSecurityPermissionAccessLevel\n} from \"~/types.js\";\nimport { Grid, Select } from \"@webiny/admin-ui\";\nimport { WORKFLOWS_PERMISSION } from \"./constants.js\";\n\nconst t = i18n.ns(\"app-workflows/Components/WorkflowsPermissionsForm\");\n\ninterface IWorkflowsPermissionsFormProps {\n value: IWorkflowsSecurityPermission[];\n onChange: (value: IWorkflowsSecurityPermission[]) => void;\n}\n\nexport const WorkflowsPermissionsForm = ({\n value: inputValue,\n onChange\n}: IWorkflowsPermissionsFormProps) => {\n const onFormChange = useCallback(\n (data: IWorkflowsSecurityPermission) => {\n const newValue: IWorkflowsSecurityPermission[] = (\n Array.isArray(inputValue) ? inputValue : []\n ).filter(item => !item.name.startsWith(WORKFLOWS_PERMISSION));\n\n newValue.push({\n name: WORKFLOWS_PERMISSION,\n editor: data.editor || WorkflowsSecurityPermissionAccessLevel.NO\n });\n\n onChange(newValue);\n },\n [inputValue]\n );\n\n const initialFormData = useMemo<IWorkflowsSecurityPermission>(() => {\n const target = Array.isArray(inputValue) ? inputValue : inputValue ? [inputValue] : [];\n\n const hasFullAccess = target.some(\n item => item.name === WORKFLOWS_PERMISSION || item.name === \"*\"\n );\n\n if (hasFullAccess) {\n return {\n name: WORKFLOWS_PERMISSION,\n editor: WorkflowsSecurityPermissionAccessLevel.YES\n };\n }\n\n return {\n name: WORKFLOWS_PERMISSION,\n editor: WorkflowsSecurityPermissionAccessLevel.NO\n };\n }, [inputValue]);\n\n return (\n <Form<IWorkflowsSecurityPermission> data={initialFormData} onChange={onFormChange}>\n {({ Bind }) => (\n <>\n <Grid className={gridWithPaddingClass}>\n <Grid.Column span={6}>\n <PermissionInfo title={t`Workflows Editor`} />\n </Grid.Column>\n <Grid.Column span={6}>\n <Bind name={\"editor\"}>\n <Select\n options={[\n {\n value: WorkflowsSecurityPermissionAccessLevel.NO,\n label: t`No access`\n },\n {\n value: WorkflowsSecurityPermissionAccessLevel.YES,\n label: t`Has access`\n }\n ]}\n />\n </Bind>\n </Grid.Column>\n </Grid>\n </>\n )}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import type { AdminAppPermissionRendererPlugin } from "@webiny/app-admin/types.js";
2
- export declare const workflowsPermissions: AdminAppPermissionRendererPlugin;
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- import { WorkflowsPermissions } from "./WorkflowsPermissions.js";
3
- export const workflowsPermissions = {
4
- type: "admin-app-permissions-renderer",
5
- name: "admin-app-permissions-renderer-workflows",
6
- render(props) {
7
- return /*#__PURE__*/React.createElement(WorkflowsPermissions, props);
8
- }
9
- };
10
-
11
- //# sourceMappingURL=permissionPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","WorkflowsPermissions","workflowsPermissions","type","name","render","props","createElement"],"sources":["permissionPlugin.tsx"],"sourcesContent":["import React from \"react\";\nimport type { AdminAppPermissionRendererPlugin } from \"@webiny/app-admin/types.js\";\nimport { WorkflowsPermissions } from \"./WorkflowsPermissions.js\";\n\nexport const workflowsPermissions: AdminAppPermissionRendererPlugin = {\n type: \"admin-app-permissions-renderer\",\n name: \"admin-app-permissions-renderer-workflows\",\n render(props) {\n return <WorkflowsPermissions {...props} />;\n }\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,oBAAsD,GAAG;EAClEC,IAAI,EAAE,gCAAgC;EACtCC,IAAI,EAAE,0CAA0C;EAChDC,MAAMA,CAACC,KAAK,EAAE;IACV,oBAAON,KAAA,CAAAO,aAAA,CAACN,oBAAoB,EAAKK,KAAQ,CAAC;EAC9C;AACJ,CAAC","ignoreList":[]}