@webiny/app-website-builder-workflows 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (71) hide show
  1. package/Components/OptionItem/OpenInNewWindow.js +26 -33
  2. package/Components/OptionItem/OpenInNewWindow.js.map +1 -1
  3. package/Components/OptionItem/index.js +0 -2
  4. package/Components/PageEditor/PageEditorAutoSave.js +16 -27
  5. package/Components/PageEditor/PageEditorAutoSave.js.map +1 -1
  6. package/Components/PageEditor/PageEditorConfig.js +5 -10
  7. package/Components/PageEditor/PageEditorConfig.js.map +1 -1
  8. package/Components/PageEditor/PageEditorLayout.js +36 -32
  9. package/Components/PageEditor/PageEditorLayout.js.map +1 -1
  10. package/Components/PageEditor/PageEditorTopBar.d.ts +2 -0
  11. package/Components/PageEditor/PageEditorTopBar.js +31 -0
  12. package/Components/PageEditor/PageEditorTopBar.js.map +1 -0
  13. package/Components/PageEditor/PageFormWorkflowState.js +7 -33
  14. package/Components/PageEditor/PageFormWorkflowState.js.map +1 -1
  15. package/Components/PageEditor/PageFormWorkflowStatePublishButton.js +17 -28
  16. package/Components/PageEditor/PageFormWorkflowStatePublishButton.js.map +1 -1
  17. package/Components/PageEditor/PageFormWorkflowStateTooltip.js +10 -19
  18. package/Components/PageEditor/PageFormWorkflowStateTooltip.js.map +1 -1
  19. package/Components/PageEditor/ToggleEditorMode.d.ts +3 -0
  20. package/Components/PageEditor/ToggleEditorMode.js +21 -0
  21. package/Components/PageEditor/ToggleEditorMode.js.map +1 -0
  22. package/Components/PageWorkflows/PageWorkflowsEditorView.js +44 -50
  23. package/Components/PageWorkflows/PageWorkflowsEditorView.js.map +1 -1
  24. package/Components/PageWorkflows/index.js +0 -2
  25. package/Components/PagesList/PageListChangeStatus.js +17 -25
  26. package/Components/PagesList/PageListChangeStatus.js.map +1 -1
  27. package/Components/PagesList/PagesList.js +3 -4
  28. package/Components/PagesList/PagesList.js.map +1 -1
  29. package/Components/PagesList/PagesListContentReviews.js +23 -34
  30. package/Components/PagesList/PagesListContentReviews.js.map +1 -1
  31. package/Components/PagesList/index.js +0 -2
  32. package/Components/index.js +0 -2
  33. package/Routes/WebsiteBuilderWorkflowsMenu.js +17 -26
  34. package/Routes/WebsiteBuilderWorkflowsMenu.js.map +1 -1
  35. package/Routes/index.js +0 -2
  36. package/constants.js +2 -1
  37. package/constants.js.map +1 -1
  38. package/hooks/usePage.js +15 -17
  39. package/hooks/usePage.js.map +1 -1
  40. package/index.js +7 -8
  41. package/index.js.map +1 -1
  42. package/package.json +25 -20
  43. package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js +11 -8
  44. package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js.map +1 -1
  45. package/presentation/page/PageGet/feature.js +6 -5
  46. package/presentation/page/PageGet/feature.js.map +1 -1
  47. package/presentation/page/PageList/PageListPresenterDecorator.js +31 -35
  48. package/presentation/page/PageList/PageListPresenterDecorator.js.map +1 -1
  49. package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js +11 -8
  50. package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js.map +1 -1
  51. package/presentation/page/PageList/feature.js +7 -6
  52. package/presentation/page/PageList/feature.js.map +1 -1
  53. package/routes.js +15 -16
  54. package/routes.js.map +1 -1
  55. package/types.d.ts +10 -0
  56. package/types.js +0 -3
  57. package/Components/OptionItem/index.js.map +0 -1
  58. package/Components/PageEditor/PageEditorSettings.d.ts +0 -2
  59. package/Components/PageEditor/PageEditorSettings.js +0 -30
  60. package/Components/PageEditor/PageEditorSettings.js.map +0 -1
  61. package/Components/PageEditor/PageEditorSidebar.d.ts +0 -2
  62. package/Components/PageEditor/PageEditorSidebar.js +0 -17
  63. package/Components/PageEditor/PageEditorSidebar.js.map +0 -1
  64. package/Components/PageEditor/PageEditorToolbar.d.ts +0 -2
  65. package/Components/PageEditor/PageEditorToolbar.js +0 -17
  66. package/Components/PageEditor/PageEditorToolbar.js.map +0 -1
  67. package/Components/PageWorkflows/index.js.map +0 -1
  68. package/Components/PagesList/index.js.map +0 -1
  69. package/Components/index.js.map +0 -1
  70. package/Routes/index.js.map +0 -1
  71. package/types.js.map +0 -1
