dbm 1.1.13 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dbm",
3
- "version": "1.1.13",
3
+ "version": "1.1.14",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "scripts": {},
@@ -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
+ }
@@ -1,2 +1,3 @@
1
1
  export {default as EditField} from "./EditField.js";
2
- export {default as EditItem} from "./EditItem.js";
2
+ export {default as EditItem} from "./EditItem.js";
3
+ export {default as EditRelation} from "./EditRelation.js";
@@ -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";
@@ -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;