@webiny/app-website-builder-workflows 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7c2def32a7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/OptionItem/OpenInNewWindow.js +26 -33
- package/Components/OptionItem/OpenInNewWindow.js.map +1 -1
- package/Components/OptionItem/index.js +0 -2
- package/Components/PageEditor/PageEditorAutoSave.js +16 -27
- package/Components/PageEditor/PageEditorAutoSave.js.map +1 -1
- package/Components/PageEditor/PageEditorConfig.js +6 -10
- package/Components/PageEditor/PageEditorConfig.js.map +1 -1
- package/Components/PageEditor/PageEditorTopBar.d.ts +2 -0
- package/Components/PageEditor/PageEditorTopBar.js +28 -0
- package/Components/PageEditor/PageEditorTopBar.js.map +1 -0
- package/Components/PageEditor/PageFormWorkflowState.d.ts +3 -1
- package/Components/PageEditor/PageFormWorkflowState.js +16 -34
- package/Components/PageEditor/PageFormWorkflowState.js.map +1 -1
- package/Components/PageEditor/PageFormWorkflowStatePublishButton.js +17 -28
- package/Components/PageEditor/PageFormWorkflowStatePublishButton.js.map +1 -1
- package/Components/PageEditor/PageFormWorkflowStateTooltip.js +10 -19
- package/Components/PageEditor/PageFormWorkflowStateTooltip.js.map +1 -1
- package/Components/PageEditor/ToggleEditorMode.d.ts +3 -0
- package/Components/PageEditor/ToggleEditorMode.js +21 -0
- package/Components/PageEditor/ToggleEditorMode.js.map +1 -0
- package/Components/PageWorkflows/PageWorkflowsEditorView.js +44 -50
- package/Components/PageWorkflows/PageWorkflowsEditorView.js.map +1 -1
- package/Components/PageWorkflows/index.js +0 -2
- package/Components/PagesList/PageListChangeStatus.js +17 -25
- package/Components/PagesList/PageListChangeStatus.js.map +1 -1
- package/Components/PagesList/PagesList.js +3 -4
- package/Components/PagesList/PagesList.js.map +1 -1
- package/Components/PagesList/PagesListContentReviews.js +19 -35
- package/Components/PagesList/PagesListContentReviews.js.map +1 -1
- package/Components/PagesList/index.js +0 -2
- package/Components/index.d.ts +0 -1
- package/Components/index.js +0 -3
- package/Routes/WebsiteBuilderWorkflowsMenu.js +23 -26
- package/Routes/WebsiteBuilderWorkflowsMenu.js.map +1 -1
- package/Routes/index.js +0 -2
- package/constants.js +2 -1
- package/constants.js.map +1 -1
- package/hooks/usePage.js +12 -17
- package/hooks/usePage.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +14 -8
- package/index.js.map +1 -1
- package/package.json +25 -21
- package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js +11 -8
- package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js.map +1 -1
- package/presentation/page/PageGet/feature.js +6 -5
- package/presentation/page/PageGet/feature.js.map +1 -1
- package/presentation/page/PageList/TableRowMapperDecorator.d.ts +12 -0
- package/presentation/page/PageList/TableRowMapperDecorator.js +24 -0
- package/presentation/page/PageList/TableRowMapperDecorator.js.map +1 -0
- package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.d.ts +2 -2
- package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js +12 -9
- package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js.map +1 -1
- package/presentation/page/PageList/feature.js +8 -7
- package/presentation/page/PageList/feature.js.map +1 -1
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.d.ts +21 -0
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.js +28 -0
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.js.map +1 -0
- package/presentation/page/RevisionList/feature.d.ts +1 -0
- package/presentation/page/RevisionList/feature.js +11 -0
- package/presentation/page/RevisionList/feature.js.map +1 -0
- package/routes.js +15 -16
- package/routes.js.map +1 -1
- package/types.d.ts +8 -12
- package/types.js +0 -3
- package/Components/OptionItem/index.js.map +0 -1
- package/Components/PageEditor/PageEditorLayout.d.ts +0 -2
- package/Components/PageEditor/PageEditorLayout.js +0 -39
- package/Components/PageEditor/PageEditorLayout.js.map +0 -1
- package/Components/PageEditor/PageEditorSettings.d.ts +0 -2
- package/Components/PageEditor/PageEditorSettings.js +0 -30
- package/Components/PageEditor/PageEditorSettings.js.map +0 -1
- package/Components/PageEditor/PageEditorSidebar.d.ts +0 -2
- package/Components/PageEditor/PageEditorSidebar.js +0 -17
- package/Components/PageEditor/PageEditorSidebar.js.map +0 -1
- package/Components/PageEditor/PageEditorToolbar.d.ts +0 -2
- package/Components/PageEditor/PageEditorToolbar.js +0 -17
- package/Components/PageEditor/PageEditorToolbar.js.map +0 -1
- package/Components/PageWorkflows/index.js.map +0 -1
- package/Components/PagesList/index.js.map +0 -1
- package/Components/index.js.map +0 -1
- package/Routes/index.js.map +0 -1
- package/presentation/page/PageList/PageListPresenterDecorator.d.ts +0 -13
- package/presentation/page/PageList/PageListPresenterDecorator.js +0 -42
- package/presentation/page/PageList/PageListPresenterDecorator.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -1,41 +1,34 @@
|
|
|
1
|
-
import
|
|
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
|
|
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
|
-
|
|
10
|
-
} =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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,"
|
|
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,33 +1,22 @@
|
|
|
1
|
-
import
|
|
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
|
-
|
|
7
|
-
} =
|
|
8
|
-
|
|
9
|
-
|
|
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.hasState) 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,"
|
|
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.hasState) {\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,QAAQ,EACtB,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,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { PageEditorConfig
|
|
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 {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
export
|
|
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
|
+
import { PageEditorAutoSave } from "./PageEditorAutoSave.js";
|
|
7
|
+
const PageEditorConfig_PageEditorConfig = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(PageEditorTopBar, null), /*#__PURE__*/ react.createElement(PageEditorAutoSave, null), /*#__PURE__*/ react.createElement(PageEditorConfig, null, /*#__PURE__*/ react.createElement(PageFormWorkflowStateTooltip, null), /*#__PURE__*/ react.createElement(PageFormWorkflowStatePublishButton, null)));
|
|
8
|
+
export { PageEditorConfig_PageEditorConfig as PageEditorConfig };
|
|
13
9
|
|
|
14
10
|
//# sourceMappingURL=PageEditorConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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\";\nimport { PageEditorAutoSave } from \"./PageEditorAutoSave.js\";\n\nexport const PageEditorConfig = () => {\n return (\n <>\n {/* Toggle editor \"readonly\" mode, and add workflow alerts */}\n <PageEditorTopBar />\n <PageEditorAutoSave />\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","PageEditorAutoSave","BaseConfig","PageFormWorkflowStateTooltip","PageFormWorkflowStatePublishButton"],"mappings":";;;;;;AAOO,MAAMA,oCAAmB,IACrB,WAAP,GACI,wDAEI,oBAACC,kBAAgBA,OAAAA,WAAAA,GACjB,oBAACC,oBAAkBA,OAAAA,WAAAA,GACnB,oBAACC,kBAAUA,MAAAA,WAAAA,GAEP,oBAACC,8BAA4BA,OAAAA,WAAAA,GAE7B,oBAACC,oCAAkCA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import react, { useEffect } from "react";
|
|
2
|
+
import { PageEditorConfig } from "@webiny/app-website-builder";
|
|
3
|
+
import { useSelectFromDocument } from "@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js";
|
|
4
|
+
import { useWorkflowState } from "@webiny/app-workflows";
|
|
5
|
+
import { WB_PAGE_APP } from "../../constants.js";
|
|
6
|
+
import { PageFormWorkflowState } from "./PageFormWorkflowState.js";
|
|
7
|
+
import { ToggleEditorMode } from "./ToggleEditorMode.js";
|
|
8
|
+
import { WbPageStatus } from "@webiny/app-website-builder/constants.js";
|
|
9
|
+
const { Ui: Ui } = PageEditorConfig;
|
|
10
|
+
const PageEditorTopBar = Ui.TopBar.Layout.createDecorator((Original)=>function() {
|
|
11
|
+
const page = useSelectFromDocument((doc)=>({
|
|
12
|
+
id: doc.id,
|
|
13
|
+
title: doc.properties.title || "unknown page",
|
|
14
|
+
status: doc.status || "draft"
|
|
15
|
+
}));
|
|
16
|
+
const { presenter } = useWorkflowState();
|
|
17
|
+
useEffect(()=>{
|
|
18
|
+
if (page.status === WbPageStatus.Draft) presenter.init(WB_PAGE_APP, page.id, `Website Builder: ${page.title}`);
|
|
19
|
+
return ()=>presenter.dispose();
|
|
20
|
+
}, [
|
|
21
|
+
page.id,
|
|
22
|
+
page.status
|
|
23
|
+
]);
|
|
24
|
+
return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Original, null), /*#__PURE__*/ react.createElement(ToggleEditorMode, null), /*#__PURE__*/ react.createElement(PageFormWorkflowState, null));
|
|
25
|
+
});
|
|
26
|
+
export { PageEditorTopBar };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=PageEditorTopBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Components/PageEditor/PageEditorTopBar.js","sources":["../../../src/Components/PageEditor/PageEditorTopBar.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\nimport {\n type EditorDocument,\n useSelectFromDocument\n} from \"@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.js\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\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 { presenter } = useWorkflowState();\n\n useEffect(() => {\n if (page.status === WbPageStatus.Draft) {\n presenter.init(WB_PAGE_APP, page.id, `Website Builder: ${page.title}`);\n }\n return () => presenter.dispose();\n }, [page.id, page.status]);\n\n return (\n <>\n <Original />\n <ToggleEditorMode />\n <PageFormWorkflowState />\n </>\n );\n };\n});\n"],"names":["Ui","PageEditorConfig","PageEditorTopBar","Original","page","useSelectFromDocument","doc","presenter","useWorkflowState","useEffect","WbPageStatus","WB_PAGE_APP","ToggleEditorMode","PageFormWorkflowState"],"mappings":";;;;;;;;AAYA,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,MAAM,EAAEC,SAAS,EAAE,GAAGC;QAEtBC,UAAU;YACN,IAAIL,KAAK,MAAM,KAAKM,aAAa,KAAK,EAClCH,UAAU,IAAI,CAACI,aAAaP,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAEA,KAAK,KAAK,EAAE;YAEzE,OAAO,IAAMG,UAAU,OAAO;QAClC,GAAG;YAACH,KAAK,EAAE;YAAEA,KAAK,MAAM;SAAC;QAEzB,OAAO,WAAP,GACI,wDACI,oBAACD,UAAAA,OAAAA,WAAAA,GACD,oBAACS,kBAAgBA,OAAAA,WAAAA,GACjB,oBAACC,uBAAqBA;IAGlC"}
|
|
@@ -1,36 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { Alert
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
};
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { Alert } from "@webiny/admin-ui";
|
|
4
|
+
import { Components, useWorkflowState } from "@webiny/app-workflows";
|
|
5
|
+
const { ContentReview: { WorkflowStateBar: WorkflowStateBar } } = Components;
|
|
6
|
+
const PageFormWorkflowState = observer(()=>{
|
|
7
|
+
const { presenter } = useWorkflowState();
|
|
8
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
9
|
+
className: "max-w-screen bg-white p-sm border-solid border-b-sm border-neutral-dimmed",
|
|
10
|
+
"data-affects-preview": "height"
|
|
11
|
+
}, /*#__PURE__*/ react.createElement(WorkflowStateBar, null), presenter.vm.hasState ? /*#__PURE__*/ react.createElement(Alert, {
|
|
12
|
+
type: "danger",
|
|
13
|
+
className: "mt-sm"
|
|
14
|
+
}, "Any changes you do on the page will not be stored!") : null);
|
|
15
|
+
});
|
|
16
|
+
export { PageFormWorkflowState };
|
|
35
17
|
|
|
36
18
|
//# sourceMappingURL=PageFormWorkflowState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Components/PageEditor/PageFormWorkflowState.js","sources":["../../../src/Components/PageEditor/PageFormWorkflowState.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { Components, useWorkflowState } from \"@webiny/app-workflows\";\n\nconst {\n ContentReview: { WorkflowStateBar }\n} = Components;\n\nexport const PageFormWorkflowState = observer(() => {\n const { presenter } = useWorkflowState();\n\n return (\n <div\n className={\"max-w-screen bg-white p-sm border-solid border-b-sm border-neutral-dimmed\"}\n data-affects-preview={\"height\"}\n >\n <WorkflowStateBar />\n {presenter.vm.hasState ? (\n <Alert type=\"danger\" className={\"mt-sm\"}>\n Any changes you do on the page will not be stored!\n </Alert>\n ) : null}\n </div>\n );\n});\n"],"names":["WorkflowStateBar","Components","PageFormWorkflowState","observer","presenter","useWorkflowState","Alert"],"mappings":";;;;AAKA,MAAM,EACF,eAAe,EAAEA,kBAAAA,gBAAgB,EAAE,EACtC,GAAGC;AAEG,MAAMC,wBAAwBC,SAAS;IAC1C,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAEtB,OAAO,WAAP,GACI,oBAAC;QACG,WAAW;QACX,wBAAsB;qBAEtB,oBAACL,kBAAgBA,OAChBI,UAAU,EAAE,CAAC,QAAQ,GAAG,WAAH,GAClB,oBAACE,OAAKA;QAAC,MAAK;QAAS,WAAW;OAAS,wDAGzC;AAGhB"}
|
|
@@ -1,33 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { PageEditorConfig } from "@webiny/app-website-builder";
|
|
3
|
-
import { useWorkflowState
|
|
3
|
+
import { useWorkflowState } from "@webiny/app-workflows";
|
|
4
4
|
import { observer } from "mobx-react-lite";
|
|
5
|
-
const {
|
|
6
|
-
|
|
7
|
-
} =
|
|
8
|
-
|
|
9
|
-
|
|
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.hasWorkflow || presenter.vm.isApproved) 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,"
|
|
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 } 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.hasWorkflow || presenter.vm.isApproved) {\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","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,WAAW,IAAIA,UAAU,EAAE,CAAC,UAAU,EACpD,OAAOD,MAAM,OAAO;IAGxB,OAAO;AACX;AAEO,MAAMG,qCAAqCP,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAACQ,CAAAA,WACxE,SAA2BJ,KAAK;QACnC,IAAIA,AAAe,oBAAfA,MAAM,IAAI,EACV,OAAO,WAAP,GACI,oBAACI,UAAAA;YAAU,GAAGJ,KAAK;YAAE,uBAAS,oBAACF,sBAAoBA;gBAAC,SAASE,MAAM,OAAO;;;QAGlF,OAAO,WAAP,GAAO,oBAACI,UAAaJ;IACzB"}
|
|
@@ -1,23 +1,14 @@
|
|
|
1
|
-
import
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
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,"
|
|
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,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 isUnderReview = presenter.vm.hasState && !presenter.vm.isApproved;
|
|
9
|
+
useEffect(()=>{
|
|
10
|
+
const options = editor.getEditorOptions();
|
|
11
|
+
editor.updateEditor((state)=>{
|
|
12
|
+
state.isReadOnly = options.isReadOnly || isUnderReview;
|
|
13
|
+
});
|
|
14
|
+
}, [
|
|
15
|
+
isUnderReview
|
|
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 /**\n * A page is locked for the duration of the review. Once the review is approved the page can\n * be published, so the editor has to become writable again. Otherwise the top bar keeps\n * offering \"New Revision\" instead of \"Publish\".\n */\n const isUnderReview = presenter.vm.hasState && !presenter.vm.isApproved;\n\n useEffect(() => {\n const options = editor.getEditorOptions();\n editor.updateEditor(state => {\n state.isReadOnly = options.isReadOnly || isUnderReview;\n });\n }, [isUnderReview]);\n\n return null;\n});\n"],"names":["ToggleEditorMode","observer","presenter","useWorkflowState","editor","useDocumentEditor","isUnderReview","useEffect","options","state"],"mappings":";;;;AAKO,MAAMA,mBAAmBC,SAAS;IACrC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IACtB,MAAMC,SAASC;IAOf,MAAMC,gBAAgBJ,UAAU,EAAE,CAAC,QAAQ,IAAI,CAACA,UAAU,EAAE,CAAC,UAAU;IAEvEK,UAAU;QACN,MAAMC,UAAUJ,OAAO,gBAAgB;QACvCA,OAAO,YAAY,CAACK,CAAAA;YAChBA,MAAM,UAAU,GAAGD,QAAQ,UAAU,IAAIF;QAC7C;IACJ,GAAG;QAACA;KAAc;IAElB,OAAO;AACX"}
|
|
@@ -1,60 +1,54 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react, { useCallback, useMemo } from "react";
|
|
2
2
|
import { AdminConfig, useRoute, useRouter } from "@webiny/app-admin";
|
|
3
3
|
import { Routes } from "../../routes.js";
|
|
4
4
|
import { Components } from "@webiny/app-workflows";
|
|
5
5
|
import { Icon } from "@webiny/admin-ui";
|
|
6
|
-
import { ReactComponent
|
|
6
|
+
import { ReactComponent } from "@webiny/icons/workspaces.svg";
|
|
7
7
|
import { WB_PAGE_APP } from "../../constants.js";
|
|
8
|
-
const {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
parent: "wb",
|
|
22
|
-
element: /*#__PURE__*/React.createElement(Menu.Link, {
|
|
23
|
-
text: "Workflows",
|
|
24
|
-
to: router.getLink(Routes.Pages.Workflows)
|
|
25
|
-
})
|
|
26
|
-
});
|
|
8
|
+
const { Admin: { WorkflowsEditor: WorkflowsEditor } } = Components;
|
|
9
|
+
const { Menu: Menu } = AdminConfig;
|
|
10
|
+
const PageWorkflowsEditorMenu = ()=>{
|
|
11
|
+
const router = useRouter();
|
|
12
|
+
return /*#__PURE__*/ react.createElement(Menu, {
|
|
13
|
+
name: "websiteBuilder.pages.workflows",
|
|
14
|
+
pinnable: true,
|
|
15
|
+
parent: "wb",
|
|
16
|
+
element: /*#__PURE__*/ react.createElement(Menu.Link, {
|
|
17
|
+
text: "Workflows",
|
|
18
|
+
to: router.getLink(Routes.Pages.Workflows)
|
|
19
|
+
})
|
|
20
|
+
});
|
|
27
21
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
22
|
+
const PageWorkflowsEditorView = ()=>{
|
|
23
|
+
const { route } = useRoute(Routes.Pages.Workflows);
|
|
24
|
+
const { goToRoute } = useRouter();
|
|
25
|
+
const apps = useMemo(()=>[
|
|
26
|
+
{
|
|
27
|
+
id: WB_PAGE_APP,
|
|
28
|
+
name: "Pages",
|
|
29
|
+
icon: /*#__PURE__*/ react.createElement(Icon, {
|
|
30
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
31
|
+
label: "Pages Workflows"
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
], []);
|
|
35
|
+
const onAppClick = useCallback((id)=>{
|
|
36
|
+
goToRoute(Routes.Pages.Workflows, {
|
|
37
|
+
app: id
|
|
38
|
+
});
|
|
39
|
+
}, [
|
|
40
|
+
apps
|
|
41
|
+
]);
|
|
42
|
+
const app = useMemo(()=>apps.find((a)=>a.id === route.params.app) || apps[0], [
|
|
43
|
+
route.params.app,
|
|
44
|
+
apps
|
|
45
|
+
]);
|
|
46
|
+
return /*#__PURE__*/ react.createElement(WorkflowsEditor, {
|
|
47
|
+
apps: apps,
|
|
48
|
+
onAppClick: onAppClick,
|
|
49
|
+
app: app.id
|
|
48
50
|
});
|
|
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
51
|
};
|
|
52
|
+
export { PageWorkflowsEditorMenu, PageWorkflowsEditorView };
|
|
59
53
|
|
|
60
54
|
//# sourceMappingURL=PageWorkflowsEditorView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Components/PageWorkflows/PageWorkflowsEditorView.js","sources":["../../../src/Components/PageWorkflows/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"],"names":["WorkflowsEditor","Components","Menu","AdminConfig","PageWorkflowsEditorMenu","router","useRouter","Routes","PageWorkflowsEditorView","route","useRoute","goToRoute","apps","useMemo","WB_PAGE_APP","Icon","WorkflowsIcon","onAppClick","useCallback","id","app","a"],"mappings":";;;;;;;AASA,MAAM,EACF,OAAO,EAAEA,iBAAAA,eAAe,EAAE,EAC7B,GAAGC;AAEJ,MAAM,EAAEC,MAAAA,IAAI,EAAE,GAAGC;AAEV,MAAMC,0BAA0B;IACnC,MAAMC,SAASC;IAEf,OAAO,WAAP,GACI,oBAACJ,MAAIA;QACD,MAAM;QACN,UAAU;QACV,QAAQ;QACR,uBAAS,oBAACA,KAAK,IAAI;YAAC,MAAM;YAAa,IAAIG,OAAO,OAAO,CAACE,OAAO,KAAK,CAAC,SAAS;;;AAG5F;AAEO,MAAMC,0BAA0B;IACnC,MAAM,EAAEC,KAAK,EAAE,GAAGC,SAASH,OAAO,KAAK,CAAC,SAAS;IACjD,MAAM,EAAEI,SAAS,EAAE,GAAGL;IAEtB,MAAMM,OAAOC,QAAgC,IAClC;YACH;gBACI,IAAIC;gBACJ,MAAM;gBACN,MAAM,WAAN,GAAM,oBAACC,MAAIA;oBAAC,oBAAM,oBAACC,gBAAaA;oBAAK,OAAO;;YAChD;SACH,EACF,EAAE;IAEL,MAAMC,aAAaC,YACf,CAACC;QACGR,UAAUJ,OAAO,KAAK,CAAC,SAAS,EAAE;YAC9B,KAAKY;QACT;IACJ,GACA;QAACP;KAAK;IAGV,MAAMQ,MAAMP,QAAQ,IACTD,KAAK,IAAI,CAACS,CAAAA,IAAKA,EAAE,EAAE,KAAKZ,MAAM,MAAM,CAAC,GAAG,KAAKG,IAAI,CAAC,EAAE,EAC5D;QAACH,MAAM,MAAM,CAAC,GAAG;QAAEG;KAAK;IAE3B,OAAO,WAAP,GAAO,oBAACZ,iBAAeA;QAAC,MAAMY;QAAM,YAAYK;QAAY,KAAKG,IAAI,EAAE;;AAC3E"}
|