@webiny/app-dynamic-pages 5.43.2 → 6.0.0-alpha.0
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.js +21 -30
- 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.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.js +12 -19
- package/admin/elements/entriesList.js.map +1 -1
- package/admin/elements/entriesSearch.js +10 -17
- package/admin/elements/entriesSearch.js.map +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.js +11 -19
- package/admin/elements/renderers/EntriesList.js.map +1 -1
- package/admin/elements/renderers/Repeater.js +11 -19
- package/admin/elements/renderers/Repeater.js.map +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.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.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.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,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 template = state.template;
|
|
43
|
+
const updatedTemplate = addCmsListDataSource(template, element);
|
|
50
44
|
return {
|
|
51
|
-
state:
|
|
45
|
+
state: {
|
|
46
|
+
...state,
|
|
52
47
|
template: updatedTemplate
|
|
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 template = state.template;
|
|
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 updatedTemplate = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, template), {}, {
|
|
80
|
-
dataSources: template.dataSources.filter(function (ds) {
|
|
70
|
+
const deleteDataSources = deletedElements.map(id => `element:${id}`);
|
|
71
|
+
const deleteDataBindings = deletedElements.map(id => `element:${id}.`);
|
|
72
|
+
const updatedTemplate = {
|
|
73
|
+
...template,
|
|
74
|
+
dataSources: template.dataSources.filter(ds => {
|
|
81
75
|
return !deleteDataSources.includes(ds.name);
|
|
82
76
|
}),
|
|
83
|
-
dataBindings: template.dataBindings.filter(
|
|
84
|
-
return !deleteDataBindings.some(
|
|
85
|
-
return binding.bindTo.startsWith(toDelete);
|
|
86
|
-
});
|
|
77
|
+
dataBindings: template.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
|
template: updatedTemplate
|
|
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","template","updatedTemplate","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 PbPageTemplate\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 { 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 template = state.template as PbPageTemplate;\n\n const updatedTemplate = addCmsListDataSource(template, element as PbEditorElementTree);\n\n return {\n state: {\n ...state,\n template: updatedTemplate\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 template = state.template as PbPageTemplate;\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 updatedTemplate: PbPageTemplate = {\n ...template,\n dataSources: template.dataSources.filter(ds => {\n return !deleteDataSources.includes(ds.name);\n }),\n dataBindings: template.dataBindings.filter(binding => {\n return !deleteDataBindings.some(toDelete => binding.bindTo.startsWith(toDelete));\n })\n };\n\n return {\n state: {\n ...state,\n template: updatedTemplate\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,33 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var _useDocumentDataSourc = (0, _templateEditor.useDocumentDataSource)(),
|
|
16
|
-
getDataSource = _useDocumentDataSourc.getDataSource,
|
|
17
|
-
updateDataSource = _useDocumentDataSourc.updateDataSource;
|
|
18
|
-
var mainDataSource = getDataSource("main");
|
|
19
|
-
var _useState = (0, _react.useState)(mainDataSource ? mainDataSource.config.entryId : ""),
|
|
20
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
21
|
-
localId = _useState2[0],
|
|
22
|
-
setLocalId = _useState2[1];
|
|
23
|
-
var applyPreviewId = function applyPreviewId() {
|
|
24
|
-
updateDataSource("main", function (config) {
|
|
25
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, {
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Input } from "@webiny/ui/Input";
|
|
3
|
+
import { useDocumentDataSource } from "@webiny/app-page-builder/templateEditor";
|
|
4
|
+
export const EntrySelector = () => {
|
|
5
|
+
const {
|
|
6
|
+
getDataSource,
|
|
7
|
+
updateDataSource
|
|
8
|
+
} = useDocumentDataSource();
|
|
9
|
+
const mainDataSource = getDataSource("main");
|
|
10
|
+
const [localId, setLocalId] = useState(mainDataSource ? mainDataSource.config.entryId : "");
|
|
11
|
+
const applyPreviewId = () => {
|
|
12
|
+
updateDataSource("main", config => {
|
|
13
|
+
return {
|
|
14
|
+
...config,
|
|
26
15
|
entryId: localId
|
|
27
|
-
}
|
|
16
|
+
};
|
|
28
17
|
});
|
|
29
18
|
};
|
|
30
|
-
return /*#__PURE__*/
|
|
19
|
+
return /*#__PURE__*/React.createElement(Input, {
|
|
31
20
|
value: localId,
|
|
32
21
|
onChange: setLocalId,
|
|
33
22
|
onBlur: applyPreviewId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","useState","Input","useDocumentDataSource","EntrySelector","getDataSource","updateDataSource","mainDataSource","localId","setLocalId","config","entryId","applyPreviewId","createElement","value","onChange","onBlur","placeholder"],"sources":["EntrySelector.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { useDocumentDataSource } from \"@webiny/app-page-builder/templateEditor\";\n\nexport const EntrySelector = () => {\n const { getDataSource, updateDataSource } = useDocumentDataSource();\n const mainDataSource = getDataSource(\"main\");\n const [localId, setLocalId] = useState(mainDataSource ? mainDataSource.config.entryId : \"\");\n\n const applyPreviewId = () => {\n updateDataSource(\"main\", config => {\n return {\n ...config,\n entryId: localId\n };\n });\n };\n\n return (\n <Input\n value={localId}\n onChange={setLocalId}\n onBlur={applyPreviewId}\n placeholder={\"Preview Entry Id\"}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,qBAAqB,QAAQ,yCAAyC;AAE/E,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC,aAAa;IAAEC;EAAiB,CAAC,GAAGH,qBAAqB,CAAC,CAAC;EACnE,MAAMI,cAAc,GAAGF,aAAa,CAAC,MAAM,CAAC;EAC5C,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAGR,QAAQ,CAACM,cAAc,GAAGA,cAAc,CAACG,MAAM,CAACC,OAAO,GAAG,EAAE,CAAC;EAE3F,MAAMC,cAAc,GAAGA,CAAA,KAAM;IACzBN,gBAAgB,CAAC,MAAM,EAAEI,MAAM,IAAI;MAC/B,OAAO;QACH,GAAGA,MAAM;QACTC,OAAO,EAAEH;MACb,CAAC;IACL,CAAC,CAAC;EACN,CAAC;EAED,oBACIR,KAAA,CAAAa,aAAA,CAACX,KAAK;IACFY,KAAK,EAAEN,OAAQ;IACfO,QAAQ,EAAEN,UAAW;IACrBO,MAAM,EAAEJ,cAAe;IACvBK,WAAW,EAAE;EAAmB,CACnC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _EntrySelector = require("./EntrySelector");
|
|
7
|
-
Object.keys(_EntrySelector).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _EntrySelector[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _EntrySelector[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
1
|
+
export * from "./EntrySelector";
|
|
17
2
|
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./EntrySelector\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.AddEntriesListDataSourceContext = void 0;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _appPageBuilderElements = require("@webiny/app-page-builder-elements");
|
|
10
|
-
var _dataInjection = require("@webiny/app-page-builder/dataInjection");
|
|
11
|
-
var AddEntriesListDataSourceContext = exports.AddEntriesListDataSourceContext = _appPageBuilderElements.Element.createDecorator(function (Original) {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Element } from "@webiny/app-page-builder-elements";
|
|
3
|
+
import { DataSourceProvider, useDynamicDocument } from "@webiny/app-page-builder/dataInjection";
|
|
4
|
+
export const AddEntriesListDataSourceContext = Element.createDecorator(Original => {
|
|
12
5
|
return function WithDataSourceContext(props) {
|
|
13
|
-
|
|
14
|
-
dataSources
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
const {
|
|
7
|
+
dataSources
|
|
8
|
+
} = useDynamicDocument();
|
|
9
|
+
const {
|
|
10
|
+
element
|
|
11
|
+
} = props;
|
|
12
|
+
const renderOriginal = /*#__PURE__*/React.createElement(Original, props);
|
|
17
13
|
if (!element) {
|
|
18
14
|
return renderOriginal;
|
|
19
15
|
}
|
|
20
|
-
|
|
16
|
+
const isEntriesList = element.type === "entries-list";
|
|
21
17
|
if (isEntriesList) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
return /*#__PURE__*/_react.default.createElement(_dataInjection.DataSourceProvider, {
|
|
18
|
+
const dataSource = dataSources.find(source => source.name === `element:${element.id}`);
|
|
19
|
+
return /*#__PURE__*/React.createElement(DataSourceProvider, {
|
|
26
20
|
dataSource: dataSource
|
|
27
21
|
}, renderOriginal);
|
|
28
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","Element","DataSourceProvider","useDynamicDocument","AddEntriesListDataSourceContext","createDecorator","Original","WithDataSourceContext","props","dataSources","element","renderOriginal","createElement","isEntriesList","type","dataSource","find","source","name","id"],"sources":["AddEntriesListDataSourceContext.tsx"],"sourcesContent":["import React from \"react\";\nimport { Element } from \"@webiny/app-page-builder-elements\";\nimport { DataSourceProvider, useDynamicDocument } from \"@webiny/app-page-builder/dataInjection\";\n\nexport const AddEntriesListDataSourceContext = Element.createDecorator(Original => {\n return function WithDataSourceContext(props) {\n const { dataSources } = useDynamicDocument();\n\n const { element } = props;\n\n const renderOriginal = <Original {...props} />;\n\n if (!element) {\n return renderOriginal;\n }\n\n const isEntriesList = element.type === \"entries-list\";\n\n if (isEntriesList) {\n const dataSource = dataSources.find(source => source.name === `element:${element.id}`);\n\n return (\n <DataSourceProvider dataSource={dataSource!}>{renderOriginal}</DataSourceProvider>\n );\n }\n\n return renderOriginal;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,mCAAmC;AAC3D,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,wCAAwC;AAE/F,OAAO,MAAMC,+BAA+B,GAAGH,OAAO,CAACI,eAAe,CAACC,QAAQ,IAAI;EAC/E,OAAO,SAASC,qBAAqBA,CAACC,KAAK,EAAE;IACzC,MAAM;MAAEC;IAAY,CAAC,GAAGN,kBAAkB,CAAC,CAAC;IAE5C,MAAM;MAAEO;IAAQ,CAAC,GAAGF,KAAK;IAEzB,MAAMG,cAAc,gBAAGX,KAAA,CAAAY,aAAA,CAACN,QAAQ,EAAKE,KAAQ,CAAC;IAE9C,IAAI,CAACE,OAAO,EAAE;MACV,OAAOC,cAAc;IACzB;IAEA,MAAME,aAAa,GAAGH,OAAO,CAACI,IAAI,KAAK,cAAc;IAErD,IAAID,aAAa,EAAE;MACf,MAAME,UAAU,GAAGN,WAAW,CAACO,IAAI,CAACC,MAAM,IAAIA,MAAM,CAACC,IAAI,KAAK,WAAWR,OAAO,CAACS,EAAE,EAAE,CAAC;MAEtF,oBACInB,KAAA,CAAAY,aAAA,CAACV,kBAAkB;QAACa,UAAU,EAAEA;MAAY,GAAEJ,cAAmC,CAAC;IAE1F;IAEA,OAAOA,cAAc;EACzB,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _editor = require("@webiny/app-page-builder/editor");
|
|
10
|
-
var _HideIfEntriesListGridWithDataSource = require("./HideIfEntriesListGridWithDataSource");
|
|
11
|
-
var ElementAction = _editor.EditorConfig.ElementAction;
|
|
12
|
-
var DisableGridDelete = exports.DisableGridDelete = ElementAction.createDecorator(function (Original) {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EditorConfig } from "@webiny/app-page-builder/editor";
|
|
3
|
+
import { HideIfEntriesListGridWithDataSource } from "./HideIfEntriesListGridWithDataSource";
|
|
4
|
+
const {
|
|
5
|
+
ElementAction
|
|
6
|
+
} = EditorConfig;
|
|
7
|
+
export const DisableGridDelete = ElementAction.createDecorator(Original => {
|
|
13
8
|
return function DisableActions(props) {
|
|
14
9
|
if (props.name === "delete") {
|
|
15
|
-
return /*#__PURE__*/
|
|
16
|
-
element: /*#__PURE__*/
|
|
10
|
+
return /*#__PURE__*/React.createElement(Original, Object.assign({}, props, {
|
|
11
|
+
element: /*#__PURE__*/React.createElement(HideIfEntriesListGridWithDataSource, null, props.element)
|
|
17
12
|
}));
|
|
18
13
|
}
|
|
19
|
-
return /*#__PURE__*/
|
|
14
|
+
return /*#__PURE__*/React.createElement(Original, props);
|
|
20
15
|
};
|
|
21
16
|
});
|
|
22
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","EditorConfig","HideIfEntriesListGridWithDataSource","ElementAction","DisableGridDelete","createDecorator","Original","DisableActions","props","name","createElement","Object","assign","element"],"sources":["DisableGridDelete.tsx"],"sourcesContent":["import React from \"react\";\nimport { EditorConfig } from \"@webiny/app-page-builder/editor\";\nimport { HideIfEntriesListGridWithDataSource } from \"./HideIfEntriesListGridWithDataSource\";\n\nconst { ElementAction } = EditorConfig;\n\nexport const DisableGridDelete = ElementAction.createDecorator(Original => {\n return function DisableActions(props) {\n if (props.name === \"delete\") {\n return (\n <Original\n {...props}\n element={\n <HideIfEntriesListGridWithDataSource>\n {props.element}\n </HideIfEntriesListGridWithDataSource>\n }\n />\n );\n }\n return <Original {...props} />;\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,iCAAiC;AAC9D,SAASC,mCAAmC;AAE5C,MAAM;EAAEC;AAAc,CAAC,GAAGF,YAAY;AAEtC,OAAO,MAAMG,iBAAiB,GAAGD,aAAa,CAACE,eAAe,CAACC,QAAQ,IAAI;EACvE,OAAO,SAASC,cAAcA,CAACC,KAAK,EAAE;IAClC,IAAIA,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;MACzB,oBACIT,KAAA,CAAAU,aAAA,CAACJ,QAAQ,EAAAK,MAAA,CAAAC,MAAA,KACDJ,KAAK;QACTK,OAAO,eACHb,KAAA,CAAAU,aAAA,CAACR,mCAAmC,QAC/BM,KAAK,CAACK,OAC0B;MACxC,EACJ,CAAC;IAEV;IACA,oBAAOb,KAAA,CAAAU,aAAA,CAACJ,QAAQ,EAAKE,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _useActiveElement = (0, _editor.useActiveElement)(),
|
|
14
|
-
_useActiveElement2 = (0, _slicedToArray2.default)(_useActiveElement, 1),
|
|
15
|
-
element = _useActiveElement2[0];
|
|
16
|
-
var _useIsElementChildOfT = (0, _editor.useIsElementChildOfType)(element, "entries-list"),
|
|
17
|
-
isChildOfType = _useIsElementChildOfT.isChildOfType;
|
|
18
|
-
var isDisabled = !element || isChildOfType && element?.type === "grid";
|
|
19
|
-
return /*#__PURE__*/_react.default.createElement(Ui.Sidebar.Group.Tab, {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useActiveElement, useIsElementChildOfType, EditorConfig } from "@webiny/app-page-builder/editor";
|
|
3
|
+
const {
|
|
4
|
+
Ui
|
|
5
|
+
} = EditorConfig;
|
|
6
|
+
export const ElementDataSettings = () => {
|
|
7
|
+
const [element] = useActiveElement();
|
|
8
|
+
const {
|
|
9
|
+
isChildOfType
|
|
10
|
+
} = useIsElementChildOfType(element, "entries-list");
|
|
11
|
+
const isDisabled = !element || isChildOfType && element?.type === "grid";
|
|
12
|
+
return /*#__PURE__*/React.createElement(Ui.Sidebar.Group.Tab, {
|
|
20
13
|
label: "Data",
|
|
21
|
-
element: /*#__PURE__*/
|
|
14
|
+
element: /*#__PURE__*/React.createElement(Ui.Sidebar.ScrollableContainer, null, /*#__PURE__*/React.createElement(Ui.Sidebar.Elements, {
|
|
22
15
|
group: "dataSettings"
|
|
23
16
|
})),
|
|
24
17
|
disabled: isDisabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","useActiveElement","useIsElementChildOfType","EditorConfig","Ui","ElementDataSettings","element","isChildOfType","isDisabled","type","createElement","Sidebar","Group","Tab","label","ScrollableContainer","Elements","group","disabled"],"sources":["ElementDataSettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n useActiveElement,\n useIsElementChildOfType,\n EditorConfig\n} from \"@webiny/app-page-builder/editor\";\n\nconst { Ui } = EditorConfig;\n\nexport const ElementDataSettings = () => {\n const [element] = useActiveElement();\n const { isChildOfType } = useIsElementChildOfType(element, \"entries-list\");\n const isDisabled = !element || (isChildOfType && element?.type === \"grid\");\n\n return (\n <Ui.Sidebar.Group.Tab\n label={\"Data\"}\n element={\n <Ui.Sidebar.ScrollableContainer>\n <Ui.Sidebar.Elements group={\"dataSettings\"} />\n </Ui.Sidebar.ScrollableContainer>\n }\n disabled={isDisabled}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,gBAAgB,EAChBC,uBAAuB,EACvBC,YAAY,QACT,iCAAiC;AAExC,MAAM;EAAEC;AAAG,CAAC,GAAGD,YAAY;AAE3B,OAAO,MAAME,mBAAmB,GAAGA,CAAA,KAAM;EACrC,MAAM,CAACC,OAAO,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EACpC,MAAM;IAAEM;EAAc,CAAC,GAAGL,uBAAuB,CAACI,OAAO,EAAE,cAAc,CAAC;EAC1E,MAAME,UAAU,GAAG,CAACF,OAAO,IAAKC,aAAa,IAAID,OAAO,EAAEG,IAAI,KAAK,MAAO;EAE1E,oBACIT,KAAA,CAAAU,aAAA,CAACN,EAAE,CAACO,OAAO,CAACC,KAAK,CAACC,GAAG;IACjBC,KAAK,EAAE,MAAO;IACdR,OAAO,eACHN,KAAA,CAAAU,aAAA,CAACN,EAAE,CAACO,OAAO,CAACI,mBAAmB,qBAC3Bf,KAAA,CAAAU,aAAA,CAACN,EAAE,CAACO,OAAO,CAACK,QAAQ;MAACC,KAAK,EAAE;IAAe,CAAE,CACjB,CACnC;IACDC,QAAQ,EAAEV;EAAW,CACxB,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _editor = require("@webiny/app-page-builder/editor");
|
|
11
|
-
var HideIfChildOfEntriesList = exports.HideIfChildOfEntriesList = function HideIfChildOfEntriesList(_ref) {
|
|
12
|
-
var children = _ref.children;
|
|
13
|
-
var _useActiveElement = (0, _editor.useActiveElement)(),
|
|
14
|
-
_useActiveElement2 = (0, _slicedToArray2.default)(_useActiveElement, 1),
|
|
15
|
-
element = _useActiveElement2[0];
|
|
16
|
-
var _useIsElementChildOfT = (0, _editor.useIsElementChildOfType)(element, "entries-list"),
|
|
17
|
-
isChildOfType = _useIsElementChildOfT.isChildOfType;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useActiveElement, useIsElementChildOfType } from "@webiny/app-page-builder/editor";
|
|
3
|
+
export const HideIfChildOfEntriesList = ({
|
|
4
|
+
children
|
|
5
|
+
}) => {
|
|
6
|
+
const [element] = useActiveElement();
|
|
7
|
+
const {
|
|
8
|
+
isChildOfType
|
|
9
|
+
} = useIsElementChildOfType(element, "entries-list");
|
|
18
10
|
if (!element) {
|
|
19
11
|
return null;
|
|
20
12
|
}
|
|
21
|
-
return isChildOfType ? null : /*#__PURE__*/
|
|
13
|
+
return isChildOfType ? null : /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
22
14
|
};
|
|
23
15
|
|
|
24
16
|
//# sourceMappingURL=HideIfChildOfEntriesList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","useActiveElement","useIsElementChildOfType","HideIfChildOfEntriesList","children","element","isChildOfType","createElement","Fragment"],"sources":["HideIfChildOfEntriesList.tsx"],"sourcesContent":["import React from \"react\";\nimport { useActiveElement, useIsElementChildOfType } from \"@webiny/app-page-builder/editor\";\n\ninterface HideIfChildOfEntriesListProps {\n children: React.ReactNode;\n}\n\nexport const HideIfChildOfEntriesList = ({ children }: HideIfChildOfEntriesListProps) => {\n const [element] = useActiveElement();\n const { isChildOfType } = useIsElementChildOfType(element, \"entries-list\");\n\n if (!element) {\n return null;\n }\n\n return isChildOfType ? null : <>{children}</>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,iCAAiC;AAM3F,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EAAEC;AAAwC,CAAC,KAAK;EACrF,MAAM,CAACC,OAAO,CAAC,GAAGJ,gBAAgB,CAAC,CAAC;EACpC,MAAM;IAAEK;EAAc,CAAC,GAAGJ,uBAAuB,CAACG,OAAO,EAAE,cAAc,CAAC;EAE1E,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,OAAOC,aAAa,GAAG,IAAI,gBAAGN,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAAQ,QAAA,QAAGJ,QAAW,CAAC;AACjD,CAAC","ignoreList":[]}
|
|
@@ -1,31 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
})
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _useActiveElement = (0, _editor.useActiveElement)(),
|
|
15
|
-
_useActiveElement2 = (0, _slicedToArray2.default)(_useActiveElement, 1),
|
|
16
|
-
element = _useActiveElement2[0];
|
|
17
|
-
var _useElementBindings = (0, _dataInjection.useElementBindings)(element.id),
|
|
18
|
-
bindings = _useElementBindings.bindings;
|
|
19
|
-
var _useIsElementChildOfT = (0, _editor.useIsElementChildOfType)(element, "entries-list"),
|
|
20
|
-
isChildOfType = _useIsElementChildOfT.isChildOfType;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useActiveElement, useIsElementChildOfType } from "@webiny/app-page-builder/editor";
|
|
3
|
+
import { useElementBindings } from "@webiny/app-page-builder/dataInjection";
|
|
4
|
+
export const HideIfEntriesListGridWithDataSource = ({
|
|
5
|
+
children
|
|
6
|
+
}) => {
|
|
7
|
+
const [element] = useActiveElement();
|
|
8
|
+
const {
|
|
9
|
+
bindings
|
|
10
|
+
} = useElementBindings(element.id);
|
|
11
|
+
const {
|
|
12
|
+
isChildOfType
|
|
13
|
+
} = useIsElementChildOfType(element, "entries-list");
|
|
21
14
|
if (!element) {
|
|
22
15
|
return null;
|
|
23
16
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var shouldHide = isChildOfType && element.type === "grid" && hasDataSourceBinding;
|
|
28
|
-
return shouldHide ? null : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
|
|
17
|
+
const hasDataSourceBinding = bindings.some(binding => binding.bindFrom === "*");
|
|
18
|
+
const shouldHide = isChildOfType && element.type === "grid" && hasDataSourceBinding;
|
|
19
|
+
return shouldHide ? null : /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
29
20
|
};
|
|
30
21
|
|
|
31
22
|
//# sourceMappingURL=HideIfEntriesListGridWithDataSource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","useActiveElement","useIsElementChildOfType","useElementBindings","HideIfEntriesListGridWithDataSource","children","element","bindings","id","isChildOfType","hasDataSourceBinding","some","binding","bindFrom","shouldHide","type","createElement","Fragment"],"sources":["HideIfEntriesListGridWithDataSource.tsx"],"sourcesContent":["import React from \"react\";\nimport { useActiveElement, useIsElementChildOfType } from \"@webiny/app-page-builder/editor\";\nimport { useElementBindings } from \"@webiny/app-page-builder/dataInjection\";\n\ninterface HideIfEntriesListGridWithDataSourceProps {\n children: React.ReactNode;\n}\n\nexport const HideIfEntriesListGridWithDataSource = ({\n children\n}: HideIfEntriesListGridWithDataSourceProps) => {\n const [element] = useActiveElement();\n const { bindings } = useElementBindings(element!.id);\n const { isChildOfType } = useIsElementChildOfType(element, \"entries-list\");\n\n if (!element) {\n return null;\n }\n\n const hasDataSourceBinding = bindings.some(binding => binding.bindFrom === \"*\");\n const shouldHide = isChildOfType && element.type === \"grid\" && hasDataSourceBinding;\n\n return shouldHide ? null : <>{children}</>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,iCAAiC;AAC3F,SAASC,kBAAkB,QAAQ,wCAAwC;AAM3E,OAAO,MAAMC,mCAAmC,GAAGA,CAAC;EAChDC;AACsC,CAAC,KAAK;EAC5C,MAAM,CAACC,OAAO,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EACpC,MAAM;IAAEM;EAAS,CAAC,GAAGJ,kBAAkB,CAACG,OAAO,CAAEE,EAAE,CAAC;EACpD,MAAM;IAAEC;EAAc,CAAC,GAAGP,uBAAuB,CAACI,OAAO,EAAE,cAAc,CAAC;EAE1E,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,MAAMI,oBAAoB,GAAGH,QAAQ,CAACI,IAAI,CAACC,OAAO,IAAIA,OAAO,CAACC,QAAQ,KAAK,GAAG,CAAC;EAC/E,MAAMC,UAAU,GAAGL,aAAa,IAAIH,OAAO,CAACS,IAAI,KAAK,MAAM,IAAIL,oBAAoB;EAEnF,OAAOI,UAAU,GAAG,IAAI,gBAAGd,KAAA,CAAAgB,aAAA,CAAAhB,KAAA,CAAAiB,QAAA,QAAGZ,QAAW,CAAC;AAC9C,CAAC","ignoreList":[]}
|