-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTest
More file actions
126 lines (110 loc) · 2.97 KB
/
Test
File metadata and controls
126 lines (110 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
model.jsonModel = {
services: [
"alfresco/services/FormsRuntimeService"
],
widgets: [
{
name: "alfresco/forms/Form",
config: {
showOkButton: false,
showCancelButton: false,
widgets: [
/* ===== SELECT ===== */
{
name: "alfresco/forms/controls/Select",
config: {
label: "Choose value",
name: "mySelect",
optionsConfig: {
fixed: [
{ label: "Apple", value: "Apple" },
{ label: "Banana", value: "Banana" },
{ label: "Orange", value: "Orange" }
]
}
}
},
/* ===== TEXTBOX ===== */
{
name: "alfresco/forms/controls/TextBox",
config: {
label: "Selected value",
name: "myText",
subscriptions: [
{
topic: "ALF_FORM_CONTROL_VALUE_CHANGED",
/* Only react when SELECT changes */
rule: {
attribute: "name",
is: "mySelect"
},
/* Copy payload.value → textbox value */
targetProperty: "value",
source: "payload",
attribute: "value"
}
]
}
}
]
}
}
]
};
-----------------
model.jsonModel = {
widgets: [
{ name: "example/widgets/SelectPublisher" },
{ name: "example/widgets/TextSubscriber" }
]
};
SelectPublisher.js (publishes)
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"alfresco/core/Core",
"alfresco/forms/controls/Select",
"dojo/_base/lang"
], function(declare, _WidgetBase, Core, Select, lang) {
return declare([_WidgetBase, Core], {
postCreate: function () {
this.inherited(arguments);
this.select = new Select({
label: "Select",
optionsConfig: {
fixed: [
{ label: "One", value: "One" },
{ label: "Two", value: "Two" }
]
},
onChange: lang.hitch(this, function(value) {
console.log("Publishing value:", value);
this.alfPublish("SELECT_CHANGED", value);
})
});
this.select.placeAt(this.domNode);
}
});
});
TextSubscriber.js (subscribes)
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"alfresco/core/Core",
"alfresco/forms/controls/TextBox",
"dojo/_base/lang"
], function(declare, _WidgetBase, Core, TextBox, lang) {
return declare([_WidgetBase, Core], {
postCreate: function () {
this.inherited(arguments);
this.textBox = new TextBox({
label: "Received value"
});
this.textBox.placeAt(this.domNode);
this.alfSubscribe("SELECT_CHANGED", lang.hitch(this, function(payload) {
console.log("Received value:", payload);
this.textBox.set("value", payload);
}));
}
});
});