@@ -1,41 +1,34 @@
1
- import React, { useCallback } from "react";
1
+ import react, { useCallback } from "react";
2
2
  import { DropdownMenu, Icon } from "@webiny/admin-ui";
3
3
  import { Components } from "@webiny/app-workflows";
4
- import { ReactComponent as OpenInNewIcon } from "@webiny/icons/open_in_new.svg";
4
+ import { ReactComponent } from "@webiny/icons/open_in_new.svg";
5
5
  import { useRouter } from "@webiny/app";
6
6
  import { Routes } from "@webiny/app-website-builder/routes.js";
7
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
8
+ const { OpenInNewWindow: OpenInNewWindow } = Components.List.Options;
9
+ const OpenInNewWindow_ListOpenInNewWindow = OpenInNewWindow.createDecorator((Original)=>function(props) {
10
+ const { state } = props;
11
+ const { getLink } = useRouter();
12
+ const onClick = useCallback(()=>{
13
+ const url = getLink(Routes.Pages.Editor, {
14
+ id: state.targetRevisionId,
15
+ folderId: "root"
16
+ });
17
+ const goTo = `${window.location.origin}${url}`;
18
+ window.open(goTo, "_blank");
19
+ }, [
20
+ state.id
21
+ ]);
22
+ if (state.app !== WB_PAGE_APP) return /*#__PURE__*/ react.createElement(Original, props);
23
+ return /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
24
+ icon: /*#__PURE__*/ react.createElement(Icon, {
25
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
26
+ label: "Open In New Window"
27
+ }),
28
+ text: "Open in New Window",
29
+ onClick: onClick
30
+ });
37
31
  });
38
- };
39
- });
32
+ export { OpenInNewWindow_ListOpenInNewWindow as ListOpenInNewWindow };
40
33
 
41
34
  //# sourceMappingURL=OpenInNewWindow.js.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"Components/OptionItem/OpenInNewWindow.js","sources":["../../../src/Components/OptionItem/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"],"names":["OpenInNewWindow","Components","ListOpenInNewWindow","Original","props","state","getLink","useRouter","onClick","useCallback","url","Routes","goTo","window","WB_PAGE_APP","DropdownMenu","Icon","OpenInNewIcon"],"mappings":";;;;;;;AAQA,MAAM,EAAEA,iBAAAA,eAAe,EAAE,GAAGC,WAAW,IAAI,CAAC,OAAO;AAE5C,MAAMC,sCAAsBF,gBAAgB,eAAe,CAACG,CAAAA,WACxD,SAA6BC,KAAK;QACrC,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAElB,MAAM,EAAEE,OAAO,EAAE,GAAGC;QACpB,MAAMC,UAAUC,YAAY;YACxB,MAAMC,MAAMJ,QAAQK,OAAO,KAAK,CAAC,MAAM,EAAE;gBACrC,IAAIN,MAAM,gBAAgB;gBAC1B,UAAU;YACd;YAEA,MAAMO,OAAO,GAAGC,OAAO,QAAQ,CAAC,MAAM,GAAGH,KAAK;YAE9CG,OAAO,IAAI,CAACD,MAAM;QACtB,GAAG;YAACP,MAAM,EAAE;SAAC;QAEb,IAAIA,MAAM,GAAG,KAAKS,aACd,OAAO,WAAP,GAAO,oBAACX,UAAaC;QAGzB,OAAO,WAAP,GACI,oBAACW,aAAa,IAAI;YACd,oBAAM,oBAACC,MAAIA;gBAAC,oBAAM,oBAACC,gBAAaA;gBAAK,OAAO;;YAC5C,MAAM;YACN,SAAST;;IAGrB"}
@@ -1,3 +1 @@
1
1
  export { ListOpenInNewWindow } from "./OpenInNewWindow.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,33 +1,22 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { PageEditorConfig } from "@webiny/app-website-builder";
3
3
  import { useWorkflowState } from "@webiny/app-workflows";
4
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
- };
5
+ const { Ui: Ui } = PageEditorConfig;
6
+ const WrappedAutoSave = observer((props)=>{
7
+ const { presenter } = useWorkflowState();
8
+ if (!presenter.vm.state?.state) return props.element;
9
+ return null;
31
10
  });
