@webiny/app-dynamic-pages 5.43.3 → 6.0.0-alpha.1
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/admin/ContentEntryForm/AddPreviewPane.js +24 -29
- package/admin/ContentEntryForm/AddPreviewPane.js.map +1 -1
- package/admin/ContentEntryForm/PassEntryToDataSource.js +39 -59
- package/admin/ContentEntryForm/PassEntryToDataSource.js.map +1 -1
- package/admin/ContentEntryForm/PreviewPane.d.ts +1 -1
- package/admin/ContentEntryForm/PreviewPane.js +23 -32
- package/admin/ContentEntryForm/PreviewPane.js.map +1 -1
- package/admin/Extensions.js +9 -18
- package/admin/Extensions.js.map +1 -1
- package/admin/PageTemplateDialog/CreateTemplateDialog.d.ts +1 -1
- package/admin/PageTemplateDialog/CreateTemplateDialog.js +89 -92
- package/admin/PageTemplateDialog/CreateTemplateDialog.js.map +1 -1
- package/admin/PageTemplateDialog/PageTemplateDialog.js +24 -35
- package/admin/PageTemplateDialog/PageTemplateDialog.js.map +1 -1
- package/admin/SetupDynamicPages.js +13 -20
- package/admin/SetupDynamicPages.js.map +1 -1
- package/admin/elements/Elements.js +9 -16
- package/admin/elements/Elements.js.map +1 -1
- package/admin/elements/entriesList.d.ts +1 -1
- package/admin/elements/entriesList.js +12 -19
- package/admin/elements/entriesList.js.map +1 -1
- package/admin/elements/entriesSearch.d.ts +1 -1
- package/admin/elements/entriesSearch.js +10 -17
- package/admin/elements/entriesSearch.js.map +1 -1
- package/admin/elements/eventHandlers/ContentTraverser.d.ts +1 -1
- package/admin/elements/eventHandlers/ContentTraverser.js +7 -32
- package/admin/elements/eventHandlers/ContentTraverser.js.map +1 -1
- package/admin/elements/renderers/DynamicGrid.js +26 -32
- package/admin/elements/renderers/DynamicGrid.js.map +1 -1
- package/admin/elements/renderers/EntriesList.d.ts +1 -1
- package/admin/elements/renderers/EntriesList.js +11 -19
- package/admin/elements/renderers/EntriesList.js.map +1 -1
- package/admin/elements/renderers/Repeater.d.ts +1 -1
- package/admin/elements/renderers/Repeater.js +11 -19
- package/admin/elements/renderers/Repeater.js.map +1 -1
- package/admin/elements/repeater.d.ts +1 -1
- package/admin/elements/repeater.js +10 -17
- package/admin/elements/repeater.js.map +1 -1
- package/admin/index.js +1 -12
- package/admin/index.js.map +1 -1
- package/admin/pageEditor/DynamicPageEditorConfig.js +7 -14
- package/admin/pageEditor/DynamicPageEditorConfig.js.map +1 -1
- package/admin/pageEditor/ElementEventHandlers.js +52 -59
- package/admin/pageEditor/ElementEventHandlers.js.map +1 -1
- package/admin/templateEditor/DynamicTemplateEditorConfig.js +22 -25
- package/admin/templateEditor/DynamicTemplateEditorConfig.js.map +1 -1
- package/admin/templateEditor/ElementEventHandlers.js +52 -59
- package/admin/templateEditor/ElementEventHandlers.js.map +1 -1
- package/admin/templateEditor/EntrySelector/EntrySelector.js +16 -27
- package/admin/templateEditor/EntrySelector/EntrySelector.js.map +1 -1
- package/admin/templateEditor/EntrySelector/index.js +1 -16
- package/admin/templateEditor/EntrySelector/index.js.map +1 -1
- package/dataInjection/AddEntriesListDataSourceContext.js +14 -20
- package/dataInjection/AddEntriesListDataSourceContext.js.map +1 -1
- package/dataInjection/editor/DisableGridDelete.js +10 -15
- package/dataInjection/editor/DisableGridDelete.js.map +1 -1
- package/dataInjection/editor/ElementDataSettings.js +13 -20
- package/dataInjection/editor/ElementDataSettings.js.map +1 -1
- package/dataInjection/editor/HideIfChildOfEntriesList.js +10 -18
- package/dataInjection/editor/HideIfChildOfEntriesList.js.map +1 -1
- package/dataInjection/editor/HideIfEntriesListGridWithDataSource.js +16 -25
- package/dataInjection/editor/HideIfEntriesListGridWithDataSource.js.map +1 -1
- package/dataInjection/editor/SetupElementDataSettings.js +9 -14
- package/dataInjection/editor/SetupElementDataSettings.js.map +1 -1
- package/dataInjection/renderers/DynamicElementRenderers.js +14 -21
- package/dataInjection/renderers/DynamicElementRenderers.js.map +1 -1
- package/dataInjection/renderers/DynamicGrid.js +24 -30
- package/dataInjection/renderers/DynamicGrid.js.map +1 -1
- package/dataInjection/renderers/EntriesList.d.ts +1 -1
- package/dataInjection/renderers/EntriesList.js +20 -26
- package/dataInjection/renderers/EntriesList.js.map +1 -1
- package/dataInjection/renderers/EntriesSearch.js +9 -21
- package/dataInjection/renderers/EntriesSearch.js.map +1 -1
- package/dataInjection/renderers/Repeater.d.ts +1 -1
- package/dataInjection/renderers/Repeater.js +20 -26
- package/dataInjection/renderers/Repeater.js.map +1 -1
- package/features/index.js +3 -38
- package/features/index.js.map +1 -1
- package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.d.ts +1 -1
- package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.js +18 -25
- package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.js.map +1 -1
- package/features/pageTemplate/hasMainDataSource.js +2 -10
- package/features/pageTemplate/hasMainDataSource.js.map +1 -1
- package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.js +8 -15
- package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.js.map +1 -1
- package/package.json +12 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","useRenderer","Elements","ElementInput","PeGrid","useElementWithChildren","DataSourceDataProvider","elementInputs","dataSource","create","name","type","translatable","getDefaultValue","DynamicGrid","Component","createDecorator","Original","props","getElement","getInputValues","element","elementWithChildren","id","inputs","Array","isArray","hasData","length","baseCell","elements","dynamicElement","fill","createElement","wrapper","index"],"sources":["DynamicGrid.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRenderer, Elements, ElementInput } from \"@webiny/app-page-builder-elements\";\nimport { PeGrid } from \"@webiny/app-page-builder/editor/plugins/elements/grid/PeGrid\";\nimport { useElementWithChildren } from \"@webiny/app-page-builder/editor\";\nimport type { GenericRecord } from \"@webiny/app/types\";\nimport { DataSourceDataProvider } from \"@webiny/app-page-builder/dataInjection\";\n\nconst elementInputs = {\n dataSource: ElementInput.create<GenericRecord[]>({\n name: \"dataSource\",\n type: \"array\",\n translatable: false,\n getDefaultValue() {\n return [];\n }\n })\n};\n\nexport const DynamicGrid = PeGrid.Component.createDecorator(Original => {\n return function DynamicGrid(props) {\n const { getElement, getInputValues } = useRenderer();\n const element = getElement();\n const elementWithChildren = useElementWithChildren(element.id);\n const inputs = getInputValues<typeof elementInputs>();\n\n if (!elementWithChildren) {\n return null;\n }\n\n if (Array.isArray(inputs.dataSource)) {\n const hasData = inputs.dataSource.length > 0;\n\n const baseCell = elementWithChildren.elements[0];\n const dynamicElement = {\n ...element,\n elements: hasData\n ? Array(inputs.dataSource.length).fill(baseCell)\n : elementWithChildren.elements\n };\n\n return (\n <Elements\n element={dynamicElement}\n wrapper={(element, index) => {\n const dataSource = inputs.dataSource ? inputs.dataSource[index] : {};\n\n return (\n <DataSourceDataProvider dataSource={dataSource}>\n {element}\n </DataSourceDataProvider>\n );\n }}\n />\n );\n }\n\n return <Original {...props} />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,mCAAmC;AACvF,SAASC,MAAM,QAAQ,8DAA8D;AACrF,SAASC,sBAAsB,QAAQ,iCAAiC;AAExE,SAASC,sBAAsB,QAAQ,wCAAwC;AAE/E,MAAMC,aAAa,GAAG;EAClBC,UAAU,EAAEL,YAAY,CAACM,MAAM,CAAkB;IAC7CC,IAAI,EAAE,YAAY;IAClBC,IAAI,EAAE,OAAO;IACbC,YAAY,EAAE,KAAK;IACnBC,eAAeA,CAAA,EAAG;MACd,OAAO,EAAE;IACb;EACJ,CAAC;AACL,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGV,MAAM,CAACW,SAAS,CAACC,eAAe,CAACC,QAAQ,IAAI;EACpE,OAAO,SAASH,WAAWA,CAACI,KAAK,EAAE;IAC/B,MAAM;MAAEC,UAAU;MAAEC;IAAe,CAAC,GAAGnB,WAAW,CAAC,CAAC;IACpD,MAAMoB,OAAO,GAAGF,UAAU,CAAC,CAAC;IAC5B,MAAMG,mBAAmB,GAAGjB,sBAAsB,CAACgB,OAAO,CAACE,EAAE,CAAC;IAC9D,MAAMC,MAAM,GAAGJ,cAAc,CAAuB,CAAC;IAErD,IAAI,CAACE,mBAAmB,EAAE;MACtB,OAAO,IAAI;IACf;IAEA,IAAIG,KAAK,CAACC,OAAO,CAACF,MAAM,CAAChB,UAAU,CAAC,EAAE;MAClC,MAAMmB,OAAO,GAAGH,MAAM,CAAChB,UAAU,CAACoB,MAAM,GAAG,CAAC;MAE5C,MAAMC,QAAQ,GAAGP,mBAAmB,CAACQ,QAAQ,CAAC,CAAC,CAAC;MAChD,MAAMC,cAAc,GAAG;QACnB,GAAGV,OAAO;QACVS,QAAQ,EAAEH,OAAO,GACXF,KAAK,CAACD,MAAM,CAAChB,UAAU,CAACoB,MAAM,CAAC,CAACI,IAAI,CAACH,QAAQ,CAAC,GAC9CP,mBAAmB,CAACQ;MAC9B,CAAC;MAED,oBACI9B,KAAA,CAAAiC,aAAA,CAAC/B,QAAQ;QACLmB,OAAO,EAAEU,cAAe;QACxBG,OAAO,EAAEA,CAACb,OAAO,EAAEc,KAAK,KAAK;UACzB,MAAM3B,UAAU,GAAGgB,MAAM,CAAChB,UAAU,GAAGgB,MAAM,CAAChB,UAAU,CAAC2B,KAAK,CAAC,GAAG,CAAC,CAAC;UAEpE,oBACInC,KAAA,CAAAiC,aAAA,CAAC3B,sBAAsB;YAACE,UAAU,EAAEA;UAAW,GAC1Ca,OACmB,CAAC;QAEjC;MAAE,CACL,CAAC;IAEV;IAEA,oBAAOrB,KAAA,CAAAiC,aAAA,CAAChB,QAAQ,EAAKC,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,26 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _EmptyCell = require("@webiny/app-page-builder/editor/plugins/elements/cell/EmptyCell");
|
|
11
|
-
var _editor = require("@webiny/app-page-builder/editor");
|
|
12
|
-
var _EntriesList = require("../../../dataInjection/renderers/EntriesList");
|
|
13
|
-
var _excluded = ["element"];
|
|
14
|
-
var AdminEntriesListRenderer = exports.AdminEntriesListRenderer = function AdminEntriesListRenderer(_ref) {
|
|
15
|
-
var element = _ref.element,
|
|
16
|
-
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
17
|
-
var elementWithChildren = (0, _editor.useElementWithChildren)(element.id);
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EmptyCell } from "@webiny/app-page-builder/editor/plugins/elements/cell/EmptyCell";
|
|
3
|
+
import { useElementWithChildren } from "@webiny/app-page-builder/editor";
|
|
4
|
+
import { EntriesListRenderer } from "../../../dataInjection/renderers/EntriesList";
|
|
5
|
+
export const AdminEntriesListRenderer = ({
|
|
6
|
+
element,
|
|
7
|
+
...rest
|
|
8
|
+
}) => {
|
|
9
|
+
const elementWithChildren = useElementWithChildren(element.id);
|
|
18
10
|
if (!elementWithChildren) {
|
|
19
11
|
return null;
|
|
20
12
|
}
|
|
21
|
-
return /*#__PURE__*/
|
|
13
|
+
return /*#__PURE__*/React.createElement(EntriesListRenderer, Object.assign({}, rest, {
|
|
22
14
|
element: elementWithChildren,
|
|
23
|
-
ifEmpty: /*#__PURE__*/
|
|
15
|
+
ifEmpty: /*#__PURE__*/React.createElement(EmptyCell, {
|
|
24
16
|
element: elementWithChildren
|
|
25
17
|
})
|
|
26
18
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","EmptyCell","useElementWithChildren","EntriesListRenderer","AdminEntriesListRenderer","element","rest","elementWithChildren","id","createElement","Object","assign","ifEmpty","displayName"],"sources":["EntriesList.tsx"],"sourcesContent":["import React from \"react\";\nimport type { PbElement } from \"@webiny/app-page-builder/types\";\nimport { EmptyCell } from \"@webiny/app-page-builder/editor/plugins/elements/cell/EmptyCell\";\nimport { useElementWithChildren } from \"@webiny/app-page-builder/editor\";\nimport { EntriesListRenderer } from \"~/dataInjection/renderers/EntriesList\";\n\ninterface AdminEntriesListRendererProps {\n element: PbElement;\n}\n\nexport const AdminEntriesListRenderer = ({ element, ...rest }: AdminEntriesListRendererProps) => {\n const elementWithChildren = useElementWithChildren(element.id);\n\n if (!elementWithChildren) {\n return null;\n }\n\n return (\n <EntriesListRenderer\n {...rest}\n element={elementWithChildren}\n ifEmpty={<EmptyCell element={elementWithChildren} />}\n />\n );\n};\n\nAdminEntriesListRenderer.displayName = \"AdminEntriesListRenderer\";\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,iEAAiE;AAC3F,SAASC,sBAAsB,QAAQ,iCAAiC;AACxE,SAASC,mBAAmB;AAM5B,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EAAEC,OAAO;EAAE,GAAGC;AAAoC,CAAC,KAAK;EAC7F,MAAMC,mBAAmB,GAAGL,sBAAsB,CAACG,OAAO,CAACG,EAAE,CAAC;EAE9D,IAAI,CAACD,mBAAmB,EAAE;IACtB,OAAO,IAAI;EACf;EAEA,oBACIP,KAAA,CAAAS,aAAA,CAACN,mBAAmB,EAAAO,MAAA,CAAAC,MAAA,KACZL,IAAI;IACRD,OAAO,EAAEE,mBAAoB;IAC7BK,OAAO,eAAEZ,KAAA,CAAAS,aAAA,CAACR,SAAS;MAACI,OAAO,EAAEE;IAAoB,CAAE;EAAE,EACxD,CAAC;AAEV,CAAC;AAEDH,wBAAwB,CAACS,WAAW,GAAG,0BAA0B","ignoreList":[]}
|
|
@@ -1,26 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _EmptyCell = require("@webiny/app-page-builder/editor/plugins/elements/cell/EmptyCell");
|
|
11
|
-
var _editor = require("@webiny/app-page-builder/editor");
|
|
12
|
-
var _Repeater = require("../../../dataInjection/renderers/Repeater");
|
|
13
|
-
var _excluded = ["element"];
|
|
14
|
-
var AdminRepeaterRenderer = exports.AdminRepeaterRenderer = function AdminRepeaterRenderer(_ref) {
|
|
15
|
-
var element = _ref.element,
|
|
16
|
-
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
17
|
-
var elementWithChildren = (0, _editor.useElementWithChildren)(element.id);
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EmptyCell } from "@webiny/app-page-builder/editor/plugins/elements/cell/EmptyCell";
|
|
3
|
+
import { useElementWithChildren } from "@webiny/app-page-builder/editor";
|
|
4
|
+
import { RepeaterRenderer } from "../../../dataInjection/renderers/Repeater";
|
|
5
|
+
export const AdminRepeaterRenderer = ({
|
|
6
|
+
element,
|
|
7
|
+
...rest
|
|
8
|
+
}) => {
|
|
9
|
+
const elementWithChildren = useElementWithChildren(element.id);
|
|
18
10
|
if (!elementWithChildren) {
|
|
19
11
|
return null;
|
|
20
12
|
}
|
|
21
|
-
return /*#__PURE__*/
|
|
13
|
+
return /*#__PURE__*/React.createElement(RepeaterRenderer, Object.assign({}, rest, {
|
|
22
14
|
element: elementWithChildren,
|
|
23
|
-
ifEmpty: /*#__PURE__*/
|
|
15
|
+
ifEmpty: /*#__PURE__*/React.createElement(EmptyCell, {
|
|
24
16
|
element: elementWithChildren
|
|
25
17
|
})
|
|
26
18
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","EmptyCell","useElementWithChildren","RepeaterRenderer","AdminRepeaterRenderer","element","rest","elementWithChildren","id","createElement","Object","assign","ifEmpty"],"sources":["Repeater.tsx"],"sourcesContent":["import React from \"react\";\nimport type { PbElement } from \"@webiny/app-page-builder/types\";\nimport { EmptyCell } from \"@webiny/app-page-builder/editor/plugins/elements/cell/EmptyCell\";\nimport { useElementWithChildren } from \"@webiny/app-page-builder/editor\";\nimport { RepeaterRenderer } from \"~/dataInjection/renderers/Repeater\";\n\ninterface AdminRepeaterRendererProps {\n element: PbElement;\n}\n\nexport const AdminRepeaterRenderer = ({ element, ...rest }: AdminRepeaterRendererProps) => {\n const elementWithChildren = useElementWithChildren(element.id);\n\n if (!elementWithChildren) {\n return null;\n }\n\n return (\n <RepeaterRenderer\n {...rest}\n element={elementWithChildren}\n ifEmpty={<EmptyCell element={elementWithChildren} />}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,iEAAiE;AAC3F,SAASC,sBAAsB,QAAQ,iCAAiC;AACxE,SAASC,gBAAgB;AAMzB,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC,OAAO;EAAE,GAAGC;AAAiC,CAAC,KAAK;EACvF,MAAMC,mBAAmB,GAAGL,sBAAsB,CAACG,OAAO,CAACG,EAAE,CAAC;EAE9D,IAAI,CAACD,mBAAmB,EAAE;IACtB,OAAO,IAAI;EACf;EAEA,oBACIP,KAAA,CAAAS,aAAA,CAACN,gBAAgB,EAAAO,MAAA,CAAAC,MAAA,KACTL,IAAI;IACRD,OAAO,EAAEE,mBAAoB;IAC7BK,OAAO,eAAEZ,KAAA,CAAAS,aAAA,CAACR,SAAS;MAACI,OAAO,EAAEE;IAAoB,CAAE;EAAE,EACxD,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PbEditorPageElementPlugin } from "@webiny/app-page-builder/types";
|
|
1
|
+
import type { PbEditorPageElementPlugin } from "@webiny/app-page-builder/types";
|
|
2
2
|
export declare const createRepeaterElement: () => PbEditorPageElementPlugin;
|
|
@@ -1,37 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createRepeaterElement = void 0;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _repeat = require("@material-design-icons/svg/round/repeat.svg");
|
|
10
|
-
var _Repeater = require("./renderers/Repeater");
|
|
11
|
-
var createRepeaterElement = exports.createRepeaterElement = function createRepeaterElement() {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ReactComponent as RepeatIcon } from "@webiny/icons/repeat.svg";
|
|
3
|
+
import { AdminRepeaterRenderer } from "./renderers/Repeater";
|
|
4
|
+
export const createRepeaterElement = () => {
|
|
12
5
|
return {
|
|
13
|
-
name:
|
|
6
|
+
name: `pb-editor-page-element-repeater`,
|
|
14
7
|
type: "pb-editor-page-element",
|
|
15
8
|
elementType: "repeater",
|
|
16
9
|
canReceiveChildren: true,
|
|
17
10
|
toolbar: {
|
|
18
11
|
title: "Repeater Element",
|
|
19
12
|
group: "pb-editor-element-group-basic",
|
|
20
|
-
preview
|
|
21
|
-
return /*#__PURE__*/
|
|
13
|
+
preview() {
|
|
14
|
+
return /*#__PURE__*/React.createElement(RepeatIcon, null);
|
|
22
15
|
}
|
|
23
16
|
},
|
|
24
17
|
settings: ["pb-editor-page-element-settings-clone", "pb-editor-page-element-settings-delete"],
|
|
25
18
|
target: ["cell", "block"],
|
|
26
|
-
create
|
|
19
|
+
create() {
|
|
27
20
|
return {
|
|
28
21
|
type: this.elementType,
|
|
29
22
|
elements: [],
|
|
30
23
|
data: {}
|
|
31
24
|
};
|
|
32
25
|
},
|
|
33
|
-
render
|
|
34
|
-
return /*#__PURE__*/
|
|
26
|
+
render(props) {
|
|
27
|
+
return /*#__PURE__*/React.createElement(AdminRepeaterRenderer, Object.assign({}, props, {
|
|
35
28
|
element: props.element
|
|
36
29
|
}));
|
|
37
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","ReactComponent","RepeatIcon","AdminRepeaterRenderer","createRepeaterElement","name","type","elementType","canReceiveChildren","toolbar","title","group","preview","createElement","settings","target","create","elements","data","render","props","Object","assign","element"],"sources":["repeater.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as RepeatIcon } from \"@webiny/icons/repeat.svg\";\nimport type { PbEditorPageElementPlugin, PbElement } from \"@webiny/app-page-builder/types\";\nimport { AdminRepeaterRenderer } from \"./renderers/Repeater\";\n\nexport const createRepeaterElement = (): PbEditorPageElementPlugin => {\n return {\n name: `pb-editor-page-element-repeater`,\n type: \"pb-editor-page-element\",\n elementType: \"repeater\",\n canReceiveChildren: true,\n toolbar: {\n title: \"Repeater Element\",\n group: \"pb-editor-element-group-basic\",\n preview() {\n return <RepeatIcon />;\n }\n },\n settings: [\n \"pb-editor-page-element-settings-clone\",\n \"pb-editor-page-element-settings-delete\"\n ],\n target: [\"cell\", \"block\"],\n create() {\n return {\n type: this.elementType,\n elements: [],\n data: {}\n };\n },\n\n render(props) {\n return <AdminRepeaterRenderer {...props} element={props.element as PbElement} />;\n }\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,UAAU,QAAQ,0BAA0B;AAEvE,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAiC;EAClE,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,wBAAwB;IAC9BC,WAAW,EAAE,UAAU;IACvBC,kBAAkB,EAAE,IAAI;IACxBC,OAAO,EAAE;MACLC,KAAK,EAAE,kBAAkB;MACzBC,KAAK,EAAE,+BAA+B;MACtCC,OAAOA,CAAA,EAAG;QACN,oBAAOZ,KAAA,CAAAa,aAAA,CAACX,UAAU,MAAE,CAAC;MACzB;IACJ,CAAC;IACDY,QAAQ,EAAE,CACN,uCAAuC,EACvC,wCAAwC,CAC3C;IACDC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACzBC,MAAMA,CAAA,EAAG;MACL,OAAO;QACHV,IAAI,EAAE,IAAI,CAACC,WAAW;QACtBU,QAAQ,EAAE,EAAE;QACZC,IAAI,EAAE,CAAC;MACX,CAAC;IACL,CAAC;IAEDC,MAAMA,CAACC,KAAK,EAAE;MACV,oBAAOpB,KAAA,CAAAa,aAAA,CAACV,qBAAqB,EAAAkB,MAAA,CAAAC,MAAA,KAAKF,KAAK;QAAEG,OAAO,EAAEH,KAAK,CAACG;MAAqB,EAAE,CAAC;IACpF;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/admin/index.js
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "DynamicPages", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _Extensions.Extensions;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _Extensions = require("./Extensions");
|
|
1
|
+
export { Extensions as DynamicPages } from "./Extensions";
|
|
13
2
|
|
|
14
3
|
//# sourceMappingURL=index.js.map
|
package/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Extensions","DynamicPages"],"sources":["index.ts"],"sourcesContent":["export { Extensions as DynamicPages } from \"./Extensions\";\n"],"mappings":"AAAA,SAASA,UAAU,IAAIC,YAAY","ignoreList":[]}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _pageEditor = require("@webiny/app-page-builder/pageEditor");
|
|
10
|
-
var _ElementEventHandlers = require("./ElementEventHandlers");
|
|
11
|
-
var _SetupElementDataSettings = require("../../dataInjection/editor/SetupElementDataSettings");
|
|
12
|
-
var _AddEntriesListDataSourceContext = require("../../dataInjection/AddEntriesListDataSourceContext");
|
|
13
|
-
var DynamicPageEditorConfig = exports.DynamicPageEditorConfig = function DynamicPageEditorConfig() {
|
|
14
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_pageEditor.PageEditorConfig, null, /*#__PURE__*/_react.default.createElement(_AddEntriesListDataSourceContext.AddEntriesListDataSourceContext, null), /*#__PURE__*/_react.default.createElement(_ElementEventHandlers.ElementEventHandlers, null), /*#__PURE__*/_react.default.createElement(_SetupElementDataSettings.SetupElementDataSettings, null)));
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { PageEditorConfig } from "@webiny/app-page-builder/pageEditor";
|
|
3
|
+
import { ElementEventHandlers } from "./ElementEventHandlers";
|
|
4
|
+
import { SetupElementDataSettings } from "../../dataInjection/editor/SetupElementDataSettings";
|
|
5
|
+
import { AddEntriesListDataSourceContext } from "../../dataInjection/AddEntriesListDataSourceContext";
|
|
6
|
+
export const DynamicPageEditorConfig = () => {
|
|
7
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PageEditorConfig, null, /*#__PURE__*/React.createElement(AddEntriesListDataSourceContext, null), /*#__PURE__*/React.createElement(ElementEventHandlers, null), /*#__PURE__*/React.createElement(SetupElementDataSettings, null)));
|
|
15
8
|
};
|
|
16
9
|
|
|
17
10
|
//# sourceMappingURL=DynamicPageEditorConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","PageEditorConfig","ElementEventHandlers","SetupElementDataSettings","AddEntriesListDataSourceContext","DynamicPageEditorConfig","createElement","Fragment"],"sources":["DynamicPageEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageEditorConfig } from \"@webiny/app-page-builder/pageEditor\";\nimport { ElementEventHandlers } from \"./ElementEventHandlers\";\nimport { SetupElementDataSettings } from \"~/dataInjection/editor/SetupElementDataSettings\";\nimport { AddEntriesListDataSourceContext } from \"~/dataInjection/AddEntriesListDataSourceContext\";\n\nexport const DynamicPageEditorConfig = () => {\n return (\n <>\n <PageEditorConfig>\n <AddEntriesListDataSourceContext />\n <ElementEventHandlers />\n <SetupElementDataSettings />\n </PageEditorConfig>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,qCAAqC;AACtE,SAASC,oBAAoB;AAC7B,SAASC,wBAAwB;AACjC,SAASC,+BAA+B;AAExC,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;EACzC,oBACIL,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,qBACIP,KAAA,CAAAM,aAAA,CAACL,gBAAgB,qBACbD,KAAA,CAAAM,aAAA,CAACF,+BAA+B,MAAE,CAAC,eACnCJ,KAAA,CAAAM,aAAA,CAACJ,oBAAoB,MAAE,CAAC,eACxBF,KAAA,CAAAM,aAAA,CAACH,wBAAwB,MAAE,CACb,CACpB,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -1,102 +1,95 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
});
|
|
7
|
-
exports.ElementEventHandlers = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
-
var _react = require("react");
|
|
11
|
-
var _editor = require("@webiny/app-page-builder/editor");
|
|
12
|
-
var _actions = require("@webiny/app-page-builder/editor/recoil/actions");
|
|
13
|
-
var _dataInjection = require("@webiny/app-page-builder/dataInjection");
|
|
14
|
-
var doNothing = {
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { useEventActionHandler } from "@webiny/app-page-builder/editor";
|
|
3
|
+
import { CreateElementActionEvent, DeleteElementActionEvent } from "@webiny/app-page-builder/editor/recoil/actions";
|
|
4
|
+
import { ContentTraverser } from "@webiny/app-page-builder/dataInjection";
|
|
5
|
+
const doNothing = {
|
|
15
6
|
actions: []
|
|
16
7
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return
|
|
21
|
-
|
|
8
|
+
const addCmsListDataSource = (document, element) => {
|
|
9
|
+
const dataSourceName = `element:${element.id}`;
|
|
10
|
+
const gridElement = element.elements[0];
|
|
11
|
+
return {
|
|
12
|
+
...document,
|
|
13
|
+
dataSources: [...(document.dataSources || []), {
|
|
22
14
|
name: dataSourceName,
|
|
23
15
|
type: "cms.entries",
|
|
24
16
|
config: {
|
|
25
17
|
modelId: undefined,
|
|
26
18
|
limit: 10
|
|
27
19
|
}
|
|
28
|
-
}]
|
|
29
|
-
dataBindings: [
|
|
20
|
+
}],
|
|
21
|
+
dataBindings: [...(document.dataBindings || []), {
|
|
30
22
|
dataSource: dataSourceName,
|
|
31
23
|
bindFrom: "*",
|
|
32
|
-
bindTo:
|
|
33
|
-
}]
|
|
34
|
-
}
|
|
24
|
+
bindTo: `element:${gridElement.id}.dataSource`
|
|
25
|
+
}]
|
|
26
|
+
};
|
|
35
27
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
export const ElementEventHandlers = () => {
|
|
29
|
+
const eventHandler = useEventActionHandler();
|
|
30
|
+
const onElementCreate = (state, _, args) => {
|
|
39
31
|
if (!args) {
|
|
40
32
|
return doNothing;
|
|
41
33
|
}
|
|
42
|
-
|
|
34
|
+
const {
|
|
35
|
+
element
|
|
36
|
+
} = args;
|
|
43
37
|
if (element.type !== "entries-list") {
|
|
44
38
|
return doNothing;
|
|
45
39
|
}
|
|
46
40
|
|
|
47
41
|
// @ts-expect-error Event callable types need to be more generic.
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
const page = state.page;
|
|
43
|
+
const updatedPage = addCmsListDataSource(page, element);
|
|
50
44
|
return {
|
|
51
|
-
state:
|
|
45
|
+
state: {
|
|
46
|
+
...state,
|
|
52
47
|
page: updatedPage
|
|
53
|
-
}
|
|
48
|
+
},
|
|
54
49
|
actions: []
|
|
55
50
|
};
|
|
56
51
|
};
|
|
57
|
-
|
|
52
|
+
const onElementDelete = async (state, _, args) => {
|
|
58
53
|
if (!args) {
|
|
59
54
|
return doNothing;
|
|
60
55
|
}
|
|
61
|
-
|
|
56
|
+
const {
|
|
57
|
+
element
|
|
58
|
+
} = args;
|
|
62
59
|
|
|
63
60
|
// @ts-expect-error Event callable types need to be more generic.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
element
|
|
61
|
+
const page = state.page;
|
|
62
|
+
const withDescendants = await state.getElementTree({
|
|
63
|
+
element
|
|
67
64
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
traverser.traverse(withDescendants,
|
|
65
|
+
const traverser = new ContentTraverser();
|
|
66
|
+
const deletedElements = [element.id];
|
|
67
|
+
traverser.traverse(withDescendants, node => {
|
|
71
68
|
deletedElements.push(node.id);
|
|
72
69
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
79
|
-
var updatedPage = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, page), {}, {
|
|
80
|
-
dataSources: (page.dataSources || []).filter(function (ds) {
|
|
70
|
+
const deleteDataSources = deletedElements.map(id => `element:${id}`);
|
|
71
|
+
const deleteDataBindings = deletedElements.map(id => `element:${id}.`);
|
|
72
|
+
const updatedPage = {
|
|
73
|
+
...page,
|
|
74
|
+
dataSources: (page.dataSources || []).filter(ds => {
|
|
81
75
|
return !deleteDataSources.includes(ds.name);
|
|
82
76
|
}),
|
|
83
|
-
dataBindings: (page.dataBindings || []).filter(
|
|
84
|
-
return !deleteDataBindings.some(
|
|
85
|
-
return binding.bindTo.startsWith(toDelete);
|
|
86
|
-
});
|
|
77
|
+
dataBindings: (page.dataBindings || []).filter(binding => {
|
|
78
|
+
return !deleteDataBindings.some(toDelete => binding.bindTo.startsWith(toDelete));
|
|
87
79
|
})
|
|
88
|
-
}
|
|
80
|
+
};
|
|
89
81
|
return {
|
|
90
|
-
state:
|
|
82
|
+
state: {
|
|
83
|
+
...state,
|
|
91
84
|
page: updatedPage
|
|
92
|
-
}
|
|
85
|
+
},
|
|
93
86
|
actions: []
|
|
94
87
|
};
|
|
95
88
|
};
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
return
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
const offCreateElement = eventHandler.on(CreateElementActionEvent, onElementCreate);
|
|
91
|
+
const offDeleteElement = eventHandler.on(DeleteElementActionEvent, onElementDelete);
|
|
92
|
+
return () => {
|
|
100
93
|
offCreateElement();
|
|
101
94
|
offDeleteElement();
|
|
102
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useEffect","useEventActionHandler","CreateElementActionEvent","DeleteElementActionEvent","ContentTraverser","doNothing","actions","addCmsListDataSource","document","element","dataSourceName","id","gridElement","elements","dataSources","name","type","config","modelId","undefined","limit","dataBindings","dataSource","bindFrom","bindTo","ElementEventHandlers","eventHandler","onElementCreate","state","_","args","page","updatedPage","onElementDelete","withDescendants","getElementTree","traverser","deletedElements","traverse","node","push","deleteDataSources","map","deleteDataBindings","filter","ds","includes","binding","some","toDelete","startsWith","offCreateElement","on","offDeleteElement"],"sources":["ElementEventHandlers.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useEventActionHandler } from \"@webiny/app-page-builder/editor\";\nimport {\n CreateElementActionEvent,\n DeleteElementActionEvent\n} from \"@webiny/app-page-builder/editor/recoil/actions\";\nimport type {\n DynamicDocument,\n EventActionCallable,\n PbEditorElementTree\n} from \"@webiny/app-page-builder/types\";\nimport type { CreateElementEventActionArgsType } from \"@webiny/app-page-builder/editor/recoil/actions/createElement/types\";\nimport type { DeleteElementActionArgsType } from \"@webiny/app-page-builder/editor/recoil/actions/deleteElement/types\";\nimport type { PageAtomType } from \"@webiny/app-page-builder/pageEditor/state\";\nimport { ContentTraverser } from \"@webiny/app-page-builder/dataInjection\";\n\nconst doNothing = {\n actions: []\n};\n\nconst addCmsListDataSource = <T extends DynamicDocument>(\n document: T,\n element: PbEditorElementTree\n): T => {\n const dataSourceName = `element:${element.id}`;\n\n const gridElement = element.elements[0];\n\n return {\n ...document,\n dataSources: [\n ...(document.dataSources || []),\n {\n name: dataSourceName,\n type: \"cms.entries\",\n config: {\n modelId: undefined,\n limit: 10\n }\n }\n ],\n dataBindings: [\n ...(document.dataBindings || []),\n {\n dataSource: dataSourceName,\n bindFrom: \"*\",\n bindTo: `element:${gridElement.id}.dataSource`\n }\n ]\n };\n};\n\nexport const ElementEventHandlers = () => {\n const eventHandler = useEventActionHandler();\n\n const onElementCreate: EventActionCallable<CreateElementEventActionArgsType> = (\n state,\n _,\n args\n ) => {\n if (!args) {\n return doNothing;\n }\n\n const { element } = args;\n\n if (element.type !== \"entries-list\") {\n return doNothing;\n }\n\n // @ts-expect-error Event callable types need to be more generic.\n const page = state.page as PageAtomType;\n\n const updatedPage = addCmsListDataSource(page, element as PbEditorElementTree);\n\n return {\n state: {\n ...state,\n page: updatedPage\n },\n actions: []\n };\n };\n\n const onElementDelete: EventActionCallable<DeleteElementActionArgsType> = async (\n state,\n _,\n args\n ) => {\n if (!args) {\n return doNothing;\n }\n\n const { element } = args;\n\n // @ts-expect-error Event callable types need to be more generic.\n const page = state.page as PageAtomType;\n\n const withDescendants = await state.getElementTree({ element });\n\n const traverser = new ContentTraverser();\n const deletedElements: string[] = [element.id];\n\n traverser.traverse(withDescendants, node => {\n deletedElements.push(node.id);\n });\n\n const deleteDataSources = deletedElements.map(id => `element:${id}`);\n const deleteDataBindings = deletedElements.map(id => `element:${id}.`);\n\n const updatedPage: PageAtomType = {\n ...page,\n dataSources: (page.dataSources || []).filter(ds => {\n return !deleteDataSources.includes(ds.name);\n }),\n dataBindings: (page.dataBindings || []).filter(binding => {\n return !deleteDataBindings.some(toDelete => binding.bindTo.startsWith(toDelete));\n })\n };\n\n return {\n state: {\n ...state,\n page: updatedPage\n },\n actions: []\n };\n };\n\n useEffect(() => {\n const offCreateElement = eventHandler.on(CreateElementActionEvent, onElementCreate);\n const offDeleteElement = eventHandler.on(DeleteElementActionEvent, onElementDelete);\n\n return () => {\n offCreateElement();\n offDeleteElement();\n };\n }, []);\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,31 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var _useDynamicDocument = (0, _dataInjection.useDynamicDocument)(),
|
|
20
|
-
dataSources = _useDynamicDocument.dataSources;
|
|
21
|
-
return (0, _features.hasMainDataSource)(dataSources) ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children) : null;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TemplateEditorConfig } from "@webiny/app-page-builder/templateEditor";
|
|
3
|
+
import { EntrySelector } from "./EntrySelector";
|
|
4
|
+
import { hasMainDataSource } from "../../features";
|
|
5
|
+
import { ElementEventHandlers } from "./ElementEventHandlers";
|
|
6
|
+
import { useDynamicDocument } from "@webiny/app-page-builder/dataInjection";
|
|
7
|
+
import { SetupElementDataSettings } from "../../dataInjection/editor/SetupElementDataSettings";
|
|
8
|
+
import { AddEntriesListDataSourceContext } from "../../dataInjection/AddEntriesListDataSourceContext";
|
|
9
|
+
const {
|
|
10
|
+
Ui
|
|
11
|
+
} = TemplateEditorConfig;
|
|
12
|
+
const OnDynamicTemplate = ({
|
|
13
|
+
children
|
|
14
|
+
}) => {
|
|
15
|
+
const {
|
|
16
|
+
dataSources
|
|
17
|
+
} = useDynamicDocument();
|
|
18
|
+
return hasMainDataSource(dataSources) ? /*#__PURE__*/React.createElement(React.Fragment, null, children) : null;
|
|
22
19
|
};
|
|
23
|
-
|
|
24
|
-
return /*#__PURE__*/
|
|
20
|
+
export const DynamicTemplateEditorConfig = () => {
|
|
21
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TemplateEditorConfig, null, /*#__PURE__*/React.createElement(AddEntriesListDataSourceContext, null), /*#__PURE__*/React.createElement(SetupElementDataSettings, null), /*#__PURE__*/React.createElement(Ui.TopBar.Element, {
|
|
25
22
|
name: "entrySelector",
|
|
26
|
-
element: /*#__PURE__*/
|
|
23
|
+
element: /*#__PURE__*/React.createElement(OnDynamicTemplate, null, /*#__PURE__*/React.createElement(EntrySelector, null)),
|
|
27
24
|
group: "center"
|
|
28
|
-
}), /*#__PURE__*/
|
|
25
|
+
}), /*#__PURE__*/React.createElement(ElementEventHandlers, null)));
|
|
29
26
|
};
|
|
30
27
|
|
|
31
28
|
//# sourceMappingURL=DynamicTemplateEditorConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","TemplateEditorConfig","EntrySelector","hasMainDataSource","ElementEventHandlers","useDynamicDocument","SetupElementDataSettings","AddEntriesListDataSourceContext","Ui","OnDynamicTemplate","children","dataSources","createElement","Fragment","DynamicTemplateEditorConfig","TopBar","Element","name","element","group"],"sources":["DynamicTemplateEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { TemplateEditorConfig } from \"@webiny/app-page-builder/templateEditor\";\nimport { EntrySelector } from \"~/admin/templateEditor/EntrySelector\";\nimport { hasMainDataSource } from \"~/features\";\nimport { ElementEventHandlers } from \"./ElementEventHandlers\";\nimport { useDynamicDocument } from \"@webiny/app-page-builder/dataInjection\";\nimport { SetupElementDataSettings } from \"~/dataInjection/editor/SetupElementDataSettings\";\nimport { AddEntriesListDataSourceContext } from \"~/dataInjection/AddEntriesListDataSourceContext\";\n\nconst { Ui } = TemplateEditorConfig;\n\nconst OnDynamicTemplate = ({ children }: { children: React.ReactNode }) => {\n const { dataSources } = useDynamicDocument();\n\n return hasMainDataSource(dataSources) ? <>{children}</> : null;\n};\n\nexport const DynamicTemplateEditorConfig = () => {\n return (\n <>\n <TemplateEditorConfig>\n <AddEntriesListDataSourceContext />\n <SetupElementDataSettings />\n <Ui.TopBar.Element\n name={\"entrySelector\"}\n element={\n <OnDynamicTemplate>\n <EntrySelector />\n </OnDynamicTemplate>\n }\n group={\"center\"}\n />\n\n <ElementEventHandlers />\n </TemplateEditorConfig>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,oBAAoB,QAAQ,yCAAyC;AAC9E,SAASC,aAAa;AACtB,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,kBAAkB,QAAQ,wCAAwC;AAC3E,SAASC,wBAAwB;AACjC,SAASC,+BAA+B;AAExC,MAAM;EAAEC;AAAG,CAAC,GAAGP,oBAAoB;AAEnC,MAAMQ,iBAAiB,GAAGA,CAAC;EAAEC;AAAwC,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAY,CAAC,GAAGN,kBAAkB,CAAC,CAAC;EAE5C,OAAOF,iBAAiB,CAACQ,WAAW,CAAC,gBAAGX,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAa,QAAA,QAAGH,QAAW,CAAC,GAAG,IAAI;AAClE,CAAC;AAED,OAAO,MAAMI,2BAA2B,GAAGA,CAAA,KAAM;EAC7C,oBACId,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAa,QAAA,qBACIb,KAAA,CAAAY,aAAA,CAACX,oBAAoB,qBACjBD,KAAA,CAAAY,aAAA,CAACL,+BAA+B,MAAE,CAAC,eACnCP,KAAA,CAAAY,aAAA,CAACN,wBAAwB,MAAE,CAAC,eAC5BN,KAAA,CAAAY,aAAA,CAACJ,EAAE,CAACO,MAAM,CAACC,OAAO;IACdC,IAAI,EAAE,eAAgB;IACtBC,OAAO,eACHlB,KAAA,CAAAY,aAAA,CAACH,iBAAiB,qBACdT,KAAA,CAAAY,aAAA,CAACV,aAAa,MAAE,CACD,CACtB;IACDiB,KAAK,EAAE;EAAS,CACnB,CAAC,eAEFnB,KAAA,CAAAY,aAAA,CAACR,oBAAoB,MAAE,CACL,CACxB,CAAC;AAEX,CAAC","ignoreList":[]}
|