@webiny/app-dynamic-pages 0.0.0-unstable.39223eb3c1
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/LICENSE +21 -0
- package/README.md +20 -0
- package/admin/ContentEntryForm/AddPreviewPane.d.ts +2 -0
- package/admin/ContentEntryForm/AddPreviewPane.js +47 -0
- package/admin/ContentEntryForm/AddPreviewPane.js.map +1 -0
- package/admin/ContentEntryForm/PassEntryToDataSource.d.ts +2 -0
- package/admin/ContentEntryForm/PassEntryToDataSource.js +58 -0
- package/admin/ContentEntryForm/PassEntryToDataSource.js.map +1 -0
- package/admin/ContentEntryForm/PreviewPane.d.ts +6 -0
- package/admin/ContentEntryForm/PreviewPane.js +56 -0
- package/admin/ContentEntryForm/PreviewPane.js.map +1 -0
- package/admin/Extensions.d.ts +2 -0
- package/admin/Extensions.js +14 -0
- package/admin/Extensions.js.map +1 -0
- package/admin/PageTemplateDialog/CreateTemplateDialog.d.ts +11 -0
- package/admin/PageTemplateDialog/CreateTemplateDialog.js +200 -0
- package/admin/PageTemplateDialog/CreateTemplateDialog.js.map +1 -0
- package/admin/PageTemplateDialog/PageTemplateDialog.d.ts +2 -0
- package/admin/PageTemplateDialog/PageTemplateDialog.js +44 -0
- package/admin/PageTemplateDialog/PageTemplateDialog.js.map +1 -0
- package/admin/SetupDynamicPages.d.ts +2 -0
- package/admin/SetupDynamicPages.js +16 -0
- package/admin/SetupDynamicPages.js.map +1 -0
- package/admin/elements/Elements.d.ts +2 -0
- package/admin/elements/Elements.js +12 -0
- package/admin/elements/Elements.js.map +1 -0
- package/admin/elements/entriesList.d.ts +2 -0
- package/admin/elements/entriesList.js +35 -0
- package/admin/elements/entriesList.js.map +1 -0
- package/admin/elements/entriesSearch.d.ts +2 -0
- package/admin/elements/entriesSearch.js +34 -0
- package/admin/elements/entriesSearch.js.map +1 -0
- package/admin/elements/eventHandlers/ContentTraverser.d.ts +11 -0
- package/admin/elements/eventHandlers/ContentTraverser.js +10 -0
- package/admin/elements/eventHandlers/ContentTraverser.js.map +1 -0
- package/admin/elements/renderers/DynamicGrid.d.ts +2 -0
- package/admin/elements/renderers/DynamicGrid.js +49 -0
- package/admin/elements/renderers/DynamicGrid.js.map +1 -0
- package/admin/elements/renderers/EntriesList.d.ts +10 -0
- package/admin/elements/renderers/EntriesList.js +22 -0
- package/admin/elements/renderers/EntriesList.js.map +1 -0
- package/admin/elements/renderers/Repeater.d.ts +7 -0
- package/admin/elements/renderers/Repeater.js +21 -0
- package/admin/elements/renderers/Repeater.js.map +1 -0
- package/admin/elements/repeater.d.ts +2 -0
- package/admin/elements/repeater.js +34 -0
- package/admin/elements/repeater.js.map +1 -0
- package/admin/index.d.ts +1 -0
- package/admin/index.js +3 -0
- package/admin/index.js.map +1 -0
- package/admin/pageEditor/DynamicPageEditorConfig.d.ts +2 -0
- package/admin/pageEditor/DynamicPageEditorConfig.js +10 -0
- package/admin/pageEditor/DynamicPageEditorConfig.js.map +1 -0
- package/admin/pageEditor/ElementEventHandlers.d.ts +1 -0
- package/admin/pageEditor/ElementEventHandlers.js +100 -0
- package/admin/pageEditor/ElementEventHandlers.js.map +1 -0
- package/admin/templateEditor/DynamicTemplateEditorConfig.d.ts +2 -0
- package/admin/templateEditor/DynamicTemplateEditorConfig.js +28 -0
- package/admin/templateEditor/DynamicTemplateEditorConfig.js.map +1 -0
- package/admin/templateEditor/ElementEventHandlers.d.ts +1 -0
- package/admin/templateEditor/ElementEventHandlers.js +100 -0
- package/admin/templateEditor/ElementEventHandlers.js.map +1 -0
- package/admin/templateEditor/EntrySelector/EntrySelector.d.ts +2 -0
- package/admin/templateEditor/EntrySelector/EntrySelector.js +27 -0
- package/admin/templateEditor/EntrySelector/EntrySelector.js.map +1 -0
- package/admin/templateEditor/EntrySelector/index.d.ts +1 -0
- package/admin/templateEditor/EntrySelector/index.js +3 -0
- package/admin/templateEditor/EntrySelector/index.js.map +1 -0
- package/dataInjection/AddEntriesListDataSourceContext.d.ts +2 -0
- package/dataInjection/AddEntriesListDataSourceContext.js +27 -0
- package/dataInjection/AddEntriesListDataSourceContext.js.map +1 -0
- package/dataInjection/editor/DisableGridDelete.d.ts +2 -0
- package/dataInjection/editor/DisableGridDelete.js +18 -0
- package/dataInjection/editor/DisableGridDelete.js.map +1 -0
- package/dataInjection/editor/ElementDataSettings.d.ts +2 -0
- package/dataInjection/editor/ElementDataSettings.js +21 -0
- package/dataInjection/editor/ElementDataSettings.js.map +1 -0
- package/dataInjection/editor/HideIfChildOfEntriesList.d.ts +6 -0
- package/dataInjection/editor/HideIfChildOfEntriesList.js +16 -0
- package/dataInjection/editor/HideIfChildOfEntriesList.js.map +1 -0
- package/dataInjection/editor/HideIfEntriesListGridWithDataSource.d.ts +6 -0
- package/dataInjection/editor/HideIfEntriesListGridWithDataSource.js +22 -0
- package/dataInjection/editor/HideIfEntriesListGridWithDataSource.js.map +1 -0
- package/dataInjection/editor/SetupElementDataSettings.d.ts +2 -0
- package/dataInjection/editor/SetupElementDataSettings.js +14 -0
- package/dataInjection/editor/SetupElementDataSettings.js.map +1 -0
- package/dataInjection/renderers/DynamicElementRenderers.d.ts +2 -0
- package/dataInjection/renderers/DynamicElementRenderers.js +20 -0
- package/dataInjection/renderers/DynamicElementRenderers.js.map +1 -0
- package/dataInjection/renderers/DynamicGrid.d.ts +2 -0
- package/dataInjection/renderers/DynamicGrid.js +44 -0
- package/dataInjection/renderers/DynamicGrid.js.map +1 -0
- package/dataInjection/renderers/EntriesList.d.ts +70 -0
- package/dataInjection/renderers/EntriesList.js +45 -0
- package/dataInjection/renderers/EntriesList.js.map +1 -0
- package/dataInjection/renderers/EntriesSearch.d.ts +47 -0
- package/dataInjection/renderers/EntriesSearch.js +26 -0
- package/dataInjection/renderers/EntriesSearch.js.map +1 -0
- package/dataInjection/renderers/Repeater.d.ts +70 -0
- package/dataInjection/renderers/Repeater.js +45 -0
- package/dataInjection/renderers/Repeater.js.map +1 -0
- package/features/index.d.ts +3 -0
- package/features/index.js +5 -0
- package/features/index.js.map +1 -0
- package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.d.ts +4 -0
- package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.js +58 -0
- package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.js.map +1 -0
- package/features/pageTemplate/hasMainDataSource.d.ts +2 -0
- package/features/pageTemplate/hasMainDataSource.js +5 -0
- package/features/pageTemplate/hasMainDataSource.js.map +1 -0
- package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.d.ts +3 -0
- package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.js +13 -0
- package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.js.map +1 -0
- package/package.json +54 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Webiny
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# @webiny/app-dynamic-pages
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@webiny/app-dynamic-pages)
|
|
4
|
+
[](https://www.npmjs.com/package/@webiny/app-dynamic-pages)
|
|
5
|
+
[](https://github.com/prettier/prettier)
|
|
6
|
+
[](http://makeapullrequest.com)
|
|
7
|
+
|
|
8
|
+
An app for connecting dynamic data from Headless CMS with the Page Builder.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
npm install --save @webiny/app-dynamic-pages
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Or if you prefer yarn:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
yarn add @webiny/app-dynamic-pages
|
|
20
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
3
|
+
import React, { useMemo } from "react";
|
|
4
|
+
import { useModel } from "@webiny/app-headless-cms";
|
|
5
|
+
import { ContentEntryEditorConfig } from "@webiny/app-headless-cms";
|
|
6
|
+
import { useListPageTemplates } from "@webiny/app-page-builder/features";
|
|
7
|
+
import { PreviewPane } from "./PreviewPane";
|
|
8
|
+
const {
|
|
9
|
+
ContentEntry
|
|
10
|
+
} = ContentEntryEditorConfig;
|
|
11
|
+
const SplitView = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
12
|
+
target: "ezyij0e0"
|
|
13
|
+
} : {
|
|
14
|
+
target: "ezyij0e0",
|
|
15
|
+
label: "SplitView"
|
|
16
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
17
|
+
name: "kygzsj",
|
|
18
|
+
styles: "display:flex;>div{flex:1;}"
|
|
19
|
+
} : {
|
|
20
|
+
name: "kygzsj",
|
|
21
|
+
styles: "display:flex;>div{flex:1;}",
|
|
22
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFkZFByZXZpZXdQYW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTNEIiLCJmaWxlIjoiQWRkUHJldmlld1BhbmUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlTW9kZWwgfSBmcm9tIFwiQHdlYmlueS9hcHAtaGVhZGxlc3MtY21zXCI7XG5pbXBvcnQgeyBDb250ZW50RW50cnlFZGl0b3JDb25maWcgfSBmcm9tIFwiQHdlYmlueS9hcHAtaGVhZGxlc3MtY21zXCI7XG5pbXBvcnQgeyB1c2VMaXN0UGFnZVRlbXBsYXRlcyB9IGZyb20gXCJAd2ViaW55L2FwcC1wYWdlLWJ1aWxkZXIvZmVhdHVyZXNcIjtcbmltcG9ydCB7IFByZXZpZXdQYW5lIH0gZnJvbSBcIn4vYWRtaW4vQ29udGVudEVudHJ5Rm9ybS9QcmV2aWV3UGFuZVwiO1xuXG5jb25zdCB7IENvbnRlbnRFbnRyeSB9ID0gQ29udGVudEVudHJ5RWRpdG9yQ29uZmlnO1xuXG5jb25zdCBTcGxpdFZpZXcgPSBzdHlsZWQuZGl2YFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgPiBkaXYge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBZGRQcmV2aWV3UGFuZSA9IENvbnRlbnRFbnRyeS5Db250ZW50RW50cnlGb3JtLmNyZWF0ZURlY29yYXRvcihPcmlnaW5hbCA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIENvbnRlbnRFbnRyeUZvcm0ocHJvcHMpIHtcbiAgICAgICAgY29uc3QgeyBtb2RlbCB9ID0gdXNlTW9kZWwoKTtcblxuICAgICAgICBjb25zdCB7IHBhZ2VUZW1wbGF0ZXMgfSA9IHVzZUxpc3RQYWdlVGVtcGxhdGVzKCk7XG5cbiAgICAgICAgY29uc3QgbW9kZWxUZW1wbGF0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHBhZ2VUZW1wbGF0ZXMuZmluZCh0ZW1wbGF0ZSA9PlxuICAgICAgICAgICAgICAgIHRlbXBsYXRlLmRhdGFTb3VyY2VzLnNvbWUoZHMgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHMubmFtZSA9PT0gXCJtYWluXCIgJiYgZHMuY29uZmlnLm1vZGVsSWQgPT09IG1vZGVsLm1vZGVsSWQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sIFtwYWdlVGVtcGxhdGVzXSk7XG5cbiAgICAgICAgaWYgKCFtb2RlbFRlbXBsYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gPE9yaWdpbmFsIHsuLi5wcm9wc30gLz47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFNwbGl0Vmlldz5cbiAgICAgICAgICAgICAgICA8UHJldmlld1BhbmUgdGVtcGxhdGU9e21vZGVsVGVtcGxhdGV9IC8+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPE9yaWdpbmFsIHsuLi5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvU3BsaXRWaWV3PlxuICAgICAgICApO1xuICAgIH07XG59KTtcbiJdfQ== */",
|
|
23
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
24
|
+
});
|
|
25
|
+
export const AddPreviewPane = ContentEntry.ContentEntryForm.createDecorator(Original => {
|
|
26
|
+
return function ContentEntryForm(props) {
|
|
27
|
+
const {
|
|
28
|
+
model
|
|
29
|
+
} = useModel();
|
|
30
|
+
const {
|
|
31
|
+
pageTemplates
|
|
32
|
+
} = useListPageTemplates();
|
|
33
|
+
const modelTemplate = useMemo(() => {
|
|
34
|
+
return pageTemplates.find(template => template.dataSources.some(ds => {
|
|
35
|
+
return ds.name === "main" && ds.config.modelId === model.modelId;
|
|
36
|
+
}));
|
|
37
|
+
}, [pageTemplates]);
|
|
38
|
+
if (!modelTemplate) {
|
|
39
|
+
return /*#__PURE__*/React.createElement(Original, props);
|
|
40
|
+
}
|
|
41
|
+
return /*#__PURE__*/React.createElement(SplitView, null, /*#__PURE__*/React.createElement(PreviewPane, {
|
|
42
|
+
template: modelTemplate
|
|
43
|
+
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Original, props)));
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=AddPreviewPane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMemo","useModel","ContentEntryEditorConfig","useListPageTemplates","PreviewPane","ContentEntry","SplitView","_styled","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","AddPreviewPane","ContentEntryForm","createDecorator","Original","props","model","pageTemplates","modelTemplate","find","template","dataSources","some","ds","config","modelId","createElement"],"sources":["AddPreviewPane.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { useModel } from \"@webiny/app-headless-cms\";\nimport { ContentEntryEditorConfig } from \"@webiny/app-headless-cms\";\nimport { useListPageTemplates } from \"@webiny/app-page-builder/features\";\nimport { PreviewPane } from \"~/admin/ContentEntryForm/PreviewPane\";\n\nconst { ContentEntry } = ContentEntryEditorConfig;\n\nconst SplitView = styled.div`\n display: flex;\n > div {\n flex: 1;\n }\n`;\n\nexport const AddPreviewPane = ContentEntry.ContentEntryForm.createDecorator(Original => {\n return function ContentEntryForm(props) {\n const { model } = useModel();\n\n const { pageTemplates } = useListPageTemplates();\n\n const modelTemplate = useMemo(() => {\n return pageTemplates.find(template =>\n template.dataSources.some(ds => {\n return ds.name === \"main\" && ds.config.modelId === model.modelId;\n })\n );\n }, [pageTemplates]);\n\n if (!modelTemplate) {\n return <Original {...props} />;\n }\n\n return (\n <SplitView>\n <PreviewPane template={modelTemplate} />\n <div>\n <Original {...props} />\n </div>\n </SplitView>\n );\n };\n});\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,SAASC,wBAAwB,QAAQ,0BAA0B;AACnE,SAASC,oBAAoB,QAAQ,mCAAmC;AACxE,SAASC,WAAW;AAEpB,MAAM;EAAEC;AAAa,CAAC,GAAGH,wBAAwB;AAEjD,MAAMI,SAAS,gBAAAC,OAAA,QAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,EAKd;AAED,OAAO,MAAMC,cAAc,GAAGb,YAAY,CAACc,gBAAgB,CAACC,eAAe,CAACC,QAAQ,IAAI;EACpF,OAAO,SAASF,gBAAgBA,CAACG,KAAK,EAAE;IACpC,MAAM;MAAEC;IAAM,CAAC,GAAGtB,QAAQ,CAAC,CAAC;IAE5B,MAAM;MAAEuB;IAAc,CAAC,GAAGrB,oBAAoB,CAAC,CAAC;IAEhD,MAAMsB,aAAa,GAAGzB,OAAO,CAAC,MAAM;MAChC,OAAOwB,aAAa,CAACE,IAAI,CAACC,QAAQ,IAC9BA,QAAQ,CAACC,WAAW,CAACC,IAAI,CAACC,EAAE,IAAI;QAC5B,OAAOA,EAAE,CAACjB,IAAI,KAAK,MAAM,IAAIiB,EAAE,CAACC,MAAM,CAACC,OAAO,KAAKT,KAAK,CAACS,OAAO;MACpE,CAAC,CACL,CAAC;IACL,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;IAEnB,IAAI,CAACC,aAAa,EAAE;MAChB,oBAAO1B,KAAA,CAAAkC,aAAA,CAACZ,QAAQ,EAAKC,KAAQ,CAAC;IAClC;IAEA,oBACIvB,KAAA,CAAAkC,aAAA,CAAC3B,SAAS,qBACNP,KAAA,CAAAkC,aAAA,CAAC7B,WAAW;MAACuB,QAAQ,EAAEF;IAAc,CAAE,CAAC,eACxC1B,KAAA,CAAAkC,aAAA,2BACIlC,KAAA,CAAAkC,aAAA,CAACZ,QAAQ,EAAKC,KAAQ,CACrB,CACE,CAAC;EAEpB,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useMemo } from "react";
|
|
2
|
+
import { makeAutoObservable } from "mobx";
|
|
3
|
+
import { ContentEntryEditorConfig } from "@webiny/app-headless-cms";
|
|
4
|
+
import { useLoadDataSource } from "@webiny/app-page-builder/features";
|
|
5
|
+
const {
|
|
6
|
+
ContentEntry: {
|
|
7
|
+
ContentEntryForm
|
|
8
|
+
}
|
|
9
|
+
} = ContentEntryEditorConfig;
|
|
10
|
+
class WithLocalData {
|
|
11
|
+
constructor(entryContainer, decoratee) {
|
|
12
|
+
this.entryContainer = entryContainer;
|
|
13
|
+
this.decoratee = decoratee;
|
|
14
|
+
makeAutoObservable(this);
|
|
15
|
+
}
|
|
16
|
+
getData(key) {
|
|
17
|
+
if (key.startsWith("main:")) {
|
|
18
|
+
return this.entryContainer.getEntry();
|
|
19
|
+
}
|
|
20
|
+
return this.decoratee.getData(key);
|
|
21
|
+
}
|
|
22
|
+
async resolveData(request) {
|
|
23
|
+
if (request.getName() === "main") {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
return this.decoratee.resolveData(request);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
class EntryContainer {
|
|
30
|
+
constructor(entry) {
|
|
31
|
+
this.entry = entry;
|
|
32
|
+
makeAutoObservable(this);
|
|
33
|
+
}
|
|
34
|
+
setEntry(entry) {
|
|
35
|
+
this.entry = entry;
|
|
36
|
+
}
|
|
37
|
+
getEntry() {
|
|
38
|
+
return this.entry;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export const PassEntryToDataSource = ContentEntryForm.createDecorator(Original => {
|
|
42
|
+
return function PassEntryToDataSource(props) {
|
|
43
|
+
const entryContainer = useMemo(() => new EntryContainer(props.entry), []);
|
|
44
|
+
const onEntryChange = useCallback(entry => {
|
|
45
|
+
entryContainer.setEntry(entry);
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
return useLoadDataSource.decorateRepository(repository => {
|
|
49
|
+
return new WithLocalData(entryContainer, repository);
|
|
50
|
+
});
|
|
51
|
+
}, []);
|
|
52
|
+
return /*#__PURE__*/React.createElement(Original, Object.assign({}, props, {
|
|
53
|
+
onChange: onEntryChange
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=PassEntryToDataSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","makeAutoObservable","ContentEntryEditorConfig","useLoadDataSource","ContentEntry","ContentEntryForm","WithLocalData","constructor","entryContainer","decoratee","getData","key","startsWith","getEntry","resolveData","request","getName","EntryContainer","entry","setEntry","PassEntryToDataSource","createDecorator","Original","props","onEntryChange","decorateRepository","repository","createElement","Object","assign","onChange"],"sources":["PassEntryToDataSource.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from \"react\";\nimport { makeAutoObservable } from \"mobx\";\nimport { ContentEntryEditorConfig } from \"@webiny/app-headless-cms\";\nimport type { CmsContentEntry } from \"@webiny/app-headless-cms/types\";\nimport { useLoadDataSource } from \"@webiny/app-page-builder/features\";\nimport type {\n DataRequest,\n DataSourceData,\n IResolveDataSourceRepository\n} from \"@webiny/app-page-builder/features/dataSource/loadDataSource/IResolveDataSourceRepository\";\n\ntype OnChange = NonNullable<React.ComponentProps<typeof ContentEntryForm>[\"onChange\"]>;\n\nconst {\n ContentEntry: { ContentEntryForm }\n} = ContentEntryEditorConfig;\n\nclass WithLocalData implements IResolveDataSourceRepository {\n private decoratee: IResolveDataSourceRepository;\n private entryContainer: EntryContainer;\n\n constructor(entryContainer: EntryContainer, decoratee: IResolveDataSourceRepository) {\n this.entryContainer = entryContainer;\n this.decoratee = decoratee;\n makeAutoObservable(this);\n }\n\n getData(key: string): DataSourceData | undefined {\n if (key.startsWith(\"main:\")) {\n return this.entryContainer.getEntry();\n }\n\n return this.decoratee.getData(key);\n }\n\n async resolveData(request: DataRequest): Promise<void> {\n if (request.getName() === \"main\") {\n return;\n }\n\n return this.decoratee.resolveData(request);\n }\n}\n\nclass EntryContainer {\n private entry: Partial<CmsContentEntry>;\n\n constructor(entry: Partial<CmsContentEntry>) {\n this.entry = entry;\n makeAutoObservable(this);\n }\n\n setEntry(entry: Partial<CmsContentEntry>) {\n this.entry = entry;\n }\n\n getEntry() {\n return this.entry;\n }\n}\n\nexport const PassEntryToDataSource = ContentEntryForm.createDecorator(Original => {\n return function PassEntryToDataSource(props) {\n const entryContainer = useMemo(() => new EntryContainer(props.entry), []);\n\n const onEntryChange = useCallback<OnChange>(entry => {\n entryContainer.setEntry(entry);\n }, []);\n\n useEffect(() => {\n return useLoadDataSource.decorateRepository(repository => {\n return new WithLocalData(entryContainer, repository);\n });\n }, []);\n\n return <Original {...props} onChange={onEntryChange} />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC9D,SAASC,kBAAkB,QAAQ,MAAM;AACzC,SAASC,wBAAwB,QAAQ,0BAA0B;AAEnE,SAASC,iBAAiB,QAAQ,mCAAmC;AASrE,MAAM;EACFC,YAAY,EAAE;IAAEC;EAAiB;AACrC,CAAC,GAAGH,wBAAwB;AAE5B,MAAMI,aAAa,CAAyC;EAIxDC,WAAWA,CAACC,cAA8B,EAAEC,SAAuC,EAAE;IACjF,IAAI,CAACD,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1BR,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAS,OAAOA,CAACC,GAAW,EAA8B;IAC7C,IAAIA,GAAG,CAACC,UAAU,CAAC,OAAO,CAAC,EAAE;MACzB,OAAO,IAAI,CAACJ,cAAc,CAACK,QAAQ,CAAC,CAAC;IACzC;IAEA,OAAO,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,GAAG,CAAC;EACtC;EAEA,MAAMG,WAAWA,CAACC,OAAoB,EAAiB;IACnD,IAAIA,OAAO,CAACC,OAAO,CAAC,CAAC,KAAK,MAAM,EAAE;MAC9B;IACJ;IAEA,OAAO,IAAI,CAACP,SAAS,CAACK,WAAW,CAACC,OAAO,CAAC;EAC9C;AACJ;AAEA,MAAME,cAAc,CAAC;EAGjBV,WAAWA,CAACW,KAA+B,EAAE;IACzC,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClBjB,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAkB,QAAQA,CAACD,KAA+B,EAAE;IACtC,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;EAEAL,QAAQA,CAAA,EAAG;IACP,OAAO,IAAI,CAACK,KAAK;EACrB;AACJ;AAEA,OAAO,MAAME,qBAAqB,GAAGf,gBAAgB,CAACgB,eAAe,CAACC,QAAQ,IAAI;EAC9E,OAAO,SAASF,qBAAqBA,CAACG,KAAK,EAAE;IACzC,MAAMf,cAAc,GAAGR,OAAO,CAAC,MAAM,IAAIiB,cAAc,CAACM,KAAK,CAACL,KAAK,CAAC,EAAE,EAAE,CAAC;IAEzE,MAAMM,aAAa,GAAG1B,WAAW,CAAWoB,KAAK,IAAI;MACjDV,cAAc,CAACW,QAAQ,CAACD,KAAK,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC;IAENnB,SAAS,CAAC,MAAM;MACZ,OAAOI,iBAAiB,CAACsB,kBAAkB,CAACC,UAAU,IAAI;QACtD,OAAO,IAAIpB,aAAa,CAACE,cAAc,EAAEkB,UAAU,CAAC;MACxD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC;IAEN,oBAAO7B,KAAA,CAAA8B,aAAA,CAACL,QAAQ,EAAAM,MAAA,CAAAC,MAAA,KAAKN,KAAK;MAAEO,QAAQ,EAAEN;IAAc,EAAE,CAAC;EAC3D,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { PbPageTemplateWithContent } from "@webiny/app-page-builder/types";
|
|
3
|
+
export interface PreviewPaneProps {
|
|
4
|
+
template: PbPageTemplateWithContent;
|
|
5
|
+
}
|
|
6
|
+
export declare const PreviewPane: ({ template }: PreviewPaneProps) => React.JSX.Element;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { RenderPluginsLoader } from "@webiny/app-page-builder/admin";
|
|
5
|
+
import { Content } from "@webiny/app-page-builder-elements";
|
|
6
|
+
import { DataSourceProvider, DynamicDocumentProvider } from "@webiny/app-page-builder/dataInjection";
|
|
7
|
+
import { RefreshIcon } from "@webiny/ui/List/DataList/icons";
|
|
8
|
+
import { useRefreshPageTemplates } from "@webiny/app-page-builder/features";
|
|
9
|
+
const LivePreviewContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
10
|
+
target: "e1n62h5y1"
|
|
11
|
+
} : {
|
|
12
|
+
target: "e1n62h5y1",
|
|
13
|
+
label: "LivePreviewContainer"
|
|
14
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
15
|
+
name: "nxlrh6",
|
|
16
|
+
styles: "position:relative;display:flex;flex-direction:column;border-right:1px solid var(--mdc-theme-on-background);height:calc(100vh - 260px);overflow:auto"
|
|
17
|
+
} : {
|
|
18
|
+
name: "nxlrh6",
|
|
19
|
+
styles: "position:relative;display:flex;flex-direction:column;border-right:1px solid var(--mdc-theme-on-background);height:calc(100vh - 260px);overflow:auto",
|
|
20
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByZXZpZXdQYW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZdUMiLCJmaWxlIjoiUHJldmlld1BhbmUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFBiUGFnZVRlbXBsYXRlV2l0aENvbnRlbnQgfSBmcm9tIFwiQHdlYmlueS9hcHAtcGFnZS1idWlsZGVyL3R5cGVzXCI7XG5pbXBvcnQgeyBSZW5kZXJQbHVnaW5zTG9hZGVyIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLXBhZ2UtYnVpbGRlci9hZG1pblwiO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gXCJAd2ViaW55L2FwcC1wYWdlLWJ1aWxkZXItZWxlbWVudHNcIjtcbmltcG9ydCB7XG4gICAgRGF0YVNvdXJjZVByb3ZpZGVyLFxuICAgIER5bmFtaWNEb2N1bWVudFByb3ZpZGVyXG59IGZyb20gXCJAd2ViaW55L2FwcC1wYWdlLWJ1aWxkZXIvZGF0YUluamVjdGlvblwiO1xuaW1wb3J0IHsgUmVmcmVzaEljb24gfSBmcm9tIFwiQHdlYmlueS91aS9MaXN0L0RhdGFMaXN0L2ljb25zXCI7XG5pbXBvcnQgeyB1c2VSZWZyZXNoUGFnZVRlbXBsYXRlcyB9IGZyb20gXCJAd2ViaW55L2FwcC1wYWdlLWJ1aWxkZXIvZmVhdHVyZXNcIjtcblxuY29uc3QgTGl2ZVByZXZpZXdDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbWRjLXRoZW1lLW9uLWJhY2tncm91bmQpO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDI2MHB4KTtcbiAgICBvdmVyZmxvdzogYXV0bztcbmA7XG5cbmNvbnN0IEhlYWRlciA9IHN0eWxlZC5kaXZgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWRjLXRoZW1lLW9uLWJhY2tncm91bmQpO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBQcmV2aWV3UGFuZVByb3BzIHtcbiAgICB0ZW1wbGF0ZTogUGJQYWdlVGVtcGxhdGVXaXRoQ29udGVudDtcbn1cblxuZXhwb3J0IGNvbnN0IFByZXZpZXdQYW5lID0gKHsgdGVtcGxhdGUgfTogUHJldmlld1BhbmVQcm9wcykgPT4ge1xuICAgIGNvbnN0IG1haW5EYXRhU291cmNlID0gdGVtcGxhdGUuZGF0YVNvdXJjZXMuZmluZChkcyA9PiBkcy5uYW1lID09PSBcIm1haW5cIik7XG4gICAgY29uc3QgeyByZWZyZXNoUGFnZVRlbXBsYXRlcyB9ID0gdXNlUmVmcmVzaFBhZ2VUZW1wbGF0ZXMoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxSZW5kZXJQbHVnaW5zTG9hZGVyPlxuICAgICAgICAgICAgPExpdmVQcmV2aWV3Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIHt0ZW1wbGF0ZS50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgPFJlZnJlc2hJY29uIG9uQ2xpY2s9eygpID0+IHJlZnJlc2hQYWdlVGVtcGxhdGVzKCl9IC8+XG4gICAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgICAgPER5bmFtaWNEb2N1bWVudFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VzPXt0ZW1wbGF0ZS5kYXRhU291cmNlc31cbiAgICAgICAgICAgICAgICAgICAgZGF0YUJpbmRpbmdzPXt0ZW1wbGF0ZS5kYXRhQmluZGluZ3N9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RGF0YVNvdXJjZVByb3ZpZGVyIGRhdGFTb3VyY2U9e21haW5EYXRhU291cmNlIX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q29udGVudCBjb250ZW50PXt0ZW1wbGF0ZS5jb250ZW50fSAvPlxuICAgICAgICAgICAgICAgICAgICA8L0RhdGFTb3VyY2VQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0R5bmFtaWNEb2N1bWVudFByb3ZpZGVyPlxuICAgICAgICAgICAgPC9MaXZlUHJldmlld0NvbnRhaW5lcj5cbiAgICAgICAgPC9SZW5kZXJQbHVnaW5zTG9hZGVyPlxuICAgICk7XG59O1xuIl19 */",
|
|
21
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
22
|
+
});
|
|
23
|
+
const Header = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
|
|
24
|
+
target: "e1n62h5y0"
|
|
25
|
+
} : {
|
|
26
|
+
target: "e1n62h5y0",
|
|
27
|
+
label: "Header"
|
|
28
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
29
|
+
name: "5x95ps",
|
|
30
|
+
styles: "display:flex;padding:15px;justify-content:space-between;border-bottom:1px solid var(--mdc-theme-on-background);font-size:24px;align-items:center"
|
|
31
|
+
} : {
|
|
32
|
+
name: "5x95ps",
|
|
33
|
+
styles: "display:flex;padding:15px;justify-content:space-between;border-bottom:1px solid var(--mdc-theme-on-background);font-size:24px;align-items:center",
|
|
34
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByZXZpZXdQYW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQnlCIiwiZmlsZSI6IlByZXZpZXdQYW5lLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQYlBhZ2VUZW1wbGF0ZVdpdGhDb250ZW50IH0gZnJvbSBcIkB3ZWJpbnkvYXBwLXBhZ2UtYnVpbGRlci90eXBlc1wiO1xuaW1wb3J0IHsgUmVuZGVyUGx1Z2luc0xvYWRlciB9IGZyb20gXCJAd2ViaW55L2FwcC1wYWdlLWJ1aWxkZXIvYWRtaW5cIjtcbmltcG9ydCB7IENvbnRlbnQgfSBmcm9tIFwiQHdlYmlueS9hcHAtcGFnZS1idWlsZGVyLWVsZW1lbnRzXCI7XG5pbXBvcnQge1xuICAgIERhdGFTb3VyY2VQcm92aWRlcixcbiAgICBEeW5hbWljRG9jdW1lbnRQcm92aWRlclxufSBmcm9tIFwiQHdlYmlueS9hcHAtcGFnZS1idWlsZGVyL2RhdGFJbmplY3Rpb25cIjtcbmltcG9ydCB7IFJlZnJlc2hJY29uIH0gZnJvbSBcIkB3ZWJpbnkvdWkvTGlzdC9EYXRhTGlzdC9pY29uc1wiO1xuaW1wb3J0IHsgdXNlUmVmcmVzaFBhZ2VUZW1wbGF0ZXMgfSBmcm9tIFwiQHdlYmlueS9hcHAtcGFnZS1idWlsZGVyL2ZlYXR1cmVzXCI7XG5cbmNvbnN0IExpdmVQcmV2aWV3Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNjBweCk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5gO1xuXG5jb25zdCBIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1kYy10aGVtZS1vbi1iYWNrZ3JvdW5kKTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlld1BhbmVQcm9wcyB7XG4gICAgdGVtcGxhdGU6IFBiUGFnZVRlbXBsYXRlV2l0aENvbnRlbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBQcmV2aWV3UGFuZSA9ICh7IHRlbXBsYXRlIH06IFByZXZpZXdQYW5lUHJvcHMpID0+IHtcbiAgICBjb25zdCBtYWluRGF0YVNvdXJjZSA9IHRlbXBsYXRlLmRhdGFTb3VyY2VzLmZpbmQoZHMgPT4gZHMubmFtZSA9PT0gXCJtYWluXCIpO1xuICAgIGNvbnN0IHsgcmVmcmVzaFBhZ2VUZW1wbGF0ZXMgfSA9IHVzZVJlZnJlc2hQYWdlVGVtcGxhdGVzKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8UmVuZGVyUGx1Z2luc0xvYWRlcj5cbiAgICAgICAgICAgIDxMaXZlUHJldmlld0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8SGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICB7dGVtcGxhdGUudGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIDxSZWZyZXNoSWNvbiBvbkNsaWNrPXsoKSA9PiByZWZyZXNoUGFnZVRlbXBsYXRlcygpfSAvPlxuICAgICAgICAgICAgICAgIDwvSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxEeW5hbWljRG9jdW1lbnRQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlcz17dGVtcGxhdGUuZGF0YVNvdXJjZXN9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFCaW5kaW5ncz17dGVtcGxhdGUuZGF0YUJpbmRpbmdzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPERhdGFTb3VyY2VQcm92aWRlciBkYXRhU291cmNlPXttYWluRGF0YVNvdXJjZSF9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPENvbnRlbnQgY29udGVudD17dGVtcGxhdGUuY29udGVudH0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9EYXRhU291cmNlUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9EeW5hbWljRG9jdW1lbnRQcm92aWRlcj5cbiAgICAgICAgICAgIDwvTGl2ZVByZXZpZXdDb250YWluZXI+XG4gICAgICAgIDwvUmVuZGVyUGx1Z2luc0xvYWRlcj5cbiAgICApO1xufTtcbiJdfQ== */",
|
|
35
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
36
|
+
});
|
|
37
|
+
export const PreviewPane = ({
|
|
38
|
+
template
|
|
39
|
+
}) => {
|
|
40
|
+
const mainDataSource = template.dataSources.find(ds => ds.name === "main");
|
|
41
|
+
const {
|
|
42
|
+
refreshPageTemplates
|
|
43
|
+
} = useRefreshPageTemplates();
|
|
44
|
+
return /*#__PURE__*/React.createElement(RenderPluginsLoader, null, /*#__PURE__*/React.createElement(LivePreviewContainer, null, /*#__PURE__*/React.createElement(Header, null, template.title, /*#__PURE__*/React.createElement(RefreshIcon, {
|
|
45
|
+
onClick: () => refreshPageTemplates()
|
|
46
|
+
})), /*#__PURE__*/React.createElement(DynamicDocumentProvider, {
|
|
47
|
+
dataSources: template.dataSources,
|
|
48
|
+
dataBindings: template.dataBindings
|
|
49
|
+
}, /*#__PURE__*/React.createElement(DataSourceProvider, {
|
|
50
|
+
dataSource: mainDataSource
|
|
51
|
+
}, /*#__PURE__*/React.createElement(Content, {
|
|
52
|
+
content: template.content
|
|
53
|
+
})))));
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=PreviewPane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","RenderPluginsLoader","Content","DataSourceProvider","DynamicDocumentProvider","RefreshIcon","useRefreshPageTemplates","LivePreviewContainer","_styled","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Header","PreviewPane","template","mainDataSource","dataSources","find","ds","refreshPageTemplates","createElement","title","onClick","dataBindings","dataSource","content"],"sources":["PreviewPane.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport type { PbPageTemplateWithContent } from \"@webiny/app-page-builder/types\";\nimport { RenderPluginsLoader } from \"@webiny/app-page-builder/admin\";\nimport { Content } from \"@webiny/app-page-builder-elements\";\nimport {\n DataSourceProvider,\n DynamicDocumentProvider\n} from \"@webiny/app-page-builder/dataInjection\";\nimport { RefreshIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { useRefreshPageTemplates } from \"@webiny/app-page-builder/features\";\n\nconst LivePreviewContainer = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mdc-theme-on-background);\n height: calc(100vh - 260px);\n overflow: auto;\n`;\n\nconst Header = styled.div`\n display: flex;\n padding: 15px;\n justify-content: space-between;\n border-bottom: 1px solid var(--mdc-theme-on-background);\n font-size: 24px;\n align-items: center;\n`;\n\nexport interface PreviewPaneProps {\n template: PbPageTemplateWithContent;\n}\n\nexport const PreviewPane = ({ template }: PreviewPaneProps) => {\n const mainDataSource = template.dataSources.find(ds => ds.name === \"main\");\n const { refreshPageTemplates } = useRefreshPageTemplates();\n\n return (\n <RenderPluginsLoader>\n <LivePreviewContainer>\n <Header>\n {template.title}\n <RefreshIcon onClick={() => refreshPageTemplates()} />\n </Header>\n <DynamicDocumentProvider\n dataSources={template.dataSources}\n dataBindings={template.dataBindings}\n >\n <DataSourceProvider dataSource={mainDataSource!}>\n <Content content={template.content} />\n </DataSourceProvider>\n </DynamicDocumentProvider>\n </LivePreviewContainer>\n </RenderPluginsLoader>\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,mBAAmB,QAAQ,gCAAgC;AACpE,SAASC,OAAO,QAAQ,mCAAmC;AAC3D,SACIC,kBAAkB,EAClBC,uBAAuB,QACpB,wCAAwC;AAC/C,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,uBAAuB,QAAQ,mCAAmC;AAE3E,MAAMC,oBAAoB,gBAAAC,OAAA,QAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,EAOzB;AAED,MAAMC,MAAM,gBAAAX,OAAA,QAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,EAOX;AAMD,OAAO,MAAME,WAAW,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAC3D,MAAMC,cAAc,GAAGD,QAAQ,CAACE,WAAW,CAACC,IAAI,CAACC,EAAE,IAAIA,EAAE,CAACX,IAAI,KAAK,MAAM,CAAC;EAC1E,MAAM;IAAEY;EAAqB,CAAC,GAAGpB,uBAAuB,CAAC,CAAC;EAE1D,oBACIN,KAAA,CAAA2B,aAAA,CAAC1B,mBAAmB,qBAChBD,KAAA,CAAA2B,aAAA,CAACpB,oBAAoB,qBACjBP,KAAA,CAAA2B,aAAA,CAACR,MAAM,QACFE,QAAQ,CAACO,KAAK,eACf5B,KAAA,CAAA2B,aAAA,CAACtB,WAAW;IAACwB,OAAO,EAAEA,CAAA,KAAMH,oBAAoB,CAAC;EAAE,CAAE,CACjD,CAAC,eACT1B,KAAA,CAAA2B,aAAA,CAACvB,uBAAuB;IACpBmB,WAAW,EAAEF,QAAQ,CAACE,WAAY;IAClCO,YAAY,EAAET,QAAQ,CAACS;EAAa,gBAEpC9B,KAAA,CAAA2B,aAAA,CAACxB,kBAAkB;IAAC4B,UAAU,EAAET;EAAgB,gBAC5CtB,KAAA,CAAA2B,aAAA,CAACzB,OAAO;IAAC8B,OAAO,EAAEX,QAAQ,CAACW;EAAQ,CAAE,CACrB,CACC,CACP,CACL,CAAC;AAE9B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IfDynamicPagesEnabled } from "@webiny/app-page-builder/IfDynamicPagesEnabled";
|
|
3
|
+
const SetupDynamicPages = /*#__PURE__*/React.lazy(() => {
|
|
4
|
+
return import(/* webpackChunkName: "experimentalDynamicPages" */"./SetupDynamicPages").then(m => ({
|
|
5
|
+
default: m.SetupDynamicPages
|
|
6
|
+
}));
|
|
7
|
+
});
|
|
8
|
+
export const Extensions = () => {
|
|
9
|
+
return /*#__PURE__*/React.createElement(IfDynamicPagesEnabled, null, /*#__PURE__*/React.createElement(React.Suspense, {
|
|
10
|
+
fallback: null
|
|
11
|
+
}, /*#__PURE__*/React.createElement(SetupDynamicPages, null)));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=Extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","IfDynamicPagesEnabled","SetupDynamicPages","lazy","then","m","default","Extensions","createElement","Suspense","fallback"],"sources":["Extensions.tsx"],"sourcesContent":["import React from \"react\";\nimport { IfDynamicPagesEnabled } from \"@webiny/app-page-builder/IfDynamicPagesEnabled\";\n\nconst SetupDynamicPages = React.lazy(() => {\n return import(/* webpackChunkName: \"experimentalDynamicPages\" */ \"./SetupDynamicPages\").then(\n m => ({ default: m.SetupDynamicPages })\n );\n});\n\nexport const Extensions = () => {\n return (\n <IfDynamicPagesEnabled>\n <React.Suspense fallback={null}>\n <SetupDynamicPages />\n </React.Suspense>\n </IfDynamicPagesEnabled>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,qBAAqB,QAAQ,gDAAgD;AAEtF,MAAMC,iBAAiB,gBAAGF,KAAK,CAACG,IAAI,CAAC,MAAM;EACvC,OAAO,MAAM,CAAC,uEAAwE,CAAC,CAACC,IAAI,CACxFC,CAAC,KAAK;IAAEC,OAAO,EAAED,CAAC,CAACH;EAAkB,CAAC,CAC1C,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,MAAMK,UAAU,GAAGA,CAAA,KAAM;EAC5B,oBACIP,KAAA,CAAAQ,aAAA,CAACP,qBAAqB,qBAClBD,KAAA,CAAAQ,aAAA,CAACR,KAAK,CAACS,QAAQ;IAACC,QAAQ,EAAE;EAAK,gBAC3BV,KAAA,CAAAQ,aAAA,CAACN,iBAAiB,MAAE,CACR,CACG,CAAC;AAEhC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { CmsModel } from "@webiny/app-headless-cms/types";
|
|
3
|
+
type CreateTemplateDialogProps = {
|
|
4
|
+
open: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onDynamicTemplateSelect: (model: CmsModel) => void;
|
|
7
|
+
onStaticTemplateSelect: () => void;
|
|
8
|
+
existingDynamicTemplateModelIds: string[];
|
|
9
|
+
};
|
|
10
|
+
export declare const CreateTemplateDialog: React.FC<CreateTemplateDialogProps>;
|
|
11
|
+
export {};
|