11
+ const PageEditorAutoSave = Ui.TopBar.Element.createDecorator((Original)=>function(props) {
12
+ if ("autoSave" === props.name) return /*#__PURE__*/ react.createElement(Original, {
13
+ ...props,
14
+ element: /*#__PURE__*/ react.createElement(WrappedAutoSave, {
15
+ element: props.element
16
+ })
17
+ });
18
+ return /*#__PURE__*/ react.createElement(Original, props);
19
+ });
20
+ export { PageEditorAutoSave };
32
21
 
33
22
  //# sourceMappingURL=PageEditorAutoSave.js.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"Components/PageEditor/PageEditorAutoSave.js","sources":["../../../src/Components/PageEditor/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"],"names":["Ui","PageEditorConfig","WrappedAutoSave","observer","props","presenter","useWorkflowState","PageEditorAutoSave","Original"],"mappings":";;;;AAKA,MAAM,EAAEA,IAAAA,EAAE,EAAE,GAAGC;AAKf,MAAMC,kBAAkBC,SAAS,CAACC;IAC9B,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAItB,IAAI,CAACD,UAAU,EAAE,CAAC,KAAK,EAAE,OACrB,OAAOD,MAAM,OAAO;IAGxB,OAAO;AACX;AAEO,MAAMG,qBAAqBP,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAACQ,CAAAA,WACzD,SAAqCJ,KAAK;QAC7C,IAAIA,AAAe,eAAfA,MAAM,IAAI,EACV,OAAO,WAAP,GAAO,oBAACI,UAAAA;YAAU,GAAGJ,KAAK;YAAE,uBAAS,oBAACF,iBAAeA;gBAAC,SAASE,MAAM,OAAO;;;QAEhF,OAAO,WAAP,GAAO,oBAACI,UAAaJ;IACzB"}
@@ -1,14 +1,9 @@
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";
1
+ import react from "react";
2
+ import { PageEditorConfig } from "@webiny/app-website-builder";
5
3
  import { PageFormWorkflowStateTooltip } from "./PageFormWorkflowStateTooltip.js";
6
4
  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
- };
5
+ import { PageEditorTopBar } from "./PageEditorTopBar.js";
6
+ const PageEditorConfig_PageEditorConfig = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(PageEditorTopBar, null), /*#__PURE__*/ react.createElement(PageEditorConfig, null, /*#__PURE__*/ react.createElement(PageFormWorkflowStateTooltip, null), /*#__PURE__*/ react.createElement(PageFormWorkflowStatePublishButton, null)));
7
+ export { PageEditorConfig_PageEditorConfig as PageEditorConfig };
13
8
 
14
9
  //# sourceMappingURL=PageEditorConfig.js.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"Components/PageEditor/PageEditorConfig.js","sources":["../../../src/Components/PageEditor/PageEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageEditorConfig as BaseConfig } from \"@webiny/app-website-builder\";\nimport { PageFormWorkflowStateTooltip } from \"./PageFormWorkflowStateTooltip.js\";\nimport { PageFormWorkflowStatePublishButton } from \"./PageFormWorkflowStatePublishButton.js\";\nimport { PageEditorTopBar } from \"./PageEditorTopBar.js\";\n\nexport const PageEditorConfig = () => {\n return (\n <>\n {/* Toggle editor \"readonly\" mode, and add workflow alerts */}\n <PageEditorTopBar />\n <BaseConfig>\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"],"names":["PageEditorConfig","PageEditorTopBar","BaseConfig","PageFormWorkflowStateTooltip","PageFormWorkflowStatePublishButton"],"mappings":";;;;;AAMO,MAAMA,oCAAmB,IACrB,WAAP,GACI,wDAEI,oBAACC,kBAAgBA,OAAAA,WAAAA,GACjB,oBAACC,kBAAUA,MAAAA,WAAAA,GAEP,oBAACC,8BAA4BA,OAAAA,WAAAA,GAE7B,oBAACC,oCAAkCA"}
@@ -1,39 +1,43 @@
1
- import React from "react";
1
+ import react, { useEffect } from "react";
2
2
  import { useSelectFromDocument } from "@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js";
3
3
  import { useApolloClient } from "@apollo/react-hooks";
4
- import { useSecurity } from "@webiny/app-admin";
5
- import { Components } from "@webiny/app-workflows";
4
+ import { useAuthentication } from "@webiny/app-admin";
5
+ import { Components, useWorkflowState } from "@webiny/app-workflows";
6
6
  import { WB_PAGE_APP } from "../../constants.js";
7
- import { PageFormWorkflowState } from "./PageFormWorkflowState.js";
8
7
  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
