dbm 1.1.12 → 1.1.14
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/graphapi/webclient/CachedRequests.js +2 -4
- package/graphapi/webclient/decode/index.js +24 -0
- package/package.json +1 -1
- package/react/admin/editorsgroup/EditRelation.js +44 -0
- package/react/admin/editorsgroup/index.js +2 -1
- package/react/admin/objects/itemeditors/LinkedPage.js +51 -0
- package/react/admin/objects/itemeditors/Question.js +46 -0
- package/react/admin/objects/itemeditors/index.js +3 -1
- package/react/admin/website/EditWebsite.js +1 -1
- package/react/blocks/content/ContentBlock.js +2 -2
- package/react/blocks/index.js +13 -0
|
@@ -42,10 +42,9 @@ export default class CachedRequests extends Dbm.core.BaseObject {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
requestRange(aSelect, aEncode) {
|
|
45
|
-
console.log("requestRange");
|
|
45
|
+
//console.log("requestRange");
|
|
46
46
|
|
|
47
47
|
let id = this._getRangeIdentifier(aSelect, aEncode);
|
|
48
|
-
console.log(id);
|
|
49
48
|
|
|
50
49
|
if(this._ranges[id]) {
|
|
51
50
|
return this._ranges[id];
|
|
@@ -59,10 +58,9 @@ export default class CachedRequests extends Dbm.core.BaseObject {
|
|
|
59
58
|
}
|
|
60
59
|
|
|
61
60
|
requestItem(aId, aEncode) {
|
|
62
|
-
console.log("requestItem");
|
|
61
|
+
//console.log("requestItem");
|
|
63
62
|
|
|
64
63
|
let id = aId + "/" + this._getEncodeIdentifier(aEncode);
|
|
65
|
-
console.log(id);
|
|
66
64
|
|
|
67
65
|
if(this._items[id]) {
|
|
68
66
|
return this._items[id];
|
|
@@ -149,4 +149,28 @@ export const fullSetup = function() {
|
|
|
149
149
|
currentDecoder.item.setValue("encodingType", name);
|
|
150
150
|
currentDecoder.item.register(decodePrefix + name);
|
|
151
151
|
}
|
|
152
|
+
|
|
153
|
+
{
|
|
154
|
+
let name = "atLocation";
|
|
155
|
+
let currentDecoder = new Dbm.graphapi.webclient.decode.DecodeBaseObject();
|
|
156
|
+
currentDecoder.item.setValue("copyLink", ["location"]);
|
|
157
|
+
currentDecoder.item.setValue("encodingType", name);
|
|
158
|
+
currentDecoder.item.register(decodePrefix + name);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
{
|
|
162
|
+
let name = "mainImage";
|
|
163
|
+
let currentDecoder = new Dbm.graphapi.webclient.decode.DecodeBaseObject();
|
|
164
|
+
currentDecoder.item.setValue("copyLink", ["image"]);
|
|
165
|
+
currentDecoder.item.setValue("encodingType", name);
|
|
166
|
+
currentDecoder.item.register(decodePrefix + name);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
{
|
|
170
|
+
let name = "location";
|
|
171
|
+
let currentDecoder = new Dbm.graphapi.webclient.decode.DecodeBaseObject();
|
|
172
|
+
currentDecoder.item.setValue("copyFields", ["street", "postCode", "city", "country", "coordinates"]);
|
|
173
|
+
currentDecoder.item.setValue("encodingType", name);
|
|
174
|
+
currentDecoder.item.register(decodePrefix + name);
|
|
175
|
+
}
|
|
152
176
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Dbm from "../../../index.js";
|
|
3
|
+
|
|
4
|
+
export default class EditRelation extends Dbm.react.BaseObject {
|
|
5
|
+
_construct() {
|
|
6
|
+
super._construct();
|
|
7
|
+
|
|
8
|
+
let item = this.context.item;
|
|
9
|
+
let itemEditor = this.context.itemEditor;
|
|
10
|
+
let editor;
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
let direction = this.getPropValue("direction");
|
|
14
|
+
let relationType = this.getPropValue("relationType");
|
|
15
|
+
let objectType = this.getPropValue("objectType");
|
|
16
|
+
|
|
17
|
+
let relations = Dbm.utils.ArrayFunctions.filterByField(Dbm.objectPath(item, "relations/" + direction + "." + relationType + ".objects"), "objectTypes", objectType, "arrayContains");
|
|
18
|
+
let relation = (relations && relations.length) ? relations[0].id : null;
|
|
19
|
+
|
|
20
|
+
if(direction == "in") {
|
|
21
|
+
editor = itemEditor.addIncomingRelationEditor(relationType, objectType, relation, ["relations"]);
|
|
22
|
+
}
|
|
23
|
+
else if(direction == "out") {
|
|
24
|
+
editor = itemEditor.addOutgoingRelationEditor(relationType, objectType, relation, ["relations"]);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.error("Unknown direction", direction, this);
|
|
28
|
+
editor = null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if(editor) {
|
|
32
|
+
this.item.setValue("editor", editor.item);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_renderMainElement() {
|
|
37
|
+
|
|
38
|
+
let children = this.getPropValue("children")
|
|
39
|
+
|
|
40
|
+
return React.createElement("div", {},
|
|
41
|
+
React.createElement(Dbm.react.context.AddContextVariables, {"values": {"valueEditor": this.item.editor}}, children)
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Dbm from "../../../../index.js";
|
|
3
|
+
|
|
4
|
+
export default class LinkedPage extends Dbm.react.BaseObject {
|
|
5
|
+
_construct() {
|
|
6
|
+
super._construct();
|
|
7
|
+
|
|
8
|
+
let graphApi = Dbm.getInstance().repository.getItem("graphApi").controller;
|
|
9
|
+
|
|
10
|
+
let id = this.context.item.id;
|
|
11
|
+
|
|
12
|
+
let allLoaded = Dbm.flow.updatefunctions.logic.allAtValue(Dbm.loading.LoadingStatus.LOADED);
|
|
13
|
+
this.item.requireProperty("loaded", false);
|
|
14
|
+
|
|
15
|
+
{
|
|
16
|
+
let request = graphApi.requestRange(
|
|
17
|
+
[
|
|
18
|
+
{"type": "includePrivate"},
|
|
19
|
+
{"type": "includeDraft"},
|
|
20
|
+
{"type": "idSelection", "ids": [id]},
|
|
21
|
+
],
|
|
22
|
+
["admin_fields", "relations"]
|
|
23
|
+
);
|
|
24
|
+
allLoaded.addCheck(request.properties.status);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.item.properties.loaded.connectInput(allLoaded.output.properties.value);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
_renderMainElement() {
|
|
31
|
+
|
|
32
|
+
let id = this.context.item.id;
|
|
33
|
+
|
|
34
|
+
return React.createElement("div", {},
|
|
35
|
+
|
|
36
|
+
React.createElement(Dbm.react.area.HasData, {check: this.item.properties.loaded},
|
|
37
|
+
React.createElement(Dbm.react.form.LabelledArea, {label: "Link text"},
|
|
38
|
+
React.createElement(Dbm.react.admin.editorsgroup.EditField, {"fieldName": "linkText"},
|
|
39
|
+
React.createElement(Dbm.react.form.FormField, {value: Dbm.react.source.contextVariable("valueEditor.editValue.value"), className: "standard-field standard-field-padding full-width"})
|
|
40
|
+
)
|
|
41
|
+
),
|
|
42
|
+
React.createElement(Dbm.react.form.LabelledArea, {label: "Linked page"},
|
|
43
|
+
React.createElement(Dbm.react.admin.editorsgroup.EditRelation, {"direction": "out", "relationType": "for", "objectType": "page"},
|
|
44
|
+
React.createElement(Dbm.react.form.GraphApiObjectSelection, {value: Dbm.react.source.contextVariable("valueEditor.editValue.value"), "objectType": "page", "encoding": "title", nameField: "title", className: "standard-field standard-field-padding full-width"})
|
|
45
|
+
)
|
|
46
|
+
)
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Dbm from "../../../../index.js";
|
|
3
|
+
|
|
4
|
+
export default class Question extends Dbm.react.BaseObject {
|
|
5
|
+
_construct() {
|
|
6
|
+
super._construct();
|
|
7
|
+
|
|
8
|
+
let graphApi = Dbm.getInstance().repository.getItem("graphApi").controller;
|
|
9
|
+
|
|
10
|
+
let id = this.context.item.id;
|
|
11
|
+
|
|
12
|
+
let allLoaded = Dbm.flow.updatefunctions.logic.allAtValue(Dbm.loading.LoadingStatus.LOADED);
|
|
13
|
+
this.item.requireProperty("loaded", false);
|
|
14
|
+
|
|
15
|
+
{
|
|
16
|
+
let request = graphApi.requestRange(
|
|
17
|
+
[
|
|
18
|
+
{"type": "includePrivate"},
|
|
19
|
+
{"type": "includeDraft"},
|
|
20
|
+
{"type": "idSelection", "ids": [id]},
|
|
21
|
+
],
|
|
22
|
+
["admin_fields"]
|
|
23
|
+
);
|
|
24
|
+
allLoaded.addCheck(request.properties.status);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.item.properties.loaded.connectInput(allLoaded.output.properties.value);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
_renderMainElement() {
|
|
31
|
+
|
|
32
|
+
let id = this.context.item.id;
|
|
33
|
+
|
|
34
|
+
return React.createElement("div", {},
|
|
35
|
+
|
|
36
|
+
React.createElement(Dbm.react.area.HasData, {check: this.item.properties.loaded},
|
|
37
|
+
React.createElement(Dbm.react.form.LabelledArea, {label: "Question"},
|
|
38
|
+
React.createElement(Dbm.react.admin.editorsgroup.EditField, {"fieldName": "question"},
|
|
39
|
+
React.createElement(Dbm.react.form.FormField, {value: Dbm.react.source.contextVariable("valueEditor.editValue.value"), className: "standard-field standard-field-padding full-width"})
|
|
40
|
+
)
|
|
41
|
+
)
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -2,4 +2,6 @@ export {default as Title} from "./Title.js";
|
|
|
2
2
|
export {default as Content} from "./Content.js";
|
|
3
3
|
export {default as Name} from "./Name.js";
|
|
4
4
|
export {default as Link} from "./Link.js";
|
|
5
|
-
export {default as Visibility} from "./Visibility.js";
|
|
5
|
+
export {default as Visibility} from "./Visibility.js";
|
|
6
|
+
export {default as LinkedPage} from "./LinkedPage.js";
|
|
7
|
+
export {default as Question} from "./Question.js";
|
|
@@ -189,7 +189,7 @@ export default class EditWebsite extends Dbm.react.BaseObject {
|
|
|
189
189
|
React.createElement("div", {},
|
|
190
190
|
React.createElement("h3", {}, "Local business"),
|
|
191
191
|
React.createElement(Dbm.react.interaction.CommandButton, {command: Dbm.commands.callFunction(this._removeArrayRow, [Dbm.react.source.contextVariable("arrayEditor"), Dbm.react.source.contextVariable("item")])},
|
|
192
|
-
React.createElement("div", {}, "
|
|
192
|
+
React.createElement("div", {}, "Remove"),
|
|
193
193
|
),
|
|
194
194
|
React.createElement(Dbm.react.form.GraphApiSelectOrCreateObject, {"value": Dbm.react.source.contextVariable("item.properties.value"), objectType: "localBusiness"}),
|
|
195
195
|
React.createElement(Dbm.react.area.HasData, {check: Dbm.react.source.contextVariable("item.properties.value")},
|
|
@@ -25,9 +25,9 @@ export default class ContentBlock extends Dbm.react.BaseObject {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
_loaded(aRequest) {
|
|
28
|
-
console.log("_loaded");
|
|
28
|
+
//console.log("_loaded");
|
|
29
29
|
this.item.item = aRequest.items[0];
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
_renderMainElement() {
|
package/react/blocks/index.js
CHANGED
|
@@ -253,6 +253,16 @@ export let registerAllBlocks = function() {
|
|
|
253
253
|
let itemEditor = Dbm.getInstance().repository.getItem("admin/itemEditors/visibility");
|
|
254
254
|
itemEditor.setValue("element", createElement(Dbm.react.admin.objects.itemeditors.Visibility, {}));
|
|
255
255
|
}
|
|
256
|
+
|
|
257
|
+
{
|
|
258
|
+
let itemEditor = Dbm.getInstance().repository.getItem("admin/itemEditors/linkedPage");
|
|
259
|
+
itemEditor.setValue("element", createElement(Dbm.react.admin.objects.itemeditors.LinkedPage, {}));
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
{
|
|
263
|
+
let itemEditor = Dbm.getInstance().repository.getItem("admin/itemEditors/question");
|
|
264
|
+
itemEditor.setValue("element", createElement(Dbm.react.admin.objects.itemeditors.Question, {}));
|
|
265
|
+
}
|
|
256
266
|
|
|
257
267
|
{
|
|
258
268
|
let objectTypeEditor = Dbm.getInstance().repository.getItem("admin/objectTypeEditors/page");
|
|
@@ -285,7 +295,10 @@ export let registerAllBlocks = function() {
|
|
|
285
295
|
}
|
|
286
296
|
|
|
287
297
|
let newArray = [].concat(objectTypeEditor.editors);
|
|
298
|
+
newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/question"));
|
|
288
299
|
newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/title"));
|
|
300
|
+
newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/content"));
|
|
301
|
+
newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/linkedPage"));
|
|
289
302
|
newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/link"));
|
|
290
303
|
newArray.push(Dbm.getInstance().repository.getItem("admin/itemEditors/visibility"));
|
|
291
304
|
objectTypeEditor.editors = newArray;
|