@webiny/app-website-builder 6.6.0-alpha.0 → 6.6.0-alpha.2
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/BaseEditor/commandHandlers/CloneElement.d.ts +1 -0
- package/BaseEditor/commandHandlers/CloneElement.js +17 -0
- package/BaseEditor/commandHandlers/CloneElement.js.map +1 -0
- package/BaseEditor/commandHandlers/index.js +2 -1
- package/BaseEditor/commandHandlers/index.js.map +1 -1
- package/BaseEditor/commands.d.ts +3 -0
- package/BaseEditor/commands.js +2 -0
- package/BaseEditor/commands.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/AddressBar/usePreviewLink.js +4 -1
- package/BaseEditor/defaultConfig/Content/AddressBar/usePreviewLink.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Iframe.d.ts +2 -2
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.d.ts +2 -2
- package/BaseEditor/defaultConfig/DefaultEditorConfig.js +9 -0
- package/BaseEditor/defaultConfig/DefaultEditorConfig.js.map +1 -1
- package/BaseEditor/defaultConfig/DocumentStateEditor/DocumentStateEditor.d.ts +2 -2
- package/BaseEditor/defaultConfig/ElementInputRenderers.js +4 -0
- package/BaseEditor/defaultConfig/ElementInputRenderers.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementActions/CloneElementAction.d.ts +2 -0
- package/BaseEditor/defaultConfig/Sidebar/ElementActions/CloneElementAction.js +25 -0
- package/BaseEditor/defaultConfig/Sidebar/ElementActions/CloneElementAction.js.map +1 -0
- package/BaseEditor/defaultConfig/Sidebar/ElementActions/DeleteElementAction.d.ts +2 -0
- package/BaseEditor/defaultConfig/Sidebar/ElementActions/DeleteElementAction.js +26 -0
- package/BaseEditor/defaultConfig/Sidebar/ElementActions/DeleteElementAction.js.map +1 -0
- package/BaseEditor/defaultConfig/Sidebar/ElementPreview.js +12 -2
- package/BaseEditor/defaultConfig/Sidebar/ElementPreview.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js +1 -6
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.js +11 -2
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundColor.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundPosition.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundScaling.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderColor.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderRadius.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderStyle.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderWidth.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/Alignment.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/LengthWithUnitInput.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js +7 -7
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js.map +1 -1
- package/BaseEditor/defaultConfig/Toolbar/Navigator/Navigator.d.ts +2 -2
- package/DocumentEditor/DocumentEditor.d.ts +14 -5
- package/DocumentEditor/DocumentEditor.js +10 -6
- package/DocumentEditor/DocumentEditor.js.map +1 -1
- package/DocumentEditor/StateInspector.d.ts +4 -2
- package/Extension.js +7 -1
- package/Extension.js.map +1 -1
- package/ecommerce/components/ResourcePage.d.ts +6 -2
- package/ecommerce/components/ResourcesList.d.ts +4 -4
- package/ecommerce/components/ResourcesPicker.d.ts +9 -4
- package/editorSdk/CommandBus.js.map +1 -1
- package/editorSdk/utils/$cloneElement.d.ts +2 -0
- package/editorSdk/utils/$cloneElement.js +112 -0
- package/editorSdk/utils/$cloneElement.js.map +1 -0
- package/editorSdk/utils/index.d.ts +1 -0
- package/editorSdk/utils/index.js +1 -0
- package/features/experiments/ExperimentsGateway.d.ts +30 -0
- package/features/experiments/ExperimentsGateway.js +326 -0
- package/features/experiments/ExperimentsGateway.js.map +1 -0
- package/features/experiments/abstractions.d.ts +25 -0
- package/features/experiments/abstractions.js +5 -0
- package/features/experiments/abstractions.js.map +1 -0
- package/features/experiments/feature.d.ts +3 -0
- package/features/experiments/feature.js +17 -0
- package/features/experiments/feature.js.map +1 -0
- package/features/experiments/index.d.ts +3 -0
- package/features/experiments/index.js +2 -0
- package/features/experiments/types.d.ts +61 -0
- package/features/experiments/types.js +0 -0
- package/inputRenderers/ColorPickerInput.d.ts +3 -0
- package/inputRenderers/ColorPickerInput.js +29 -0
- package/inputRenderers/ColorPickerInput.js.map +1 -0
- package/inputRenderers/FileInput.js +93 -8
- package/inputRenderers/FileInput.js.map +1 -1
- package/inputRenderers/LexicalInput/LexicalEditor.js +15 -8
- package/inputRenderers/LexicalInput/LexicalEditor.js.map +1 -1
- package/inputRenderers/LexicalInput/TypographyDropDown.js +3 -2
- package/inputRenderers/LexicalInput/TypographyDropDown.js.map +1 -1
- package/inputRenderers/LexicalInput/wbStaticToolbar.css +72 -103
- package/modules/AbTesting.d.ts +2 -0
- package/modules/AbTesting.js +19 -0
- package/modules/AbTesting.js.map +1 -0
- package/package.json +28 -28
- package/presentation/components/LanguageCodeTag.js +5 -4
- package/presentation/components/LanguageCodeTag.js.map +1 -1
- package/presentation/experiments/ExperimentForm/ExperimentFormPresenter.d.ts +30 -0
- package/presentation/experiments/ExperimentForm/ExperimentFormPresenter.js +202 -0
- package/presentation/experiments/ExperimentForm/ExperimentFormPresenter.js.map +1 -0
- package/presentation/experiments/ExperimentForm/abstractions/ExperimentFormPresenter.d.ts +65 -0
- package/presentation/experiments/ExperimentForm/abstractions/ExperimentFormPresenter.js +5 -0
- package/presentation/experiments/ExperimentForm/abstractions/ExperimentFormPresenter.js.map +1 -0
- package/presentation/experiments/ExperimentForm/components/ExperimentFormView.d.ts +12 -0
- package/presentation/experiments/ExperimentForm/components/ExperimentFormView.js +149 -0
- package/presentation/experiments/ExperimentForm/components/ExperimentFormView.js.map +1 -0
- package/presentation/experiments/ExperimentForm/components/VariantSplitRow.d.ts +17 -0
- package/presentation/experiments/ExperimentForm/components/VariantSplitRow.js +122 -0
- package/presentation/experiments/ExperimentForm/components/VariantSplitRow.js.map +1 -0
- package/presentation/experiments/ExperimentForm/feature.d.ts +3 -0
- package/presentation/experiments/ExperimentForm/feature.js +17 -0
- package/presentation/experiments/ExperimentForm/feature.js.map +1 -0
- package/presentation/experiments/ExperimentForm/index.d.ts +3 -0
- package/presentation/experiments/ExperimentForm/index.js +3 -0
- package/presentation/experiments/ExperimentsEditor/ExperimentsEditorDataSource.d.ts +18 -0
- package/presentation/experiments/ExperimentsEditor/ExperimentsEditorDataSource.js +25 -0
- package/presentation/experiments/ExperimentsEditor/ExperimentsEditorDataSource.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/ExperimentsEditorPresenter.d.ts +67 -0
- package/presentation/experiments/ExperimentsEditor/ExperimentsEditorPresenter.js +224 -0
- package/presentation/experiments/ExperimentsEditor/ExperimentsEditorPresenter.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorDataSource.d.ts +10 -0
- package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorDataSource.js +5 -0
- package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorDataSource.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorPresenter.d.ts +58 -0
- package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorPresenter.js +5 -0
- package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorPresenter.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentIndicator.d.ts +15 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentIndicator.js +110 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentIndicator.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentPreviewToolbar.d.ts +9 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentPreviewToolbar.js +178 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentPreviewToolbar.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentsButton.d.ts +11 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentsButton.js +51 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentsButton.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentsSwitcher.d.ts +14 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentsSwitcher.js +147 -0
- package/presentation/experiments/ExperimentsEditor/components/ExperimentsSwitcher.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/feature.d.ts +3 -0
- package/presentation/experiments/ExperimentsEditor/feature.js +21 -0
- package/presentation/experiments/ExperimentsEditor/feature.js.map +1 -0
- package/presentation/experiments/ExperimentsEditor/index.d.ts +4 -0
- package/presentation/experiments/ExperimentsEditor/index.js +3 -0
- package/presentation/experiments/ExperimentsManager/ExperimentsManagerPresenter.d.ts +39 -0
- package/presentation/experiments/ExperimentsManager/ExperimentsManagerPresenter.js +219 -0
- package/presentation/experiments/ExperimentsManager/ExperimentsManagerPresenter.js.map +1 -0
- package/presentation/experiments/ExperimentsManager/abstractions/ExperimentsManagerPresenter.d.ts +52 -0
- package/presentation/experiments/ExperimentsManager/abstractions/ExperimentsManagerPresenter.js +5 -0
- package/presentation/experiments/ExperimentsManager/abstractions/ExperimentsManagerPresenter.js.map +1 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentCard.d.ts +10 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentCard.js +296 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentCard.js.map +1 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsDrawerView.d.ts +2 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsDrawerView.js +92 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsDrawerView.js.map +1 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsEmptyState.d.ts +6 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsEmptyState.js +103 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsEmptyState.js.map +1 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsListView.d.ts +9 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsListView.js +58 -0
- package/presentation/experiments/ExperimentsManager/components/ExperimentsListView.js.map +1 -0
- package/presentation/experiments/ExperimentsManager/feature.d.ts +3 -0
- package/presentation/experiments/ExperimentsManager/feature.js +17 -0
- package/presentation/experiments/ExperimentsManager/feature.js.map +1 -0
- package/presentation/experiments/ExperimentsManager/index.d.ts +4 -0
- package/presentation/experiments/ExperimentsManager/index.js +3 -0
- package/presentation/experiments/VariantPageEditorConfig.d.ts +7 -0
- package/presentation/experiments/VariantPageEditorConfig.js +26 -0
- package/presentation/experiments/VariantPageEditorConfig.js.map +1 -0
- package/presentation/experiments/config/ExperimentsEditorConfig.d.ts +8 -0
- package/presentation/experiments/config/ExperimentsEditorConfig.js +21 -0
- package/presentation/experiments/config/ExperimentsEditorConfig.js.map +1 -0
- package/presentation/experiments/config/VariantAutoSave.d.ts +5 -0
- package/presentation/experiments/config/VariantAutoSave.js +41 -0
- package/presentation/experiments/config/VariantAutoSave.js.map +1 -0
- package/presentation/experiments/shared/variantColors.d.ts +11 -0
- package/presentation/experiments/shared/variantColors.js +13 -0
- package/presentation/experiments/shared/variantColors.js.map +1 -0
- package/presentation/experiments/shared/variantDocument.d.ts +16 -0
- package/presentation/experiments/shared/variantDocument.js +31 -0
- package/presentation/experiments/shared/variantDocument.js.map +1 -0
- package/presentation/navigation/Extension.js +9 -5
- package/presentation/navigation/Extension.js.map +1 -1
- package/presentation/navigation/NextjsConfig/NextjsConfigDialog.d.ts +2 -2
- package/presentation/navigation/StarterKitConfigDialog.js +1 -1
- package/presentation/navigation/StarterKitConfigDialog.js.map +1 -1
- package/presentation/pages/CreatePage/CreatePageDialog.d.ts +2 -2
- package/presentation/pages/CreatePage/CreatePagePresenter.js +1 -1
- package/presentation/pages/CreatePage/CreatePagePresenter.js.map +1 -1
- package/presentation/pages/CreatePage/WithLanguageSelector.js +3 -3
- package/presentation/pages/CreatePage/WithLanguageSelector.js.map +1 -1
- package/presentation/pages/CreatePage/feature.js +3 -3
- package/presentation/pages/CreatePage/feature.js.map +1 -1
- package/presentation/pages/PageEditor/PageEditor.experiments.d.ts +2 -0
- package/presentation/pages/PageEditor/PageEditor.experiments.js +54 -0
- package/presentation/pages/PageEditor/PageEditor.experiments.js.map +1 -0
- package/presentation/pages/PageEditor/PageEditorSurface.d.ts +15 -0
- package/presentation/pages/PageEditor/PageEditorSurface.js +63 -0
- package/presentation/pages/PageEditor/PageEditorSurface.js.map +1 -0
- package/presentation/pages/PageEditor/TopBar/PageSettingsDrawer.d.ts +2 -2
- package/presentation/pages/PageEditor/pageDocument.d.ts +4 -0
- package/presentation/pages/PageEditor/pageDocument.js +15 -0
- package/presentation/pages/PageEditor/pageDocument.js.map +1 -0
- package/presentation/pages/PageList/components/BulkActions/BulkActionDelete.d.ts +2 -2
- package/presentation/pages/PageList/components/BulkActions/BulkActionDuplicate.d.ts +2 -2
- package/presentation/pages/PageList/components/BulkActions/BulkActionMovePage.d.ts +2 -2
- package/presentation/pages/PageList/components/BulkActions/BulkActionPublish.d.ts +2 -2
- package/presentation/pages/PageList/components/BulkActions/BulkActionUnpublish.d.ts +2 -2
- package/presentation/pages/PageList/components/DocumentList.d.ts +2 -2
- package/presentation/pages/PageList/components/PagesList.js +2 -1
- package/presentation/pages/PageList/components/PagesList.js.map +1 -1
- package/presentation/pages/PageList/components/Table/Table.d.ts +2 -2
- package/presentation/pages/PageList/components/WbPagesBreadcrumbs.d.ts +9 -0
- package/presentation/pages/PageList/components/WbPagesBreadcrumbs.js +40 -0
- package/presentation/pages/PageList/components/WbPagesBreadcrumbs.js.map +1 -0
- package/presentation/pages/TranslatePage/TranslatePageConfig.d.ts +1 -1
- package/presentation/pages/TranslatePage/TranslatePageConfig.js +6 -2
- package/presentation/pages/TranslatePage/TranslatePageConfig.js.map +1 -1
- package/presentation/pages/TranslatePage/TranslatePageDialog.js +22 -10
- package/presentation/pages/TranslatePage/TranslatePageDialog.js.map +1 -1
- package/presentation/pages/TranslatePage/translatePageSchema.d.ts +1 -1
- package/presentation/pages/TranslatePage/translatePageSchema.js +1 -1
- package/presentation/pages/TranslatePage/translatePageSchema.js.map +1 -1
- package/presentation/pages/TrashBin/WbTrashBin.d.ts +2 -2
- package/presentation/redirects/RedirectList/components/BulkActionDelete.d.ts +2 -2
- package/presentation/redirects/RedirectList/components/BulkActionMove.d.ts +2 -2
- package/presentation/redirects/RedirectList/components/CreateRedirectDialog.d.ts +2 -2
- package/presentation/redirects/RedirectList/components/DocumentList.d.ts +2 -2
- package/presentation/redirects/RedirectList/components/EditRedirectDialog.d.ts +2 -2
- package/presentation/redirects/RedirectList/components/Table/Table.d.ts +2 -2
- package/shared/fileManagerItemToValue.d.ts +8 -9
- package/shared/fileManagerItemToValue.js +22 -7
- package/shared/fileManagerItemToValue.js.map +1 -1
- package/inputRenderers/LexicalInput/icons/list-ol.js +0 -20
- package/inputRenderers/LexicalInput/icons/list-ol.js.map +0 -1
- package/inputRenderers/LexicalInput/icons/list-ol.svg +0 -1
- package/inputRenderers/LexicalInput/icons/list-ul.js +0 -18
- package/inputRenderers/LexicalInput/icons/list-ul.js.map +0 -1
- package/inputRenderers/LexicalInput/icons/list-ul.svg +0 -1
- package/static/svg/list-ol.d64946f3.svg +0 -1
- package/static/svg/list-ul.1d54da3f.svg +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import react, { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { useFeature } from "@webiny/app";
|
|
4
|
+
import { OverlayLoader } from "@webiny/admin-ui";
|
|
5
|
+
import { DocumentEditor } from "../../../DocumentEditor/DocumentEditor.js";
|
|
6
|
+
import { DefaultEditorConfig } from "../../../BaseEditor/index.js";
|
|
7
|
+
import { EDITOR_NAME } from "./constants.js";
|
|
8
|
+
import { WbPageStatus } from "../../../constants.js";
|
|
9
|
+
import { useGetPage } from "../../../features/pages/index.js";
|
|
10
|
+
import { DefaultPageEditorConfig } from "./DefaultPageEditorConfig.js";
|
|
11
|
+
import { RevisionListDrawer } from "./Revisions/RevisionListDrawer.js";
|
|
12
|
+
import { pageToEditorDocument } from "./pageDocument.js";
|
|
13
|
+
import { ExperimentsEditorPresenterFeature } from "../../experiments/ExperimentsEditor/index.js";
|
|
14
|
+
import { variantToEditorDocument } from "../../experiments/shared/variantDocument.js";
|
|
15
|
+
import { VariantPageEditorConfig } from "../../experiments/VariantPageEditorConfig.js";
|
|
16
|
+
const PageEditorSurface_PageEditorSurface = observer(function({ page }) {
|
|
17
|
+
const { presenter } = useFeature(ExperimentsEditorPresenterFeature);
|
|
18
|
+
const { selectedVariant } = presenter.vm;
|
|
19
|
+
const { getPage } = useGetPage();
|
|
20
|
+
const readOnly = page.status !== WbPageStatus.Draft;
|
|
21
|
+
const [activeDocument, setActiveDocument] = useState(page);
|
|
22
|
+
const [loading, setLoading] = useState(false);
|
|
23
|
+
const initial = useRef(true);
|
|
24
|
+
useEffect(()=>{
|
|
25
|
+
if (initial.current && !selectedVariant) {
|
|
26
|
+
initial.current = false;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
initial.current = false;
|
|
30
|
+
let cancelled = false;
|
|
31
|
+
setLoading(true);
|
|
32
|
+
const load = selectedVariant ? presenter.getVariant(selectedVariant.id).then((content)=>content ? variantToEditorDocument(content, page) : null) : getPage({
|
|
33
|
+
id: page.id
|
|
34
|
+
}).then(pageToEditorDocument);
|
|
35
|
+
load.then((next)=>{
|
|
36
|
+
if (!cancelled && next) setActiveDocument(next);
|
|
37
|
+
}).finally(()=>{
|
|
38
|
+
if (!cancelled) setLoading(false);
|
|
39
|
+
});
|
|
40
|
+
return ()=>{
|
|
41
|
+
cancelled = true;
|
|
42
|
+
};
|
|
43
|
+
}, [
|
|
44
|
+
selectedVariant,
|
|
45
|
+
presenter,
|
|
46
|
+
getPage,
|
|
47
|
+
page
|
|
48
|
+
]);
|
|
49
|
+
if (loading) return /*#__PURE__*/ react.createElement(OverlayLoader, {
|
|
50
|
+
text: selectedVariant ? "Loading variant..." : "Loading page..."
|
|
51
|
+
});
|
|
52
|
+
return /*#__PURE__*/ react.createElement(DocumentEditor, {
|
|
53
|
+
key: selectedVariant ? selectedVariant.id : page.id,
|
|
54
|
+
document: activeDocument,
|
|
55
|
+
name: EDITOR_NAME,
|
|
56
|
+
readOnly: readOnly
|
|
57
|
+
}, /*#__PURE__*/ react.createElement(DefaultEditorConfig, null), selectedVariant ? /*#__PURE__*/ react.createElement(VariantPageEditorConfig, null) : /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(DefaultPageEditorConfig, null), /*#__PURE__*/ react.createElement(RevisionListDrawer, {
|
|
58
|
+
page: page
|
|
59
|
+
})));
|
|
60
|
+
});
|
|
61
|
+
export { PageEditorSurface_PageEditorSurface as PageEditorSurface };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=PageEditorSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation/pages/PageEditor/PageEditorSurface.js","sources":["../../../../src/presentation/pages/PageEditor/PageEditorSurface.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useFeature } from \"@webiny/app\";\nimport { OverlayLoader } from \"@webiny/admin-ui\";\nimport type { EditorPage } from \"@webiny/website-builder-sdk\";\nimport { DocumentEditor } from \"~/DocumentEditor/DocumentEditor.js\";\nimport { DefaultEditorConfig } from \"~/BaseEditor/index.js\";\nimport { EDITOR_NAME } from \"~/presentation/pages/PageEditor/constants.js\";\nimport { WbPageStatus } from \"~/constants.js\";\nimport { useGetPage } from \"~/features/pages/index.js\";\nimport { DefaultPageEditorConfig } from \"./DefaultPageEditorConfig.js\";\nimport { RevisionListDrawer } from \"./Revisions/RevisionListDrawer.js\";\nimport { pageToEditorDocument } from \"./pageDocument.js\";\nimport { ExperimentsEditorPresenterFeature } from \"~/presentation/experiments/ExperimentsEditor/index.js\";\nimport { variantToEditorDocument } from \"~/presentation/experiments/shared/variantDocument.js\";\nimport { VariantPageEditorConfig } from \"~/presentation/experiments/VariantPageEditorConfig.js\";\n\ninterface Props {\n page: EditorPage;\n}\n\n/**\n * Renders the editor for the bucket currently selected in the experiments toolbar: the page itself\n * (control), or a variant loaded as an equivalent document. Switching buckets re-mounts the editor\n * with the matching document and autosave; content is (re)fetched on each switch so returning to a\n * bucket always shows its latest saved state.\n */\nexport const PageEditorSurface = observer(function PageEditorSurface({ page }: Props) {\n const { presenter } = useFeature(ExperimentsEditorPresenterFeature);\n const { selectedVariant } = presenter.vm;\n const { getPage } = useGetPage();\n\n const readOnly = page.status !== WbPageStatus.Draft;\n\n const [activeDocument, setActiveDocument] = useState<EditorPage>(page);\n const [loading, setLoading] = useState(false);\n // The initial control document is already loaded (passed in) — don't refetch it on first render.\n const initial = useRef(true);\n\n useEffect(() => {\n if (initial.current && !selectedVariant) {\n initial.current = false;\n return;\n }\n initial.current = false;\n\n let cancelled = false;\n setLoading(true);\n\n const load: Promise<EditorPage | null> = selectedVariant\n ? presenter\n .getVariant(selectedVariant.id)\n .then(content => (content ? variantToEditorDocument(content, page) : null))\n : getPage({ id: page.id }).then(pageToEditorDocument);\n\n load.then(next => {\n if (!cancelled && next) {\n setActiveDocument(next);\n }\n }).finally(() => {\n if (!cancelled) {\n setLoading(false);\n }\n });\n\n return () => {\n cancelled = true;\n };\n }, [selectedVariant, presenter, getPage, page]);\n\n if (loading) {\n return <OverlayLoader text={selectedVariant ? \"Loading variant...\" : \"Loading page...\"} />;\n }\n\n return (\n <DocumentEditor<EditorPage>\n key={selectedVariant ? selectedVariant.id : page.id}\n document={activeDocument}\n name={EDITOR_NAME}\n readOnly={readOnly}\n >\n <DefaultEditorConfig />\n {selectedVariant ? (\n <VariantPageEditorConfig />\n ) : (\n <>\n <DefaultPageEditorConfig />\n <RevisionListDrawer page={page} />\n </>\n )}\n </DocumentEditor>\n );\n});\n"],"names":["PageEditorSurface","observer","page","presenter","useFeature","ExperimentsEditorPresenterFeature","selectedVariant","getPage","useGetPage","readOnly","WbPageStatus","activeDocument","setActiveDocument","useState","loading","setLoading","initial","useRef","useEffect","cancelled","load","content","variantToEditorDocument","pageToEditorDocument","next","OverlayLoader","DocumentEditor","EDITOR_NAME","DefaultEditorConfig","VariantPageEditorConfig","DefaultPageEditorConfig","RevisionListDrawer"],"mappings":";;;;;;;;;;;;;;;AA2BO,MAAMA,sCAAoBC,SAAS,SAA2B,EAAEC,IAAI,EAAS;IAChF,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IACjC,MAAM,EAAEC,eAAe,EAAE,GAAGH,UAAU,EAAE;IACxC,MAAM,EAAEI,OAAO,EAAE,GAAGC;IAEpB,MAAMC,WAAWP,KAAK,MAAM,KAAKQ,aAAa,KAAK;IAEnD,MAAM,CAACC,gBAAgBC,kBAAkB,GAAGC,SAAqBX;IACjE,MAAM,CAACY,SAASC,WAAW,GAAGF,SAAS;IAEvC,MAAMG,UAAUC,OAAO;IAEvBC,UAAU;QACN,IAAIF,QAAQ,OAAO,IAAI,CAACV,iBAAiB;YACrCU,QAAQ,OAAO,GAAG;YAClB;QACJ;QACAA,QAAQ,OAAO,GAAG;QAElB,IAAIG,YAAY;QAChBJ,WAAW;QAEX,MAAMK,OAAmCd,kBACnCH,UACK,UAAU,CAACG,gBAAgB,EAAE,EAC7B,IAAI,CAACe,CAAAA,UAAYA,UAAUC,wBAAwBD,SAASnB,QAAQ,QACzEK,QAAQ;YAAE,IAAIL,KAAK,EAAE;QAAC,GAAG,IAAI,CAACqB;QAEpCH,KAAK,IAAI,CAACI,CAAAA;YACN,IAAI,CAACL,aAAaK,MACdZ,kBAAkBY;QAE1B,GAAG,OAAO,CAAC;YACP,IAAI,CAACL,WACDJ,WAAW;QAEnB;QAEA,OAAO;YACHI,YAAY;QAChB;IACJ,GAAG;QAACb;QAAiBH;QAAWI;QAASL;KAAK;IAE9C,IAAIY,SACA,OAAO,WAAP,GAAO,oBAACW,eAAaA;QAAC,MAAMnB,kBAAkB,uBAAuB;;IAGzE,OAAO,WAAP,GACI,oBAACoB,gBAAcA;QACX,KAAKpB,kBAAkBA,gBAAgB,EAAE,GAAGJ,KAAK,EAAE;QACnD,UAAUS;QACV,MAAMgB;QACN,UAAUlB;qBAEV,oBAACmB,qBAAmBA,OACnBtB,kBAAkB,WAAlBA,GACG,oBAACuB,yBAAuBA,QAAAA,WAAAA,GAExB,wDACI,oBAACC,yBAAuBA,OAAAA,WAAAA,GACxB,oBAACC,oBAAkBA;QAAC,MAAM7B;;AAK9C"}
|
|
@@ -6,6 +6,6 @@ export interface PageSettingsDrawerProps {
|
|
|
6
6
|
onClose: () => void;
|
|
7
7
|
onSave: () => void;
|
|
8
8
|
}
|
|
9
|
-
export declare const PageSettingsDrawer: (({ presenter, open, onClose, onSave }: PageSettingsDrawerProps) => React.JSX.Element) & {
|
|
10
|
-
|
|
9
|
+
export declare const PageSettingsDrawer: (({ presenter, open, onClose, onSave }: PageSettingsDrawerProps) => React.JSX.Element) & React.NamedExoticComponent<PageSettingsDrawerProps> & {
|
|
10
|
+
readonly type: ({ presenter, open, onClose, onSave }: PageSettingsDrawerProps) => React.JSX.Element;
|
|
11
11
|
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const pageToEditorDocument = (page)=>({
|
|
2
|
+
...page,
|
|
3
|
+
id: page.id,
|
|
4
|
+
version: page.version,
|
|
5
|
+
status: page.status,
|
|
6
|
+
location: page.location,
|
|
7
|
+
properties: page.properties,
|
|
8
|
+
bindings: page.bindings,
|
|
9
|
+
elements: page.elements,
|
|
10
|
+
metadata: page.metadata,
|
|
11
|
+
state: {}
|
|
12
|
+
});
|
|
13
|
+
export { pageToEditorDocument };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=pageDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation/pages/PageEditor/pageDocument.js","sources":["../../../../src/presentation/pages/PageEditor/pageDocument.ts"],"sourcesContent":["import type { EditorPage } from \"@webiny/website-builder-sdk\";\nimport type { Page } from \"~/domain/Page/index.js\";\n\n/** Map a loaded page revision onto the editor document shape. */\nexport const pageToEditorDocument = (page: Page): EditorPage => {\n return {\n ...page,\n id: page.id,\n version: page.version,\n status: page.status,\n location: page.location,\n properties: page.properties as EditorPage[\"properties\"],\n bindings: page.bindings,\n elements: page.elements,\n metadata: page.metadata,\n state: {}\n };\n};\n"],"names":["pageToEditorDocument","page"],"mappings":"AAIO,MAAMA,uBAAuB,CAACC,OAC1B;QACH,GAAGA,IAAI;QACP,IAAIA,KAAK,EAAE;QACX,SAASA,KAAK,OAAO;QACrB,QAAQA,KAAK,MAAM;QACnB,UAAUA,KAAK,QAAQ;QACvB,YAAYA,KAAK,UAAU;QAC3B,UAAUA,KAAK,QAAQ;QACvB,UAAUA,KAAK,QAAQ;QACvB,UAAUA,KAAK,QAAQ;QACvB,OAAO,CAAC;IACZ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionDelete: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionDelete: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionDuplicate: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionDuplicate: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionMovePage: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionMovePage: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionPublish: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionPublish: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionUnpublish: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionUnpublish: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -21,6 +21,7 @@ import { WB_PAGE_APP } from "../../../../constants.js";
|
|
|
21
21
|
import { Routes } from "../../../../routes.js";
|
|
22
22
|
import { PageListWithConfig } from "../configs/index.js";
|
|
23
23
|
import { DocumentList } from "./DocumentList.js";
|
|
24
|
+
import { WbPagesBreadcrumbs } from "./WbPagesBreadcrumbs.js";
|
|
24
25
|
const PagesListInner = observer(()=>{
|
|
25
26
|
const { presenter } = useFeature(PageListPresenterFeature);
|
|
26
27
|
const { route } = useRoute(Routes.Pages.List);
|
|
@@ -32,7 +33,7 @@ const PagesListInner = observer(()=>{
|
|
|
32
33
|
}, [
|
|
33
34
|
presenter
|
|
34
35
|
]);
|
|
35
|
-
return /*#__PURE__*/ react.createElement(DialogsProvider, null, /*#__PURE__*/ react.createElement(PageListWithConfig, null, /*#__PURE__*/ react.createElement(DocumentList, null), /*#__PURE__*/ react.createElement(RouteParamsSync, {
|
|
36
|
+
return /*#__PURE__*/ react.createElement(DialogsProvider, null, /*#__PURE__*/ react.createElement(PageListWithConfig, null, /*#__PURE__*/ react.createElement(WbPagesBreadcrumbs, null), /*#__PURE__*/ react.createElement(DocumentList, null), /*#__PURE__*/ react.createElement(RouteParamsSync, {
|
|
36
37
|
route: Routes.Pages.List,
|
|
37
38
|
fields: (fields)=>[
|
|
38
39
|
fields.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation/pages/PageList/components/PagesList.js","sources":["../../../../../src/presentation/pages/PageList/components/PagesList.tsx"],"sourcesContent":["import React, { useMemo, useEffect } from \"react\";\nimport { useRoute, AdminLayout, DialogsProvider } from \"@webiny/app-admin\";\nimport { DiContainerProvider, useContainer, useFeature } from \"@webiny/app\";\nimport { RouteParamsSync } from \"@webiny/app/presentation/router/components/RouteParamsSync.js\";\nimport { observer } from \"mobx-react-lite\";\nimport { FoldersFeature } from \"@webiny/app-aco/features/folders/feature.js\";\nimport { FolderTreePresenterFeature } from \"@webiny/app-aco/presentation/folderTree/feature.js\";\nimport { ListPresenterFeature } from \"@webiny/app-admin/presentation/listPresenter/feature.js\";\nimport { SharedPageInfrastructureFeature } from \"~/features/pages/shared/feature.js\";\nimport { ListPagesFeature } from \"~/features/pages/listPages/feature.js\";\nimport { DeletePageFeature } from \"~/features/pages/deletePage/feature.js\";\nimport { PublishPageFeature } from \"~/features/pages/publishPage/feature.js\";\nimport { UnpublishPageFeature } from \"~/features/pages/unpublishPage/feature.js\";\nimport { MovePageFeature } from \"~/features/pages/movePage/feature.js\";\nimport { DuplicatePageFeature } from \"~/features/pages/duplicatePage/feature.js\";\nimport { WbTrashBinFeature } from \"~/features/pages/trashBin/feature.js\";\nimport { PageListPresenterFeature } from \"~/presentation/pages/PageList/feature.js\";\nimport {\n BulkPublishFeature,\n BulkUnpublishFeature,\n BulkDeleteFeature,\n BulkDuplicateFeature,\n BulkMoveFeature\n} from \"~/presentation/pages/bulkActions/feature.js\";\nimport { TableRowMapper } from \"./Table/TableRowMapper.js\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\nimport { Routes } from \"~/routes.js\";\nimport { PageListWithConfig } from \"../configs/index.js\";\nimport { DocumentList } from \"./DocumentList.js\";\n\nconst PagesListInner = observer(() => {\n const { presenter } = useFeature(PageListPresenterFeature);\n const { route } = useRoute(Routes.Pages.List);\n\n useEffect(() => {\n presenter.init({\n initialFolderId: route.params.folderId || \"root\"\n });\n return () => presenter.dispose();\n }, [presenter]);\n\n return (\n <DialogsProvider>\n <PageListWithConfig>\n <DocumentList />\n <RouteParamsSync\n route={Routes.Pages.List}\n fields={fields => [\n fields.create<string>({\n param: \"folderId\",\n read: () => presenter.folders.vm.currentFolderId ?? undefined,\n write: value => {\n presenter.folders.selectFolder(value ?? null);\n }\n }),\n fields.create<string>({\n param: \"search\",\n read: () => presenter.list.vm.search || undefined,\n write: value => {\n if (value) {\n presenter.list.actions.search.set(value);\n } else {\n presenter.list.actions.search.clear();\n }\n }\n })\n ]}\n />\n </PageListWithConfig>\n </DialogsProvider>\n );\n});\n\nexport const PagesList = () => {\n const container = useContainer();\n\n const scopedContainer = useMemo(() => {\n const child = container.createChildContainer();\n\n SharedPageInfrastructureFeature.register(child);\n FoldersFeature.register(child, { type: WB_PAGE_APP });\n FolderTreePresenterFeature.register(child);\n ListPresenterFeature.register(child);\n ListPagesFeature.register(child);\n DeletePageFeature.register(child);\n PublishPageFeature.register(child);\n UnpublishPageFeature.register(child);\n MovePageFeature.register(child);\n DuplicatePageFeature.register(child);\n WbTrashBinFeature.register(child);\n BulkPublishFeature.register(child);\n BulkUnpublishFeature.register(child);\n BulkDeleteFeature.register(child);\n BulkDuplicateFeature.register(child);\n BulkMoveFeature.register(child);\n child.register(TableRowMapper);\n PageListPresenterFeature.register(child);\n\n return child;\n }, []);\n\n return (\n <AdminLayout title={\"Pages - Website Builder\"}>\n <DiContainerProvider container={scopedContainer}>\n <PagesListInner />\n </DiContainerProvider>\n </AdminLayout>\n );\n};\n"],"names":["PagesListInner","observer","presenter","useFeature","PageListPresenterFeature","route","useRoute","Routes","useEffect","DialogsProvider","PageListWithConfig","DocumentList","RouteParamsSync","fields","undefined","value","PagesList","container","useContainer","scopedContainer","useMemo","child","SharedPageInfrastructureFeature","FoldersFeature","WB_PAGE_APP","FolderTreePresenterFeature","ListPresenterFeature","ListPagesFeature","DeletePageFeature","PublishPageFeature","UnpublishPageFeature","MovePageFeature","DuplicatePageFeature","WbTrashBinFeature","BulkPublishFeature","BulkUnpublishFeature","BulkDeleteFeature","BulkDuplicateFeature","BulkMoveFeature","TableRowMapper","AdminLayout","DiContainerProvider"],"mappings":"
|
|
1
|
+
{"version":3,"file":"presentation/pages/PageList/components/PagesList.js","sources":["../../../../../src/presentation/pages/PageList/components/PagesList.tsx"],"sourcesContent":["import React, { useMemo, useEffect } from \"react\";\nimport { useRoute, AdminLayout, DialogsProvider } from \"@webiny/app-admin\";\nimport { DiContainerProvider, useContainer, useFeature } from \"@webiny/app\";\nimport { RouteParamsSync } from \"@webiny/app/presentation/router/components/RouteParamsSync.js\";\nimport { observer } from \"mobx-react-lite\";\nimport { FoldersFeature } from \"@webiny/app-aco/features/folders/feature.js\";\nimport { FolderTreePresenterFeature } from \"@webiny/app-aco/presentation/folderTree/feature.js\";\nimport { ListPresenterFeature } from \"@webiny/app-admin/presentation/listPresenter/feature.js\";\nimport { SharedPageInfrastructureFeature } from \"~/features/pages/shared/feature.js\";\nimport { ListPagesFeature } from \"~/features/pages/listPages/feature.js\";\nimport { DeletePageFeature } from \"~/features/pages/deletePage/feature.js\";\nimport { PublishPageFeature } from \"~/features/pages/publishPage/feature.js\";\nimport { UnpublishPageFeature } from \"~/features/pages/unpublishPage/feature.js\";\nimport { MovePageFeature } from \"~/features/pages/movePage/feature.js\";\nimport { DuplicatePageFeature } from \"~/features/pages/duplicatePage/feature.js\";\nimport { WbTrashBinFeature } from \"~/features/pages/trashBin/feature.js\";\nimport { PageListPresenterFeature } from \"~/presentation/pages/PageList/feature.js\";\nimport {\n BulkPublishFeature,\n BulkUnpublishFeature,\n BulkDeleteFeature,\n BulkDuplicateFeature,\n BulkMoveFeature\n} from \"~/presentation/pages/bulkActions/feature.js\";\nimport { TableRowMapper } from \"./Table/TableRowMapper.js\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\nimport { Routes } from \"~/routes.js\";\nimport { PageListWithConfig } from \"../configs/index.js\";\nimport { DocumentList } from \"./DocumentList.js\";\nimport { WbPagesBreadcrumbs } from \"./WbPagesBreadcrumbs.js\";\n\nconst PagesListInner = observer(() => {\n const { presenter } = useFeature(PageListPresenterFeature);\n const { route } = useRoute(Routes.Pages.List);\n\n useEffect(() => {\n presenter.init({\n initialFolderId: route.params.folderId || \"root\"\n });\n return () => presenter.dispose();\n }, [presenter]);\n\n return (\n <DialogsProvider>\n <PageListWithConfig>\n <WbPagesBreadcrumbs />\n <DocumentList />\n <RouteParamsSync\n route={Routes.Pages.List}\n fields={fields => [\n fields.create<string>({\n param: \"folderId\",\n read: () => presenter.folders.vm.currentFolderId ?? undefined,\n write: value => {\n presenter.folders.selectFolder(value ?? null);\n }\n }),\n fields.create<string>({\n param: \"search\",\n read: () => presenter.list.vm.search || undefined,\n write: value => {\n if (value) {\n presenter.list.actions.search.set(value);\n } else {\n presenter.list.actions.search.clear();\n }\n }\n })\n ]}\n />\n </PageListWithConfig>\n </DialogsProvider>\n );\n});\n\nexport const PagesList = () => {\n const container = useContainer();\n\n const scopedContainer = useMemo(() => {\n const child = container.createChildContainer();\n\n SharedPageInfrastructureFeature.register(child);\n FoldersFeature.register(child, { type: WB_PAGE_APP });\n FolderTreePresenterFeature.register(child);\n ListPresenterFeature.register(child);\n ListPagesFeature.register(child);\n DeletePageFeature.register(child);\n PublishPageFeature.register(child);\n UnpublishPageFeature.register(child);\n MovePageFeature.register(child);\n DuplicatePageFeature.register(child);\n WbTrashBinFeature.register(child);\n BulkPublishFeature.register(child);\n BulkUnpublishFeature.register(child);\n BulkDeleteFeature.register(child);\n BulkDuplicateFeature.register(child);\n BulkMoveFeature.register(child);\n child.register(TableRowMapper);\n PageListPresenterFeature.register(child);\n\n return child;\n }, []);\n\n return (\n <AdminLayout title={\"Pages - Website Builder\"}>\n <DiContainerProvider container={scopedContainer}>\n <PagesListInner />\n </DiContainerProvider>\n </AdminLayout>\n );\n};\n"],"names":["PagesListInner","observer","presenter","useFeature","PageListPresenterFeature","route","useRoute","Routes","useEffect","DialogsProvider","PageListWithConfig","WbPagesBreadcrumbs","DocumentList","RouteParamsSync","fields","undefined","value","PagesList","container","useContainer","scopedContainer","useMemo","child","SharedPageInfrastructureFeature","FoldersFeature","WB_PAGE_APP","FolderTreePresenterFeature","ListPresenterFeature","ListPagesFeature","DeletePageFeature","PublishPageFeature","UnpublishPageFeature","MovePageFeature","DuplicatePageFeature","WbTrashBinFeature","BulkPublishFeature","BulkUnpublishFeature","BulkDeleteFeature","BulkDuplicateFeature","BulkMoveFeature","TableRowMapper","AdminLayout","DiContainerProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAMA,iBAAiBC,SAAS;IAC5B,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IACjC,MAAM,EAAEC,KAAK,EAAE,GAAGC,SAASC,OAAO,KAAK,CAAC,IAAI;IAE5CC,UAAU;QACNN,UAAU,IAAI,CAAC;YACX,iBAAiBG,MAAM,MAAM,CAAC,QAAQ,IAAI;QAC9C;QACA,OAAO,IAAMH,UAAU,OAAO;IAClC,GAAG;QAACA;KAAU;IAEd,OAAO,WAAP,GACI,oBAACO,iBAAeA,MAAAA,WAAAA,GACZ,oBAACC,oBAAkBA,MAAAA,WAAAA,GACf,oBAACC,oBAAkBA,OAAAA,WAAAA,GACnB,oBAACC,cAAYA,OAAAA,WAAAA,GACb,oBAACC,iBAAeA;QACZ,OAAON,OAAO,KAAK,CAAC,IAAI;QACxB,QAAQO,CAAAA,SAAU;gBACdA,OAAO,MAAM,CAAS;oBAClB,OAAO;oBACP,MAAM,IAAMZ,UAAU,OAAO,CAAC,EAAE,CAAC,eAAe,IAAIa;oBACpD,OAAOC,CAAAA;wBACHd,UAAU,OAAO,CAAC,YAAY,CAACc,SAAS;oBAC5C;gBACJ;gBACAF,OAAO,MAAM,CAAS;oBAClB,OAAO;oBACP,MAAM,IAAMZ,UAAU,IAAI,CAAC,EAAE,CAAC,MAAM,IAAIa;oBACxC,OAAOC,CAAAA;wBACH,IAAIA,OACAd,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAACc;6BAElCd,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;oBAE3C;gBACJ;aACH;;AAKrB;AAEO,MAAMe,YAAY;IACrB,MAAMC,YAAYC;IAElB,MAAMC,kBAAkBC,QAAQ;QAC5B,MAAMC,QAAQJ,UAAU,oBAAoB;QAE5CK,gCAAgC,QAAQ,CAACD;QACzCE,eAAe,QAAQ,CAACF,OAAO;YAAE,MAAMG;QAAY;QACnDC,2BAA2B,QAAQ,CAACJ;QACpCK,qBAAqB,QAAQ,CAACL;QAC9BM,iBAAiB,QAAQ,CAACN;QAC1BO,kBAAkB,QAAQ,CAACP;QAC3BQ,mBAAmB,QAAQ,CAACR;QAC5BS,qBAAqB,QAAQ,CAACT;QAC9BU,gBAAgB,QAAQ,CAACV;QACzBW,qBAAqB,QAAQ,CAACX;QAC9BY,kBAAkB,QAAQ,CAACZ;QAC3Ba,mBAAmB,QAAQ,CAACb;QAC5Bc,qBAAqB,QAAQ,CAACd;QAC9Be,kBAAkB,QAAQ,CAACf;QAC3BgB,qBAAqB,QAAQ,CAAChB;QAC9BiB,gBAAgB,QAAQ,CAACjB;QACzBA,MAAM,QAAQ,CAACkB;QACfpC,yBAAyB,QAAQ,CAACkB;QAElC,OAAOA;IACX,GAAG,EAAE;IAEL,OAAO,WAAP,GACI,oBAACmB,aAAWA;QAAC,OAAO;qBAChB,oBAACC,qBAAmBA;QAAC,WAAWtB;qBAC5B,oBAACpB,gBAAcA;AAI/B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Emits the pages-list trail (`Website Builder › Pages › <folder path>`) through the React
|
|
4
|
+
* Config API. The folder path comes from the scoped folder-tree presenter, so this is a plain
|
|
5
|
+
* observer that renders `<Breadcrumb>` entries; the header marks the last as current.
|
|
6
|
+
*/
|
|
7
|
+
export declare const WbPagesBreadcrumbs: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
8
|
+
readonly type: () => React.JSX.Element;
|
|
9
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { Breadcrumb } from "@webiny/app-admin";
|
|
4
|
+
import { usePageListPresenter } from "../PageListPresenterProvider.js";
|
|
5
|
+
import { Routes } from "../../../../routes.js";
|
|
6
|
+
const WbPagesBreadcrumbs_WbPagesBreadcrumbs = observer(function() {
|
|
7
|
+
const presenter = usePageListPresenter();
|
|
8
|
+
const foldersPresenter = presenter.folders;
|
|
9
|
+
const folders = foldersPresenter.vm;
|
|
10
|
+
const ancestorIds = folders.currentFolderId ? [
|
|
11
|
+
...foldersPresenter.getAncestorIds(folders.currentFolderId)
|
|
12
|
+
].reverse() : [];
|
|
13
|
+
const titleById = new Map(folders.folders.map((folder)=>[
|
|
14
|
+
folder.id,
|
|
15
|
+
folder.title
|
|
16
|
+
]));
|
|
17
|
+
return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Breadcrumb, {
|
|
18
|
+
name: "wb",
|
|
19
|
+
label: "Website Builder"
|
|
20
|
+
}), /*#__PURE__*/ react.createElement(Breadcrumb, {
|
|
21
|
+
name: "wb.pages",
|
|
22
|
+
label: "Pages",
|
|
23
|
+
to: {
|
|
24
|
+
route: Routes.Pages.List
|
|
25
|
+
}
|
|
26
|
+
}), ancestorIds.map((id)=>/*#__PURE__*/ react.createElement(Breadcrumb, {
|
|
27
|
+
key: id,
|
|
28
|
+
name: id,
|
|
29
|
+
label: titleById.get(id) ?? "…",
|
|
30
|
+
to: {
|
|
31
|
+
route: Routes.Pages.List,
|
|
32
|
+
params: {
|
|
33
|
+
folderId: id
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
})));
|
|
37
|
+
});
|
|
38
|
+
export { WbPagesBreadcrumbs_WbPagesBreadcrumbs as WbPagesBreadcrumbs };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=WbPagesBreadcrumbs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation/pages/PageList/components/WbPagesBreadcrumbs.js","sources":["../../../../../src/presentation/pages/PageList/components/WbPagesBreadcrumbs.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Breadcrumb } from \"@webiny/app-admin\";\nimport { usePageListPresenter } from \"../PageListPresenterProvider.js\";\nimport { Routes } from \"~/routes.js\";\n\n/**\n * Emits the pages-list trail (`Website Builder › Pages › <folder path>`) through the React\n * Config API. The folder path comes from the scoped folder-tree presenter, so this is a plain\n * observer that renders `<Breadcrumb>` entries; the header marks the last as current.\n */\nexport const WbPagesBreadcrumbs = observer(function WbPagesBreadcrumbs() {\n const presenter = usePageListPresenter();\n const foldersPresenter = presenter.folders;\n const folders = foldersPresenter.vm;\n\n // `getAncestorIds` walks self → root; reverse it to render root → current.\n const ancestorIds = folders.currentFolderId\n ? [...foldersPresenter.getAncestorIds(folders.currentFolderId)].reverse()\n : [];\n const titleById = new Map(folders.folders.map(folder => [folder.id, folder.title]));\n\n return (\n <>\n <Breadcrumb name={\"wb\"} label={\"Website Builder\"} />\n <Breadcrumb name={\"wb.pages\"} label={\"Pages\"} to={{ route: Routes.Pages.List }} />\n {ancestorIds.map(id => (\n <Breadcrumb\n key={id}\n name={id}\n label={titleById.get(id) ?? \"…\"}\n to={{ route: Routes.Pages.List, params: { folderId: id } }}\n />\n ))}\n </>\n );\n});\n"],"names":["WbPagesBreadcrumbs","observer","presenter","usePageListPresenter","foldersPresenter","folders","ancestorIds","titleById","Map","folder","Breadcrumb","Routes","id"],"mappings":";;;;;AAWO,MAAMA,wCAAqBC,SAAS;IACvC,MAAMC,YAAYC;IAClB,MAAMC,mBAAmBF,UAAU,OAAO;IAC1C,MAAMG,UAAUD,iBAAiB,EAAE;IAGnC,MAAME,cAAcD,QAAQ,eAAe,GACrC;WAAID,iBAAiB,cAAc,CAACC,QAAQ,eAAe;KAAE,CAAC,OAAO,KACrE,EAAE;IACR,MAAME,YAAY,IAAIC,IAAIH,QAAQ,OAAO,CAAC,GAAG,CAACI,CAAAA,SAAU;YAACA,OAAO,EAAE;YAAEA,OAAO,KAAK;SAAC;IAEjF,OAAO,WAAP,GACI,wDACI,oBAACC,YAAUA;QAAC,MAAM;QAAM,OAAO;sBAC/B,oBAACA,YAAUA;QAAC,MAAM;QAAY,OAAO;QAAS,IAAI;YAAE,OAAOC,OAAO,KAAK,CAAC,IAAI;QAAC;QAC5EL,YAAY,GAAG,CAACM,CAAAA,KAAAA,WAAAA,GACb,oBAACF,YAAUA;YACP,KAAKE;YACL,MAAMA;YACN,OAAOL,UAAU,GAAG,CAACK,OAAO;YAC5B,IAAI;gBAAE,OAAOD,OAAO,KAAK,CAAC,IAAI;gBAAE,QAAQ;oBAAE,UAAUC;gBAAG;YAAE;;AAK7E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const TranslatePageConfig: () => React.JSX.Element;
|
|
2
|
+
export declare const TranslatePageConfig: () => React.JSX.Element | null;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import react from "react";
|
|
2
|
-
import { AdminConfig } from "@webiny/app-admin";
|
|
2
|
+
import { AdminConfig, useFeatureFlags } from "@webiny/app-admin";
|
|
3
3
|
import { HasPermission } from "../../security/HasPermission.js";
|
|
4
4
|
import { TranslatePageAction } from "./TranslatePageAction.js";
|
|
5
5
|
import { TRANSLATE_PAGE_DIALOG, TranslatePageDialog } from "./TranslatePageDialog.js";
|
|
6
6
|
import { PageListConfig } from "../../../exports/admin/website-builder/page/list.js";
|
|
7
7
|
const { Browser: Browser } = PageListConfig;
|
|
8
|
-
const TranslatePageConfig = ()
|
|
8
|
+
const TranslatePageConfig = ()=>{
|
|
9
|
+
const featureFlags = useFeatureFlags();
|
|
10
|
+
if (!featureFlags.isEnabled("aiPowerups.websiteBuilder.pageTranslation")) return null;
|
|
11
|
+
return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(AdminConfig.Dialog, {
|
|
9
12
|
name: TRANSLATE_PAGE_DIALOG,
|
|
10
13
|
element: /*#__PURE__*/ react.createElement(TranslatePageDialog, null)
|
|
11
14
|
})), /*#__PURE__*/ react.createElement(PageListConfig, null, /*#__PURE__*/ react.createElement(HasPermission, {
|
|
@@ -15,6 +18,7 @@ const TranslatePageConfig = ()=>/*#__PURE__*/ react.createElement(react.Fragment
|
|
|
15
18
|
name: "translate",
|
|
16
19
|
element: /*#__PURE__*/ react.createElement(TranslatePageAction, null)
|
|
17
20
|
}))));
|
|
21
|
+
};
|
|
18
22
|
export { TranslatePageConfig };
|
|
19
23
|
|
|
20
24
|
//# sourceMappingURL=TranslatePageConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation/pages/TranslatePage/TranslatePageConfig.js","sources":["../../../../src/presentation/pages/TranslatePage/TranslatePageConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { HasPermission } from \"~/presentation/security/HasPermission.js\";\nimport { TranslatePageAction } from \"./TranslatePageAction.js\";\nimport { TranslatePageDialog, TRANSLATE_PAGE_DIALOG } from \"./TranslatePageDialog.js\";\nimport { PageListConfig } from \"~/exports/admin/website-builder/page/list.js\";\n\nconst { Browser } = PageListConfig;\n\nexport const TranslatePageConfig = () => {\n return (\n <>\n <AdminConfig>\n <AdminConfig.Dialog\n name={TRANSLATE_PAGE_DIALOG}\n element={<TranslatePageDialog />}\n />\n </AdminConfig>\n <PageListConfig>\n <HasPermission entity=\"page\" action=\"create\">\n <Browser.Page.Action name=\"translate\" element={<TranslatePageAction />} />\n </HasPermission>\n </PageListConfig>\n </>\n );\n};\n"],"names":["Browser","PageListConfig","TranslatePageConfig","AdminConfig","TRANSLATE_PAGE_DIALOG","TranslatePageDialog","HasPermission","TranslatePageAction"],"mappings":";;;;;;AAOA,MAAM,EAAEA,SAAAA,OAAO,EAAE,GAAGC;AAEb,MAAMC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"presentation/pages/TranslatePage/TranslatePageConfig.js","sources":["../../../../src/presentation/pages/TranslatePage/TranslatePageConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig, useFeatureFlags } from \"@webiny/app-admin\";\nimport { HasPermission } from \"~/presentation/security/HasPermission.js\";\nimport { TranslatePageAction } from \"./TranslatePageAction.js\";\nimport { TranslatePageDialog, TRANSLATE_PAGE_DIALOG } from \"./TranslatePageDialog.js\";\nimport { PageListConfig } from \"~/exports/admin/website-builder/page/list.js\";\n\nconst { Browser } = PageListConfig;\n\nexport const TranslatePageConfig = () => {\n const featureFlags = useFeatureFlags();\n\n if (!featureFlags.isEnabled(\"aiPowerups.websiteBuilder.pageTranslation\")) {\n return null;\n }\n\n return (\n <>\n <AdminConfig>\n <AdminConfig.Dialog\n name={TRANSLATE_PAGE_DIALOG}\n element={<TranslatePageDialog />}\n />\n </AdminConfig>\n <PageListConfig>\n <HasPermission entity=\"page\" action=\"create\">\n <Browser.Page.Action name=\"translate\" element={<TranslatePageAction />} />\n </HasPermission>\n </PageListConfig>\n </>\n );\n};\n"],"names":["Browser","PageListConfig","TranslatePageConfig","featureFlags","useFeatureFlags","AdminConfig","TRANSLATE_PAGE_DIALOG","TranslatePageDialog","HasPermission","TranslatePageAction"],"mappings":";;;;;;AAOA,MAAM,EAAEA,SAAAA,OAAO,EAAE,GAAGC;AAEb,MAAMC,sBAAsB;IAC/B,MAAMC,eAAeC;IAErB,IAAI,CAACD,aAAa,SAAS,CAAC,8CACxB,OAAO;IAGX,OAAO,WAAP,GACI,wDACI,oBAACE,aAAWA,MAAAA,WAAAA,GACR,oBAACA,YAAY,MAAM;QACf,MAAMC;QACN,uBAAS,oBAACC,qBAAmBA;uBAGrC,oBAACN,gBAAcA,MAAAA,WAAAA,GACX,oBAACO,eAAaA;QAAC,QAAO;QAAO,QAAO;qBAChC,oBAACR,QAAQ,IAAI,CAAC,MAAM;QAAC,MAAK;QAAY,uBAAS,oBAACS,qBAAmBA;;AAKvF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import react from "react";
|
|
1
|
+
import react, { useState } from "react";
|
|
2
2
|
import { useDialog } from "@webiny/app-admin";
|
|
3
3
|
import { Dialog, Grid } from "@webiny/admin-ui";
|
|
4
4
|
import { useLanguages } from "@webiny/languages/exports/admin/languages.js";
|
|
@@ -15,15 +15,21 @@ const TranslatePageDialog = ()=>{
|
|
|
15
15
|
const { translatePage } = useTranslatePage();
|
|
16
16
|
const { goToPageEditor } = useEditPageUrl();
|
|
17
17
|
const { languages, loading } = useLanguages();
|
|
18
|
+
const [translating, setTranslating] = useState(false);
|
|
18
19
|
const handleSubmit = async (data)=>{
|
|
19
20
|
const { languageCode, folderId } = data;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
setTranslating(true);
|
|
22
|
+
try {
|
|
23
|
+
const newPage = await translatePage({
|
|
24
|
+
id: params.pageId,
|
|
25
|
+
languageCode,
|
|
26
|
+
folderId
|
|
27
|
+
});
|
|
28
|
+
closeDialog();
|
|
29
|
+
goToPageEditor(newPage.id);
|
|
30
|
+
} finally{
|
|
31
|
+
setTranslating(false);
|
|
32
|
+
}
|
|
27
33
|
};
|
|
28
34
|
return /*#__PURE__*/ react.createElement(Form, {
|
|
29
35
|
onSubmit: handleSubmit,
|
|
@@ -33,14 +39,20 @@ const TranslatePageDialog = ()=>{
|
|
|
33
39
|
}, ({ submit })=>/*#__PURE__*/ react.createElement(Dialog, {
|
|
34
40
|
open: true,
|
|
35
41
|
onClose: closeDialog,
|
|
42
|
+
dismissible: !translating,
|
|
43
|
+
loading: translating ? {
|
|
44
|
+
text: "Translating page..."
|
|
45
|
+
} : void 0,
|
|
36
46
|
title: "Translate Page",
|
|
37
47
|
description: "Select a target language and destination folder",
|
|
38
48
|
actions: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Dialog.CancelAction, {
|
|
39
49
|
onClick: closeDialog,
|
|
40
|
-
text: "Cancel"
|
|
50
|
+
text: "Cancel",
|
|
51
|
+
disabled: translating
|
|
41
52
|
}), /*#__PURE__*/ react.createElement(Dialog.ConfirmAction, {
|
|
42
53
|
onClick: submit,
|
|
43
|
-
text: loading ? "Loading..." : "Confirm"
|
|
54
|
+
text: loading ? "Loading..." : "Confirm",
|
|
55
|
+
disabled: translating
|
|
44
56
|
}))
|
|
45
57
|
}, /*#__PURE__*/ react.createElement(Grid, null, /*#__PURE__*/ react.createElement(Grid.Column, {
|
|
46
58
|
span: 12
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation/pages/TranslatePage/TranslatePageDialog.js","sources":["../../../../src/presentation/pages/TranslatePage/TranslatePageDialog.tsx"],"sourcesContent":["import React from \"react\";\nimport { useDialog } from \"@webiny/app-admin\";\nimport { Dialog, Grid } from \"@webiny/admin-ui\";\nimport { useLanguages } from \"@webiny/languages/exports/admin/languages.js\";\nimport { Bind, Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { FolderPicker } from \"@webiny/app-aco\";\nimport { useTranslatePage } from \"~/presentation/pages/hooks/useTranslatePage.js\";\nimport { useEditPageUrl } from \"~/presentation/pages/PageList/hooks/useEditPageUrl.js\";\nimport { translatePageParams } from \"./translatePageSchema.js\";\nimport { LanguageSelector } from \"~/presentation/components/LanguageSelector.js\";\n\nexport const TRANSLATE_PAGE_DIALOG = \"translatePage\";\n\nexport const TranslatePageDialog = () => {\n const { params, closeDialog } = useDialog(translatePageParams);\n const { translatePage } = useTranslatePage();\n const { goToPageEditor } = useEditPageUrl();\n const { languages, loading } = useLanguages();\n\n const handleSubmit = async (data: Record<string, unknown>) => {\n const { languageCode, folderId } = data as {\n languageCode: string;\n folderId: string;\n };\n\n const newPage = await translatePage({\n
|
|
1
|
+
{"version":3,"file":"presentation/pages/TranslatePage/TranslatePageDialog.js","sources":["../../../../src/presentation/pages/TranslatePage/TranslatePageDialog.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { useDialog } from \"@webiny/app-admin\";\nimport { Dialog, Grid } from \"@webiny/admin-ui\";\nimport { useLanguages } from \"@webiny/languages/exports/admin/languages.js\";\nimport { Bind, Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { FolderPicker } from \"@webiny/app-aco\";\nimport { useTranslatePage } from \"~/presentation/pages/hooks/useTranslatePage.js\";\nimport { useEditPageUrl } from \"~/presentation/pages/PageList/hooks/useEditPageUrl.js\";\nimport { translatePageParams } from \"./translatePageSchema.js\";\nimport { LanguageSelector } from \"~/presentation/components/LanguageSelector.js\";\n\nexport const TRANSLATE_PAGE_DIALOG = \"translatePage\";\n\nexport const TranslatePageDialog = () => {\n const { params, closeDialog } = useDialog(translatePageParams);\n const { translatePage } = useTranslatePage();\n const { goToPageEditor } = useEditPageUrl();\n const { languages, loading } = useLanguages();\n const [translating, setTranslating] = useState(false);\n\n const handleSubmit = async (data: Record<string, unknown>) => {\n const { languageCode, folderId } = data as {\n languageCode: string;\n folderId: string;\n };\n\n setTranslating(true);\n\n try {\n const newPage = await translatePage({\n id: params.pageId,\n languageCode,\n folderId\n });\n\n closeDialog();\n goToPageEditor(newPage.id);\n } finally {\n setTranslating(false);\n }\n };\n\n return (\n <Form onSubmit={handleSubmit} data={{ folderId: params.folderId }}>\n {({ submit }) => (\n <Dialog\n open={true}\n onClose={closeDialog}\n dismissible={!translating}\n loading={translating ? { text: \"Translating page...\" } : undefined}\n title=\"Translate Page\"\n description=\"Select a target language and destination folder\"\n actions={\n <>\n <Dialog.CancelAction\n onClick={closeDialog}\n text=\"Cancel\"\n disabled={translating}\n />\n <Dialog.ConfirmAction\n onClick={submit}\n text={loading ? \"Loading...\" : \"Confirm\"}\n disabled={translating}\n />\n </>\n }\n >\n <Grid>\n <Grid.Column span={12}>\n <Bind name=\"languageCode\" validators={[validation.create(\"required\")]}>\n <LanguageSelector\n label=\"Target Language\"\n placeholder=\"Select a language\"\n currentLanguage={params.currentLanguage}\n languages={languages}\n />\n </Bind>\n </Grid.Column>\n\n <Grid.Column span={12}>\n <Bind name={\"folderId\"} defaultValue={params.folderId}>\n {({ value, onChange }) => (\n <FolderPicker\n label={\"Destination Folder\"}\n value={value}\n onChange={onChange}\n enableCreate={true}\n />\n )}\n </Bind>\n </Grid.Column>\n </Grid>\n </Dialog>\n )}\n </Form>\n );\n};\n"],"names":["TRANSLATE_PAGE_DIALOG","TranslatePageDialog","params","closeDialog","useDialog","translatePageParams","translatePage","useTranslatePage","goToPageEditor","useEditPageUrl","languages","loading","useLanguages","translating","setTranslating","useState","handleSubmit","data","languageCode","folderId","newPage","Form","submit","Dialog","undefined","Grid","Bind","validation","LanguageSelector","value","onChange","FolderPicker"],"mappings":";;;;;;;;;;;AAYO,MAAMA,wBAAwB;AAE9B,MAAMC,sBAAsB;IAC/B,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAE,GAAGC,UAAUC;IAC1C,MAAM,EAAEC,aAAa,EAAE,GAAGC;IAC1B,MAAM,EAAEC,cAAc,EAAE,GAAGC;IAC3B,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAE,GAAGC;IAC/B,MAAM,CAACC,aAAaC,eAAe,GAAGC,SAAS;IAE/C,MAAMC,eAAe,OAAOC;QACxB,MAAM,EAAEC,YAAY,EAAEC,QAAQ,EAAE,GAAGF;QAKnCH,eAAe;QAEf,IAAI;YACA,MAAMM,UAAU,MAAMd,cAAc;gBAChC,IAAIJ,OAAO,MAAM;gBACjBgB;gBACAC;YACJ;YAEAhB;YACAK,eAAeY,QAAQ,EAAE;QAC7B,SAAU;YACNN,eAAe;QACnB;IACJ;IAEA,OAAO,WAAP,GACI,oBAACO,MAAIA;QAAC,UAAUL;QAAc,MAAM;YAAE,UAAUd,OAAO,QAAQ;QAAC;OAC3D,CAAC,EAAEoB,MAAM,EAAE,iBACR,oBAACC,QAAMA;YACH,MAAM;YACN,SAASpB;YACT,aAAa,CAACU;YACd,SAASA,cAAc;gBAAE,MAAM;YAAsB,IAAIW;YACzD,OAAM;YACN,aAAY;YACZ,uBACI,wDACI,oBAACD,OAAO,YAAY;gBAChB,SAASpB;gBACT,MAAK;gBACL,UAAUU;8BAEd,oBAACU,OAAO,aAAa;gBACjB,SAASD;gBACT,MAAMX,UAAU,eAAe;gBAC/B,UAAUE;;yBAKtB,oBAACY,MAAIA,MAAAA,WAAAA,GACD,oBAACA,KAAK,MAAM;YAAC,MAAM;yBACf,oBAACC,MAAIA;YAAC,MAAK;YAAe,YAAY;gBAACC,WAAW,MAAM,CAAC;aAAY;yBACjE,oBAACC,kBAAgBA;YACb,OAAM;YACN,aAAY;YACZ,iBAAiB1B,OAAO,eAAe;YACvC,WAAWQ;4BAKvB,oBAACe,KAAK,MAAM;YAAC,MAAM;yBACf,oBAACC,MAAIA;YAAC,MAAM;YAAY,cAAcxB,OAAO,QAAQ;WAChD,CAAC,EAAE2B,KAAK,EAAEC,QAAQ,EAAE,iBACjB,oBAACC,cAAYA;gBACT,OAAO;gBACP,OAAOF;gBACP,UAAUC;gBACV,cAAc;;AAUtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation/pages/TranslatePage/translatePageSchema.js","sources":["../../../../src/presentation/pages/TranslatePage/translatePageSchema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const translatePageParams = z.object({\n pageId: z.string(),\n folderId: z.string(),\n currentLanguage: z.string()\n});\n"],"names":["translatePageParams","z"],"mappings":";AAEO,MAAMA,sBAAsBC,EAAE,MAAM,CAAC;IACxC,QAAQA,EAAE,MAAM;IAChB,UAAUA,EAAE,MAAM;IAClB,iBAAiBA,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"presentation/pages/TranslatePage/translatePageSchema.js","sources":["../../../../src/presentation/pages/TranslatePage/translatePageSchema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const translatePageParams = z.object({\n pageId: z.string(),\n folderId: z.string(),\n currentLanguage: z.string().optional()\n});\n"],"names":["translatePageParams","z"],"mappings":";AAEO,MAAMA,sBAAsBC,EAAE,MAAM,CAAC;IACxC,QAAQA,EAAE,MAAM;IAChB,UAAUA,EAAE,MAAM;IAClB,iBAAiBA,EAAE,MAAM,GAAG,QAAQ;AACxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const WbTrashBin: (() => React.JSX.Element | null) & {
|
|
3
|
-
|
|
2
|
+
export declare const WbTrashBin: (() => React.JSX.Element | null) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element | null;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionDelete: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionDelete: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionMove: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionMove: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const CreateRedirectDialog: (() => React.JSX.Element | null) & {
|
|
3
|
-
|
|
2
|
+
export declare const CreateRedirectDialog: (() => React.JSX.Element | null) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element | null;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const EditRedirectDialog: (() => React.JSX.Element | null) & {
|
|
3
|
-
|
|
2
|
+
export declare const EditRedirectDialog: (() => React.JSX.Element | null) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element | null;
|
|
4
4
|
};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { FileManagerFileItem } from "@webiny/app-admin";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
2
|
+
import { type Asset } from "@webiny/website-builder-sdk";
|
|
3
|
+
/**
|
|
4
|
+
* Build the unified {@link Asset} value from a picked File Manager item.
|
|
5
|
+
* For images, the per-usage `image` edit is seeded from the asset-level default
|
|
6
|
+
* (set in File Manager); from here it lives on the element value and is editable
|
|
7
|
+
* per placement.
|
|
8
|
+
*/
|
|
9
|
+
export declare const fileManagerItemToValue: (file: FileManagerFileItem) => Asset;
|
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
import { getAssetCategory } from "@webiny/website-builder-sdk";
|
|
2
|
+
const fileManagerItemToValue = (file)=>{
|
|
3
|
+
const src = file.src || "";
|
|
4
|
+
const asset = {
|
|
2
5
|
id: file.id,
|
|
6
|
+
src,
|
|
7
|
+
url: src,
|
|
3
8
|
name: file.name,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
type: file.type,
|
|
10
|
+
size: file.size
|
|
11
|
+
};
|
|
12
|
+
if ("image" === getAssetCategory(file.type)) {
|
|
13
|
+
const meta = file.metadata?.image;
|
|
14
|
+
asset.image = {
|
|
15
|
+
width: meta?.width ?? file.width,
|
|
16
|
+
height: meta?.height ?? file.height,
|
|
17
|
+
crop: meta?.crop ?? void 0,
|
|
18
|
+
focalPoint: meta?.focalPoint ?? void 0,
|
|
19
|
+
alt: meta?.alt ?? void 0,
|
|
20
|
+
caption: meta?.caption ?? void 0
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return asset;
|
|
24
|
+
};
|
|
10
25
|
export { fileManagerItemToValue };
|
|
11
26
|
|
|
12
27
|
//# sourceMappingURL=fileManagerItemToValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared/fileManagerItemToValue.js","sources":["../../src/shared/fileManagerItemToValue.ts"],"sourcesContent":["import type { FileManagerFileItem } from \"@webiny/app-admin\";\n\nexport const fileManagerItemToValue = (file: FileManagerFileItem) => {\n
|
|
1
|
+
{"version":3,"file":"shared/fileManagerItemToValue.js","sources":["../../src/shared/fileManagerItemToValue.ts"],"sourcesContent":["import type { FileManagerFileItem } from \"@webiny/app-admin\";\nimport { getAssetCategory, type Asset } from \"@webiny/website-builder-sdk\";\n\n/**\n * Build the unified {@link Asset} value from a picked File Manager item.\n * For images, the per-usage `image` edit is seeded from the asset-level default\n * (set in File Manager); from here it lives on the element value and is editable\n * per placement.\n */\nexport const fileManagerItemToValue = (file: FileManagerFileItem): Asset => {\n const src = file.src || \"\";\n const asset: Asset = {\n id: file.id,\n src,\n url: src,\n name: file.name,\n type: file.type,\n size: file.size\n };\n\n if (getAssetCategory(file.type) === \"image\") {\n const meta = file.metadata?.image;\n asset.image = {\n width: meta?.width ?? file.width,\n height: meta?.height ?? file.height,\n crop: meta?.crop ?? undefined,\n focalPoint: meta?.focalPoint ?? undefined,\n alt: meta?.alt ?? undefined,\n caption: meta?.caption ?? undefined\n };\n }\n\n return asset;\n};\n"],"names":["fileManagerItemToValue","file","src","asset","getAssetCategory","meta","undefined"],"mappings":";AASO,MAAMA,yBAAyB,CAACC;IACnC,MAAMC,MAAMD,KAAK,GAAG,IAAI;IACxB,MAAME,QAAe;QACjB,IAAIF,KAAK,EAAE;QACXC;QACA,KAAKA;QACL,MAAMD,KAAK,IAAI;QACf,MAAMA,KAAK,IAAI;QACf,MAAMA,KAAK,IAAI;IACnB;IAEA,IAAIG,AAAgC,YAAhCA,iBAAiBH,KAAK,IAAI,GAAe;QACzC,MAAMI,OAAOJ,KAAK,QAAQ,EAAE;QAC5BE,MAAM,KAAK,GAAG;YACV,OAAOE,MAAM,SAASJ,KAAK,KAAK;YAChC,QAAQI,MAAM,UAAUJ,KAAK,MAAM;YACnC,MAAMI,MAAM,QAAQC;YACpB,YAAYD,MAAM,cAAcC;YAChC,KAAKD,MAAM,OAAOC;YAClB,SAASD,MAAM,WAAWC;QAC9B;IACJ;IAEA,OAAOH;AACX"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import __rslib_svgr_url__0__ from "../../../static/svg/list-ol.d64946f3.svg";
|
|
2
|
-
import * as __rspack_external_react from "react";
|
|
3
|
-
const SvgListOl = (props)=>/*#__PURE__*/ __rspack_external_react.createElement("svg", {
|
|
4
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
-
width: 16,
|
|
6
|
-
height: 16,
|
|
7
|
-
fill: "currentColor",
|
|
8
|
-
className: "list-ol_svg__bi list-ol_svg__bi-list-ol",
|
|
9
|
-
...props
|
|
10
|
-
}, /*#__PURE__*/ __rspack_external_react.createElement("path", {
|
|
11
|
-
fillRule: "evenodd",
|
|
12
|
-
d: "M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5"
|
|
13
|
-
}), /*#__PURE__*/ __rspack_external_react.createElement("path", {
|
|
14
|
-
d: "M1.713 11.865v-.474H2c.217 0 .363-.137.363-.317 0-.185-.158-.31-.361-.31-.223 0-.367.152-.373.31h-.59c.016-.467.373-.787.986-.787.588-.002.954.291.957.703a.595.595 0 0 1-.492.594v.033a.615.615 0 0 1 .569.631c.003.533-.502.8-1.051.8-.656 0-1-.37-1.008-.794h.582c.008.178.186.306.422.309.254 0 .424-.145.422-.35-.002-.195-.155-.348-.414-.348h-.3zm-.004-4.699h-.604v-.035c0-.408.295-.844.958-.844.583 0 .96.326.96.756 0 .389-.257.617-.476.848l-.537.572v.03h1.054V9H1.143v-.395l.957-.99c.138-.142.293-.304.293-.508 0-.18-.147-.32-.342-.32a.33.33 0 0 0-.342.338zM2.564 5h-.635V2.924h-.031l-.598.42v-.567l.629-.443h.635z"
|
|
15
|
-
}));
|
|
16
|
-
const list_ol = __rslib_svgr_url__0__;
|
|
17
|
-
export default list_ol;
|
|
18
|
-
export { SvgListOl as ReactComponent };
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=list-ol.js.map
|