- } = useSecurity();
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
- };
8
+ import { observer } from "mobx-react-lite";
9
+ import { useDocumentEditor } from "@webiny/app-website-builder/DocumentEditor/index.js";
10
+ const { Ui: Ui } = PageEditorConfig;
11
+ const { ContentReview: { WorkflowStateProvider: WorkflowStateProvider } } = Components;
12
+ const ToggleReadonly = observer(()=>{
13
+ const { presenter } = useWorkflowState();
14
+ const editor = useDocumentEditor();
15
+ const hasState = !!presenter.vm.state?.state;
16
+ useEffect(()=>{
17
+ const options = editor.getEditorOptions();
18
+ editor.updateEditor((state)=>{
19
+ state.isReadOnly = options.isReadOnly || hasState;
20
+ });
21
+ }, [
22
+ hasState
23
+ ]);
24
+ return null;
37
25
  });
26
+ const PageEditorLayout = Ui.Layout.createDecorator((Original)=>function() {
27
+ const page = useSelectFromDocument((doc)=>({
28
+ id: doc.id,
29
+ title: doc.properties.title || "unknown page"
30
+ }));
31
+ const client = useApolloClient();
32
+ const { identity } = useAuthentication();
33
+ return /*#__PURE__*/ react.createElement(WorkflowStateProvider, {
34
+ app: WB_PAGE_APP,
35
+ id: page.id,
36
+ identity: identity,
37
+ client: client,
38
+ title: `Website Builder: ${page.title}`
39
+ }, /*#__PURE__*/ react.createElement(Original, null), /*#__PURE__*/ react.createElement(ToggleReadonly, null));
40
+ });
41
+ export { PageEditorLayout };
38
42
 
39
43
  //# sourceMappingURL=PageEditorLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useSelectFromDocument","useApolloClient","useSecurity","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 { useSecurity } 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 } = useSecurity();\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,WAAW,QAAQ,mBAAmB;AAC/C,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,WAAW,CAAC,CAAC;IAElC,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":[]}
