dbm 1.1.1 → 1.1.3

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 (36) hide show
  1. package/commands/CommandBaseObject.js +25 -0
  2. package/commands/SetProperty.js +18 -0
  3. package/commands/index.js +20 -8
  4. package/core/source/FromObject.js +8 -0
  5. package/core/source/index.js +9 -0
  6. package/flow/controllers/edit/EditMultipleValues.js +57 -0
  7. package/flow/controllers/edit/EditValue.js +52 -0
  8. package/flow/controllers/edit/index.js +2 -0
  9. package/flow/controllers/index.js +2 -1
  10. package/graphapi/webclient/admin/EditorGroup.js +59 -0
  11. package/graphapi/webclient/admin/ItemEditor.js +74 -0
  12. package/graphapi/webclient/admin/ItemSaveData.js +63 -0
  13. package/graphapi/webclient/admin/SaveData.js +60 -0
  14. package/graphapi/webclient/admin/SaveFunctions.js +7 -0
  15. package/graphapi/webclient/admin/ValueEditor.js +61 -0
  16. package/graphapi/webclient/admin/index.js +8 -0
  17. package/graphapi/webclient/decode/index.js +16 -3
  18. package/graphapi/webclient/index.js +17 -1
  19. package/package.json +1 -1
  20. package/react/admin/EditPage.js +87 -66
  21. package/react/admin/SelectImageFromLibrary.js +56 -0
  22. package/react/admin/editor/Editor.js +2 -0
  23. package/react/admin/editor/fields/ImageField.js +143 -4
  24. package/react/admin/index.js +1 -0
  25. package/react/area/OpenCloseExpandableArea.js +1 -1
  26. package/react/image/CoverScaledImage.js +5 -0
  27. package/react/image/Image.js +10 -1
  28. package/react/image/WidthScaledImage.js +5 -0
  29. package/react/modules/index.js +11 -1
  30. package/react/text/index.js +2 -2
  31. package/site/BrowserUpdater.js +64 -0
  32. package/site/SiteDataLoader.js +9 -13
  33. package/site/SiteNavigation.js +0 -15
  34. package/site/index.js +20 -1
  35. package/utils/ArrayFunctions.js +0 -1
  36. package/utils/UrlFunctions.js +39 -13
@@ -29,12 +29,9 @@ export default class SiteDataLoader extends Dbm.core.BaseObject {
29
29
  let graphApi = Dbm.getInstance().repository.getItem("graphApi").controller;
30
30
  let request = graphApi.requestUrl(pathName);
31
31
 
32
- let urlUpdate = new Dbm.flow.updatefunctions.basic.RunCommand();
33
- urlUpdate.input.properties.value.connectInput(request.properties.status);
34
- urlUpdate.input.command = Dbm.commands.callFunction(this._pageDataLoaded.bind(this), [pageData, request]);
35
-
36
32
  this.item.setValue("status", 2);
37
- urlUpdate.output.properties.value.startUpdating();
33
+ Dbm.flow.addUpdateCommandWhenMatched(request.properties.status, 1, Dbm.commands.callFunction(this._pageDataLoaded.bind(this), [pageData, request]))
34
+
38
35
  }
