@steedos/standard-object-database 2.4.0-beta.39 → 2.4.0-beta.40
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.
|
@@ -305,35 +305,37 @@ fields:
|
|
|
305
305
|
type: lookup
|
|
306
306
|
label: Object to Summarize
|
|
307
307
|
inlineHelpText: This field must be filled in when the field type is 'Roll-Up Summary'.
|
|
308
|
+
reference_to: objects
|
|
309
|
+
reference_to_field: name
|
|
308
310
|
depend_on:
|
|
309
311
|
- object
|
|
310
|
-
optionsFunction: !<tag:yaml.org,2002:js/function> |-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
312
|
+
# optionsFunction: !<tag:yaml.org,2002:js/function> |-
|
|
313
|
+
# function (values) {
|
|
314
|
+
# if(!values.object){
|
|
315
|
+
# return [];
|
|
316
|
+
# }
|
|
317
|
+
# /*在lookup控件编辑的时候values.object为字符串,在记录详细界面为对象*/
|
|
318
|
+
# var objectName = typeof values.object === "string" ? values.object : values.object.name;
|
|
319
|
+
# var object = Creator.getObject(objectName);
|
|
320
|
+
# if(!object){
|
|
321
|
+
# return [];
|
|
322
|
+
# }
|
|
323
|
+
# var relatedObjects = object.related_objects;
|
|
324
|
+
# var _options = [];
|
|
325
|
+
# _.forEach(relatedObjects, function (item, index) {
|
|
326
|
+
# var relatedObject = Creator.Objects[item.object_name];
|
|
327
|
+
# var relatedField = relatedObject && relatedObject.fields[item.foreign_key];
|
|
328
|
+
# /*只需要支持master_detail类型的相关对象,也不支持multiple(本身就不允许配置master_detail为multiple)*/
|
|
329
|
+
# if(relatedField && relatedField.type === "master_detail" && !relatedField.multiple){
|
|
330
|
+
# _options.push({
|
|
331
|
+
# label: relatedObject.label,
|
|
332
|
+
# value: relatedObject.name,
|
|
333
|
+
# icon: relatedObject.icon
|
|
334
|
+
# });
|
|
335
|
+
# }
|
|
336
|
+
# });
|
|
337
|
+
# return _options;
|
|
338
|
+
# }
|
|
337
339
|
visible_on: "{{formData.type === 'summary' ? true: false}}"
|
|
338
340
|
required: "{{formData.type === 'summary' ? true: false}}"
|
|
339
341
|
sort_no: 300
|
|
@@ -563,6 +565,13 @@ fields:
|
|
|
563
565
|
is_wide: true
|
|
564
566
|
group: Advanced
|
|
565
567
|
sort_no: 470
|
|
568
|
+
amis:
|
|
569
|
+
label: Amis 属性
|
|
570
|
+
type: code
|
|
571
|
+
language: json
|
|
572
|
+
is_wide: true
|
|
573
|
+
group: Advanced
|
|
574
|
+
sort_no: 455
|
|
566
575
|
paging:
|
|
567
576
|
enabled: false
|
|
568
577
|
list_views:
|
|
@@ -61,23 +61,10 @@ fields:
|
|
|
61
61
|
- object_name
|
|
62
62
|
buttons.$.button_name:
|
|
63
63
|
type: lookup
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
if(values.object_name && !_.isString(values.object_name)){
|
|
70
|
-
values.object_name = values.object_name.name
|
|
71
|
-
}
|
|
72
|
-
const options = [];
|
|
73
|
-
if(values){
|
|
74
|
-
var actions = Creator.getObject(values.object_name).actions;
|
|
75
|
-
_.each(actions, function(action){
|
|
76
|
-
options.push({label: action.label, value: action.name})
|
|
77
|
-
})
|
|
78
|
-
}
|
|
79
|
-
return options;
|
|
80
|
-
}
|
|
64
|
+
reference_to: object_actions
|
|
65
|
+
reference_to_field: name
|
|
66
|
+
depend_on:
|
|
67
|
+
- object_name
|
|
81
68
|
buttons.$.visible_on:
|
|
82
69
|
label: Visible on
|
|
83
70
|
type: textarea
|
|
@@ -109,24 +96,6 @@ fields:
|
|
|
109
96
|
reference_to_field: name
|
|
110
97
|
depend_on:
|
|
111
98
|
- object_name
|
|
112
|
-
filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
113
|
-
function (filters, values) {
|
|
114
|
-
if(values && values.object_name){
|
|
115
|
-
if(values._grid_row_id){
|
|
116
|
-
var selected = _.find(values.fields, function(item){return item._id==values._grid_row_id});
|
|
117
|
-
var selectedAll = _.pluck(values.fields, 'field_name');
|
|
118
|
-
if(selected){
|
|
119
|
-
selectedAll = _.difference(selectedAll, [selected.field_name]);
|
|
120
|
-
}
|
|
121
|
-
if(selectedAll && selectedAll.length > 0){
|
|
122
|
-
return [['object', '=', values.object_name], ['name', '!=', selectedAll]]
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return ['object', '=', values.object_name]
|
|
126
|
-
}else{
|
|
127
|
-
return ['_id', '=', 'no']
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
99
|
fields.$.is_readonly:
|
|
131
100
|
label: Readonly
|
|
132
101
|
type: boolean
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const objectql = require('@steedos/objectql');
|
|
2
|
+
const _ = require('lodash');
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
listenTo: 'object_fields',
|
|
6
|
+
|
|
7
|
+
beforeInsert: async function(){
|
|
8
|
+
const { doc } = this;
|
|
9
|
+
if(doc && _.has(doc, 'amis') && _.isString(doc.amis)){
|
|
10
|
+
doc.amis = JSON.parse(doc.amis);
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
beforeUpdate: async function(){
|
|
15
|
+
const { doc } = this;
|
|
16
|
+
if(doc && _.has(doc, 'amis') && _.isString(doc.amis)){
|
|
17
|
+
doc.amis = JSON.parse(doc.amis);
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/standard-object-database",
|
|
3
|
-
"version": "2.4.0-beta.
|
|
3
|
+
"version": "2.4.0-beta.40",
|
|
4
4
|
"main": "package.service.js",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
},
|
|
16
16
|
"repository": {},
|
|
17
17
|
"license": "MIT",
|
|
18
|
-
"gitHead": "
|
|
18
|
+
"gitHead": "19fb1590a63241875e23e7b83217e09bdc52162e"
|
|
19
19
|
}
|