1
+ {"version":3,"file":"Components/PageEditor/PageEditorLayout.js","sources":["../../../src/Components/PageEditor/PageEditorLayout.tsx"],"sourcesContent":["import React, { useEffect } 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, useWorkflowState } from \"@webiny/app-workflows\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\nimport { observer } from \"mobx-react-lite\";\nimport { useDocumentEditor } from \"@webiny/app-website-builder/DocumentEditor/index.js\";\n\nconst { Ui } = PageEditorConfig;\n\nconst {\n ContentReview: { WorkflowStateProvider }\n} = Components;\n\nconst ToggleReadonly = observer(() => {\n const { presenter } = useWorkflowState();\n const editor = useDocumentEditor();\n\n const hasState = !!presenter.vm.state?.state;\n\n useEffect(() => {\n const options = editor.getEditorOptions();\n editor.updateEditor(state => {\n state.isReadOnly = options.isReadOnly || hasState;\n });\n }, [hasState]);\n\n return null;\n});\n\nexport const PageEditorLayout = Ui.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 />\n <ToggleReadonly />\n </WorkflowStateProvider>\n );\n };\n});\n"],"names":["Ui","PageEditorConfig","WorkflowStateProvider","Components","ToggleReadonly","observer","presenter","useWorkflowState","editor","useDocumentEditor","hasState","useEffect","options","state","PageEditorLayout","Original","page","useSelectFromDocument","doc","client","useApolloClient","identity","useAuthentication","WB_PAGE_APP"],"mappings":";;;;;;;;;AAUA,MAAM,EAAEA,IAAAA,EAAE,EAAE,GAAGC;AAEf,MAAM,EACF,eAAe,EAAEC,uBAAAA,qBAAqB,EAAE,EAC3C,GAAGC;AAEJ,MAAMC,iBAAiBC,SAAS;IAC5B,MAAM,EAAEC,SAAS,EAAE,GAAGC;IACtB,MAAMC,SAASC;IAEf,MAAMC,WAAW,CAAC,CAACJ,UAAU,EAAE,CAAC,KAAK,EAAE;IAEvCK,UAAU;QACN,MAAMC,UAAUJ,OAAO,gBAAgB;QACvCA,OAAO,YAAY,CAACK,CAAAA;YAChBA,MAAM,UAAU,GAAGD,QAAQ,UAAU,IAAIF;QAC7C;IACJ,GAAG;QAACA;KAAS;IAEb,OAAO;AACX;AAEO,MAAMI,mBAAmBd,GAAG,MAAM,CAAC,eAAe,CAACe,CAAAA,WAC/C;QACH,MAAMC,OAAOC,sBAAsBC,CAAAA,MACxB;gBACH,IAAIA,IAAI,EAAE;gBACV,OAAOA,IAAI,UAAU,CAAC,KAAK,IAAI;YACnC;QAGJ,MAAMC,SAASC;QACf,MAAM,EAAEC,QAAQ,EAAE,GAAGC;QAErB,OAAO,WAAP,GACI,oBAACpB,uBAAqBA;YAClB,KAAKqB;YACL,IAAIP,KAAK,EAAE;YACX,UAAUK;YACV,QAAQF;YACR,OAAO,CAAC,iBAAiB,EAAEH,KAAK,KAAK,EAAE;yBAEvC,oBAACD,UAAAA,OAAAA,WAAAA,GACD,oBAACX,gBAAcA;IAG3B"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const PageEditorTopBar: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,31 @@
1
+ import react from "react";
2
+ import { useApolloClient } from "@apollo/react-hooks";
3
+ import { PageEditorConfig } from "@webiny/app-website-builder";
4
+ import { useSelectFromDocument } from "@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js";
5
+ import { useAuthentication } from "@webiny/app-admin";
6
+ import { WorkflowStateProvider } from "@webiny/app-workflows/Components/WorkflowState/index.js";
7
+ import { WB_PAGE_APP } from "../../constants.js";
8
+ import { PageFormWorkflowState } from "./PageFormWorkflowState.js";
9
+ import { ToggleEditorMode } from "./ToggleEditorMode.js";
10
+ import { WbPageStatus } from "@webiny/app-website-builder/constants.js";
11
+ const { Ui: Ui } = PageEditorConfig;
12
+ const PageEditorTopBar = Ui.TopBar.Layout.createDecorator((Original)=>function() {
13
+ const page = useSelectFromDocument((doc)=>({
14
+ id: doc.id,
15
+ title: doc.properties.title || "unknown page",
16
+ status: doc.status || "draft"
17
+ }));
18
+ const client = useApolloClient();
19
+ const { identity } = useAuthentication();
20
+ return /*#__PURE__*/ react.createElement(WorkflowStateProvider, {
21
+ app: WB_PAGE_APP,
22
+ id: page.id,
23
+ disabled: page.status !== WbPageStatus.Draft,
24
+ identity: identity,
25
+ client: client,
26
+ title: `Website Builder: ${page.title}`
27
+ }, /*#__PURE__*/ react.createElement(Original, null), /*#__PURE__*/ react.createElement(ToggleEditorMode, null), /*#__PURE__*/ react.createElement(PageFormWorkflowState, null));
28
+ });
29
+ export { PageEditorTopBar };
30
+
31
+ //# sourceMappingURL=PageEditorTopBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Components/PageEditor/PageEditorTopBar.js","sources":["../../../src/Components/PageEditor/PageEditorTopBar.tsx"],"sourcesContent":["import React from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\nimport {\n type EditorDocument,\n useSelectFromDocument\n} from \"@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js\";\nimport { useAuthentication } from \"@webiny/app-admin\";\nimport { WorkflowStateProvider } from \"@webiny/app-workflows/Components/WorkflowState/index.js\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\nimport { PageFormWorkflowState } from \"~/Components/PageEditor/PageFormWorkflowState.js\";\nimport { ToggleEditorMode } from \"~/Components/PageEditor/ToggleEditorMode.js\";\nimport { WbPageStatus, type WbStatus } from \"@webiny/app-website-builder/constants.js\";\n\nconst { Ui } = PageEditorConfig;\n\ninterface PageEditorTopBarEditorDocument extends EditorDocument {\n status: WbStatus;\n}\n\ninterface ISelectedPage {\n id: string;\n title: string;\n status: WbStatus;\n}\n\nexport const PageEditorTopBar = Ui.TopBar.Layout.createDecorator(Original => {\n return function PageEditorTopBarWorkflowsState() {\n const page = useSelectFromDocument<ISelectedPage, PageEditorTopBarEditorDocument>(doc => {\n return {\n id: doc.id,\n title: doc.properties.title || \"unknown page\",\n status: doc.status || \"draft\"\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 disabled={page.status !== WbPageStatus.Draft}\n identity={identity}\n client={client}\n title={`Website Builder: ${page.title}`}\n >\n <Original />\n <ToggleEditorMode />\n <PageFormWorkflowState />\n </WorkflowStateProvider>\n );\n };\n});\n"],"names":["Ui","PageEditorConfig","PageEditorTopBar","Original","page","useSelectFromDocument","doc","client","useApolloClient","identity","useAuthentication","WorkflowStateProvider","WB_PAGE_APP","WbPageStatus","ToggleEditorMode","PageFormWorkflowState"],"mappings":";;;;;;;;;;AAcA,MAAM,EAAEA,IAAAA,EAAE,EAAE,GAAGC;AAYR,MAAMC,mBAAmBF,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAACG,CAAAA,WACtD;QACH,MAAMC,OAAOC,sBAAqEC,CAAAA,MACvE;gBACH,IAAIA,IAAI,EAAE;gBACV,OAAOA,IAAI,UAAU,CAAC,KAAK,IAAI;gBAC/B,QAAQA,IAAI,MAAM,IAAI;YAC1B;QAGJ,MAAMC,SAASC;QACf,MAAM,EAAEC,QAAQ,EAAE,GAAGC;QAErB,OAAO,WAAP,GACI,oBAACC,uBAAqBA;YAClB,KAAKC;YACL,IAAIR,KAAK,EAAE;YACX,UAAUA,KAAK,MAAM,KAAKS,aAAa,KAAK;YAC5C,UAAUJ;YACV,QAAQF;YACR,OAAO,CAAC,iBAAiB,EAAEH,KAAK,KAAK,EAAE;yBAEvC,oBAACD,UAAAA,OAAAA,WAAAA,GACD,oBAACW,kBAAgBA,OAAAA,WAAAA,GACjB,oBAACC,uBAAqBA;IAGlC"}
@@ -1,36 +1,10 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { Components } from "@webiny/app-workflows";
3
- import { Alert, Grid } from "@webiny/admin-ui";
4
- const {
5
- ContentReview: {
6
- WorkflowStateBar
7
- }
8
- } = Components;
9
- const StoreAlert = ({
10
- state
11
- }) => {
12
- if (!state) {
13
- return null;
14
- }
15
- return /*#__PURE__*/React.createElement("div", {
16
- className: "max-w-screen bg-white p-sm"
17
- }, /*#__PURE__*/React.createElement(Grid, {
18
- className: "w-full"
19
- }, /*#__PURE__*/React.createElement(Grid.Column, {
20
- span: 12
21
- }, /*#__PURE__*/React.createElement(Alert, {
22
- className: "mb-md mt-md",
23
- type: "danger"
24
- }, "Any changes you do on the page will not be stored!"))));
25
- };
26
- export const PageFormWorkflowState = () => {
27
- return /*#__PURE__*/React.createElement(WorkflowStateBar, null, ({
28
- state
29
- }) => {
30
- return /*#__PURE__*/React.createElement(StoreAlert, {
31
- state: state
32
- });
33
- });
34
- };
3
+ const { ContentReview: { WorkflowStateBar: WorkflowStateBar } } = Components;
4
+ const PageFormWorkflowState = ()=>/*#__PURE__*/ react.createElement(WorkflowStateBar, null, ({ stateBar })=>/*#__PURE__*/ react.createElement("div", {
5
+ className: "max-w-screen bg-white p-sm",
6
+ "data-affects-preview": "height"
7
+ }, stateBar));
8
+ export { PageFormWorkflowState };
35
9
 
36
10
  //# sourceMappingURL=PageFormWorkflowState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Components","Alert","Grid","ContentReview","WorkflowStateBar","StoreAlert","state","createElement","className","Column","span","type","PageFormWorkflowState"],"sources":["PageFormWorkflowState.tsx"],"sourcesContent":["import React from \"react\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { Alert, Grid } from \"@webiny/admin-ui\";\nimport type { IWorkflowState } from \"@webiny/app-workflows/types.js\";\n\nconst {\n ContentReview: { WorkflowStateBar }\n} = Components;\n\ninterface IStoreAlertProps {\n state: IWorkflowState | undefined | null;\n}\n\nconst StoreAlert = ({ state }: IStoreAlertProps) => {\n if (!state) {\n return null;\n }\n return (\n <div className={\"max-w-screen bg-white p-sm\"}>\n <Grid className={\"w-full\"}>\n <Grid.Column span={12}>\n <Alert className={\"mb-md mt-md\"} type=\"danger\">\n Any changes you do on the page will not be stored!\n </Alert>\n </Grid.Column>\n </Grid>\n </div>\n );\n};\n\nexport const PageFormWorkflowState = () => {\n return (\n <WorkflowStateBar>\n {({ state }) => {\n return <StoreAlert state={state} />;\n }}\n </WorkflowStateBar>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,KAAK,EAAEC,IAAI,QAAQ,kBAAkB;AAG9C,MAAM;EACFC,aAAa,EAAE;IAAEC;EAAiB;AACtC,CAAC,GAAGJ,UAAU;AAMd,MAAMK,UAAU,GAAGA,CAAC;EAAEC;AAAwB,CAAC,KAAK;EAChD,IAAI,CAACA,KAAK,EAAE;IACR,OAAO,IAAI;EACf;EACA,oBACIP,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAE;EAA6B,gBACzCT,KAAA,CAAAQ,aAAA,CAACL,IAAI;IAACM,SAAS,EAAE;EAAS,gBACtBT,KAAA,CAAAQ,aAAA,CAACL,IAAI,CAACO,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBX,KAAA,CAAAQ,aAAA,CAACN,KAAK;IAACO,SAAS,EAAE,aAAc;IAACG,IAAI,EAAC;EAAQ,GAAC,oDAExC,CACE,CACX,CACL,CAAC;AAEd,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACvC,oBACIb,KAAA,CAAAQ,aAAA,CAACH,gBAAgB,QACZ,CAAC;IAAEE;EAAM,CAAC,KAAK;IACZ,oBAAOP,KAAA,CAAAQ,aAAA,CAACF,UAAU;MAACC,KAAK,EAAEA;IAAM,CAAE,CAAC;EACvC,CACc,CAAC;AAE3B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Components/PageEditor/PageFormWorkflowState.js","sources":["../../../src/Components/PageEditor/PageFormWorkflowState.tsx"],"sourcesContent":["import React from \"react\";\nimport { Components } from \"@webiny/app-workflows\";\n\nconst {\n ContentReview: { WorkflowStateBar }\n} = Components;\n\nexport const PageFormWorkflowState = () => {\n return (\n <WorkflowStateBar>\n {({ stateBar }) => {\n return (\n <div className={\"max-w-screen bg-white p-sm\"} data-affects-preview={\"height\"}>\n {stateBar}\n </div>\n );\n }}\n </WorkflowStateBar>\n );\n};\n"],"names":["WorkflowStateBar","Components","PageFormWorkflowState","stateBar"],"mappings":";;AAGA,MAAM,EACF,eAAe,EAAEA,kBAAAA,gBAAgB,EAAE,EACtC,GAAGC;AAEG,MAAMC,wBAAwB,IAC1B,WAAP,GACI,oBAACF,kBAAgBA,MACZ,CAAC,EAAEG,QAAQ,EAAE,GACH,WAAP,GACI,oBAAC;YAAI,WAAW;YAA8B,wBAAsB;WAC/DA"}
@@ -1,33 +1,22 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { PageEditorConfig } from "@webiny/app-website-builder";
3
- import { useWorkflowState, WorkflowStateValue } from "@webiny/app-workflows";
3
+ import { WorkflowStateValue, useWorkflowState } from "@webiny/app-workflows";
4
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
- };
5
+ const { Ui: Ui } = PageEditorConfig;
6
+ const WrappedPublishButton = observer((props)=>{
7
+ const { presenter } = useWorkflowState();
8
+ if (!presenter.vm.workflow || presenter.vm.state?.state === WorkflowStateValue.approved) return props.element;
9
+ return null;
31
10
  });
