@webiny/app-website-builder-workflows 0.0.0-unstable.3c5210ad37

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 (93) hide show
  1. package/Components/OptionItem/OpenInNewWindow.d.ts +2 -0
  2. package/Components/OptionItem/OpenInNewWindow.js +41 -0
  3. package/Components/OptionItem/OpenInNewWindow.js.map +1 -0
  4. package/Components/OptionItem/index.d.ts +1 -0
  5. package/Components/OptionItem/index.js +3 -0
  6. package/Components/OptionItem/index.js.map +1 -0
  7. package/Components/PageEditor/PageEditorAutoSave.d.ts +2 -0
  8. package/Components/PageEditor/PageEditorAutoSave.js +33 -0
  9. package/Components/PageEditor/PageEditorAutoSave.js.map +1 -0
  10. package/Components/PageEditor/PageEditorConfig.d.ts +2 -0
  11. package/Components/PageEditor/PageEditorConfig.js +14 -0
  12. package/Components/PageEditor/PageEditorConfig.js.map +1 -0
  13. package/Components/PageEditor/PageEditorLayout.d.ts +2 -0
  14. package/Components/PageEditor/PageEditorLayout.js +39 -0
  15. package/Components/PageEditor/PageEditorLayout.js.map +1 -0
  16. package/Components/PageEditor/PageEditorSettings.d.ts +2 -0
  17. package/Components/PageEditor/PageEditorSettings.js +30 -0
  18. package/Components/PageEditor/PageEditorSettings.js.map +1 -0
  19. package/Components/PageEditor/PageEditorSidebar.d.ts +2 -0
  20. package/Components/PageEditor/PageEditorSidebar.js +17 -0
  21. package/Components/PageEditor/PageEditorSidebar.js.map +1 -0
  22. package/Components/PageEditor/PageEditorToolbar.d.ts +2 -0
  23. package/Components/PageEditor/PageEditorToolbar.js +17 -0
  24. package/Components/PageEditor/PageEditorToolbar.js.map +1 -0
  25. package/Components/PageEditor/PageFormWorkflowState.d.ts +2 -0
  26. package/Components/PageEditor/PageFormWorkflowState.js +23 -0
  27. package/Components/PageEditor/PageFormWorkflowState.js.map +1 -0
  28. package/Components/PageEditor/PageFormWorkflowStatePublishButton.d.ts +2 -0
  29. package/Components/PageEditor/PageFormWorkflowStatePublishButton.js +33 -0
  30. package/Components/PageEditor/PageFormWorkflowStatePublishButton.js.map +1 -0
  31. package/Components/PageEditor/PageFormWorkflowStateTooltip.d.ts +2 -0
  32. package/Components/PageEditor/PageFormWorkflowStateTooltip.js +23 -0
  33. package/Components/PageEditor/PageFormWorkflowStateTooltip.js.map +1 -0
  34. package/Components/PageWorkflows/PageWorkflowsEditorView.d.ts +3 -0
  35. package/Components/PageWorkflows/PageWorkflowsEditorView.js +60 -0
  36. package/Components/PageWorkflows/PageWorkflowsEditorView.js.map +1 -0
  37. package/Components/PageWorkflows/index.d.ts +1 -0
  38. package/Components/PageWorkflows/index.js +3 -0
  39. package/Components/PageWorkflows/index.js.map +1 -0
  40. package/Components/PagesList/PageListChangeStatus.d.ts +2 -0
  41. package/Components/PagesList/PageListChangeStatus.js +31 -0
  42. package/Components/PagesList/PageListChangeStatus.js.map +1 -0
  43. package/Components/PagesList/PagesList.d.ts +2 -0
  44. package/Components/PagesList/PagesList.js +9 -0
  45. package/Components/PagesList/PagesList.js.map +1 -0
  46. package/Components/PagesList/PagesListContentReviews.d.ts +2 -0
  47. package/Components/PagesList/PagesListContentReviews.js +42 -0
  48. package/Components/PagesList/PagesListContentReviews.js.map +1 -0
  49. package/Components/PagesList/index.d.ts +1 -0
  50. package/Components/PagesList/index.js +3 -0
  51. package/Components/PagesList/index.js.map +1 -0
  52. package/Components/index.d.ts +4 -0
  53. package/Components/index.js +6 -0
  54. package/Components/index.js.map +1 -0
  55. package/LICENSE +21 -0
  56. package/README.md +11 -0
  57. package/Routes/WebsiteBuilderWorkflowsMenu.d.ts +2 -0
  58. package/Routes/WebsiteBuilderWorkflowsMenu.js +35 -0
  59. package/Routes/WebsiteBuilderWorkflowsMenu.js.map +1 -0
  60. package/Routes/index.d.ts +1 -0
  61. package/Routes/index.js +3 -0
  62. package/Routes/index.js.map +1 -0
  63. package/constants.d.ts +1 -0
  64. package/constants.js +3 -0
  65. package/constants.js.map +1 -0
  66. package/hooks/usePage.d.ts +5 -0
  67. package/hooks/usePage.js +20 -0
  68. package/hooks/usePage.js.map +1 -0
  69. package/index.d.ts +2 -0
  70. package/index.js +15 -0
  71. package/index.js.map +1 -0
  72. package/package.json +43 -0
  73. package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.d.ts +8 -0
  74. package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js +19 -0
  75. package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js.map +1 -0
  76. package/presentation/page/PageGet/feature.d.ts +1 -0
  77. package/presentation/page/PageGet/feature.js +10 -0
  78. package/presentation/page/PageGet/feature.js.map +1 -0
  79. package/presentation/page/PageList/PageListPresenterDecorator.d.ts +13 -0
  80. package/presentation/page/PageList/PageListPresenterDecorator.js +39 -0
  81. package/presentation/page/PageList/PageListPresenterDecorator.js.map +1 -0
  82. package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.d.ts +8 -0
  83. package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js +19 -0
  84. package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js.map +1 -0
  85. package/presentation/page/PageList/feature.d.ts +1 -0
  86. package/presentation/page/PageList/feature.js +12 -0
  87. package/presentation/page/PageList/feature.js.map +1 -0
  88. package/routes.d.ts +9 -0
  89. package/routes.js +20 -0
  90. package/routes.js.map +1 -0
  91. package/types.d.ts +29 -0
  92. package/types.js +3 -0
  93. package/types.js.map +1 -0
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const ListOpenInNewWindow: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,41 @@
1
+ import React, { useCallback } from "react";
2
+ import { DropdownMenu, Icon } from "@webiny/admin-ui";
3
+ import { Components } from "@webiny/app-workflows";
4
+ import { ReactComponent as OpenInNewIcon } from "@webiny/icons/open_in_new.svg";
5
+ import { useRouter } from "@webiny/app";
6
+ import { Routes } from "@webiny/app-website-builder/routes.js";
7
+ import { WB_PAGE_APP } from "../../constants.js";
8
+ const {
9
+ OpenInNewWindow
10
+ } = Components.List.Options;
11
+ export const ListOpenInNewWindow = OpenInNewWindow.createDecorator(Original => {
12
+ return function ListOpenInNewWindow(props) {
13
+ const {
14
+ state
15
+ } = props;
16
+ const {
17
+ getLink
18
+ } = useRouter();
19
+ const onClick = useCallback(() => {
20
+ const url = getLink(Routes.Pages.Editor, {
21
+ id: state.targetRevisionId,
22
+ folderId: "root"
23
+ });
24
+ const goTo = `${window.location.origin}${url}`;
25
+ window.open(goTo, "_blank");
26
+ }, [state.id]);
27
+ if (state.app !== WB_PAGE_APP) {
28
+ return /*#__PURE__*/React.createElement(Original, props);
29
+ }
30
+ return /*#__PURE__*/React.createElement(DropdownMenu.Item, {
31
+ icon: /*#__PURE__*/React.createElement(Icon, {
32
+ icon: /*#__PURE__*/React.createElement(OpenInNewIcon, null),
33
+ label: "Open In New Window"
34
+ }),
35
+ text: "Open in New Window",
36
+ onClick: onClick
37
+ });
38
+ };
39
+ });
40
+
41
+ //# sourceMappingURL=OpenInNewWindow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","DropdownMenu","Icon","Components","ReactComponent","OpenInNewIcon","useRouter","Routes","WB_PAGE_APP","OpenInNewWindow","List","Options","ListOpenInNewWindow","createDecorator","Original","props","state","getLink","onClick","url","Pages","Editor","id","targetRevisionId","folderId","goTo","window","location","origin","open","app","createElement","Item","icon","label","text"],"sources":["OpenInNewWindow.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { DropdownMenu, Icon } from \"@webiny/admin-ui\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { ReactComponent as OpenInNewIcon } from \"@webiny/icons/open_in_new.svg\";\nimport { useRouter } from \"@webiny/app\";\nimport { Routes } from \"@webiny/app-website-builder/routes.js\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\n\nconst { OpenInNewWindow } = Components.List.Options;\n\nexport const ListOpenInNewWindow = OpenInNewWindow.createDecorator(Original => {\n return function ListOpenInNewWindow(props) {\n const { state } = props;\n\n const { getLink } = useRouter();\n const onClick = useCallback(() => {\n const url = getLink(Routes.Pages.Editor, {\n id: state.targetRevisionId,\n folderId: \"root\"\n });\n\n const goTo = `${window.location.origin}${url}`;\n\n window.open(goTo, \"_blank\");\n }, [state.id]);\n\n if (state.app !== WB_PAGE_APP) {\n return <Original {...props} />;\n }\n\n return (\n <DropdownMenu.Item\n icon={<Icon icon={<OpenInNewIcon />} label={\"Open In New Window\"} />}\n text={\"Open in New Window\"}\n onClick={onClick}\n />\n );\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,YAAY,EAAEC,IAAI,QAAQ,kBAAkB;AACrD,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,cAAc,IAAIC,aAAa,QAAQ,+BAA+B;AAC/E,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,QAAQ,uCAAuC;AAC9D,SAASC,WAAW;AAEpB,MAAM;EAAEC;AAAgB,CAAC,GAAGN,UAAU,CAACO,IAAI,CAACC,OAAO;AAEnD,OAAO,MAAMC,mBAAmB,GAAGH,eAAe,CAACI,eAAe,CAACC,QAAQ,IAAI;EAC3E,OAAO,SAASF,mBAAmBA,CAACG,KAAK,EAAE;IACvC,MAAM;MAAEC;IAAM,CAAC,GAAGD,KAAK;IAEvB,MAAM;MAAEE;IAAQ,CAAC,GAAGX,SAAS,CAAC,CAAC;IAC/B,MAAMY,OAAO,GAAGlB,WAAW,CAAC,MAAM;MAC9B,MAAMmB,GAAG,GAAGF,OAAO,CAACV,MAAM,CAACa,KAAK,CAACC,MAAM,EAAE;QACrCC,EAAE,EAAEN,KAAK,CAACO,gBAAgB;QAC1BC,QAAQ,EAAE;MACd,CAAC,CAAC;MAEF,MAAMC,IAAI,GAAG,GAAGC,MAAM,CAACC,QAAQ,CAACC,MAAM,GAAGT,GAAG,EAAE;MAE9CO,MAAM,CAACG,IAAI,CAACJ,IAAI,EAAE,QAAQ,CAAC;IAC/B,CAAC,EAAE,CAACT,KAAK,CAACM,EAAE,CAAC,CAAC;IAEd,IAAIN,KAAK,CAACc,GAAG,KAAKtB,WAAW,EAAE;MAC3B,oBAAOT,KAAA,CAAAgC,aAAA,CAACjB,QAAQ,EAAKC,KAAQ,CAAC;IAClC;IAEA,oBACIhB,KAAA,CAAAgC,aAAA,CAAC9B,YAAY,CAAC+B,IAAI;MACdC,IAAI,eAAElC,KAAA,CAAAgC,aAAA,CAAC7B,IAAI;QAAC+B,IAAI,eAAElC,KAAA,CAAAgC,aAAA,CAAC1B,aAAa,MAAE,CAAE;QAAC6B,KAAK,EAAE;MAAqB,CAAE,CAAE;MACrEC,IAAI,EAAE,oBAAqB;MAC3BjB,OAAO,EAAEA;IAAQ,CACpB,CAAC;EAEV,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { ListOpenInNewWindow } from "./OpenInNewWindow.js";
@@ -0,0 +1,3 @@
1
+ export { ListOpenInNewWindow } from "./OpenInNewWindow.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListOpenInNewWindow"],"sources":["index.ts"],"sourcesContent":["export { ListOpenInNewWindow } from \"./OpenInNewWindow.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageEditorAutoSave: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ import { PageEditorConfig } from "@webiny/app-website-builder";
3
+ import { useWorkflowState } from "@webiny/app-workflows";
4
+ import { observer } from "mobx-react-lite";
5
+ const {
6
+ Ui
7
+ } = PageEditorConfig;
8
+ const WrappedAutoSave = observer(props => {
9
+ const {
10
+ presenter
11
+ } = useWorkflowState();
12
+ /**
13
+ * Autosave should work only when the page does not have a workflow state assigned.
14
+ */
15
+ if (!presenter.vm.state?.state) {
16
+ return props.element;
17
+ }
18
+ return null;
19
+ });
20
+ export const PageEditorAutoSave = Ui.TopBar.Element.createDecorator(Original => {
21
+ return function PageEditorAutoSaveDecorated(props) {
22
+ if (props.name === "autoSave") {
23
+ return /*#__PURE__*/React.createElement(Original, Object.assign({}, props, {
24
+ element: /*#__PURE__*/React.createElement(WrappedAutoSave, {
25
+ element: props.element
26
+ })
27
+ }));
28
+ }
29
+ return /*#__PURE__*/React.createElement(Original, props);
30
+ };
31
+ });
32
+
33
+ //# sourceMappingURL=PageEditorAutoSave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PageEditorConfig","useWorkflowState","observer","Ui","WrappedAutoSave","props","presenter","vm","state","element","PageEditorAutoSave","TopBar","Element","createDecorator","Original","PageEditorAutoSaveDecorated","name","createElement","Object","assign"],"sources":["PageEditorAutoSave.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\nimport { observer } from \"mobx-react-lite\";\n\nconst { Ui } = PageEditorConfig;\n\ninterface IWrappedAutoSave {\n element?: React.ReactElement | null;\n}\nconst WrappedAutoSave = observer((props: IWrappedAutoSave) => {\n const { presenter } = useWorkflowState();\n /**\n * Autosave should work only when the page does not have a workflow state assigned.\n */\n if (!presenter.vm.state?.state) {\n return props.element;\n }\n\n return null;\n});\n\nexport const PageEditorAutoSave = Ui.TopBar.Element.createDecorator(Original => {\n return function PageEditorAutoSaveDecorated(props) {\n if (props.name === \"autoSave\") {\n return <Original {...props} element={<WrappedAutoSave element={props.element} />} />;\n }\n return <Original {...props} />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,MAAM;EAAEC;AAAG,CAAC,GAAGH,gBAAgB;AAK/B,MAAMI,eAAe,GAAGF,QAAQ,CAAEG,KAAuB,IAAK;EAC1D,MAAM;IAAEC;EAAU,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EACxC;AACJ;AACA;EACI,IAAI,CAACK,SAAS,CAACC,EAAE,CAACC,KAAK,EAAEA,KAAK,EAAE;IAC5B,OAAOH,KAAK,CAACI,OAAO;EACxB;EAEA,OAAO,IAAI;AACf,CAAC,CAAC;AAEF,OAAO,MAAMC,kBAAkB,GAAGP,EAAE,CAACQ,MAAM,CAACC,OAAO,CAACC,eAAe,CAACC,QAAQ,IAAI;EAC5E,OAAO,SAASC,2BAA2BA,CAACV,KAAK,EAAE;IAC/C,IAAIA,KAAK,CAACW,IAAI,KAAK,UAAU,EAAE;MAC3B,oBAAOjB,KAAA,CAAAkB,aAAA,CAACH,QAAQ,EAAAI,MAAA,CAAAC,MAAA,KAAKd,KAAK;QAAEI,OAAO,eAAEV,KAAA,CAAAkB,aAAA,CAACb,eAAe;UAACK,OAAO,EAAEJ,KAAK,CAACI;QAAQ,CAAE;MAAE,EAAE,CAAC;IACxF;IACA,oBAAOV,KAAA,CAAAkB,aAAA,CAACH,QAAQ,EAAKT,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageEditorConfig: () => React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { PageEditorConfig as BaseConfig } from "@webiny/app-website-builder";
3
+ import { PageEditorAutoSave } from "./PageEditorAutoSave.js";
4
+ import { PageEditorSettings } from "./PageEditorSettings.js";
5
+ import { PageFormWorkflowStateTooltip } from "./PageFormWorkflowStateTooltip.js";
6
+ import { PageFormWorkflowStatePublishButton } from "./PageFormWorkflowStatePublishButton.js";
7
+ import { PageEditorLayout } from "./PageEditorLayout.js";
8
+ import { PageEditorToolbar } from "./PageEditorToolbar.js";
9
+ import { PageEditorSidebar } from "./PageEditorSidebar.js";
10
+ export const PageEditorConfig = () => {
11
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PageEditorLayout, null), /*#__PURE__*/React.createElement(BaseConfig, null, /*#__PURE__*/React.createElement(PageEditorAutoSave, null), /*#__PURE__*/React.createElement(PageEditorSettings, null), /*#__PURE__*/React.createElement(PageEditorToolbar, null), /*#__PURE__*/React.createElement(PageEditorSidebar, null), /*#__PURE__*/React.createElement(PageFormWorkflowStateTooltip, null), /*#__PURE__*/React.createElement(PageFormWorkflowStatePublishButton, null)));
12
+ };
13
+
14
+ //# sourceMappingURL=PageEditorConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PageEditorConfig","BaseConfig","PageEditorAutoSave","PageEditorSettings","PageFormWorkflowStateTooltip","PageFormWorkflowStatePublishButton","PageEditorLayout","PageEditorToolbar","PageEditorSidebar","createElement","Fragment"],"sources":["PageEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageEditorConfig as BaseConfig } from \"@webiny/app-website-builder\";\nimport { PageEditorAutoSave } from \"./PageEditorAutoSave.js\";\nimport { PageEditorSettings } from \"./PageEditorSettings.js\";\nimport { PageFormWorkflowStateTooltip } from \"./PageFormWorkflowStateTooltip.js\";\nimport { PageFormWorkflowStatePublishButton } from \"./PageFormWorkflowStatePublishButton.js\";\nimport { PageEditorLayout } from \"./PageEditorLayout.js\";\nimport { PageEditorToolbar } from \"./PageEditorToolbar.js\";\nimport { PageEditorSidebar } from \"./PageEditorSidebar.js\";\n\nexport const PageEditorConfig = () => {\n return (\n <>\n <PageEditorLayout />\n <BaseConfig>\n {/* Should remove autosave feature */}\n <PageEditorAutoSave />\n {/* Should remove settings button */}\n <PageEditorSettings />\n {/* Should remove left bar in the editor */}\n <PageEditorToolbar />\n {/* Should remove right bar in the editor */}\n <PageEditorSidebar />\n {/* Should add a button with list of steps and their states + comment button in each row */}\n <PageFormWorkflowStateTooltip />\n {/* should remove publish button from the form */}\n <PageFormWorkflowStatePublishButton />\n </BaseConfig>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,IAAIC,UAAU,QAAQ,6BAA6B;AAC5E,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAC3B,SAASC,4BAA4B;AACrC,SAASC,kCAAkC;AAC3C,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAE1B,OAAO,MAAMR,gBAAgB,GAAGA,CAAA,KAAM;EAClC,oBACID,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,qBACIX,KAAA,CAAAU,aAAA,CAACH,gBAAgB,MAAE,CAAC,eACpBP,KAAA,CAAAU,aAAA,CAACR,UAAU,qBAEPF,KAAA,CAAAU,aAAA,CAACP,kBAAkB,MAAE,CAAC,eAEtBH,KAAA,CAAAU,aAAA,CAACN,kBAAkB,MAAE,CAAC,eAEtBJ,KAAA,CAAAU,aAAA,CAACF,iBAAiB,MAAE,CAAC,eAErBR,KAAA,CAAAU,aAAA,CAACD,iBAAiB,MAAE,CAAC,eAErBT,KAAA,CAAAU,aAAA,CAACL,4BAA4B,MAAE,CAAC,eAEhCL,KAAA,CAAAU,aAAA,CAACJ,kCAAkC,MAAE,CAC7B,CACd,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageEditorLayout: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,39 @@
1
+ import React from "react";
2
+ import { useSelectFromDocument } from "@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js";
3
+ import { useApolloClient } from "@apollo/react-hooks";
4
+ import { useAuthentication } from "@webiny/app-admin";
5
+ import { Components } from "@webiny/app-workflows";
6
+ import { WB_PAGE_APP } from "../../constants.js";
7
+ import { PageFormWorkflowState } from "./PageFormWorkflowState.js";
8
+ import { PageEditorConfig } from "@webiny/app-website-builder";
9
+ const {
10
+ Ui
11
+ } = PageEditorConfig;
12
+ const {
13
+ ContentReview: {
14
+ WorkflowStateProvider
15
+ }
16
+ } = Components;
17
+ export const PageEditorLayout = Ui.TopBar.Layout.createDecorator(Original => {
18
+ return function PageEditorTopBarWorkflowsState() {
19
+ const page = useSelectFromDocument(doc => {
20
+ return {
21
+ id: doc.id,
22
+ title: doc.properties.title || "unknown page"
23
+ };
24
+ });
25
+ const client = useApolloClient();
26
+ const {
27
+ identity
28
+ } = useAuthentication();
29
+ return /*#__PURE__*/React.createElement(WorkflowStateProvider, {
30
+ app: WB_PAGE_APP,
31
+ id: page.id,
32
+ identity: identity,
33
+ client: client,
34
+ title: `Website Builder: ${page.title}`
35
+ }, /*#__PURE__*/React.createElement(Original, null), /*#__PURE__*/React.createElement(PageFormWorkflowState, null));
36
+ };
37
+ });
38
+
39
+ //# sourceMappingURL=PageEditorLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useSelectFromDocument","useApolloClient","useAuthentication","Components","WB_PAGE_APP","PageFormWorkflowState","PageEditorConfig","Ui","ContentReview","WorkflowStateProvider","PageEditorLayout","TopBar","Layout","createDecorator","Original","PageEditorTopBarWorkflowsState","page","doc","id","title","properties","client","identity","createElement","app"],"sources":["PageEditorLayout.tsx"],"sourcesContent":["import React from \"react\";\nimport { useSelectFromDocument } from \"@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { useAuthentication } from \"@webiny/app-admin\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\nimport { PageFormWorkflowState } from \"./PageFormWorkflowState.js\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\n\nconst { Ui } = PageEditorConfig;\n\nconst {\n ContentReview: { WorkflowStateProvider }\n} = Components;\n\nexport const PageEditorLayout = Ui.TopBar.Layout.createDecorator(Original => {\n return function PageEditorTopBarWorkflowsState() {\n const page = useSelectFromDocument(doc => {\n return {\n id: doc.id,\n title: doc.properties.title || \"unknown page\"\n };\n });\n\n const client = useApolloClient();\n const { identity } = useAuthentication();\n\n return (\n <WorkflowStateProvider\n app={WB_PAGE_APP}\n id={page.id}\n identity={identity}\n client={client}\n title={`Website Builder: ${page.title}`}\n >\n {/* Original top bar*/}\n <Original />\n {/* Should render workflow state bar and the alert for storing changes */}\n <PageFormWorkflowState />\n </WorkflowStateProvider>\n );\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,qBAAqB,QAAQ,uEAAuE;AAC7G,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,WAAW;AACpB,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB,QAAQ,6BAA6B;AAE9D,MAAM;EAAEC;AAAG,CAAC,GAAGD,gBAAgB;AAE/B,MAAM;EACFE,aAAa,EAAE;IAAEC;EAAsB;AAC3C,CAAC,GAAGN,UAAU;AAEd,OAAO,MAAMO,gBAAgB,GAAGH,EAAE,CAACI,MAAM,CAACC,MAAM,CAACC,eAAe,CAACC,QAAQ,IAAI;EACzE,OAAO,SAASC,8BAA8BA,CAAA,EAAG;IAC7C,MAAMC,IAAI,GAAGhB,qBAAqB,CAACiB,GAAG,IAAI;MACtC,OAAO;QACHC,EAAE,EAAED,GAAG,CAACC,EAAE;QACVC,KAAK,EAAEF,GAAG,CAACG,UAAU,CAACD,KAAK,IAAI;MACnC,CAAC;IACL,CAAC,CAAC;IAEF,MAAME,MAAM,GAAGpB,eAAe,CAAC,CAAC;IAChC,MAAM;MAAEqB;IAAS,CAAC,GAAGpB,iBAAiB,CAAC,CAAC;IAExC,oBACIH,KAAA,CAAAwB,aAAA,CAACd,qBAAqB;MAClBe,GAAG,EAAEpB,WAAY;MACjBc,EAAE,EAAEF,IAAI,CAACE,EAAG;MACZI,QAAQ,EAAEA,QAAS;MACnBD,MAAM,EAAEA,MAAO;MACfF,KAAK,EAAE,oBAAoBH,IAAI,CAACG,KAAK;IAAG,gBAGxCpB,KAAA,CAAAwB,aAAA,CAACT,QAAQ,MAAE,CAAC,eAEZf,KAAA,CAAAwB,aAAA,CAAClB,qBAAqB,MAAE,CACL,CAAC;EAEhC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageEditorSettings: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import { PageEditorConfig } from "@webiny/app-website-builder";
3
+ import { useWorkflowState } from "@webiny/app-workflows";
4
+ import { observer } from "mobx-react-lite";
5
+ const {
6
+ Ui
7
+ } = PageEditorConfig;
8
+ const WrappedSettings = observer(props => {
9
+ const {
10
+ presenter
11
+ } = useWorkflowState();
12
+ if (!presenter.vm.state?.state) {
13
+ return props.element;
14
+ }
15
+ return null;
16
+ });
17
+ export const PageEditorSettings = Ui.TopBar.Action.createDecorator(Original => {
18
+ return function PageEditorSettingsDecorated(props) {
19
+ if (props.name === "buttonSettings") {
20
+ return /*#__PURE__*/React.createElement(Original, Object.assign({}, props, {
21
+ element: /*#__PURE__*/React.createElement(WrappedSettings, {
22
+ element: props.element
23
+ })
24
+ }));
25
+ }
26
+ return /*#__PURE__*/React.createElement(Original, props);
27
+ };
28
+ });
29
+
30
+ //# sourceMappingURL=PageEditorSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PageEditorConfig","useWorkflowState","observer","Ui","WrappedSettings","props","presenter","vm","state","element","PageEditorSettings","TopBar","Action","createDecorator","Original","PageEditorSettingsDecorated","name","createElement","Object","assign"],"sources":["PageEditorSettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\nimport { observer } from \"mobx-react-lite\";\n\nconst { Ui } = PageEditorConfig;\n\ninterface IWrappedSettings {\n element?: React.ReactElement | null;\n}\n\nconst WrappedSettings = observer((props: IWrappedSettings) => {\n const { presenter } = useWorkflowState();\n if (!presenter.vm.state?.state) {\n return props.element;\n }\n\n return null;\n});\n\nexport const PageEditorSettings = Ui.TopBar.Action.createDecorator(Original => {\n return function PageEditorSettingsDecorated(props) {\n if (props.name === \"buttonSettings\") {\n return <Original {...props} element={<WrappedSettings element={props.element} />} />;\n }\n return <Original {...props} />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,MAAM;EAAEC;AAAG,CAAC,GAAGH,gBAAgB;AAM/B,MAAMI,eAAe,GAAGF,QAAQ,CAAEG,KAAuB,IAAK;EAC1D,MAAM;IAAEC;EAAU,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EACxC,IAAI,CAACK,SAAS,CAACC,EAAE,CAACC,KAAK,EAAEA,KAAK,EAAE;IAC5B,OAAOH,KAAK,CAACI,OAAO;EACxB;EAEA,OAAO,IAAI;AACf,CAAC,CAAC;AAEF,OAAO,MAAMC,kBAAkB,GAAGP,EAAE,CAACQ,MAAM,CAACC,MAAM,CAACC,eAAe,CAACC,QAAQ,IAAI;EAC3E,OAAO,SAASC,2BAA2BA,CAACV,KAAK,EAAE;IAC/C,IAAIA,KAAK,CAACW,IAAI,KAAK,gBAAgB,EAAE;MACjC,oBAAOjB,KAAA,CAAAkB,aAAA,CAACH,QAAQ,EAAAI,MAAA,CAAAC,MAAA,KAAKd,KAAK;QAAEI,OAAO,eAAEV,KAAA,CAAAkB,aAAA,CAACb,eAAe;UAACK,OAAO,EAAEJ,KAAK,CAACI;QAAQ,CAAE;MAAE,EAAE,CAAC;IACxF;IACA,oBAAOV,KAAA,CAAAkB,aAAA,CAACH,QAAQ,EAAKT,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageEditorSidebar: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { EditorConfig } from "@webiny/app-website-builder/BaseEditor/index.js";
3
+ import { useSelectFromDocument } from "@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js";
4
+ export const PageEditorSidebar = EditorConfig.Ui.Sidebar.createDecorator(Original => {
5
+ return function PageEditorSidebarDecorated() {
6
+ const stepId = useSelectFromDocument(document => {
7
+ // @ts-expect-error
8
+ return document.workflows?.state?.stepId;
9
+ });
10
+ if (stepId) {
11
+ return null;
12
+ }
13
+ return /*#__PURE__*/React.createElement(Original, null);
14
+ };
15
+ });
16
+
17
+ //# sourceMappingURL=PageEditorSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","EditorConfig","useSelectFromDocument","PageEditorSidebar","Ui","Sidebar","createDecorator","Original","PageEditorSidebarDecorated","stepId","document","workflows","state","createElement"],"sources":["PageEditorSidebar.tsx"],"sourcesContent":["import React from \"react\";\nimport { EditorConfig } from \"@webiny/app-website-builder/BaseEditor/index.js\";\nimport { useSelectFromDocument } from \"@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js\";\n\nexport const PageEditorSidebar = EditorConfig.Ui.Sidebar.createDecorator(Original => {\n return function PageEditorSidebarDecorated() {\n const stepId = useSelectFromDocument((document): string | undefined => {\n // @ts-expect-error\n return document.workflows?.state?.stepId;\n });\n if (stepId) {\n return null;\n }\n return <Original />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,iDAAiD;AAC9E,SAASC,qBAAqB,QAAQ,uEAAuE;AAE7G,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAACG,EAAE,CAACC,OAAO,CAACC,eAAe,CAACC,QAAQ,IAAI;EACjF,OAAO,SAASC,0BAA0BA,CAAA,EAAG;IACzC,MAAMC,MAAM,GAAGP,qBAAqB,CAAEQ,QAAQ,IAAyB;MACnE;MACA,OAAOA,QAAQ,CAACC,SAAS,EAAEC,KAAK,EAAEH,MAAM;IAC5C,CAAC,CAAC;IACF,IAAIA,MAAM,EAAE;MACR,OAAO,IAAI;IACf;IACA,oBAAOT,KAAA,CAAAa,aAAA,CAACN,QAAQ,MAAE,CAAC;EACvB,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageEditorToolbar: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { EditorConfig } from "@webiny/app-website-builder/BaseEditor/index.js";
2
+ import React from "react";
3
+ import { useSelectFromDocument } from "@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js";
4
+ export const PageEditorToolbar = EditorConfig.Ui.Toolbar.createDecorator(Original => {
5
+ return function PageEditorToolbarDecorated() {
6
+ const stepId = useSelectFromDocument(document => {
7
+ // @ts-expect-error
8
+ return document.workflows?.state?.stepId;
9
+ });
10
+ if (stepId) {
11
+ return null;
12
+ }
13
+ return /*#__PURE__*/React.createElement(Original, null);
14
+ };
15
+ });
16
+
17
+ //# sourceMappingURL=PageEditorToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EditorConfig","React","useSelectFromDocument","PageEditorToolbar","Ui","Toolbar","createDecorator","Original","PageEditorToolbarDecorated","stepId","document","workflows","state","createElement"],"sources":["PageEditorToolbar.tsx"],"sourcesContent":["import { EditorConfig } from \"@webiny/app-website-builder/BaseEditor/index.js\";\nimport React from \"react\";\nimport { useSelectFromDocument } from \"@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js\";\n\nexport const PageEditorToolbar = EditorConfig.Ui.Toolbar.createDecorator(Original => {\n return function PageEditorToolbarDecorated() {\n const stepId = useSelectFromDocument((document): string | undefined => {\n // @ts-expect-error\n return document.workflows?.state?.stepId;\n });\n if (stepId) {\n return null;\n }\n return <Original />;\n };\n});\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iDAAiD;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,qBAAqB,QAAQ,uEAAuE;AAE7G,OAAO,MAAMC,iBAAiB,GAAGH,YAAY,CAACI,EAAE,CAACC,OAAO,CAACC,eAAe,CAACC,QAAQ,IAAI;EACjF,OAAO,SAASC,0BAA0BA,CAAA,EAAG;IACzC,MAAMC,MAAM,GAAGP,qBAAqB,CAAEQ,QAAQ,IAAyB;MACnE;MACA,OAAOA,QAAQ,CAACC,SAAS,EAAEC,KAAK,EAAEH,MAAM;IAC5C,CAAC,CAAC;IACF,IAAIA,MAAM,EAAE;MACR,OAAO,IAAI;IACf;IACA,oBAAOR,KAAA,CAAAY,aAAA,CAACN,QAAQ,MAAE,CAAC;EACvB,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageFormWorkflowState: () => React.JSX.Element;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { Components } from "@webiny/app-workflows";
3
+ import { Alert } from "@webiny/admin-ui";
4
+ const {
5
+ ContentReview: {
6
+ WorkflowStateBar
7
+ }
8
+ } = Components;
9
+ export const PageFormWorkflowState = () => {
10
+ return /*#__PURE__*/React.createElement(WorkflowStateBar, null, ({
11
+ state,
12
+ stateBar
13
+ }) => {
14
+ return state ? /*#__PURE__*/React.createElement("div", {
15
+ className: "max-w-screen bg-white p-sm"
16
+ }, stateBar, /*#__PURE__*/React.createElement(Alert, {
17
+ className: "mb-md mt-md",
18
+ type: "danger"
19
+ }, "Any changes you do on the page will not be stored!")) : null;
20
+ });
21
+ };
22
+
23
+ //# sourceMappingURL=PageFormWorkflowState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Components","Alert","ContentReview","WorkflowStateBar","PageFormWorkflowState","createElement","state","stateBar","className","type"],"sources":["PageFormWorkflowState.tsx"],"sourcesContent":["import React from \"react\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { Alert } from \"@webiny/admin-ui\";\n\nconst {\n ContentReview: { WorkflowStateBar }\n} = Components;\n\nexport const PageFormWorkflowState = () => {\n return (\n <WorkflowStateBar>\n {({ state, stateBar }) => {\n return state ? (\n <div className={\"max-w-screen bg-white p-sm\"}>\n {stateBar}\n <Alert className={\"mb-md mt-md\"} type=\"danger\">\n Any changes you do on the page will not be stored!\n </Alert>\n </div>\n ) : null;\n }}\n </WorkflowStateBar>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,KAAK,QAAQ,kBAAkB;AAExC,MAAM;EACFC,aAAa,EAAE;IAAEC;EAAiB;AACtC,CAAC,GAAGH,UAAU;AAEd,OAAO,MAAMI,qBAAqB,GAAGA,CAAA,KAAM;EACvC,oBACIL,KAAA,CAAAM,aAAA,CAACF,gBAAgB,QACZ,CAAC;IAAEG,KAAK;IAAEC;EAAS,CAAC,KAAK;IACtB,OAAOD,KAAK,gBACRP,KAAA,CAAAM,aAAA;MAAKG,SAAS,EAAE;IAA6B,GACxCD,QAAQ,eACTR,KAAA,CAAAM,aAAA,CAACJ,KAAK;MAACO,SAAS,EAAE,aAAc;MAACC,IAAI,EAAC;IAAQ,GAAC,oDAExC,CACN,CAAC,GACN,IAAI;EACZ,CACc,CAAC;AAE3B,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageFormWorkflowStatePublishButton: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ import { PageEditorConfig } from "@webiny/app-website-builder";
3
+ import { useWorkflowState, WorkflowStateValue } from "@webiny/app-workflows";
4
+ import { observer } from "mobx-react-lite";
5
+ const {
6
+ Ui
7
+ } = PageEditorConfig;
8
+ const WrappedPublishButton = observer(props => {
9
+ const {
10
+ presenter
11
+ } = useWorkflowState();
12
+ /**
13
+ * Publish button should be visible only when there is no workflow available and when workflow state is approved.
14
+ */
15
+ if (!presenter.vm.workflow || presenter.vm.state?.state === WorkflowStateValue.approved) {
16
+ return props.element;
17
+ }
18
+ return null;
19
+ });
20
+ export const PageFormWorkflowStatePublishButton = Ui.TopBar.Action.createDecorator(Original => {
21
+ return function AutoSaveDecorator(props) {
22
+ if (props.name === "buttonPublish") {
23
+ return /*#__PURE__*/React.createElement(Original, Object.assign({}, props, {
24
+ element: /*#__PURE__*/React.createElement(WrappedPublishButton, {
25
+ element: props.element
26
+ })
27
+ }));
28
+ }
29
+ return /*#__PURE__*/React.createElement(Original, props);
30
+ };
31
+ });
32
+
33
+ //# sourceMappingURL=PageFormWorkflowStatePublishButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PageEditorConfig","useWorkflowState","WorkflowStateValue","observer","Ui","WrappedPublishButton","props","presenter","vm","workflow","state","approved","element","PageFormWorkflowStatePublishButton","TopBar","Action","createDecorator","Original","AutoSaveDecorator","name","createElement","Object","assign"],"sources":["PageFormWorkflowStatePublishButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\nimport { useWorkflowState, WorkflowStateValue } from \"@webiny/app-workflows\";\nimport { observer } from \"mobx-react-lite\";\n\nconst { Ui } = PageEditorConfig;\n\ninterface IWrappedPublishButtonProps {\n element?: React.ReactElement | null;\n}\n\nconst WrappedPublishButton = observer((props: IWrappedPublishButtonProps) => {\n const { presenter } = useWorkflowState();\n /**\n * Publish button should be visible only when there is no workflow available and when workflow state is approved.\n */\n if (!presenter.vm.workflow || presenter.vm.state?.state === WorkflowStateValue.approved) {\n return props.element;\n }\n\n return null;\n});\n\nexport const PageFormWorkflowStatePublishButton = Ui.TopBar.Action.createDecorator(Original => {\n return function AutoSaveDecorator(props) {\n if (props.name === \"buttonPublish\") {\n return (\n <Original {...props} element={<WrappedPublishButton element={props.element} />} />\n );\n }\n return <Original {...props} />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,gBAAgB,EAAEC,kBAAkB,QAAQ,uBAAuB;AAC5E,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,MAAM;EAAEC;AAAG,CAAC,GAAGJ,gBAAgB;AAM/B,MAAMK,oBAAoB,GAAGF,QAAQ,CAAEG,KAAiC,IAAK;EACzE,MAAM;IAAEC;EAAU,CAAC,GAAGN,gBAAgB,CAAC,CAAC;EACxC;AACJ;AACA;EACI,IAAI,CAACM,SAAS,CAACC,EAAE,CAACC,QAAQ,IAAIF,SAAS,CAACC,EAAE,CAACE,KAAK,EAAEA,KAAK,KAAKR,kBAAkB,CAACS,QAAQ,EAAE;IACrF,OAAOL,KAAK,CAACM,OAAO;EACxB;EAEA,OAAO,IAAI;AACf,CAAC,CAAC;AAEF,OAAO,MAAMC,kCAAkC,GAAGT,EAAE,CAACU,MAAM,CAACC,MAAM,CAACC,eAAe,CAACC,QAAQ,IAAI;EAC3F,OAAO,SAASC,iBAAiBA,CAACZ,KAAK,EAAE;IACrC,IAAIA,KAAK,CAACa,IAAI,KAAK,eAAe,EAAE;MAChC,oBACIpB,KAAA,CAAAqB,aAAA,CAACH,QAAQ,EAAAI,MAAA,CAAAC,MAAA,KAAKhB,KAAK;QAAEM,OAAO,eAAEb,KAAA,CAAAqB,aAAA,CAACf,oBAAoB;UAACO,OAAO,EAAEN,KAAK,CAACM;QAAQ,CAAE;MAAE,EAAE,CAAC;IAE1F;IACA,oBAAOb,KAAA,CAAAqB,aAAA,CAACH,QAAQ,EAAKX,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageFormWorkflowStateTooltip: () => React.JSX.Element;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { Components } from "@webiny/app-workflows";
3
+ import { PageEditorConfig } from "@webiny/app-website-builder";
4
+ const {
5
+ ContentReview: {
6
+ WorkflowStateTooltip
7
+ }
8
+ } = Components;
9
+ const {
10
+ Ui
11
+ } = PageEditorConfig;
12
+ const TooltipButton = () => {
13
+ return /*#__PURE__*/React.createElement(WorkflowStateTooltip, null);
14
+ };
15
+ export const PageFormWorkflowStateTooltip = () => {
16
+ return /*#__PURE__*/React.createElement(Ui.TopBar.Action, {
17
+ before: "buttonPublish",
18
+ name: "buttonWorkflowStateTooltip",
19
+ element: /*#__PURE__*/React.createElement(TooltipButton, null)
20
+ });
21
+ };
22
+
23
+ //# sourceMappingURL=PageFormWorkflowStateTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Components","PageEditorConfig","ContentReview","WorkflowStateTooltip","Ui","TooltipButton","createElement","PageFormWorkflowStateTooltip","TopBar","Action","before","name","element"],"sources":["PageFormWorkflowStateTooltip.tsx"],"sourcesContent":["import React from \"react\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\n\nconst {\n ContentReview: { WorkflowStateTooltip }\n} = Components;\n\nconst { Ui } = PageEditorConfig;\n\nconst TooltipButton = () => {\n return <WorkflowStateTooltip />;\n};\n\nexport const PageFormWorkflowStateTooltip = () => {\n return (\n <Ui.TopBar.Action\n before={\"buttonPublish\"}\n name={\"buttonWorkflowStateTooltip\"}\n element={<TooltipButton />}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,gBAAgB,QAAQ,6BAA6B;AAE9D,MAAM;EACFC,aAAa,EAAE;IAAEC;EAAqB;AAC1C,CAAC,GAAGH,UAAU;AAEd,MAAM;EAAEI;AAAG,CAAC,GAAGH,gBAAgB;AAE/B,MAAMI,aAAa,GAAGA,CAAA,KAAM;EACxB,oBAAON,KAAA,CAAAO,aAAA,CAACH,oBAAoB,MAAE,CAAC;AACnC,CAAC;AAED,OAAO,MAAMI,4BAA4B,GAAGA,CAAA,KAAM;EAC9C,oBACIR,KAAA,CAAAO,aAAA,CAACF,EAAE,CAACI,MAAM,CAACC,MAAM;IACbC,MAAM,EAAE,eAAgB;IACxBC,IAAI,EAAE,4BAA6B;IACnCC,OAAO,eAAEb,KAAA,CAAAO,aAAA,CAACD,aAAa,MAAE;EAAE,CAC9B,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare const PageWorkflowsEditorMenu: () => React.JSX.Element;
3
+ export declare const PageWorkflowsEditorView: () => React.JSX.Element;
@@ -0,0 +1,60 @@
1
+ import React, { useCallback, useMemo } from "react";
2
+ import { AdminConfig, useRoute, useRouter } from "@webiny/app-admin";
3
+ import { Routes } from "../../routes.js";
4
+ import { Components } from "@webiny/app-workflows";
5
+ import { Icon } from "@webiny/admin-ui";
6
+ import { ReactComponent as WorkflowsIcon } from "@webiny/icons/workspaces.svg";
7
+ import { WB_PAGE_APP } from "../../constants.js";
8
+ const {
9
+ Admin: {
10
+ WorkflowsEditor
11
+ }
12
+ } = Components;
13
+ const {
14
+ Menu
15
+ } = AdminConfig;
16
+ export const PageWorkflowsEditorMenu = () => {
17
+ const router = useRouter();
18
+ return /*#__PURE__*/React.createElement(Menu, {
19
+ name: "websiteBuilder.pages.workflows",
20
+ pinnable: true,
21
+ parent: "wb",
22
+ element: /*#__PURE__*/React.createElement(Menu.Link, {
23
+ text: "Workflows",
24
+ to: router.getLink(Routes.Pages.Workflows)
25
+ })
26
+ });
27
+ };
28
+ export const PageWorkflowsEditorView = () => {
29
+ const {
30
+ route
31
+ } = useRoute(Routes.Pages.Workflows);
32
+ const {
33
+ goToRoute
34
+ } = useRouter();
35
+ const apps = useMemo(() => {
36
+ return [{
37
+ id: WB_PAGE_APP,
38
+ name: "Pages",
39
+ icon: /*#__PURE__*/React.createElement(Icon, {
40
+ icon: /*#__PURE__*/React.createElement(WorkflowsIcon, null),
41
+ label: "Pages Workflows"
42
+ })
43
+ }];
44
+ }, []);
45
+ const onAppClick = useCallback(id => {
46
+ goToRoute(Routes.Pages.Workflows, {
47
+ app: id
48
+ });
49
+ }, [apps]);
50
+ const app = useMemo(() => {
51
+ return apps.find(a => a.id === route.params.app) || apps[0];
52
+ }, [route.params.app, apps]);
53
+ return /*#__PURE__*/React.createElement(WorkflowsEditor, {
54
+ apps: apps,
55
+ onAppClick: onAppClick,
56
+ app: app.id
57
+ });
58
+ };
59
+
60
+ //# sourceMappingURL=PageWorkflowsEditorView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","AdminConfig","useRoute","useRouter","Routes","Components","Icon","ReactComponent","WorkflowsIcon","WB_PAGE_APP","Admin","WorkflowsEditor","Menu","PageWorkflowsEditorMenu","router","createElement","name","pinnable","parent","element","Link","text","to","getLink","Pages","Workflows","PageWorkflowsEditorView","route","goToRoute","apps","id","icon","label","onAppClick","app","find","a","params"],"sources":["PageWorkflowsEditorView.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { AdminConfig, useRoute, useRouter } from \"@webiny/app-admin\";\nimport { Routes } from \"~/routes.js\";\nimport type { IWorkflowApplication } from \"@webiny/app-workflows\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { Icon } from \"@webiny/admin-ui\";\nimport { ReactComponent as WorkflowsIcon } from \"@webiny/icons/workspaces.svg\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\n\nconst {\n Admin: { WorkflowsEditor }\n} = Components;\n\nconst { Menu } = AdminConfig;\n\nexport const PageWorkflowsEditorMenu = () => {\n const router = useRouter();\n\n return (\n <Menu\n name={\"websiteBuilder.pages.workflows\"}\n pinnable={true}\n parent={\"wb\"}\n element={<Menu.Link text={\"Workflows\"} to={router.getLink(Routes.Pages.Workflows)} />}\n />\n );\n};\n\nexport const PageWorkflowsEditorView = () => {\n const { route } = useRoute(Routes.Pages.Workflows);\n const { goToRoute } = useRouter();\n\n const apps = useMemo<IWorkflowApplication[]>(() => {\n return [\n {\n id: WB_PAGE_APP,\n name: \"Pages\",\n icon: <Icon icon={<WorkflowsIcon />} label={\"Pages Workflows\"} />\n }\n ];\n }, []);\n\n const onAppClick = useCallback(\n (id: string) => {\n goToRoute(Routes.Pages.Workflows, {\n app: id\n });\n },\n [apps]\n );\n\n const app = useMemo(() => {\n return apps.find(a => a.id === route.params.app) || apps[0];\n }, [route.params.app, apps]);\n\n return <WorkflowsEditor apps={apps} onAppClick={onAppClick} app={app.id} />;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,SAASC,WAAW,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,mBAAmB;AACpE,SAASC,MAAM;AAEf,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,cAAc,IAAIC,aAAa,QAAQ,8BAA8B;AAC9E,SAASC,WAAW;AAEpB,MAAM;EACFC,KAAK,EAAE;IAAEC;EAAgB;AAC7B,CAAC,GAAGN,UAAU;AAEd,MAAM;EAAEO;AAAK,CAAC,GAAGX,WAAW;AAE5B,OAAO,MAAMY,uBAAuB,GAAGA,CAAA,KAAM;EACzC,MAAMC,MAAM,GAAGX,SAAS,CAAC,CAAC;EAE1B,oBACIL,KAAA,CAAAiB,aAAA,CAACH,IAAI;IACDI,IAAI,EAAE,gCAAiC;IACvCC,QAAQ,EAAE,IAAK;IACfC,MAAM,EAAE,IAAK;IACbC,OAAO,eAAErB,KAAA,CAAAiB,aAAA,CAACH,IAAI,CAACQ,IAAI;MAACC,IAAI,EAAE,WAAY;MAACC,EAAE,EAAER,MAAM,CAACS,OAAO,CAACnB,MAAM,CAACoB,KAAK,CAACC,SAAS;IAAE,CAAE;EAAE,CACzF,CAAC;AAEV,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;EACzC,MAAM;IAAEC;EAAM,CAAC,GAAGzB,QAAQ,CAACE,MAAM,CAACoB,KAAK,CAACC,SAAS,CAAC;EAClD,MAAM;IAAEG;EAAU,CAAC,GAAGzB,SAAS,CAAC,CAAC;EAEjC,MAAM0B,IAAI,GAAG7B,OAAO,CAAyB,MAAM;IAC/C,OAAO,CACH;MACI8B,EAAE,EAAErB,WAAW;MACfO,IAAI,EAAE,OAAO;MACbe,IAAI,eAAEjC,KAAA,CAAAiB,aAAA,CAACT,IAAI;QAACyB,IAAI,eAAEjC,KAAA,CAAAiB,aAAA,CAACP,aAAa,MAAE,CAAE;QAACwB,KAAK,EAAE;MAAkB,CAAE;IACpE,CAAC,CACJ;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,UAAU,GAAGlC,WAAW,CACzB+B,EAAU,IAAK;IACZF,SAAS,CAACxB,MAAM,CAACoB,KAAK,CAACC,SAAS,EAAE;MAC9BS,GAAG,EAAEJ;IACT,CAAC,CAAC;EACN,CAAC,EACD,CAACD,IAAI,CACT,CAAC;EAED,MAAMK,GAAG,GAAGlC,OAAO,CAAC,MAAM;IACtB,OAAO6B,IAAI,CAACM,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACN,EAAE,KAAKH,KAAK,CAACU,MAAM,CAACH,GAAG,CAAC,IAAIL,IAAI,CAAC,CAAC,CAAC;EAC/D,CAAC,EAAE,CAACF,KAAK,CAACU,MAAM,CAACH,GAAG,EAAEL,IAAI,CAAC,CAAC;EAE5B,oBAAO/B,KAAA,CAAAiB,aAAA,CAACJ,eAAe;IAACkB,IAAI,EAAEA,IAAK;IAACI,UAAU,EAAEA,UAAW;IAACC,GAAG,EAAEA,GAAG,CAACJ;EAAG,CAAE,CAAC;AAC/E,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./PageWorkflowsEditorView.js";
@@ -0,0 +1,3 @@
1
+ export * from "./PageWorkflowsEditorView.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./PageWorkflowsEditorView.js\";\n"],"mappings":"AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageListChangeStatus: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ import { PageListConfig } from "@webiny/app-website-builder";
3
+ import { WorkflowStateValue } from "@webiny/app-workflows/types.js";
4
+ import { usePage } from "../../hooks/usePage.js";
5
+ const {
6
+ Browser
7
+ } = PageListConfig;
8
+ const WrappedElement = props => {
9
+ const {
10
+ page
11
+ } = usePage();
12
+ const state = page.workflows?.state;
13
+ if (!state?.state || state.state === WorkflowStateValue.approved) {
14
+ return props.element;
15
+ }
16
+ return null;
17
+ };
18
+ export const PageListChangeStatus = Browser.Page.Action.createDecorator(Original => {
19
+ return function PageListChangeStatusAction(props) {
20
+ if (props.name === "changeStatus") {
21
+ return /*#__PURE__*/React.createElement(Original, Object.assign({}, props, {
22
+ element: /*#__PURE__*/React.createElement(WrappedElement, {
23
+ element: props.element
24
+ })
25
+ }));
26
+ }
27
+ return /*#__PURE__*/React.createElement(Original, props);
28
+ };
29
+ });
30
+
31
+ //# sourceMappingURL=PageListChangeStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PageListConfig","WorkflowStateValue","usePage","Browser","WrappedElement","props","page","state","workflows","approved","element","PageListChangeStatus","Page","Action","createDecorator","Original","PageListChangeStatusAction","name","createElement","Object","assign"],"sources":["PageListChangeStatus.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageListConfig } from \"@webiny/app-website-builder\";\nimport { WorkflowStateValue } from \"@webiny/app-workflows/types.js\";\nimport { usePage } from \"~/hooks/usePage.js\";\n\nconst { Browser } = PageListConfig;\n\ninterface IWrappedElementProps {\n element: React.ReactElement | undefined;\n}\n\nconst WrappedElement = (props: IWrappedElementProps) => {\n const { page } = usePage();\n const state = page.workflows?.state;\n\n if (!state?.state || state.state === WorkflowStateValue.approved) {\n return props.element;\n }\n return null;\n};\n\nexport const PageListChangeStatus = Browser.Page.Action.createDecorator(Original => {\n return function PageListChangeStatusAction(props) {\n if (props.name === \"changeStatus\") {\n return <Original {...props} element={<WrappedElement element={props.element} />} />;\n }\n return <Original {...props} />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,6BAA6B;AAC5D,SAASC,kBAAkB,QAAQ,gCAAgC;AACnE,SAASC,OAAO;AAEhB,MAAM;EAAEC;AAAQ,CAAC,GAAGH,cAAc;AAMlC,MAAMI,cAAc,GAAIC,KAA2B,IAAK;EACpD,MAAM;IAAEC;EAAK,CAAC,GAAGJ,OAAO,CAAC,CAAC;EAC1B,MAAMK,KAAK,GAAGD,IAAI,CAACE,SAAS,EAAED,KAAK;EAEnC,IAAI,CAACA,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAACA,KAAK,KAAKN,kBAAkB,CAACQ,QAAQ,EAAE;IAC9D,OAAOJ,KAAK,CAACK,OAAO;EACxB;EACA,OAAO,IAAI;AACf,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAGR,OAAO,CAACS,IAAI,CAACC,MAAM,CAACC,eAAe,CAACC,QAAQ,IAAI;EAChF,OAAO,SAASC,0BAA0BA,CAACX,KAAK,EAAE;IAC9C,IAAIA,KAAK,CAACY,IAAI,KAAK,cAAc,EAAE;MAC/B,oBAAOlB,KAAA,CAAAmB,aAAA,CAACH,QAAQ,EAAAI,MAAA,CAAAC,MAAA,KAAKf,KAAK;QAAEK,OAAO,eAAEX,KAAA,CAAAmB,aAAA,CAACd,cAAc;UAACM,OAAO,EAAEL,KAAK,CAACK;QAAQ,CAAE;MAAE,EAAE,CAAC;IACvF;IACA,oBAAOX,KAAA,CAAAmB,aAAA,CAACH,QAAQ,EAAKV,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PagesList: () => React.JSX.Element;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { PageListConfig } from "@webiny/app-website-builder";
3
+ import { PagesListContentReviews } from "./PagesListContentReviews.js";
4
+ import { PageListChangeStatus } from "./PageListChangeStatus.js";
5
+ export const PagesList = () => {
6
+ return /*#__PURE__*/React.createElement(PageListConfig, null, /*#__PURE__*/React.createElement(PagesListContentReviews, null), /*#__PURE__*/React.createElement(PageListChangeStatus, null));
7
+ };
8
+
9
+ //# sourceMappingURL=PagesList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PageListConfig","PagesListContentReviews","PageListChangeStatus","PagesList","createElement"],"sources":["PagesList.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageListConfig } from \"@webiny/app-website-builder\";\nimport { PagesListContentReviews } from \"./PagesListContentReviews.js\";\nimport { PageListChangeStatus } from \"./PageListChangeStatus.js\";\n\nexport const PagesList = () => {\n return (\n <PageListConfig>\n {/* Add a Content Reviews button to footer in sidebar */}\n <PagesListContentReviews />\n {/* Decorate the Change Status action in row options to hide it for pages in certain workflow states */}\n <PageListChangeStatus />\n </PageListConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,6BAA6B;AAC5D,SAASC,uBAAuB;AAChC,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC3B,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,cAAc,qBAEXD,KAAA,CAAAK,aAAA,CAACH,uBAAuB,MAAE,CAAC,eAE3BF,KAAA,CAAAK,aAAA,CAACF,oBAAoB,MAAE,CACX,CAAC;AAEzB,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PagesListContentReviews: () => React.JSX.Element;
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import { Sidebar } from "@webiny/admin-ui";
3
+ import { PageListConfig } from "@webiny/app-website-builder";
4
+ import { Components } from "@webiny/app-workflows";
5
+ import { useApolloClient } from "@apollo/react-hooks";
6
+ import { WB_PAGE_APP } from "../../constants.js";
7
+ import { ReactComponent as WorkflowStateListIcon } from "@webiny/icons/work_outline.svg";
8
+ const {
9
+ Overlay: {
10
+ WorkflowStateListAppOverlay
11
+ }
12
+ } = Components;
13
+ const {
14
+ Browser
15
+ } = PageListConfig;
16
+ const PageListContentReviewsButton = () => {
17
+ const client = useApolloClient();
18
+ return /*#__PURE__*/React.createElement(WorkflowStateListAppOverlay, {
19
+ client: client,
20
+ app: WB_PAGE_APP
21
+ }, ({
22
+ showOverlay
23
+ }) => {
24
+ return /*#__PURE__*/React.createElement(Sidebar.Item, {
25
+ className: "w-full",
26
+ onClick: showOverlay,
27
+ text: "Content Reviews",
28
+ icon: /*#__PURE__*/React.createElement(Sidebar.Item.Icon, {
29
+ element: /*#__PURE__*/React.createElement(WorkflowStateListIcon, null),
30
+ label: "Content Reviews"
31
+ })
32
+ });
33
+ });
34
+ };
35
+ export const PagesListContentReviews = () => {
36
+ return /*#__PURE__*/React.createElement(Browser.Sidebar.Footer, {
37
+ name: "contentReviews",
38
+ element: /*#__PURE__*/React.createElement(PageListContentReviewsButton, null)
39
+ });
40
+ };
41
+
42
+ //# sourceMappingURL=PagesListContentReviews.js.map