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.
- package/commands/CommandBaseObject.js +25 -0
- package/commands/SetProperty.js +18 -0
- package/commands/index.js +20 -8
- package/core/source/FromObject.js +8 -0
- package/core/source/index.js +9 -0
- package/flow/controllers/edit/EditMultipleValues.js +57 -0
- package/flow/controllers/edit/EditValue.js +52 -0
- package/flow/controllers/edit/index.js +2 -0
- package/flow/controllers/index.js +2 -1
- package/graphapi/webclient/admin/EditorGroup.js +59 -0
- package/graphapi/webclient/admin/ItemEditor.js +74 -0
- package/graphapi/webclient/admin/ItemSaveData.js +63 -0
- package/graphapi/webclient/admin/SaveData.js +60 -0
- package/graphapi/webclient/admin/SaveFunctions.js +7 -0
- package/graphapi/webclient/admin/ValueEditor.js +61 -0
- package/graphapi/webclient/admin/index.js +8 -0
- package/graphapi/webclient/decode/index.js +16 -3
- package/graphapi/webclient/index.js +17 -1
- package/package.json +1 -1
- package/react/admin/EditPage.js +87 -66
- package/react/admin/SelectImageFromLibrary.js +56 -0
- package/react/admin/editor/Editor.js +2 -0
- package/react/admin/editor/fields/ImageField.js +143 -4
- package/react/admin/index.js +1 -0
- package/react/area/OpenCloseExpandableArea.js +1 -1
- package/react/image/CoverScaledImage.js +5 -0
- package/react/image/Image.js +10 -1
- package/react/image/WidthScaledImage.js +5 -0
- package/react/modules/index.js +11 -1
- package/react/text/index.js +2 -2
- package/site/BrowserUpdater.js +64 -0
- package/site/SiteDataLoader.js +9 -13
- package/site/SiteNavigation.js +0 -15
- package/site/index.js +20 -1
- package/utils/ArrayFunctions.js +0 -1
- package/utils/UrlFunctions.js +39 -13
package/site/SiteDataLoader.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
aPageData.setValue("canRender", true);
|
|
46
|
+
aPageData.setValue("page", aRequest.item);
|
|
47
|
+
aPageData.setValue("canRender", true);
|
|
52
48
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
}
|
package/site/SiteNavigation.js
CHANGED
|
@@ -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
|
+
}
|
package/utils/ArrayFunctions.js
CHANGED
|
@@ -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
|
}
|
package/utils/UrlFunctions.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|