11
+ const PageFormWorkflowStatePublishButton = Ui.TopBar.Action.createDecorator((Original)=>function(props) {
12
+ if ("buttonPublish" === props.name) return /*#__PURE__*/ react.createElement(Original, {
13
+ ...props,
14
+ element: /*#__PURE__*/ react.createElement(WrappedPublishButton, {
15
+ element: props.element
16
+ })
17
+ });
18
+ return /*#__PURE__*/ react.createElement(Original, props);
19
+ });
20
+ export { PageFormWorkflowStatePublishButton };
32
21
 
33
22
  //# sourceMappingURL=PageFormWorkflowStatePublishButton.js.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"Components/PageEditor/PageFormWorkflowStatePublishButton.js","sources":["../../../src/Components/PageEditor/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"],"names":["Ui","PageEditorConfig","WrappedPublishButton","observer","props","presenter","useWorkflowState","WorkflowStateValue","PageFormWorkflowStatePublishButton","Original"],"mappings":";;;;AAKA,MAAM,EAAEA,IAAAA,EAAE,EAAE,GAAGC;AAMf,MAAMC,uBAAuBC,SAAS,CAACC;IACnC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAItB,IAAI,CAACD,UAAU,EAAE,CAAC,QAAQ,IAAIA,UAAU,EAAE,CAAC,KAAK,EAAE,UAAUE,mBAAmB,QAAQ,EACnF,OAAOH,MAAM,OAAO;IAGxB,OAAO;AACX;AAEO,MAAMI,qCAAqCR,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAACS,CAAAA,WACxE,SAA2BL,KAAK;QACnC,IAAIA,AAAe,oBAAfA,MAAM,IAAI,EACV,OAAO,WAAP,GACI,oBAACK,UAAAA;YAAU,GAAGL,KAAK;YAAE,uBAAS,oBAACF,sBAAoBA;gBAAC,SAASE,MAAM,OAAO;;;QAGlF,OAAO,WAAP,GAAO,oBAACK,UAAaL;IACzB"}
