@webiny/app-dynamic-pages 5.42.0-beta.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.
Files changed (114) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/admin/ContentEntryForm/AddPreviewPane.d.ts +2 -0
  4. package/admin/ContentEntryForm/AddPreviewPane.js +52 -0
  5. package/admin/ContentEntryForm/AddPreviewPane.js.map +1 -0
  6. package/admin/ContentEntryForm/PassEntryToDataSource.d.ts +2 -0
  7. package/admin/ContentEntryForm/PassEntryToDataSource.js +78 -0
  8. package/admin/ContentEntryForm/PassEntryToDataSource.js.map +1 -0
  9. package/admin/ContentEntryForm/PreviewPane.d.ts +6 -0
  10. package/admin/ContentEntryForm/PreviewPane.js +65 -0
  11. package/admin/ContentEntryForm/PreviewPane.js.map +1 -0
  12. package/admin/Extensions.d.ts +2 -0
  13. package/admin/Extensions.js +23 -0
  14. package/admin/Extensions.js.map +1 -0
  15. package/admin/PageTemplateDialog/CreateTemplateDialog.d.ts +11 -0
  16. package/admin/PageTemplateDialog/CreateTemplateDialog.js +203 -0
  17. package/admin/PageTemplateDialog/CreateTemplateDialog.js.map +1 -0
  18. package/admin/PageTemplateDialog/PageTemplateDialog.d.ts +2 -0
  19. package/admin/PageTemplateDialog/PageTemplateDialog.js +55 -0
  20. package/admin/PageTemplateDialog/PageTemplateDialog.js.map +1 -0
  21. package/admin/SetupDynamicPages.d.ts +2 -0
  22. package/admin/SetupDynamicPages.js +23 -0
  23. package/admin/SetupDynamicPages.js.map +1 -0
  24. package/admin/elements/Elements.d.ts +2 -0
  25. package/admin/elements/Elements.js +19 -0
  26. package/admin/elements/Elements.js.map +1 -0
  27. package/admin/elements/entriesList.d.ts +2 -0
  28. package/admin/elements/entriesList.js +42 -0
  29. package/admin/elements/entriesList.js.map +1 -0
  30. package/admin/elements/entriesSearch.d.ts +2 -0
  31. package/admin/elements/entriesSearch.js +41 -0
  32. package/admin/elements/entriesSearch.js.map +1 -0
  33. package/admin/elements/eventHandlers/ContentTraverser.d.ts +11 -0
  34. package/admin/elements/eventHandlers/ContentTraverser.js +35 -0
  35. package/admin/elements/eventHandlers/ContentTraverser.js.map +1 -0
  36. package/admin/elements/renderers/DynamicGrid.d.ts +2 -0
  37. package/admin/elements/renderers/DynamicGrid.js +55 -0
  38. package/admin/elements/renderers/DynamicGrid.js.map +1 -0
  39. package/admin/elements/renderers/EntriesList.d.ts +10 -0
  40. package/admin/elements/renderers/EntriesList.js +30 -0
  41. package/admin/elements/renderers/EntriesList.js.map +1 -0
  42. package/admin/elements/renderers/Repeater.d.ts +7 -0
  43. package/admin/elements/renderers/Repeater.js +29 -0
  44. package/admin/elements/renderers/Repeater.js.map +1 -0
  45. package/admin/elements/repeater.d.ts +2 -0
  46. package/admin/elements/repeater.js +41 -0
  47. package/admin/elements/repeater.js.map +1 -0
  48. package/admin/index.d.ts +1 -0
  49. package/admin/index.js +14 -0
  50. package/admin/index.js.map +1 -0
  51. package/admin/pageEditor/DynamicPageEditorConfig.d.ts +2 -0
  52. package/admin/pageEditor/DynamicPageEditorConfig.js +17 -0
  53. package/admin/pageEditor/DynamicPageEditorConfig.js.map +1 -0
  54. package/admin/pageEditor/ElementEventHandlers.d.ts +1 -0
  55. package/admin/pageEditor/ElementEventHandlers.js +107 -0
  56. package/admin/pageEditor/ElementEventHandlers.js.map +1 -0
  57. package/admin/templateEditor/DynamicTemplateEditorConfig.d.ts +2 -0
  58. package/admin/templateEditor/DynamicTemplateEditorConfig.js +31 -0
  59. package/admin/templateEditor/DynamicTemplateEditorConfig.js.map +1 -0
  60. package/admin/templateEditor/ElementEventHandlers.d.ts +1 -0
  61. package/admin/templateEditor/ElementEventHandlers.js +107 -0
  62. package/admin/templateEditor/ElementEventHandlers.js.map +1 -0
  63. package/admin/templateEditor/EntrySelector/EntrySelector.d.ts +2 -0
  64. package/admin/templateEditor/EntrySelector/EntrySelector.js +38 -0
  65. package/admin/templateEditor/EntrySelector/EntrySelector.js.map +1 -0
  66. package/admin/templateEditor/EntrySelector/index.d.ts +1 -0
  67. package/admin/templateEditor/EntrySelector/index.js +18 -0
  68. package/admin/templateEditor/EntrySelector/index.js.map +1 -0
  69. package/dataInjection/AddEntriesListDataSourceContext.d.ts +2 -0
  70. package/dataInjection/AddEntriesListDataSourceContext.js +33 -0
  71. package/dataInjection/AddEntriesListDataSourceContext.js.map +1 -0
  72. package/dataInjection/editor/DisableGridDelete.d.ts +2 -0
  73. package/dataInjection/editor/DisableGridDelete.js +23 -0
  74. package/dataInjection/editor/DisableGridDelete.js.map +1 -0
  75. package/dataInjection/editor/ElementDataSettings.d.ts +2 -0
  76. package/dataInjection/editor/ElementDataSettings.js +28 -0
  77. package/dataInjection/editor/ElementDataSettings.js.map +1 -0
  78. package/dataInjection/editor/HideIfChildOfEntriesList.d.ts +6 -0
  79. package/dataInjection/editor/HideIfChildOfEntriesList.js +24 -0
  80. package/dataInjection/editor/HideIfChildOfEntriesList.js.map +1 -0
  81. package/dataInjection/editor/HideIfEntriesListGridWithDataSource.d.ts +6 -0
  82. package/dataInjection/editor/HideIfEntriesListGridWithDataSource.js +31 -0
  83. package/dataInjection/editor/HideIfEntriesListGridWithDataSource.js.map +1 -0
  84. package/dataInjection/editor/SetupElementDataSettings.d.ts +2 -0
  85. package/dataInjection/editor/SetupElementDataSettings.js +19 -0
  86. package/dataInjection/editor/SetupElementDataSettings.js.map +1 -0
  87. package/dataInjection/renderers/DynamicElementRenderers.d.ts +2 -0
  88. package/dataInjection/renderers/DynamicElementRenderers.js +27 -0
  89. package/dataInjection/renderers/DynamicElementRenderers.js.map +1 -0
  90. package/dataInjection/renderers/DynamicGrid.d.ts +2 -0
  91. package/dataInjection/renderers/DynamicGrid.js +50 -0
  92. package/dataInjection/renderers/DynamicGrid.js.map +1 -0
  93. package/dataInjection/renderers/EntriesList.d.ts +70 -0
  94. package/dataInjection/renderers/EntriesList.js +51 -0
  95. package/dataInjection/renderers/EntriesList.js.map +1 -0
  96. package/dataInjection/renderers/EntriesSearch.d.ts +47 -0
  97. package/dataInjection/renderers/EntriesSearch.js +38 -0
  98. package/dataInjection/renderers/EntriesSearch.js.map +1 -0
  99. package/dataInjection/renderers/Repeater.d.ts +70 -0
  100. package/dataInjection/renderers/Repeater.js +51 -0
  101. package/dataInjection/renderers/Repeater.js.map +1 -0
  102. package/features/index.d.ts +3 -0
  103. package/features/index.js +40 -0
  104. package/features/index.js.map +1 -0
  105. package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.d.ts +4 -0
  106. package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.js +65 -0
  107. package/features/pageTemplate/createDynamicTemplate/useCreateDynamicTemplate.js.map +1 -0
  108. package/features/pageTemplate/hasMainDataSource.d.ts +2 -0
  109. package/features/pageTemplate/hasMainDataSource.js +13 -0
  110. package/features/pageTemplate/hasMainDataSource.js.map +1 -0
  111. package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.d.ts +3 -0
  112. package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.js +20 -0
  113. package/features/pageTemplate/listDynamicTemplates/useListDynamicTemplates.js.map +1 -0
  114. package/package.json +56 -0
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
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 = {
15
+ actions: []
16
+ };
17
+ var addCmsListDataSource = function addCmsListDataSource(document, element) {
18
+ var dataSourceName = "element:".concat(element.id);
19
+ var gridElement = element.elements[0];
20
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, document), {}, {
21
+ dataSources: [].concat((0, _toConsumableArray2.default)(document.dataSources), [{
22
+ name: dataSourceName,
23
+ type: "cms.entries",
24
+ config: {
25
+ modelId: undefined,
26
+ limit: 10
27
+ }
28
+ }]),
29
+ dataBindings: [].concat((0, _toConsumableArray2.default)(document.dataBindings), [{
30
+ dataSource: dataSourceName,
31
+ bindFrom: "*",
32
+ bindTo: "element:".concat(gridElement.id, ".dataSource")
33
+ }])
34
+ });
35
+ };
36
+ var ElementEventHandlers = exports.ElementEventHandlers = function ElementEventHandlers() {
37
+ var eventHandler = (0, _editor.useEventActionHandler)();
38
+ var onElementCreate = function onElementCreate(state, _, args) {
39
+ if (!args) {
40
+ return doNothing;
41
+ }
42
+ var element = args.element;
43
+ if (element.type !== "entries-list") {
44
+ return doNothing;
45
+ }
46
+
47
+ // @ts-expect-error Event callable types need to be more generic.
48
+ var template = state.template;
49
+ var updatedTemplate = addCmsListDataSource(template, element);
50
+ return {
51
+ state: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
52
+ template: updatedTemplate
53
+ }),
54
+ actions: []
55
+ };
56
+ };
57
+ var onElementDelete = async function onElementDelete(state, _, args) {
58
+ if (!args) {
59
+ return doNothing;
60
+ }
61
+ var element = args.element;
62
+
63
+ // @ts-expect-error Event callable types need to be more generic.
64
+ var template = state.template;
65
+ var withDescendants = await state.getElementTree({
66
+ element: element
67
+ });
68
+ var traverser = new _dataInjection.ContentTraverser();
69
+ var deletedElements = [element.id];
70
+ traverser.traverse(withDescendants, function (node) {
71
+ deletedElements.push(node.id);
72
+ });
73
+ var deleteDataSources = deletedElements.map(function (id) {
74
+ return "element:".concat(id);
75
+ });
76
+ var deleteDataBindings = deletedElements.map(function (id) {
77
+ return "element:".concat(id, ".");
78
+ });
79
+ var updatedTemplate = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, template), {}, {
80
+ dataSources: template.dataSources.filter(function (ds) {
81
+ return !deleteDataSources.includes(ds.name);
82
+ }),
83
+ dataBindings: template.dataBindings.filter(function (binding) {
84
+ return !deleteDataBindings.some(function (toDelete) {
85
+ return binding.bindTo.startsWith(toDelete);
86
+ });
87
+ })
88
+ });
89
+ return {
90
+ state: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
91
+ template: updatedTemplate
92
+ }),
93
+ actions: []
94
+ };
95
+ };
96
+ (0, _react.useEffect)(function () {
97
+ var offCreateElement = eventHandler.on(_actions.CreateElementActionEvent, onElementCreate);
98
+ var offDeleteElement = eventHandler.on(_actions.DeleteElementActionEvent, onElementDelete);
99
+ return function () {
100
+ offCreateElement();
101
+ offDeleteElement();
102
+ };
103
+ }, []);
104
+ return null;
105
+ };
106
+
107
+ //# sourceMappingURL=ElementEventHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_editor","_actions","_dataInjection","doNothing","actions","addCmsListDataSource","document","element","dataSourceName","concat","id","gridElement","elements","_objectSpread2","default","dataSources","_toConsumableArray2","name","type","config","modelId","undefined","limit","dataBindings","dataSource","bindFrom","bindTo","ElementEventHandlers","exports","eventHandler","useEventActionHandler","onElementCreate","state","_","args","template","updatedTemplate","onElementDelete","withDescendants","getElementTree","traverser","ContentTraverser","deletedElements","traverse","node","push","deleteDataSources","map","deleteDataBindings","filter","ds","includes","binding","some","toDelete","startsWith","useEffect","offCreateElement","on","CreateElementActionEvent","offDeleteElement","DeleteElementActionEvent"],"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":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const EntrySelector: () => React.JSX.Element;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EntrySelector = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _Input = require("@webiny/ui/Input");
13
+ var _templateEditor = require("@webiny/app-page-builder/templateEditor");
14
+ var EntrySelector = exports.EntrySelector = function EntrySelector() {
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), {}, {
26
+ entryId: localId
27
+ });
28
+ });
29
+ };
30
+ return /*#__PURE__*/_react.default.createElement(_Input.Input, {
31
+ value: localId,
32
+ onChange: setLocalId,
33
+ onBlur: applyPreviewId,
34
+ placeholder: "Preview Entry Id"
35
+ });
36
+ };
37
+
38
+ //# sourceMappingURL=EntrySelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_Input","_templateEditor","EntrySelector","exports","_useDocumentDataSourc","useDocumentDataSource","getDataSource","updateDataSource","mainDataSource","_useState","useState","config","entryId","_useState2","_slicedToArray2","default","localId","setLocalId","applyPreviewId","_objectSpread2","createElement","Input","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,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAEO,IAAMG,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC/B,IAAAE,qBAAA,GAA4C,IAAAC,qCAAqB,EAAC,CAAC;IAA3DC,aAAa,GAAAF,qBAAA,CAAbE,aAAa;IAAEC,gBAAgB,GAAAH,qBAAA,CAAhBG,gBAAgB;EACvC,IAAMC,cAAc,GAAGF,aAAa,CAAC,MAAM,CAAC;EAC5C,IAAAG,SAAA,GAA8B,IAAAC,eAAQ,EAACF,cAAc,GAAGA,cAAc,CAACG,MAAM,CAACC,OAAO,GAAG,EAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAN,SAAA;IAApFO,OAAO,GAAAH,UAAA;IAAEI,UAAU,GAAAJ,UAAA;EAE1B,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;IACzBX,gBAAgB,CAAC,MAAM,EAAE,UAAAI,MAAM,EAAI;MAC/B,WAAAQ,cAAA,CAAAJ,OAAA,MAAAI,cAAA,CAAAJ,OAAA,MACOJ,MAAM;QACTC,OAAO,EAAEI;MAAO;IAExB,CAAC,CAAC;EACN,CAAC;EAED,oBACInB,MAAA,CAAAkB,OAAA,CAAAK,aAAA,CAACpB,MAAA,CAAAqB,KAAK;IACFC,KAAK,EAAEN,OAAQ;IACfO,QAAQ,EAAEN,UAAW;IACrBO,MAAM,EAAEN,cAAe;IACvBO,WAAW,EAAE;EAAmB,CACnC,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./EntrySelector";
@@ -0,0 +1,18 @@
1
+ "use strict";
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
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_EntrySelector","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./EntrySelector\";\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const AddEntriesListDataSourceContext: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
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) {
12
+ return function WithDataSourceContext(props) {
13
+ var _useDynamicDocument = (0, _dataInjection.useDynamicDocument)(),
14
+ dataSources = _useDynamicDocument.dataSources;
15
+ var element = props.element;
16
+ var renderOriginal = /*#__PURE__*/_react.default.createElement(Original, props);
17
+ if (!element) {
18
+ return renderOriginal;
19
+ }
20
+ var isEntriesList = element.type === "entries-list";
21
+ if (isEntriesList) {
22
+ var dataSource = dataSources.find(function (source) {
23
+ return source.name === "element:".concat(element.id);
24
+ });
25
+ return /*#__PURE__*/_react.default.createElement(_dataInjection.DataSourceProvider, {
26
+ dataSource: dataSource
27
+ }, renderOriginal);
28
+ }
29
+ return renderOriginal;
30
+ };
31
+ });
32
+
33
+ //# sourceMappingURL=AddEntriesListDataSourceContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_appPageBuilderElements","_dataInjection","AddEntriesListDataSourceContext","exports","Element","createDecorator","Original","WithDataSourceContext","props","_useDynamicDocument","useDynamicDocument","dataSources","element","renderOriginal","default","createElement","isEntriesList","type","dataSource","find","source","name","concat","id","DataSourceProvider"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEO,IAAMG,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA,GAAGE,+BAAO,CAACC,eAAe,CAAC,UAAAC,QAAQ,EAAI;EAC/E,OAAO,SAASC,qBAAqBA,CAACC,KAAK,EAAE;IACzC,IAAAC,mBAAA,GAAwB,IAAAC,iCAAkB,EAAC,CAAC;MAApCC,WAAW,GAAAF,mBAAA,CAAXE,WAAW;IAEnB,IAAQC,OAAO,GAAKJ,KAAK,CAAjBI,OAAO;IAEf,IAAMC,cAAc,gBAAGhB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACT,QAAQ,EAAKE,KAAQ,CAAC;IAE9C,IAAI,CAACI,OAAO,EAAE;MACV,OAAOC,cAAc;IACzB;IAEA,IAAMG,aAAa,GAAGJ,OAAO,CAACK,IAAI,KAAK,cAAc;IAErD,IAAID,aAAa,EAAE;MACf,IAAME,UAAU,GAAGP,WAAW,CAACQ,IAAI,CAAC,UAAAC,MAAM;QAAA,OAAIA,MAAM,CAACC,IAAI,gBAAAC,MAAA,CAAgBV,OAAO,CAACW,EAAE,CAAE;MAAA,EAAC;MAEtF,oBACI1B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACd,cAAA,CAAAuB,kBAAkB;QAACN,UAAU,EAAEA;MAAY,GAAEL,cAAmC,CAAC;IAE1F;IAEA,OAAOA,cAAc;EACzB,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const DisableGridDelete: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DisableGridDelete = void 0;
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) {
13
+ return function DisableActions(props) {
14
+ if (props.name === "delete") {
15
+ return /*#__PURE__*/_react.default.createElement(Original, Object.assign({}, props, {
16
+ element: /*#__PURE__*/_react.default.createElement(_HideIfEntriesListGridWithDataSource.HideIfEntriesListGridWithDataSource, null, props.element)
17
+ }));
18
+ }
19
+ return /*#__PURE__*/_react.default.createElement(Original, props);
20
+ };
21
+ });
22
+
23
+ //# sourceMappingURL=DisableGridDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_editor","_HideIfEntriesListGridWithDataSource","ElementAction","EditorConfig","DisableGridDelete","exports","createDecorator","Original","DisableActions","props","name","default","createElement","Object","assign","element","HideIfEntriesListGridWithDataSource"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,oCAAA,GAAAF,OAAA;AAEA,IAAQG,aAAa,GAAKC,oBAAY,CAA9BD,aAAa;AAEd,IAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGF,aAAa,CAACI,eAAe,CAAC,UAAAC,QAAQ,EAAI;EACvE,OAAO,SAASC,cAAcA,CAACC,KAAK,EAAE;IAClC,IAAIA,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;MACzB,oBACIb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACL,QAAQ,EAAAM,MAAA,CAAAC,MAAA,KACDL,KAAK;QACTM,OAAO,eACHlB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,oCAAA,CAAAe,mCAAmC,QAC/BP,KAAK,CAACM,OAC0B;MACxC,EACJ,CAAC;IAEV;IACA,oBAAOlB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACL,QAAQ,EAAKE,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const ElementDataSettings: () => React.JSX.Element;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ElementDataSettings = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _editor = require("@webiny/app-page-builder/editor");
11
+ var Ui = _editor.EditorConfig.Ui;
12
+ var ElementDataSettings = exports.ElementDataSettings = function ElementDataSettings() {
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, {
20
+ label: "Data",
21
+ element: /*#__PURE__*/_react.default.createElement(Ui.Sidebar.ScrollableContainer, null, /*#__PURE__*/_react.default.createElement(Ui.Sidebar.Elements, {
22
+ group: "dataSettings"
23
+ })),
24
+ disabled: isDisabled
25
+ });
26
+ };
27
+
28
+ //# sourceMappingURL=ElementDataSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_editor","Ui","EditorConfig","ElementDataSettings","exports","_useActiveElement","useActiveElement","_useActiveElement2","_slicedToArray2","default","element","_useIsElementChildOfT","useIsElementChildOfType","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAMA,IAAQE,EAAE,GAAKC,oBAAY,CAAnBD,EAAE;AAEH,IAAME,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EACrC,IAAAE,iBAAA,GAAkB,IAAAC,wBAAgB,EAAC,CAAC;IAAAC,kBAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,iBAAA;IAA7BK,OAAO,GAAAH,kBAAA;EACd,IAAAI,qBAAA,GAA0B,IAAAC,+BAAuB,EAACF,OAAO,EAAE,cAAc,CAAC;IAAlEG,aAAa,GAAAF,qBAAA,CAAbE,aAAa;EACrB,IAAMC,UAAU,GAAG,CAACJ,OAAO,IAAKG,aAAa,IAAIH,OAAO,EAAEK,IAAI,KAAK,MAAO;EAE1E,oBACIlB,MAAA,CAAAY,OAAA,CAAAO,aAAA,CAACf,EAAE,CAACgB,OAAO,CAACC,KAAK,CAACC,GAAG;IACjBC,KAAK,EAAE,MAAO;IACdV,OAAO,eACHb,MAAA,CAAAY,OAAA,CAAAO,aAAA,CAACf,EAAE,CAACgB,OAAO,CAACI,mBAAmB,qBAC3BxB,MAAA,CAAAY,OAAA,CAAAO,aAAA,CAACf,EAAE,CAACgB,OAAO,CAACK,QAAQ;MAACC,KAAK,EAAE;IAAe,CAAE,CACjB,CACnC;IACDC,QAAQ,EAAEV;EAAW,CACxB,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface HideIfChildOfEntriesListProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const HideIfChildOfEntriesList: ({ children }: HideIfChildOfEntriesListProps) => React.JSX.Element | null;
6
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.HideIfChildOfEntriesList = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = _interopRequireDefault(require("react"));
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;
18
+ if (!element) {
19
+ return null;
20
+ }
21
+ return isChildOfType ? null : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
22
+ };
23
+
24
+ //# sourceMappingURL=HideIfChildOfEntriesList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_editor","HideIfChildOfEntriesList","exports","_ref","children","_useActiveElement","useActiveElement","_useActiveElement2","_slicedToArray2","default","element","_useIsElementChildOfT","useIsElementChildOfType","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAMO,IAAME,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,SAA3BA,wBAAwBA,CAAAE,IAAA,EAAoD;EAAA,IAA9CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC/C,IAAAC,iBAAA,GAAkB,IAAAC,wBAAgB,EAAC,CAAC;IAAAC,kBAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,iBAAA;IAA7BK,OAAO,GAAAH,kBAAA;EACd,IAAAI,qBAAA,GAA0B,IAAAC,+BAAuB,EAACF,OAAO,EAAE,cAAc,CAAC;IAAlEG,aAAa,GAAAF,qBAAA,CAAbE,aAAa;EAErB,IAAI,CAACH,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,OAAOG,aAAa,GAAG,IAAI,gBAAGhB,MAAA,CAAAY,OAAA,CAAAK,aAAA,CAAAjB,MAAA,CAAAY,OAAA,CAAAM,QAAA,QAAGX,QAAW,CAAC;AACjD,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface HideIfEntriesListGridWithDataSourceProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const HideIfEntriesListGridWithDataSource: ({ children }: HideIfEntriesListGridWithDataSourceProps) => React.JSX.Element | null;
6
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.HideIfEntriesListGridWithDataSource = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _editor = require("@webiny/app-page-builder/editor");
11
+ var _dataInjection = require("@webiny/app-page-builder/dataInjection");
12
+ var HideIfEntriesListGridWithDataSource = exports.HideIfEntriesListGridWithDataSource = function HideIfEntriesListGridWithDataSource(_ref) {
13
+ var children = _ref.children;
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;
21
+ if (!element) {
22
+ return null;
23
+ }
24
+ var hasDataSourceBinding = bindings.some(function (binding) {
25
+ return binding.bindFrom === "*";
26
+ });
27
+ var shouldHide = isChildOfType && element.type === "grid" && hasDataSourceBinding;
28
+ return shouldHide ? null : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
29
+ };
30
+
31
+ //# sourceMappingURL=HideIfEntriesListGridWithDataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_editor","_dataInjection","HideIfEntriesListGridWithDataSource","exports","_ref","children","_useActiveElement","useActiveElement","_useActiveElement2","_slicedToArray2","default","element","_useElementBindings","useElementBindings","id","bindings","_useIsElementChildOfT","useIsElementChildOfType","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAMO,IAAMG,mCAAmC,GAAAC,OAAA,CAAAD,mCAAA,GAAG,SAAtCA,mCAAmCA,CAAAE,IAAA,EAEA;EAAA,IAD5CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAER,IAAAC,iBAAA,GAAkB,IAAAC,wBAAgB,EAAC,CAAC;IAAAC,kBAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,iBAAA;IAA7BK,OAAO,GAAAH,kBAAA;EACd,IAAAI,mBAAA,GAAqB,IAAAC,iCAAkB,EAACF,OAAO,CAAEG,EAAE,CAAC;IAA5CC,QAAQ,GAAAH,mBAAA,CAARG,QAAQ;EAChB,IAAAC,qBAAA,GAA0B,IAAAC,+BAAuB,EAACN,OAAO,EAAE,cAAc,CAAC;IAAlEO,aAAa,GAAAF,qBAAA,CAAbE,aAAa;EAErB,IAAI,CAACP,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,IAAMQ,oBAAoB,GAAGJ,QAAQ,CAACK,IAAI,CAAC,UAAAC,OAAO;IAAA,OAAIA,OAAO,CAACC,QAAQ,KAAK,GAAG;EAAA,EAAC;EAC/E,IAAMC,UAAU,GAAGL,aAAa,IAAIP,OAAO,CAACa,IAAI,KAAK,MAAM,IAAIL,oBAAoB;EAEnF,OAAOI,UAAU,GAAG,IAAI,gBAAG1B,MAAA,CAAAa,OAAA,CAAAe,aAAA,CAAA5B,MAAA,CAAAa,OAAA,CAAAgB,QAAA,QAAGrB,QAAW,CAAC;AAC9C,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SetupElementDataSettings: () => React.JSX.Element;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SetupElementDataSettings = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _ElementDataSettings = require("./ElementDataSettings");
10
+ var _editor = require("@webiny/app-page-builder/editor");
11
+ var Ui = _editor.EditorConfig.Ui;
12
+ var SetupElementDataSettings = exports.SetupElementDataSettings = function SetupElementDataSettings() {
13
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Ui.Sidebar.Group, {
14
+ name: "data",
15
+ element: /*#__PURE__*/_react.default.createElement(_ElementDataSettings.ElementDataSettings, null)
16
+ }));
17
+ };
18
+
19
+ //# sourceMappingURL=SetupElementDataSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_ElementDataSettings","_editor","Ui","EditorConfig","SetupElementDataSettings","exports","default","createElement","Fragment","Sidebar","Group","name","element","ElementDataSettings"],"sources":["SetupElementDataSettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { ElementDataSettings } from \"./ElementDataSettings\";\nimport { EditorConfig } from \"@webiny/app-page-builder/editor\";\n\nconst { Ui } = EditorConfig;\n\nexport const SetupElementDataSettings = () => {\n return (\n <>\n <Ui.Sidebar.Group name={\"data\"} element={<ElementDataSettings />} />\n </>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAQG,EAAE,GAAKC,oBAAY,CAAnBD,EAAE;AAEH,IAAME,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,SAA3BA,wBAAwBA,CAAA,EAAS;EAC1C,oBACIP,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAAAV,MAAA,CAAAS,OAAA,CAAAE,QAAA,qBACIX,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACL,EAAE,CAACO,OAAO,CAACC,KAAK;IAACC,IAAI,EAAE,MAAO;IAACC,OAAO,eAAEf,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,oBAAA,CAAAa,mBAAmB,MAAE;EAAE,CAAE,CACrE,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const DynamicElementRenderers: () => React.JSX.Element;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DynamicElementRenderers = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _appPageBuilder = require("@webiny/app-page-builder");
10
+ var _Repeater = require("./Repeater");
11
+ var _EntriesList = require("./EntriesList");
12
+ var _EntriesSearch = require("./EntriesSearch");
13
+ var _DynamicGrid = require("./DynamicGrid");
14
+ var DynamicElementRenderers = exports.DynamicElementRenderers = function DynamicElementRenderers() {
15
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_appPageBuilder.PbRenderElementPlugin, {
16
+ elementType: "repeater",
17
+ renderer: _Repeater.RepeaterRenderer
18
+ }), /*#__PURE__*/_react.default.createElement(_appPageBuilder.PbRenderElementPlugin, {
19
+ elementType: "entries-list",
20
+ renderer: _EntriesList.EntriesListRenderer
21
+ }), /*#__PURE__*/_react.default.createElement(_appPageBuilder.PbRenderElementPlugin, {
22
+ elementType: "entries-search",
23
+ renderer: _EntriesSearch.EntriesSearchRenderer
24
+ }), /*#__PURE__*/_react.default.createElement(_DynamicGrid.DynamicGrid, null));
25
+ };
26
+
27
+ //# sourceMappingURL=DynamicElementRenderers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_appPageBuilder","_Repeater","_EntriesList","_EntriesSearch","_DynamicGrid","DynamicElementRenderers","exports","default","createElement","Fragment","PbRenderElementPlugin","elementType","renderer","RepeaterRenderer","EntriesListRenderer","EntriesSearchRenderer","DynamicGrid"],"sources":["DynamicElementRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { PbRenderElementPlugin } from \"@webiny/app-page-builder\";\nimport { RepeaterRenderer } from \"~/dataInjection/renderers/Repeater\";\nimport { EntriesListRenderer } from \"~/dataInjection/renderers/EntriesList\";\nimport { EntriesSearchRenderer } from \"~/dataInjection/renderers/EntriesSearch\";\nimport { DynamicGrid } from \"~/dataInjection/renderers/DynamicGrid\";\n\nexport const DynamicElementRenderers = () => {\n return (\n <>\n <PbRenderElementPlugin elementType={\"repeater\"} renderer={RepeaterRenderer} />\n <PbRenderElementPlugin elementType={\"entries-list\"} renderer={EntriesListRenderer} />\n <PbRenderElementPlugin\n elementType={\"entries-search\"}\n renderer={EntriesSearchRenderer}\n />\n <DynamicGrid />\n </>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAEO,IAAMM,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,SAA1BA,uBAAuBA,CAAA,EAAS;EACzC,oBACIR,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAAAX,MAAA,CAAAU,OAAA,CAAAE,QAAA,qBACIZ,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACR,eAAA,CAAAU,qBAAqB;IAACC,WAAW,EAAE,UAAW;IAACC,QAAQ,EAAEC;EAAiB,CAAE,CAAC,eAC9EhB,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACR,eAAA,CAAAU,qBAAqB;IAACC,WAAW,EAAE,cAAe;IAACC,QAAQ,EAAEE;EAAoB,CAAE,CAAC,eACrFjB,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACR,eAAA,CAAAU,qBAAqB;IAClBC,WAAW,EAAE,gBAAiB;IAC9BC,QAAQ,EAAEG;EAAsB,CACnC,CAAC,eACFlB,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACJ,YAAA,CAAAY,WAAW,MAAE,CAChB,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const DynamicGrid: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DynamicGrid = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _appPageBuilderElements = require("@webiny/app-page-builder-elements");
11
+ var _grid = require("@webiny/app-page-builder-elements/renderers/grid");
12
+ var _dataInjection = require("@webiny/app-page-builder/dataInjection");
13
+ var elementInputs = {
14
+ dataSource: _appPageBuilderElements.ElementInput.create({
15
+ name: "dataSource",
16
+ type: "array",
17
+ translatable: false,
18
+ getDefaultValue: function getDefaultValue() {
19
+ return [];
20
+ }
21
+ })
22
+ };
23
+ var DynamicGrid = exports.DynamicGrid = _grid.GridRenderer.Component.createDecorator(function (Original) {
24
+ return function DynamicGrid(props) {
25
+ var _useRenderer = (0, _appPageBuilderElements.useRenderer)(),
26
+ getElement = _useRenderer.getElement,
27
+ getInputValues = _useRenderer.getInputValues;
28
+ var element = getElement();
29
+ var inputs = getInputValues();
30
+ if (Array.isArray(inputs.dataSource)) {
31
+ var hasData = inputs.dataSource.length > 0;
32
+ var baseCell = element.elements[0];
33
+ var dynamicElement = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, element), {}, {
34
+ elements: hasData ? Array(inputs.dataSource.length).fill(baseCell) : element.elements
35
+ });
36
+ return /*#__PURE__*/_react.default.createElement(_appPageBuilderElements.Elements, {
37
+ element: dynamicElement,
38
+ wrapper: function wrapper(element, index) {
39
+ var dataSource = inputs.dataSource ? inputs.dataSource[index] : {};
40
+ return /*#__PURE__*/_react.default.createElement(_dataInjection.DataSourceDataProvider, {
41
+ dataSource: dataSource
42
+ }, element);
43
+ }
44
+ });
45
+ }
46
+ return /*#__PURE__*/_react.default.createElement(Original, props);
47
+ };
48
+ });
49
+
50
+ //# sourceMappingURL=DynamicGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_appPageBuilderElements","_grid","_dataInjection","elementInputs","dataSource","ElementInput","create","name","type","translatable","getDefaultValue","DynamicGrid","exports","GridRenderer","Component","createDecorator","Original","props","_useRenderer","useRenderer","getElement","getInputValues","element","inputs","Array","isArray","hasData","length","baseCell","elements","dynamicElement","_objectSpread2","default","fill","createElement","Elements","wrapper","index","DataSourceDataProvider"],"sources":["DynamicGrid.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRenderer, Elements, ElementInput } from \"@webiny/app-page-builder-elements\";\nimport { GridRenderer } from \"@webiny/app-page-builder-elements/renderers/grid\";\nimport { 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 = GridRenderer.Component.createDecorator(Original => {\n return function DynamicGrid(props) {\n const { getElement, getInputValues } = useRenderer();\n const element = getElement();\n const inputs = getInputValues<typeof elementInputs>();\n\n if (Array.isArray(inputs.dataSource)) {\n const hasData = inputs.dataSource.length > 0;\n\n const baseCell = element.elements[0];\n const dynamicElement = {\n ...element,\n elements: hasData\n ? Array(inputs.dataSource.length).fill(baseCell)\n : element.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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAMI,aAAa,GAAG;EAClBC,UAAU,EAAEC,oCAAY,CAACC,MAAM,CAAkB;IAC7CC,IAAI,EAAE,YAAY;IAClBC,IAAI,EAAE,OAAO;IACbC,YAAY,EAAE,KAAK;IACnBC,eAAe,WAAfA,eAAeA,CAAA,EAAG;MACd,OAAO,EAAE;IACb;EACJ,CAAC;AACL,CAAC;AAEM,IAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,kBAAY,CAACC,SAAS,CAACC,eAAe,CAAC,UAAAC,QAAQ,EAAI;EAC1E,OAAO,SAASL,WAAWA,CAACM,KAAK,EAAE;IAC/B,IAAAC,YAAA,GAAuC,IAAAC,mCAAW,EAAC,CAAC;MAA5CC,UAAU,GAAAF,YAAA,CAAVE,UAAU;MAAEC,cAAc,GAAAH,YAAA,CAAdG,cAAc;IAClC,IAAMC,OAAO,GAAGF,UAAU,CAAC,CAAC;IAC5B,IAAMG,MAAM,GAAGF,cAAc,CAAuB,CAAC;IAErD,IAAIG,KAAK,CAACC,OAAO,CAACF,MAAM,CAACnB,UAAU,CAAC,EAAE;MAClC,IAAMsB,OAAO,GAAGH,MAAM,CAACnB,UAAU,CAACuB,MAAM,GAAG,CAAC;MAE5C,IAAMC,QAAQ,GAAGN,OAAO,CAACO,QAAQ,CAAC,CAAC,CAAC;MACpC,IAAMC,cAAc,OAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACbV,OAAO;QACVO,QAAQ,EAAEH,OAAO,GACXF,KAAK,CAACD,MAAM,CAACnB,UAAU,CAACuB,MAAM,CAAC,CAACM,IAAI,CAACL,QAAQ,CAAC,GAC9CN,OAAO,CAACO;MAAQ,EACzB;MAED,oBACIhC,MAAA,CAAAmC,OAAA,CAAAE,aAAA,CAAClC,uBAAA,CAAAmC,QAAQ;QACLb,OAAO,EAAEQ,cAAe;QACxBM,OAAO,EAAE,SAATA,OAAOA,CAAGd,OAAO,EAAEe,KAAK,EAAK;UACzB,IAAMjC,UAAU,GAAGmB,MAAM,CAACnB,UAAU,GAAGmB,MAAM,CAACnB,UAAU,CAACiC,KAAK,CAAC,GAAG,CAAC,CAAC;UAEpE,oBACIxC,MAAA,CAAAmC,OAAA,CAAAE,aAAA,CAAChC,cAAA,CAAAoC,sBAAsB;YAAClC,UAAU,EAAEA;UAAW,GAC1CkB,OACmB,CAAC;QAEjC;MAAE,CACL,CAAC;IAEV;IAEA,oBAAOzB,MAAA,CAAAmC,OAAA,CAAAE,aAAA,CAAClB,QAAQ,EAAKC,KAAQ,CAAC;EAClC,CAAC;AACL,CAAC,CAAC","ignoreList":[]}