dbm 1.4.15 → 1.4.17

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 (90) hide show
  1. package/commands/index.js +1 -1
  2. package/css/admin.css +6 -1
  3. package/css/all.css +4 -1
  4. package/css/cookie-bar.css +40 -0
  5. package/css/elements.css +41 -0
  6. package/css/form-field.css +46 -0
  7. package/css/grid.css +8 -0
  8. package/css/icons.css +2 -0
  9. package/css/utils.css +12 -6
  10. package/dbm.js +1 -1
  11. package/ecommerce/Cart.js +44 -9
  12. package/ecommerce/LocalStorageCartLoader.js +7 -3
  13. package/flow/controllers/select/SingleSelection.js +7 -0
  14. package/flow/updatefunctions/basic/index.js +1 -1
  15. package/graphapi/webclient/decode/Relations.js +12 -0
  16. package/loading/index.js +34 -0
  17. package/package.json +1 -1
  18. package/react/BaseObject.js +22 -5
  19. package/react/admin/editor/Editor.js +5 -6
  20. package/react/admin/editor/fields/ArrayField.js +24 -7
  21. package/react/admin/editor/fields/Link.js +53 -0
  22. package/react/admin/editor/fields/index.js +2 -1
  23. package/react/admin/objects/ExploreObject.js +103 -0
  24. package/react/admin/objects/explore/Relation.js +67 -0
  25. package/react/admin/objects/explore/RelationType.js +38 -0
  26. package/react/admin/objects/explore/RelationTypeGroup.js +22 -0
  27. package/react/admin/objects/explore/index.js +3 -0
  28. package/react/admin/objects/index.js +3 -1
  29. package/react/admin/objects/itemeditors/DraggableHierarchyDisplay.js +1 -1
  30. package/react/admin/objects/itemeditors/TextAreaField.js +26 -0
  31. package/react/admin/objects/itemeditors/index.js +1 -0
  32. package/react/animation/AnimationController.js +1 -3
  33. package/react/animation/index.js +15 -0
  34. package/react/area/InsertElement.js +3 -0
  35. package/react/area/Layout.js +20 -0
  36. package/react/area/List.js +4 -0
  37. package/react/area/ModalDialog.js +89 -0
  38. package/react/area/NativeElement.js +37 -0
  39. package/react/area/RepeatedSlider.js +73 -0
  40. package/react/area/SingleItemSlideshow.js +69 -0
  41. package/react/area/SlideshowSteps.js +45 -0
  42. package/react/area/index.js +7 -1
  43. package/react/blocks/admin/objects/Explore.js +18 -0
  44. package/react/blocks/admin/objects/index.js +2 -1
  45. package/react/blocks/content/Buttons.js +33 -0
  46. package/react/blocks/content/ContentBlock.js +7 -2
  47. package/react/blocks/content/SectionsGrid.js +19 -0
  48. package/react/blocks/content/Spacing.js +13 -0
  49. package/react/blocks/content/SpacingLine.js +18 -0
  50. package/react/blocks/content/index.js +5 -1
  51. package/react/blocks/index.js +108 -0
  52. package/react/context/AddContextVariables.js +9 -4
  53. package/react/cookies/CookieBar.js +6 -4
  54. package/react/cookies/CookieOverlayMessage.js +6 -4
  55. package/react/dynamic/DesignRepositoryProxy.js +22 -0
  56. package/react/dynamic/DynamicDesignElement.js +24 -0
  57. package/react/dynamic/index.js +60 -0
  58. package/react/form/EditObjectProperty.js +15 -2
  59. package/react/form/EditableContent.js +71 -0
  60. package/react/form/GraphApiImageWithAltText.js +268 -0
  61. package/react/form/Link.js +40 -0
  62. package/react/form/Url.js +25 -0
  63. package/react/form/index.js +4 -0
  64. package/react/index.js +12 -0
  65. package/react/interaction/Checked.js +32 -0
  66. package/react/interaction/ClickOutsideTrigger.js +1 -1
  67. package/react/interaction/index.js +2 -1
  68. package/react/svg/AddGlobalFilterClasses.js +3 -3
  69. package/react/svg/BlendColorFilter.js +42 -0
  70. package/react/svg/GlobalFilters.js +1 -1
  71. package/react/svg/MatrixFilter.js +1 -3
  72. package/react/svg/index.js +20 -0
  73. package/react/text/index.js +4 -0
  74. package/repository/Item.js +8 -0
  75. package/repository/admin/index.js +10 -0
  76. package/repository/index.js +3 -0
  77. package/repository/proxy/RepositoryProxy.js +60 -0
  78. package/repository/proxy/index.js +1 -0
  79. package/site/BrowserUpdater.js +3 -3
  80. package/startup/index.js +1 -1
  81. package/tracking/Controller.js +26 -8
  82. package/tracking/ConversionLinker.js +53 -0
  83. package/tracking/DataLayerTracker.js +27 -18
  84. package/tracking/GtagTracker.js +112 -0
  85. package/tracking/MetaPixelTracker.js +1 -1
  86. package/tracking/PageListTracker.js +46 -0
  87. package/tracking/SingleAccountMetaPixelTracker.js +118 -0
  88. package/tracking/TagManagerTracker.js +2 -2
  89. package/tracking/index.js +58 -0
  90. package/utils/svg/ColorMatrixFunctions.js +13 -0
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import Dbm from "../../index.js";
3
+
4
+ export default class SlideshowSteps extends Dbm.react.BaseObject {
5
+ _construct() {
6
+ super._construct();
7
+
8
+ this._sliderItems = {};
9
+
10
+ this.getDynamicPropWithoutState("length", 0).addUpdate(this._getScopedCallFunctionCommand(this._updateSteps));
11
+ let value = this.getDynamicPropWithoutState("value", 0);
12
+
13
+ let singleSelection = new Dbm.flow.controllers.select.SingleSelection();
14
+ singleSelection.item.properties.value.connectInput(value);
15
+ this.item.requireProperty("singleSelection", singleSelection.item);
16
+
17
+ this.item.requireProperty("steps", []);
18
+ }
19
+
20
+ _removedUsedProps(aProps) {
21
+ delete aProps["length"];
22
+ delete aProps["index"];
23
+ }
24
+
25
+ _updateSteps() {
26
+ let numberOfSteps = this.item["props/length"];
27
+ let steps = [];
28
+
29
+ for(let i = 0; i < numberOfSteps; i++) {
30
+ let selectionProperty = this.item.singleSelection.controller.addSelectionValue(i);
31
+ steps.push({"id": i, "selected": selectionProperty});
32
+ }
33
+
34
+ this.item.steps = steps;
35
+ console.log(this.item.steps);
36
+ }
37
+
38
+ _renderMainElement() {
39
+ let elements = this.getPropValue("children");
40
+
41
+ return this._createMainElement(Dbm.react.area.List, {"items": this.item.properties.steps},
42
+ React.createElement(Dbm.react.interaction.Checked, {"checked": Dbm.react.source.item("selected"), "preventUncheck": true}, elements)
43
+ );
44
+ }
45
+ }
@@ -13,6 +13,12 @@ export {default as SwitchableArea} from "./SwitchableArea.js";
13
13
  export {default as PopoverLayer} from "./PopoverLayer.js";