@@ -1,23 +1,14 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { Components } from "@webiny/app-workflows";
3
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
- };
4
+ const { ContentReview: { WorkflowStateTooltip: WorkflowStateTooltip } } = Components;
5
+ const { Ui: Ui } = PageEditorConfig;
6
+ const TooltipButton = ()=>/*#__PURE__*/ react.createElement(WorkflowStateTooltip, null);
7
+ const PageFormWorkflowStateTooltip = ()=>/*#__PURE__*/ react.createElement(Ui.TopBar.Action, {
8
+ before: "buttonPublish",
9
+ name: "buttonWorkflowStateTooltip",
10
+ element: /*#__PURE__*/ react.createElement(TooltipButton, null)
11
+ });
12
+ export { PageFormWorkflowStateTooltip };
22
13
 
23
14
  //# sourceMappingURL=PageFormWorkflowStateTooltip.js.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"Components/PageEditor/PageFormWorkflowStateTooltip.js","sources":["../../../src/Components/PageEditor/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"],"names":["WorkflowStateTooltip","Components","Ui","PageEditorConfig","TooltipButton","PageFormWorkflowStateTooltip"],"mappings":";;;AAIA,MAAM,EACF,eAAe,EAAEA,sBAAAA,oBAAoB,EAAE,EAC1C,GAAGC;AAEJ,MAAM,EAAEC,IAAAA,EAAE,EAAE,GAAGC;AAEf,MAAMC,gBAAgB,IACX,WAAP,GAAO,oBAACJ,sBAAoBA;AAGzB,MAAMK,+BAA+B,IACjC,WAAP,GACI,oBAACH,GAAG,MAAM,CAAC,MAAM;QACb,QAAQ;QACR,MAAM;QACN,uBAAS,oBAACE,eAAaA"}
