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