14
14
  export {default as RowOrStacked} from "./RowOrStacked.js";
15
15
  export {default as SelectResponsiveLayout} from "./SelectResponsiveLayout.js";
16
+ export {default as NativeElement} from "./NativeElement.js";
17
+ export {default as SingleItemSlideshow} from "./SingleItemSlideshow.js";
18
+ export {default as SlideshowSteps} from "./SlideshowSteps.js";
19
+ export {default as RepeatedSlider} from "./RepeatedSlider.js";
20
+ export {default as Layout} from "./Layout.js";
21
+ export {default as ModalDialog} from "./ModalDialog.js";
16
22
 
17
23
  export const responsiveLayout = function(aDefaultLayout) {
18
24
  let newResponsiveLayout = new Dbm.react.area.ResponsiveLayout();
@@ -41,5 +47,5 @@ export const processStateElement = function(aState, aIdleElement, aProcessingEle
41
47
 
42
48
  let element = React.createElement(Dbm.react.area.InsertElement, {"element": updateFunction.output.properties.value});
43
49
 
44
- return updateFunction;
50
+ return element;
45
51
  }
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import Dbm from "../../../../index.js";
3
+
4
+ export default class Explore extends Dbm.react.BaseObject {
5
+ _construct() {
6
+ super._construct();
7
+ }
8
+
9
+ _renderMainElement() {
10
+
11
+ let url = new URL(document.location.href);
12
+ let id = url.searchParams.get("id");
13
+
14
+ return React.createElement("div", {className: "content-narrow"},
15
+ React.createElement(Dbm.react.admin.objects.ExploreObject, {"id": id})
16
+ );
17
+ }
18
+ }
@@ -2,4 +2,5 @@ export {default as List} from "./List.js";
2
2
  export {default as Edit} from "./Edit.js";
3
3
  export {default as RunObjectCommands} from "./RunObjectCommands.js";
4
4
  export {default as Users} from "./Users.js";
5
- export {default as User} from "./User.js";
5
+ export {default as User} from "./User.js";
6
+ export {default as Explore} from "./Explore.js";
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ import Dbm from "../../../index.js";
3
+
4
+ export default class Buttons extends Dbm.react.BaseObject {
5
+ _construct() {
6
+ super._construct();
7
+ }
8
+
9
+
10
+ _renderMainElement() {
11
+
12
+ let element = Dbm.getInstance().repository.getItem("linkListCard").element;
13
+
14
+ return React.createElement("div", {"className": "content-narrow"},
15
+ React.createElement("div", {"className": "flex-row small-item-spacing"},
16
+ React.createElement(Dbm.react.area.List, {items: this.context.blockData.buttons},
17
+ React.createElement("div", {"className": "flex-row-item"},
18
+ React.createElement(Dbm.react.text.Link, {"href": Dbm.react.source.item("url"), "className": "custom-styled-link"},
19
+ React.createElement(Dbm.react.area.SwitchableArea, {"area": Dbm.react.source.item("type")},
20
+ React.createElement(Dbm.react.design.buttons.PrimaryButton, {"data-slot": "primary"},
21
+ Dbm.react.text.text(Dbm.react.source.item("text"))
22
+ ),
23
+ React.createElement(Dbm.react.design.buttons.SecondaryButton, {"data-slot": "secondary"},
24
+ Dbm.react.text.text(Dbm.react.source.item("text"))
25
+ )
26
+ )
27
+ )
28
+ )
29
+ )
30
+ )
31
+ );
32
+ }
33
+ }
@@ -5,9 +5,14 @@ export default class ContentBlock extends Dbm.react.BaseObject {
5
5
  _construct() {
6
6
  super._construct();
7
7
 
8
- let contentBlockId = this.context.blockData.contentBlock;
9
-
10
8
  this.item.requireProperty("item", null);
9
+ }
10
+
11
+ _constructAfterProps() {
12
+ super._constructAfterProps();
13
+
14
+ let contentBlockId = this.getPropValueWithDefault("id", this.context.blockData.contentBlock);
15
+ console.log(contentBlockId);
11
16
 
12
17
  let graphApi = Dbm.getInstance().repository.getItem("cachedGraphApi").controller;
13
18
  {
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import Dbm from "dbm";
3
+
4
+ export default class SectionsGrid extends Dbm.react.BaseObject {
5
+ _construct() {
6
+ super._construct();
7
+
8
+ }
9
+
10
+ _renderMainElement() {
11
+ return this._createMainElement("div", {className: "content-narrow"},
12
+ React.createElement("div", {className: "section-grid section-grid-gap"},
13
+ React.createElement(Dbm.react.area.List, {"items": Dbm.react.source.blockData("sections")},
14
+ React.createElement(Dbm.react.design.content.GridSectionCard, {})
15
+ )
16
+ )
17
+ );
18
+ }
19
+ }
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import Dbm from "dbm";
3
+
4
+ export default class Spacing extends Dbm.react.BaseObject {
5
+ _construct() {
6
+ super._construct();
7
+
8
+ }
9
+
10
+ _renderMainElement() {
11
+ return this._createMainElement("div", {className: "spacing standard"});
12
+ }
13
+ }
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import Dbm from "dbm";
3
+
4
+ export default class SpacingLine extends Dbm.react.BaseObject {
5
+ _construct() {
6
+ super._construct();
7
+
8
+ }
9
+
10
+ _renderMainElement() {
11
+
12
+ return this._createMainElement("div", {className: "content-narrow"},
13
+ React.createElement("div", {className: "spacing medium"}),
14
+ React.createElement("div", {className: "spacer-line"}),
15
+ React.createElement("div", {className: "spacing medium"})
16
+ );
17
+ }
18
+ }
@@ -2,4 +2,8 @@ export {default as Card} from "./Card.js";
2
2
  export {default as ContentBlock} from "./ContentBlock.js";
3
3
  export {default as AnchorPosition} from "./AnchorPosition.js";
4
4
  export {default as LinkList} from "./LinkList.js";
5
- export {default as LinkListCard} from "./LinkListCard.js";
5
+ export {default as LinkListCard} from "./LinkListCard.js";
6
+ export {default as Spacing} from "./Spacing.js";
7
+ export {default as SpacingLine} from "./SpacingLine.js";
8
+ export {default as Buttons} from "./Buttons.js";
9
+ export {default as SectionsGrid} from "./SectionsGrid.js";
@@ -151,6 +151,7 @@ export let registerAllBlocks = function() {
151
151
  }
152
152
 
153
153
  registerBlock("admin/objects/edit", "Admin / Edit object", createElement(Dbm.react.blocks.admin.objects.Edit));
154
+ registerBlock("admin/objects/explore", "Admin / Explore object", createElement(Dbm.react.blocks.admin.objects.Explore));
154
155
  registerBlock("admin/objects/apiCommands", "Admin / Object API commands", createElement(Dbm.react.blocks.admin.objects.RunObjectCommands));
155
156
  registerBlock("admin/users", "Admin / Users", createElement(Dbm.react.blocks.admin.objects.Users));
156
157
  registerBlock("admin/users/user", "Admin / User", createElement(Dbm.react.blocks.admin.objects.User));
@@ -233,6 +234,32 @@ export let registerAllBlocks = function() {
233
234
  registerBlock("content/linkList", "Link list", createElement(Dbm.react.blocks.content.LinkList, {}), editor, {}, {});
234
235
  }
235
236
 
237
+ {
238
+ let editor = createElement(Dbm.react.admin.editor.EditorBlockName, {},
239
+ createElement(Dbm.react.form.LabelledArea, {label: "Sections"},
240
+ createElement(Dbm.react.admin.editor.fields.ArrayField, {name: "sections"},
241
+ createElement("div", {},
242
+ createElement(Dbm.react.form.EditObjectProperty, {"value": Dbm.react.source.item("properties.value"), "path": "image"},
243
+ createElement(Dbm.react.form.GraphApiImageWithAltText, {"value": Dbm.react.source.contextVariable("value"), "className": "standard-field standard-field-padding full-width"})
244
+ ),
245
+ createElement(Dbm.react.form.EditObjectProperty, {"value": Dbm.react.source.item("properties.value"), "path": "title"},
246
+ createElement(Dbm.react.form.FormField, {"value": Dbm.react.source.contextVariable("value"), "className": "standard-field standard-field-padding full-width"})
247
+ ),
248
+ createElement(Dbm.react.form.EditObjectProperty, {"value": Dbm.react.source.item("properties.value"), "path": "link", initialValue: {}},
249
+ createElement("div", {"className": "standard-field"},
250
+ createElement(Dbm.react.form.Link, {"value": Dbm.react.source.contextVariable("value")})
251
+ )
252
+ ),
253
+ createElement(Dbm.react.form.EditObjectProperty, {"value": Dbm.react.source.item("properties.value"), "path": "content"},
254
+ createElement(Dbm.react.form.EditableContent, {"value": Dbm.react.source.contextVariable("value"), "className": "standard-field standard-field-padding full-width"})
255
+ )
256
+ )
257
+ )
258
+ )
259
+ );
260
+ registerBlock("content/sectionsGrid", "Sections grid", createElement(Dbm.react.blocks.content.SectionsGrid, {}), editor, {}, {"sections": true, "content": true});
261
+ }
262
+
236
263
  {
237
264
  let editor = createElement(Dbm.react.admin.editor.EditorBlockName, {},
238
265
  createElement(Dbm.react.form.LabelledArea, {label: "Link name"},
@@ -309,6 +336,20 @@ export let registerAllBlocks = function() {
309
336
  block.displayBlock.setValue("endSection", true);
310
337
  }
311
338
 
339
+ {
340
+ let editor = createElement(Dbm.react.admin.editor.EditorBlockName, {},
341
+
342
+ );
343
+ let block = registerBlock("content/spacing", "Spacing", createElement(Dbm.react.blocks.content.Spacing), editor, {}, {});
344
+ }
345
+
346
+ {
347
+ let editor = createElement(Dbm.react.admin.editor.EditorBlockName, {},
348
+
349
+ );
350
+ let block = registerBlock("content/spacingLine", "Spacing line", createElement(Dbm.react.blocks.content.SpacingLine), editor, {}, {});
351
+ }
352
+
312
353
  {
313
354
  let editor = createElement(Dbm.react.admin.editor.EditorBlockName, {},
314
355
 
@@ -316,7 +357,55 @@ export let registerAllBlocks = function() {
316
357
  let block = registerBlock("content/skipSpacing", "Skip spacing", createElement("div", {"data-skip-spacing": "1"}), editor, {}, {});
317
358
  }
318
359
 
360
+ {
361
+ let buttonTypes = [];
362
+ {
363
+ let button = new Dbm.repository.Item();
364
+ button.setValue("type", "primary");
365
+ button.setValue("name", "Primary");
366
+ buttonTypes.push(button);
367
+ }
368
+ {
369
+ let button = new Dbm.repository.Item();
370
+ button.setValue("type", "secondary");
371
+ button.setValue("name", "Secondary");
372
+ buttonTypes.push(button);
373
+ }
319
374
 
375
+ let editor = createElement(Dbm.react.admin.editor.EditorBlockName, {},
376
+ createElement(Dbm.react.form.LabelledArea, {label: "Buttons"},
377
+ createElement(Dbm.react.admin.editor.fields.ArrayField, {name: "buttons"},
378
+ createElement("div", {"className": "standard-field flex-row vertically-center-items"},
379
+ createElement("div", {"className": "flex-row-item flex-no-resize"},
380
+ createElement(Dbm.react.form.EditObjectProperty, {"value": Dbm.react.source.item("properties.value"), "path": "type"},
381
+ createElement(Dbm.react.form.CustomSelection, {"value": Dbm.react.source.contextVariable("value"), "items": buttonTypes, "path": "type"},
382
+ createElement("div", {"data-slot": "button", "className": "standard-field-padding"}, "Select type"),
383
+ createElement("div", {},
384
+ createElement(Dbm.react.area.List, {items: Dbm.react.source.contextVariable("rows"), as: "row"},
385
+ createElement(Dbm.react.context.AddItemToContext, {
386
+ item: Dbm.react.source.contextVariable("row.forItem"),
387
+ children: createElement(Dbm.react.interaction.CommandButton, {
388
+ commands: [Dbm.commands.setProperty(Dbm.react.source.contextVariable("row.properties.selected"), true), Dbm.react.source.contextVariable("closeCommand")],
389
+ children: createElement("div", {
390
+ children: Dbm.react.text.text(Dbm.react.source.item("name"))
391
+ })
392
+ })
393
+ })
394
+ )
395
+ )
396
+ )
397
+ )
398
+ ),
399
+ createElement("div", {"className": "flex-row-item flex-resize"},
400
+ createElement(Dbm.react.form.Link, {"value": Dbm.react.source.item("properties.value")})
401
+ )
402
+ )
403
+
404
+ )
405
+ ),
406
+ );
407
+ let block = registerBlock("content/buttons", "Buttons", createElement(Dbm.react.blocks.content.Buttons), editor, {}, {});
408
+ }
320
409
 
321
410
  {
322
411
  let itemEditor = Dbm.getInstance().repository.getItem("admin/itemEditors/title");
@@ -611,6 +700,25 @@ export let registerAllBlocks = function() {
611
700
  objectTypeEditor.editors = newArray;
612
701
  }
613
702
 
703
+ {
704
+ let objectTypeEditor = Dbm.getInstance().repository.getItem("admin/objectTypeEditors/textMessageTemplate");
705
+ if(!objectTypeEditor.editors) {
706
+ objectTypeEditor.setValue("editors", []);
707
+ }
708
+
709
+ let newArray = [].concat(objectTypeEditor.editors);
710
+ newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/name"));
711
+ newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/identifier"));
712
+
713
+ {
714
+ let itemEditor = new Dbm.repository.Item();
715
+ itemEditor.setValue("element", createElement(Dbm.react.admin.objects.itemeditors.TextAreaField, {"label": "Content", "fieldName": "content"}));
716
+ newArray.push(itemEditor);
717
+ }
718
+
719
+ objectTypeEditor.editors = newArray;
720
+ }
721
+
614
722
  {
615
723
  let objectTypeEditor = Dbm.getInstance().repository.getItem("admin/objectTypeEditors/group/reviewGroup");
616
724
  if(!objectTypeEditor.editors) {
@@ -6,17 +6,22 @@ export default class AddContextVariables extends Dbm.react.BaseObject {
6
6
  super._construct();
7
7
  }
8
8
 
9
- render() {
10
- //console.log("AddContextVariables::render");
11
- //console.log(this);
9
+ _removedUsedProps(aProps) {
10
+ super._removedUsedProps(aProps);
11
+
12
+ delete aProps["values"];
13
+ }
14
+
15
+ _renderMainElement() {
12
16
 
13
17
  let newContext = {...this.context};
14
18
 
15
- let values = this.props.values;
19
+ let values = this.getPropValue("values");
16
20
  for(let objectName in values) {
17
21
  newContext[objectName] = values[objectName];
18
22
  }
19
23
 
24
+ //METODO: pass down props to children
20
25
  return React.createElement(Dbm.react.context.Context.Provider, {"value": newContext}, this.props.children);
21
26
  }
22
27
  }
@@ -37,6 +37,8 @@ export default class CookieBar extends Dbm.react.BaseObject {
37
37
  elementSize.input.properties.element.connectInput(this.item.properties.widthElement);
38
38
  elementSize.start();
39
39
 
40
+ let settingsUrl = this.getDynamicPropWithoutState("settingsUrl", "/cookie-settings/");
41
+
40
42
  let layoutSwitch = new Dbm.flow.updatefunctions.logic.RangeSwitch();
41
43
  layoutSwitch.input.properties.value.connectInput(elementSize.output.properties.width);
42
44
 
@@ -59,7 +61,7 @@ export default class CookieBar extends Dbm.react.BaseObject {
59
61
  Dbm.react.text.translatedText("Only necessary", "onlyNecessary")
60
62
  ),
61
63
  React.createElement("div", {"className": "spacing small"}),
62
- React.createElement(Dbm.react.text.Link, {"href": "/cookie-settings/", className:"custom-styled-link"},
64
+ React.createElement(Dbm.react.text.Link, {"href": settingsUrl, className:"custom-styled-link"},
63
65
  React.createElement("div", {"className": "secondary-button standard-button-padding text-align-center"},
64
66
  Dbm.react.text.translatedText("Settings", "settings")
65
67
  )
@@ -81,7 +83,7 @@ export default class CookieBar extends Dbm.react.BaseObject {
81
83
 
82
84
  React.createElement("div", {"className": "flex-row small-item-spacing"},
83
85
  React.createElement("div", {"className": "flex-row-item"},
84
- React.createElement(Dbm.react.text.Link, {"href": "/cookie-settings/", className:"custom-styled-link"},
86
+ React.createElement(Dbm.react.text.Link, {"href": settingsUrl, className:"custom-styled-link"},
85
87
  React.createElement("div", {"className": "secondary-button standard-button-padding"},
86
88
  Dbm.react.text.translatedText("Settings", "settings")
87
89
  )
@@ -115,7 +117,7 @@ export default class CookieBar extends Dbm.react.BaseObject {
115
117
  React.createElement("div", {"className": "flex-row-item"},
116
118
  React.createElement("div", {"className": "flex-row small-item-spacing"},
117
119
  React.createElement("div", {"className": "flex-row-item"},
118
- React.createElement(Dbm.react.text.Link, {"href": "/cookie-settings/", className:"custom-styled-link"},
120
+ React.createElement(Dbm.react.text.Link, {"href": settingsUrl, className:"custom-styled-link"},
119
121
  React.createElement("div", {"className": "secondary-button standard-button-padding"},
120
122
  Dbm.react.text.translatedText("Settings", "settings")
121
123
  )
@@ -202,7 +204,7 @@ export default class CookieBar extends Dbm.react.BaseObject {
202
204
 
203
205
  _renderMainElement() {
204
206
 
205
- return this._createMainElement("div", {className: "cookie-bar-position no-pointer-events", "data-non-static": 1, ref: this.createRef("widthElement")},
207
+ return this._createMainElement("div", {className: "cookie-bar-position no-pointer-events cookie-bar-layer", "data-non-static": 1, ref: this.createRef("widthElement")},
206
208
  React.createElement(Dbm.react.area.HasData, {"check": this.item.properties.inDom},
207
209
  React.createElement(Dbm.react.text.TranslationGroup, {"path": "cookies/notice/bar"},
208
210
  React.createElement("div", {className: "overflow-hidden"},
@@ -37,6 +37,8 @@ export default class CookieOverlayMessage extends Dbm.react.BaseObject {
37
37
  elementSize.input.properties.element.connectInput(this.item.properties.widthElement);
38
38
  elementSize.start();
39
39
 
40
+ let settingsUrl = this.getDynamicPropWithoutState("settingsUrl", "/cookie-settings/");
41
+
40
42
  let layoutSwitch = new Dbm.flow.updatefunctions.logic.RangeSwitch();
41
43
  layoutSwitch.input.properties.value.connectInput(elementSize.output.properties.width);
42
44
 
@@ -66,7 +68,7 @@ export default class CookieOverlayMessage extends Dbm.react.BaseObject {
66
68
  Dbm.react.text.translatedText("Take full control over how we use cookies:", "text/settingsLinkDescription")
67
69
  ),
68
70
  React.createElement("div", {"className": "spacing small"}),
69
- React.createElement("a", {"href": "/cookie-settings/", className:"custom-styled-link"},
71
+ React.createElement("a", {"href": settingsUrl, className:"custom-styled-link"},
70
72
  React.createElement("div", {"className": "secondary-button standard-button-padding text-align-center"},
71
73
  Dbm.react.text.translatedText("Settings", "settings")
72
74
  )
@@ -78,15 +80,15 @@ export default class CookieOverlayMessage extends Dbm.react.BaseObject {
78
80
  let desktopLayout = React.createElement("div", {className: "centered-site"},
79
81
  React.createElement("div", {className: "cookie-overlay-message-box cookie-overlay-message-box-padding all-pointer-events"},
80
82
  React.createElement("div", {"className": "flex-row small-item-spacing"},
81
- React.createElement("div", {"className": "flex-row-item half"},
83
+ React.createElement("div", {"className": "flex-row-item half flex-resize"},
82
84
  React.createElement("div", {"className": "cookie-bar-title"},
83
85
  Dbm.react.text.translatedText("Your privacy is important to us", "text/title")
84
86
  ),
87
+ React.createElement("div", {"className": "spacing small"}),
85
88
  React.createElement("div", {"className": "cookie-bar-description"},
86
89
  Dbm.react.text.translatedText("We use cookies to make our site work properly and to improve your experience. You can choose to accept all cookies, allow only those that are necessary, or manage your preferences in the settings.", "text/description")
87
90
  )
88
91
  ),
89
- React.createElement("div", {"className": "flex-row-item quarter"}),
90
92
  React.createElement("div", {"className": "flex-row-item quarter"},
91
93
  React.createElement("div", {"className": "standard-button standard-button-padding big full-width text-align-center", onClick: () => this._acceptAll()},
92
94
  Dbm.react.text.translatedText("Allow all", "allowAll")
@@ -106,7 +108,7 @@ export default class CookieOverlayMessage extends Dbm.react.BaseObject {
106
108
  Dbm.react.text.translatedText("Take full control over how we use cookies:", "text/settingsLinkDescription")
107
109
  ),
108
110
  React.createElement("div", {"className": "flex-row-item"},
109
- React.createElement("a", {"href": "/cookie-settings/", className:"custom-styled-link"},
111
+ React.createElement("a", {"href": settingsUrl, className:"custom-styled-link"},
110
112
  React.createElement("div", {"className": "cookie-settings-link"},
111
113
  Dbm.react.text.translatedText("Settings", "settings")
112
114
  )
@@ -0,0 +1,22 @@
1
+ import Dbm from "../../index.js";
2
+ import React from "react";
3
+
4
+ export default class DesignRepositoryProxy extends Dbm.repository.proxy.RepositoryProxy {
5
+
6
+ _setupDefaults() {
7
+ this.reposityPrefix = "react/design/";
8
+ this.propertyName = "reactClass";
9
+ }
10
+
11
+ _setupItem(aItem, aFullPath) {
12
+ console.log("_setupItem");
13
+ console.log(aItem, aFullPath);
14
+
15
+ let className = aFullPath.split("/").pop();
16
+ let element = React.createElement("div", {"className": "missing-design-element", "data-repository-path": aFullPath}, className)
17
+
18
+ let DynamicDesignElement = Dbm.react.dynamic.setupDesignItem(aItem, element, [], []);
19
+
20
+ aItem.requireProperty(this.propertyName, DynamicDesignElement);
21
+ }
22
+ }
@@ -0,0 +1,24 @@
1
+ import Dbm from "../../index.js";
2
+ import React from "react";
3
+
4
+ export default class DynamicDesignElement extends Dbm.react.BaseObject {
5
+
6
+ _construct() {
7
+ super._construct();
8
+ this.item.requireProperty("structure", null);
9
+ this._setupDesignElements();
10
+
11
+ //METODO: setup dynamic props
12
+ }
13
+
14
+ _setupDesignElements() {
15
+ //MENOTE: dynamically overridden
16
+ }
17
+
18
+ _renderMainElement() {
19
+ //METODO: link dynamic props
20
+ return React.createElement(Dbm.react.context.AddContextVariables, {"values": {"children": this.getPropValue("children")}},
21
+ this._mainElement(this.item.structure.element)
22
+ )
23
+ }
24
+ }
@@ -0,0 +1,60 @@
1
+ import Dbm from "../../index.js";
2
+ import React from "react";
3
+
4
+ export {default as DesignRepositoryProxy} from "./DesignRepositoryProxy.js";
5
+ export {default as DynamicDesignElement} from "./DynamicDesignElement.js";
6
+
7
+ export const setupDesignItem = function(aItem, aElement, aPropNames = [], aSlots = []) {
8
+ let DynamicDesignElement = class DynamicDesignElement extends Dbm.react.dynamic.DynamicDesignElement {
9
+ _setupDesignElements() {
10
+ this.item.setValue("structure", aItem);
11
+ }
12
+ }
13
+
14
+ aItem.setValue("element", aElement);
15
+ aItem.setValue("propNames", aPropNames);
16
+ aItem.setValue("slots", aSlots);
17
+
18
+ return DynamicDesignElement;
19
+ }
20
+
21
+ export const addDesign = function(aPath, aElement, aPropNames = [], aSlots = []) {
22
+ let prefix = "react/design/";
23
+ let fullPath = prefix+aPath;
24
+ let item = Dbm.repository.getItem(fullPath);
25
+ let DynamicDesignElement = setupDesignItem(item, aElement, aPropNames, aSlots);
26
+ item.setValue("reactClass", DynamicDesignElement);
27
+
28
+ return item;
29
+ }
30
+
31
+ export const setupDefaultDesignElements = function() {
32
+ addDesign("buttons/PrimaryButton", React.createElement("div", {"className": "standard-button standard-button-padding"},
33
+ React.createElement(Dbm.react.area.InsertElement, {"element": Dbm.react.source.contextVariable("children")})
34
+ ));
35
+
36
+ addDesign("buttons/SecondaryButton", React.createElement("div", {"className": "secondary-button standard-button-padding"},
37
+ React.createElement(Dbm.react.area.InsertElement, {"element": Dbm.react.source.contextVariable("children")})
38
+ ));
39
+
40
+ addDesign("content/GridSectionCard", React.createElement("div", {"className": "grid-section-card"},
41
+ React.createElement(Dbm.react.text.OptionalLink, {"href": Dbm.react.source.item("link.url"), "className": "custom-styled-link"},
42
+ React.createElement("div", {"className": ""},
43
+ React.createElement("div", {"className": "flex-row"},
44
+ React.createElement("div", {"className": "flex-row-item flex-no-ressize"},
45
+ "Icon"
46
+ ),
47
+ React.createElement("div", {"className": "flex-row-item flex-resize"},
48
+ React.createElement("div", {"className": "grid-section-card-title"},
49
+ Dbm.react.text.text(Dbm.react.source.item("title"))
50
+ )
51
+ )
52
+ ),
53
+ React.createElement("div", {"className": "spacing small"}),
54
+ React.createElement("div", {"className": "grid-section-card-content"},
55
+ Dbm.react.text.htmlText(Dbm.react.source.item("content"), "div", {"className": "no-margins-around"})
56
+ )
57
+ )
58
+ )
59
+ ));
60
+ }
@@ -8,10 +8,23 @@ export default class EditObjectProperty extends Dbm.react.BaseObject {
8
8
  this._valueSelector = new Dbm.flow.controllers.transform.PartOfObject();
9
9
 
10
10
  this._valueSelector.item.properties.object.connectInput(this.getDynamicPropWithoutState("value", {}));
11
- this._valueSelector.item.properties.path.connectInput(this.getDynamicPropWithoutState("path", {}));
11
+ this._valueSelector.item.properties.path.connectInput(this.getDynamicPropWithoutState("path", null));
12
12
 
13
- this.item.requireProperty("value", []).connectInput(this._valueSelector.item.properties.value);
13
+ this.item.requireProperty("value", {}).connectInput(this._valueSelector.item.properties.value);
14
+ }
14
15
 
16
+ _constructAfterProps() {
17
+ super._constructAfterProps();
18
+
19
+ this._valueSelector._objectUpdated();
20
+ let initialValue = this.getPropValue("initialValue");
21
+ let currentValue = this.item.value;
22
+ if(this.item.value === null || this.item.value === undefined) {
23
+ if(initialValue !== null && initialValue !== undefined) {
24
+ this._valueSelector.item.value = initialValue;
25
+ this._valueSelector._valueUpdated();
26
+ }
27
+ }
15
28
  }
16
29
 
17
30
  _renderMainElement() {