39
36
  else {
40
37
  this.item.currentPage = null;
@@ -46,17 +43,16 @@ export default class SiteDataLoader extends Dbm.core.BaseObject {
46
43
  //console.log("_pageDataLoaded");
47
44
  //console.log(aPageData, aRequest, aRequest.status);
48
45
 
49
- if(aRequest.status === 1) {
50
- aPageData.setValue("page", aRequest.item);
51
- aPageData.setValue("canRender", true);
46
+ aPageData.setValue("page", aRequest.item);
47
+ aPageData.setValue("canRender", true);
52
48
 
53
- if(this.item.url === aPageData.url) {
54
- this.item.currentPage = aPageData;
55
- this.item.setValue("status", 1);
56
- }
49
+ if(this.item.url === aPageData.url) {
50
+ this.item.currentPage = aPageData;
51
+ this.item.setValue("status", 1);
57
52
 
58
- //METODO: remove updaters
59
53
  }
54
+
55
+ //METODO: remove updaters
60
56
 
61
57
  }
62
58
  }
@@ -151,7 +151,6 @@ export default class SiteNavigation extends Dbm.core.BaseObject {
151
151
  aEvent.preventDefault();
152
152
 
153
153
  this._internalNavigation(finalUrl.href);
154
- window.scrollTo(0, 0);
155
154
 
156
155
  return false;
157
156
  }
@@ -163,15 +162,6 @@ export default class SiteNavigation extends Dbm.core.BaseObject {
163
162
 
164
163
  this.item.travelPaths = paths;
165
164
  }
166
-
167
- _trackPage(aUrl) {
168
- //console.log("_trackPage");
169
-
170
- let trackingController = Dbm.getInstance().repository.getItem("trackingController").controller;
171
- if(trackingController) {
172
- trackingController.trackPage(aUrl);
173
- }
174
- }
175
165
 
176
166
  _internalNavigation(aUrl) {
177
167
 
@@ -185,8 +175,6 @@ export default class SiteNavigation extends Dbm.core.BaseObject {
185
175
  history.pushState({}, "Page", aUrl);
186
176
  this.item.url = aUrl;
187
177
 
188
- this._trackPage(aUrl);
189
-
190
178
  this._addUrlToPath(aUrl);
191
179
  }
192
180
 
@@ -196,8 +184,6 @@ export default class SiteNavigation extends Dbm.core.BaseObject {
196
184
  let url = document.location.href;
197
185
  this.item.url = url;
198
186
 
199
- this._trackPage(url);
200
-
201
187
  let paths = [].concat(this.item.travelPaths);
202
188
  paths.pop();
203
189
  this.item.travelPaths = paths;
@@ -209,7 +195,6 @@ export default class SiteNavigation extends Dbm.core.BaseObject {
209
195
 
210
196
  if(this.item.active && originalUrl.hostname === finalUrl.hostname && this._shouldHandle(finalUrl.href)) {
211
197
  this._internalNavigation(finalUrl.href);
212
- window.scrollTo(0, 0);
213
198
  }
214
199
  else {
215
200
  document.location.href = aUrl;
package/site/index.js CHANGED
@@ -1,2 +1,21 @@
1
+ import Dbm from "../index.js";
2
+
1
3
  export {default as SiteNavigation} from "./SiteNavigation.js";
2
- export {default as SiteDataLoader} from "./SiteDataLoader.js";
4
+ export {default as SiteDataLoader} from "./SiteDataLoader.js";
5
+ export {default as BrowserUpdater} from "./BrowserUpdater.js";
6
+
7
+ export const setupAndStart = function(aTitleSuffix) {
8
+ let siteNavigation = new Dbm.site.SiteNavigation();
9
+ siteNavigation.item.register("siteNavigation");
10
+ siteNavigation.start();
11
+ siteNavigation.setUrlFromLocation();
12
+
13
+ let siteDataLoader = new Dbm.site.SiteDataLoader();
14
+ siteDataLoader.item.register("siteDataLoader");
15
+ siteDataLoader.item.properties.url.connectInput(siteNavigation.item.properties.url);
16
+
17
+ let browserUpdater = new Dbm.site.BrowserUpdater();
18
+ siteDataLoader.item.register("site/browserUpdater");
19
+ browserUpdater.setTitleSuffix(aTitleSuffix);
20
+ browserUpdater.item.propertyInput("pageData", siteDataLoader.item.properties.currentPage);
21
+ }
@@ -125,7 +125,6 @@ export const filterByField = function(aArray, aField, aValue) {
125
125
  for(let i = 0; i < currentArrayLength; i++) {
126
126
  let currentItem = aArray[i];
127
127
  let currentValue = Dbm.objectPath(aArray[i], aField);
128
- console.log(currentValue, aValue);
129
128
  if(currentValue === aValue) {
130
129
  returnArray.push(currentItem);
131
130
  }
@@ -16,7 +16,15 @@ export let createScaledImageUrl = function(aImageData, aWantedWidth) {
16
16
  100*Math.round(window.devicePixelRatio*window.innerWidth/100)
17
17
  )
18
18
  );
19
- url = aImageData["resizeUrl"].split("{scale}").join("width=" + scaleToWidth);
19
+
20
+ let scaleString = "width=" + scaleToWidth;
21
+
22
+ let format = "webp";
23
+ if(format) {
24
+ scaleString += ",format=" + format;
25
+ }
26
+
27
+ url = aImageData["resizeUrl"].split("{scale}").join(scaleString);
20
28
  }
21
29
 
22
30
  return url;
@@ -43,12 +51,40 @@ export let createCoverScaledImageUrl = function(aImageData, aWantedWidth, aWante
43
51
 
44
52
  let scaleToHeight = Math.round(aWantedHeight*scaleToWidth/aWantedWidth);
45
53
 
46
- url = aImageData["resizeUrl"].split("{scale}").join("width=" + scaleToWidth + ",height=" + scaleToHeight + ",fit=cover");
54
+ let scaleString = "width=" + scaleToWidth + ",height=" + scaleToHeight + ",fit=cover";
55
+
56
+ let format = "webp";
57
+ if(format) {
58
+ scaleString += ",format=" + format;
59
+ }
60
+
61
+ url = aImageData["resizeUrl"].split("{scale}").join(scaleString);
47
62
  }
48
63
 
49
64
  return url;
50
65
  }
51
66
 
67
+ export const getContainScaledImageUrl = function(aUrl, aWantedWidth, aWantedHeight) {
68
+ let scaleToWidth = Math.min(
69
+ Math.round(window.devicePixelRatio*aWantedWidth),
70
+ Math.max(
71
+ 100,
72
+ 100*Math.round(window.devicePixelRatio*window.innerWidth/100)
73
+ )
74
+ );
75
+
76
+ let scaleToHeight = Math.round(aWantedHeight*scaleToWidth/aWantedWidth);
77
+
78
+ let scaleString = "width=" + scaleToWidth + ",height=" + scaleToHeight + ",fit=contain";
79
+
80
+ let format = "webp";
81
+ if(format) {
82
+ scaleString += ",format=" + format;
83
+ }
84
+
85
+ return aUrl.split("{scale}").join(scaleString);
86
+ }
87
+
52
88
  export let createContainScaledImageUrl = function(aImageData, aWantedWidth, aWantedHeight) {
53
89
  if(!aImageData || !aImageData["url"]) {
54
90
  return null;
@@ -60,17 +96,7 @@ export let createContainScaledImageUrl = function(aImageData, aWantedWidth, aWan
60
96
  }
61
97
 
62
98
  if(aImageData["resizeUrl"]) {
63
- let scaleToWidth = Math.min(
64
- Math.round(window.devicePixelRatio*aWantedWidth),
65
- Math.max(
66
- 100,
67
- 100*Math.round(window.devicePixelRatio*window.innerWidth/100)
68
- )
69
- );
70
-
71
- let scaleToHeight = Math.round(aWantedHeight*scaleToWidth/aWantedWidth);
72
-
73
- url = aImageData["resizeUrl"].split("{scale}").join("width=" + scaleToWidth + ",height=" + scaleToHeight + ",fit=contain");
99
+ url = getContainScaledImageUrl(aImageData["resizeUrl"], aWantedWidth, aWantedHeight);
74
100
  }
75
101
 
76
102
  return url;