@steedos/standard-object-database 2.6.1-beta.6 → 2.6.2-beta.10
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/main/default/client/coordtransform.client.js +153 -0
- package/main/default/client/object_fields.client.js +149 -7
- package/main/default/objectTranslations/object_actions.en/object_actions.en.objectTranslation.yml +21 -0
- package/main/default/objectTranslations/object_actions.zh-CN/object_actions.zh-CN.objectTranslation.yml +21 -0
- package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +33 -2
- package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +38 -4
- package/main/default/objectTranslations/object_layouts.en/object_layouts.en.objectTranslation.yml +9 -0
- package/main/default/objectTranslations/object_layouts.zh-CN/object_layouts.zh-CN.objectTranslation.yml +9 -0
- package/main/default/objectTranslations/object_listviews.en/object_listviews.en.objectTranslation.yml +29 -1
- package/main/default/objectTranslations/object_listviews.zh-CN/object_listviews.zh-CN.objectTranslation.yml +27 -1
- package/main/default/objectTranslations/object_triggers.en/object_triggers.en.objectTranslation.yml +22 -1
- package/main/default/objectTranslations/object_triggers.zh-CN/object_triggers.zh-CN.objectTranslation.yml +22 -1
- package/main/default/objectTranslations/object_validation_rules.en/object_validation_rules.en.objectTranslation.yml +2 -0
- package/main/default/objectTranslations/object_validation_rules.zh-CN/object_validation_rules.zh-CN.objectTranslation.yml +2 -0
- package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +2 -0
- package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +2 -0
- package/main/default/objects/1.objects.observe.object.js +4 -1
- package/main/default/objects/16.permission_tabs.observe.object.js +44 -0
- package/main/default/objects/7.object_actions.observe.object.js +7 -1
- package/main/default/objects/object_actions.action.js +35 -4
- package/main/default/objects/object_actions.object.js +4 -2
- package/main/default/objects/object_actions.object.yml +73 -29
- package/main/default/objects/object_fields.object.js +33 -19
- package/main/default/objects/object_fields.object.yml +128 -54
- package/main/default/objects/object_layouts.action.js +4 -4
- package/main/default/objects/object_layouts.object.yml +28 -2
- package/main/default/objects/object_listviews.action.js +1 -1
- package/main/default/objects/object_listviews.object.js +3 -3
- package/main/default/objects/object_listviews.object.yml +67 -16
- package/main/default/objects/object_triggers.object.yml +13 -4
- package/main/default/objects/object_validation_rules.object.yml +10 -0
- package/main/default/objects/objects/buttons/custom.button.js +48 -0
- package/main/default/objects/objects/buttons/custom.button.yml +6 -0
- package/main/default/objects/objects.action.js +26 -3
- package/main/default/objects/objects.core.js +17 -1
- package/main/default/objects/objects.object.js +3 -2
- package/main/default/objects/objects.object.yml +28 -2
- package/main/default/objects/objects.tree.js +3 -2
- package/main/default/pages/design_field_layout.page.amis.json +416 -0
- package/main/default/pages/design_field_layout.page.yml +7 -0
- package/main/default/pages/object_detail.page.amis.json +6 -6
- package/main/default/pages/object_fields_form.page.amis.json +35 -0
- package/main/default/pages/object_fields_form.page.yml +12 -0
- package/main/default/pages/object_form.page.amis.json +31 -0
- package/main/default/pages/object_form.page.yml +12 -0
- package/main/default/routes/amis_button_design.router.js +19 -3
- package/main/default/routes/amis_listview_design.router.js +18 -4
- package/main/default/services/suggestions.service.js +4 -5
- package/main/default/triggers/object_actions.trigger.js +6 -2
- package/main/default/triggers/object_fields.trigger.js +67 -10
- package/main/default/triggers/object_listviews.trigger.js +27 -5
- package/main/default/triggers/objects.trigger.js +40 -29
- package/package.json +4 -3
- package/package.service.js +146 -3
- package/src/triggers/index.js +11 -0
- package/src/triggers/object_fields_trigger_create_index.js +58 -0
- package/main/default/objects/object_layouts/buttons/standard_edit.button.yml +0 -44
|
@@ -3,6 +3,7 @@ label: List View
|
|
|
3
3
|
icon: forecasts
|
|
4
4
|
version: 2
|
|
5
5
|
enable_dataloader: false
|
|
6
|
+
hidden: true
|
|
6
7
|
fields:
|
|
7
8
|
label:
|
|
8
9
|
label: Label
|
|
@@ -15,6 +16,8 @@ fields:
|
|
|
15
16
|
searchable: true
|
|
16
17
|
index: true
|
|
17
18
|
inlineHelpText: Can only contain lowercase letters and numbers, must start with a letter, cannot end with an underscore character or contain two consecutive underscore characters
|
|
19
|
+
amis:
|
|
20
|
+
requiredOn: "${!!recordId}" #编辑记录时必填,新建记录时不必填走触发器给默认值
|
|
18
21
|
object_name:
|
|
19
22
|
label: Object
|
|
20
23
|
type: master_detail
|
|
@@ -61,11 +64,37 @@ fields:
|
|
|
61
64
|
value: infinite
|
|
62
65
|
defaultValue: '"standard"'
|
|
63
66
|
hidden: true
|
|
67
|
+
sort_no:
|
|
68
|
+
label: Sort no
|
|
69
|
+
type: number
|
|
70
|
+
scale: 0
|
|
71
|
+
defaultValue: 100
|
|
72
|
+
is_enable:
|
|
73
|
+
type: toggle
|
|
74
|
+
label: Enable
|
|
75
|
+
defaultValue: true
|
|
76
|
+
crud_mode:
|
|
77
|
+
label: 显示模式
|
|
78
|
+
type: select
|
|
79
|
+
options:
|
|
80
|
+
- label: 表格
|
|
81
|
+
value: table
|
|
82
|
+
- label: 卡片
|
|
83
|
+
value: cards
|
|
84
|
+
defaultValue: table
|
|
64
85
|
columns:
|
|
65
86
|
label: Columns
|
|
66
|
-
type:
|
|
87
|
+
type: table
|
|
67
88
|
is_wide: true
|
|
68
89
|
required: true
|
|
90
|
+
group: show_columns
|
|
91
|
+
amis:
|
|
92
|
+
columns:
|
|
93
|
+
- field
|
|
94
|
+
- name: width
|
|
95
|
+
width: 100
|
|
96
|
+
- name: wrap
|
|
97
|
+
width: 100
|
|
69
98
|
columns.$:
|
|
70
99
|
label: Column
|
|
71
100
|
blackbox: true
|
|
@@ -80,18 +109,23 @@ fields:
|
|
|
80
109
|
- object_name
|
|
81
110
|
reference_to: object_fields
|
|
82
111
|
reference_to_field: name
|
|
112
|
+
enable_enhanced_lookup: false
|
|
113
|
+
filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
114
|
+
function(filters, values){
|
|
115
|
+
return ['object', '=', values.object_name]
|
|
116
|
+
}
|
|
83
117
|
columns.$.width:
|
|
84
118
|
label: Width
|
|
85
119
|
type: text
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
# type: boolean
|
|
120
|
+
columns.$.wrap:
|
|
121
|
+
label: Wrap
|
|
122
|
+
type: boolean
|
|
90
123
|
filter_fields:
|
|
91
124
|
label: Default Filter Fields
|
|
92
125
|
type: lookup
|
|
93
126
|
multiple: true
|
|
94
127
|
is_wide: true
|
|
128
|
+
hidden: true
|
|
95
129
|
depend_on:
|
|
96
130
|
- object_name
|
|
97
131
|
reference_to: object_fields
|
|
@@ -102,6 +136,7 @@ fields:
|
|
|
102
136
|
is_wide: true
|
|
103
137
|
depend_on:
|
|
104
138
|
- object_name
|
|
139
|
+
group: sort
|
|
105
140
|
sort.$:
|
|
106
141
|
label: Order
|
|
107
142
|
blackbox: true
|
|
@@ -126,9 +161,9 @@ fields:
|
|
|
126
161
|
is_wide: true
|
|
127
162
|
hidden: false
|
|
128
163
|
readonly: false
|
|
129
|
-
visible_on: "{{global.mode ==='read' ? true : false}}"
|
|
130
164
|
depend_on:
|
|
131
165
|
- object_name
|
|
166
|
+
group: filters
|
|
132
167
|
# filters.$:
|
|
133
168
|
# label: Filter
|
|
134
169
|
# blackbox: true
|
|
@@ -189,6 +224,7 @@ fields:
|
|
|
189
224
|
is_wide: true
|
|
190
225
|
depend_on:
|
|
191
226
|
- object_name
|
|
227
|
+
group: show_columns
|
|
192
228
|
mobile_columns.$:
|
|
193
229
|
label: Column
|
|
194
230
|
blackbox: true
|
|
@@ -206,6 +242,7 @@ fields:
|
|
|
206
242
|
is_wide: true
|
|
207
243
|
depend_on:
|
|
208
244
|
- object_name
|
|
245
|
+
group: search_term
|
|
209
246
|
searchable_fields.$:
|
|
210
247
|
label: Column
|
|
211
248
|
blackbox: true
|
|
@@ -217,11 +254,6 @@ fields:
|
|
|
217
254
|
is_wide: false
|
|
218
255
|
reference_to: object_fields
|
|
219
256
|
reference_to_field: name
|
|
220
|
-
sort_no:
|
|
221
|
-
label: Sort no
|
|
222
|
-
type: number
|
|
223
|
-
scale: 0
|
|
224
|
-
defaultValue: 100
|
|
225
257
|
is_system:
|
|
226
258
|
type: boolean
|
|
227
259
|
label: System
|
|
@@ -242,20 +274,26 @@ fields:
|
|
|
242
274
|
required: false
|
|
243
275
|
is_wide: true
|
|
244
276
|
# visible_on: "{{formData.enable_amis_schema}}"
|
|
277
|
+
visible_on: "{{false}}"
|
|
245
278
|
requestAdaptor:
|
|
246
|
-
label:
|
|
279
|
+
label: Request Adaptor
|
|
247
280
|
type: code
|
|
248
281
|
language: "javascript"
|
|
249
282
|
is_wide: true
|
|
250
283
|
inlineHelpText: "函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。"
|
|
251
|
-
group:
|
|
284
|
+
group: data_interface
|
|
285
|
+
# amis:
|
|
286
|
+
# description: "函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。"
|
|
252
287
|
adaptor:
|
|
253
|
-
label:
|
|
288
|
+
label: Adaptor
|
|
254
289
|
type: code
|
|
255
290
|
language: "javascript"
|
|
256
291
|
is_wide: true
|
|
257
292
|
inlineHelpText: "函数签名: (payload, response, api) => payload"
|
|
258
|
-
group:
|
|
293
|
+
group: data_interface
|
|
294
|
+
# amis:
|
|
295
|
+
# description: "函数签名: (payload, response, api) => payload"
|
|
296
|
+
|
|
259
297
|
paging:
|
|
260
298
|
enabled: false
|
|
261
299
|
list_views:
|
|
@@ -266,9 +304,22 @@ list_views:
|
|
|
266
304
|
- shared
|
|
267
305
|
- owner
|
|
268
306
|
- modified
|
|
307
|
+
- is_enable
|
|
269
308
|
- is_system
|
|
270
309
|
label: All List Views
|
|
271
310
|
filter_scope: space
|
|
311
|
+
customize:
|
|
312
|
+
columns:
|
|
313
|
+
- label
|
|
314
|
+
- name
|
|
315
|
+
- shared
|
|
316
|
+
- owner
|
|
317
|
+
- modified
|
|
318
|
+
- is_system
|
|
319
|
+
label: 自定义
|
|
320
|
+
filters:
|
|
321
|
+
- ["is_system","<>",true]
|
|
322
|
+
filter_scope: space
|
|
272
323
|
actions:
|
|
273
324
|
customize:
|
|
274
325
|
label: Customize
|
|
@@ -293,4 +344,4 @@ permission_set:
|
|
|
293
344
|
allowEdit: true
|
|
294
345
|
allowRead: false
|
|
295
346
|
modifyAllRecords: true
|
|
296
|
-
viewAllRecords: true
|
|
347
|
+
viewAllRecords: true
|
|
@@ -46,7 +46,7 @@ fields:
|
|
|
46
46
|
label: "删除记录之后",
|
|
47
47
|
value: "afterDelete"
|
|
48
48
|
}, {
|
|
49
|
-
label: "
|
|
49
|
+
label: "查询记录之前",
|
|
50
50
|
value: "beforeFind"
|
|
51
51
|
}]
|
|
52
52
|
isEnabled:
|
|
@@ -60,9 +60,7 @@ fields:
|
|
|
60
60
|
is_wide: true
|
|
61
61
|
required: true
|
|
62
62
|
defaultValue: |-
|
|
63
|
-
// _
|
|
64
|
-
// moment: moment
|
|
65
|
-
// validator: validator
|
|
63
|
+
// global: {_:lodash, moment, validator, filters}
|
|
66
64
|
// ctx
|
|
67
65
|
// objects
|
|
68
66
|
// services
|
|
@@ -96,6 +94,17 @@ list_views:
|
|
|
96
94
|
- is_system
|
|
97
95
|
label: All
|
|
98
96
|
filter_scope: space
|
|
97
|
+
customize:
|
|
98
|
+
columns:
|
|
99
|
+
- name
|
|
100
|
+
- listenTo
|
|
101
|
+
- when
|
|
102
|
+
- isEnabled
|
|
103
|
+
- is_system
|
|
104
|
+
label: 自定义
|
|
105
|
+
filters:
|
|
106
|
+
- ["is_system","<>",true]
|
|
107
|
+
filter_scope: space
|
|
99
108
|
permission_set:
|
|
100
109
|
user:
|
|
101
110
|
allowCreate: false
|
|
@@ -76,6 +76,16 @@ list_views:
|
|
|
76
76
|
- object_name
|
|
77
77
|
label: All
|
|
78
78
|
filter_scope: space
|
|
79
|
+
customize:
|
|
80
|
+
columns:
|
|
81
|
+
- name
|
|
82
|
+
- active
|
|
83
|
+
- description
|
|
84
|
+
- object_name
|
|
85
|
+
label: 自定义
|
|
86
|
+
filters:
|
|
87
|
+
- ["is_system","<>",true]
|
|
88
|
+
filter_scope: space
|
|
79
89
|
permission_set:
|
|
80
90
|
user:
|
|
81
91
|
allowCreate: false
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: baozhoutaon@hotoa.com
|
|
3
|
+
* @Date: 2022-03-29 20:33:44
|
|
4
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
5
|
+
* @LastEditTime: 2023-11-19 17:06:18
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
module.exports = {
|
|
9
|
+
custom: function (object_name, record_id) {
|
|
10
|
+
$(document.body).addClass('loading');
|
|
11
|
+
let url = `/graphql`;
|
|
12
|
+
const obj = Creator.odata.get("objects", record_id);
|
|
13
|
+
delete obj.record_permissions;
|
|
14
|
+
delete obj["@odata.context"]
|
|
15
|
+
delete obj["@odata.editLink"]
|
|
16
|
+
delete obj["@odata.etag"]
|
|
17
|
+
delete obj["@odata.id"]
|
|
18
|
+
delete obj.idFieldName;
|
|
19
|
+
let options = {
|
|
20
|
+
type: 'post',
|
|
21
|
+
async: true,
|
|
22
|
+
data: JSON.stringify({
|
|
23
|
+
query: `mutation{objects__upsert(id: "${obj.name}", doc: ${JSON.stringify(JSON.stringify(obj))}){_id,name}}`
|
|
24
|
+
}),
|
|
25
|
+
success: function (data) {
|
|
26
|
+
console.log(`data====>`, data)
|
|
27
|
+
SteedosUI.notification.success({
|
|
28
|
+
message: '对象已自定义。'
|
|
29
|
+
});
|
|
30
|
+
// SteedosUI.router.go({}, "/app/" + Session.get("app_id") + "/" + object_name + "/view/" + data.data.objects__upsert._id);
|
|
31
|
+
FlowRouter.reload()
|
|
32
|
+
$(document.body).removeClass('loading');
|
|
33
|
+
},
|
|
34
|
+
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
|
35
|
+
SteedosUI.notification.error({
|
|
36
|
+
message: '操作失败',
|
|
37
|
+
description: t(XMLHttpRequest.responseJSON.error),
|
|
38
|
+
});
|
|
39
|
+
$(document.body).removeClass('loading');
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
Steedos.authRequest(url, options);
|
|
43
|
+
},
|
|
44
|
+
customVisible: function (object_name, record_id, permission, data) {
|
|
45
|
+
var record = data && data.record;
|
|
46
|
+
return record && record.is_system && !record.created;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
+
design_field_layout: function (object_name, record_id, item_element) {
|
|
3
|
+
var record = this.record || Creator.getObjectById(record_id);
|
|
4
|
+
if (record && record.record) {
|
|
5
|
+
record = record.record;
|
|
6
|
+
}
|
|
7
|
+
if (!record) {
|
|
8
|
+
return toastr.error("未找到记录");
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
window.open(Creator.getRelativeUrl("/api/page/view/design_field_layout?designObjectName=" + record.name));
|
|
12
|
+
},
|
|
13
|
+
design_field_layoutVisible: function (object_name, record_id, record_permissions, data) {
|
|
14
|
+
var record = data && data.record;
|
|
15
|
+
if (!Creator.isSpaceAdmin()) {
|
|
16
|
+
return false
|
|
17
|
+
}
|
|
18
|
+
if (!record) {
|
|
19
|
+
record = Creator.odata.get("objects", record_id, "is_deleted");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (record && !record.is_deleted && record.name != 'users') {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
},
|
|
2
26
|
show_object: function (object_name, record_id, item_element) {
|
|
3
27
|
var record = this.record || Creator.getObjectById(record_id);
|
|
4
28
|
if(record && record.record){
|
|
@@ -21,8 +45,7 @@ module.exports = {
|
|
|
21
45
|
return toastr.warning("请先启动数据源");
|
|
22
46
|
}
|
|
23
47
|
}
|
|
24
|
-
|
|
25
|
-
window.open(Creator.getRelativeUrl("/app/admin/" + record.name));
|
|
48
|
+
window.open(Creator.getRelativeUrl("/app/admin/" + (record.name || this.record.name)));
|
|
26
49
|
// SteedosUI.Object.getUISchema(record.name).then((res)=>{
|
|
27
50
|
// if(res.idFieldName){
|
|
28
51
|
// window.open(Creator.getRelativeUrl("/app/-/" + record.name));
|
|
@@ -51,7 +74,7 @@ module.exports = {
|
|
|
51
74
|
record = Creator.odata.get("objects", record_id, "is_deleted");
|
|
52
75
|
}
|
|
53
76
|
|
|
54
|
-
if(record && !record.is_deleted){
|
|
77
|
+
if(record && !record.is_deleted && record.name != 'users'){
|
|
55
78
|
return true;
|
|
56
79
|
}
|
|
57
80
|
},
|
|
@@ -21,6 +21,12 @@ function canLoadObject(name, datasource) {
|
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
function removeObjectConfig(objectName){
|
|
25
|
+
broker.call('objects.removeConfig', {
|
|
26
|
+
objectName: objectName
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
24
30
|
function getDataSource(doc) {
|
|
25
31
|
if (doc.datasource && !_.include(defaultDatasourcesName, doc.datasource)) {
|
|
26
32
|
let datasource = Creator.getCollection("datasources").findOne({ _id: doc.datasource })
|
|
@@ -216,6 +222,16 @@ function loadObject(doc, oldDoc) {
|
|
|
216
222
|
|
|
217
223
|
originalObject.isMain = true;
|
|
218
224
|
|
|
225
|
+
const objConfig = register.getOriginalObjectConfig(doc.name);
|
|
226
|
+
|
|
227
|
+
if(objConfig){
|
|
228
|
+
_.each(objConfig.fields, (config, name)=>{
|
|
229
|
+
if(!config._id && !doc.fields[name]){
|
|
230
|
+
doc.fields[name] = config;
|
|
231
|
+
}
|
|
232
|
+
})
|
|
233
|
+
}
|
|
234
|
+
|
|
219
235
|
register.addObjectConfig(doc, datasourceName);
|
|
220
236
|
register.loadObjectLazyListViews(doc.name);
|
|
221
237
|
register.loadObjectLazyActions(doc.name);
|
|
@@ -380,5 +396,5 @@ function triggerReloadObject(objectName, type, value, event){
|
|
|
380
396
|
}
|
|
381
397
|
|
|
382
398
|
module.exports = {
|
|
383
|
-
loadObject, removeObject, getDataSourceName, canLoadObject, getObjectFromDB, getDataSource, reloadObject, triggerReloadObject, loadDBObject
|
|
399
|
+
loadObject, removeObject, getDataSourceName, canLoadObject, getObjectFromDB, getDataSource, reloadObject, triggerReloadObject, loadDBObject, removeObjectConfig
|
|
384
400
|
}
|
|
@@ -233,7 +233,7 @@ function onChangeObjectName(oldName, newDoc){
|
|
|
233
233
|
multi: true
|
|
234
234
|
});
|
|
235
235
|
//修改trigger
|
|
236
|
-
Creator.getCollection("object_triggers").direct.update({space: newDoc.space,
|
|
236
|
+
Creator.getCollection("object_triggers").direct.update({space: newDoc.space, listenTo: oldName}, {$set: {listenTo: newDoc.name}}, {
|
|
237
237
|
multi: true
|
|
238
238
|
});
|
|
239
239
|
//字段表中的reference_to
|
|
@@ -313,7 +313,8 @@ let objectTriggers = {
|
|
|
313
313
|
type: "text",
|
|
314
314
|
required: true,
|
|
315
315
|
index: true,
|
|
316
|
-
searchable: true
|
|
316
|
+
searchable: true,
|
|
317
|
+
filterable: true
|
|
317
318
|
});
|
|
318
319
|
// Creator.getCollection("object_fields").insert({
|
|
319
320
|
// object: doc.name,
|
|
@@ -23,6 +23,8 @@ fields:
|
|
|
23
23
|
# return options;
|
|
24
24
|
# }
|
|
25
25
|
defaultValue: 'default'
|
|
26
|
+
amis:
|
|
27
|
+
disabledOn: "${is_system == true}"
|
|
26
28
|
label:
|
|
27
29
|
type: text
|
|
28
30
|
label: Label
|
|
@@ -38,6 +40,8 @@ fields:
|
|
|
38
40
|
index: true
|
|
39
41
|
required: true
|
|
40
42
|
inlineHelpText: Can only contain lowercase letters and numbers, must start with a letter, cannot end with an underscore character or contain two consecutive underscore characters
|
|
43
|
+
amis:
|
|
44
|
+
disabledOn: "${is_system == true}"
|
|
41
45
|
icon:
|
|
42
46
|
type: lookup
|
|
43
47
|
label: Icon
|
|
@@ -60,6 +64,8 @@ fields:
|
|
|
60
64
|
label: Enable
|
|
61
65
|
type: boolean
|
|
62
66
|
defaultValue: true
|
|
67
|
+
amis:
|
|
68
|
+
disabledOn: "${is_system == true}"
|
|
63
69
|
in_development:
|
|
64
70
|
type: select
|
|
65
71
|
label: Development State
|
|
@@ -71,6 +77,8 @@ fields:
|
|
|
71
77
|
value: "0"
|
|
72
78
|
defaultValue: "1"
|
|
73
79
|
required: true
|
|
80
|
+
amis:
|
|
81
|
+
disabledOn: "${is_system == true}"
|
|
74
82
|
enable_search:
|
|
75
83
|
type: boolean
|
|
76
84
|
label: Enable Search
|
|
@@ -118,7 +126,7 @@ fields:
|
|
|
118
126
|
group: Switch
|
|
119
127
|
hidden: true
|
|
120
128
|
enable_inline_edit:
|
|
121
|
-
hidden: true
|
|
129
|
+
# hidden: true
|
|
122
130
|
type: boolean
|
|
123
131
|
defaultValue: true
|
|
124
132
|
label: Enable Single Field Edit
|
|
@@ -133,7 +141,7 @@ fields:
|
|
|
133
141
|
label: Enable Enhanced Lookup
|
|
134
142
|
inlineHelpText: When enabled, the lookup field associated with this object displays its options as a pop-up window.
|
|
135
143
|
group: Switch
|
|
136
|
-
defaultValue:
|
|
144
|
+
defaultValue: true
|
|
137
145
|
enable_dataloader:
|
|
138
146
|
type: boolean
|
|
139
147
|
label: Enable Dataloader
|
|
@@ -171,6 +179,8 @@ fields:
|
|
|
171
179
|
searchable: true
|
|
172
180
|
inlineHelpText: The default data source does not support this property
|
|
173
181
|
group: External data source
|
|
182
|
+
amis:
|
|
183
|
+
disabledOn: "${is_system == true}"
|
|
174
184
|
version:
|
|
175
185
|
readonly: true
|
|
176
186
|
label: Version
|
|
@@ -372,6 +382,19 @@ fields:
|
|
|
372
382
|
rows: 3
|
|
373
383
|
is_wide: true
|
|
374
384
|
hidden: true
|
|
385
|
+
field_groups:
|
|
386
|
+
type: grid
|
|
387
|
+
blackbox: true
|
|
388
|
+
is_wide: true
|
|
389
|
+
hidden: false
|
|
390
|
+
visible_on: "${false}"
|
|
391
|
+
field_groups.$.group_name:
|
|
392
|
+
type: text
|
|
393
|
+
field_groups.$.visible_on:
|
|
394
|
+
type: text
|
|
395
|
+
extend:
|
|
396
|
+
type: text
|
|
397
|
+
hidden: true
|
|
375
398
|
paging:
|
|
376
399
|
enabled: false
|
|
377
400
|
relatedList:
|
|
@@ -493,6 +516,9 @@ actions:
|
|
|
493
516
|
delete_object:
|
|
494
517
|
on: record_more
|
|
495
518
|
label: 删除
|
|
519
|
+
design_field_layout:
|
|
520
|
+
on: record_only
|
|
521
|
+
label: 设计字段布局
|
|
496
522
|
# export:
|
|
497
523
|
# label: Export
|
|
498
524
|
# visible: true
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* @Author: yinlianghui@steedos.com
|
|
3
3
|
* @Date: 2022-04-13 10:31:03
|
|
4
|
-
* @LastEditors:
|
|
5
|
-
* @LastEditTime:
|
|
4
|
+
* @LastEditors: liaodaxue
|
|
5
|
+
* @LastEditTime: 2023-11-17 15:48:30
|
|
6
6
|
* @Description:
|
|
7
7
|
*/
|
|
8
8
|
var objectql = require('@steedos/objectql');
|
|
@@ -11,6 +11,7 @@ async function insertParentAndChildrenFieldForTreeObject(doc, needToCheckExists)
|
|
|
11
11
|
const baseProps = {
|
|
12
12
|
object: doc.name,
|
|
13
13
|
reference_to: doc.name,
|
|
14
|
+
deleted_lookup_record_behavior: "clear",
|
|
14
15
|
type: 'lookup',
|
|
15
16
|
owner: doc.owner,
|
|
16
17
|
space: doc.space,
|