@@ -0,0 +1,3 @@
1
+ export declare const ToggleEditorMode: (() => null) & {
2
+ displayName: string;
3
+ };
@@ -0,0 +1,21 @@
1
+ import { useEffect } from "react";
2
+ import { observer } from "mobx-react-lite";
3
+ import { useWorkflowState } from "@webiny/app-workflows";
4
+ import { useDocumentEditor } from "@webiny/app-website-builder/DocumentEditor/index.js";
5
+ const ToggleEditorMode = observer(()=>{
6
+ const { presenter } = useWorkflowState();
7
+ const editor = useDocumentEditor();
8
+ const hasState = !!presenter.vm.state?.state;
9
+ useEffect(()=>{
10
+ const options = editor.getEditorOptions();
11
+ editor.updateEditor((state)=>{
12
+ state.isReadOnly = options.isReadOnly || hasState;
13
+ });
14
+ }, [
15
+ hasState
16
+ ]);
17
+ return null;
18
+ });
19
+ export { ToggleEditorMode };
20
+
21
+ //# sourceMappingURL=ToggleEditorMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Components/PageEditor/ToggleEditorMode.js","sources":["../../../src/Components/PageEditor/ToggleEditorMode.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\nimport { useDocumentEditor } from \"@webiny/app-website-builder/DocumentEditor/index.js\";\n\nexport const ToggleEditorMode = observer(() => {\n const { presenter } = useWorkflowState();\n const editor = useDocumentEditor();\n\n const hasState = !!presenter.vm.state?.state;\n\n useEffect(() => {\n const options = editor.getEditorOptions();\n editor.updateEditor(state => {\n state.isReadOnly = options.isReadOnly || hasState;\n });\n }, [hasState]);\n\n return null;\n});\n"],"names":["ToggleEditorMode","observer","presenter","useWorkflowState","editor","useDocumentEditor","hasState","useEffect","options","state"],"mappings":";;;;AAKO,MAAMA,mBAAmBC,SAAS;IACrC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IACtB,MAAMC,SAASC;IAEf,MAAMC,WAAW,CAAC,CAACJ,UAAU,EAAE,CAAC,KAAK,EAAE;IAEvCK,UAAU;QACN,MAAMC,UAAUJ,OAAO,gBAAgB;QACvCA,OAAO,YAAY,CAACK,CAAAA;YAChBA,MAAM,UAAU,GAAGD,QAAQ,UAAU,IAAIF;QAC7C;IACJ,GAAG;QAACA;KAAS;IAEb,OAAO;AACX"}