@steedos/standard-object-database 2.7.0-beta.24 → 2.7.0-beta.25
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/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +3 -3
- package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +1 -39
- package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +6 -45
- package/main/default/objects/object_actions/object_actions.object.yml +0 -8
- package/main/default/objects/object_fields/buttons/standard_new.button.yml +4 -0
- package/main/default/objects/object_fields/fields/is_customize.field.yml +1 -0
- package/main/default/objects/object_fields/fields/sortable.field.yml +1 -0
- package/main/default/objects/object_fields/object_fields.object.yml +2 -47
- package/main/default/objects/object_layouts/buttons/createDefaultRecordView.button.js +3 -2
- package/main/default/objects/objects/fields/actions.field.yml +2 -1
- package/main/default/objects/objects/fields/app_unique_id.field.yml +2 -1
- package/main/default/objects/objects/fields/app_version.field.yml +2 -1
- package/main/default/objects/objects/fields/compactLayouts.field.yml +8 -20
- package/main/default/objects/objects/fields/custom.field.yml +2 -1
- package/main/default/objects/objects/fields/datasource.field.yml +3 -2
- package/main/default/objects/objects/fields/description.field.yml +1 -1
- package/main/default/objects/objects/fields/enable_api.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_chatter.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_dataloader.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_enhanced_lookup.field.yml +3 -2
- package/main/default/objects/objects/fields/enable_events.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_files.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_inline_edit.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_instances.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_lock_detail.field.yml +5 -3
- package/main/default/objects/objects/fields/enable_notes.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_search.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_share.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_split.field.yml +3 -2
- package/main/default/objects/objects/fields/enable_tasks.field.yml +1 -1
- package/main/default/objects/objects/fields/enable_tree.field.yml +3 -2
- package/main/default/objects/objects/fields/enable_workflow.field.yml +6 -3
- package/main/default/objects/objects/fields/extend.field.yml +3 -2
- package/main/default/objects/objects/fields/field_groups.$.collapsed.field.yml +1 -1
- package/main/default/objects/objects/fields/field_groups.$.group_name.field.yml +1 -1
- package/main/default/objects/objects/fields/field_groups.$.visible_on.field.yml +1 -1
- package/main/default/objects/objects/fields/field_groups.field.yml +2 -1
- package/main/default/objects/objects/fields/fields.field.yml +2 -1
- package/main/default/objects/objects/fields/fields_serial_number.field.yml +2 -1
- package/main/default/objects/objects/fields/icon.field.yml +4 -0
- package/main/default/objects/objects/fields/in_development.field.yml +1 -1
- package/main/default/objects/objects/fields/is_customize.field.yml +1 -1
- package/main/default/objects/objects/fields/is_deleted.field.yml +2 -2
- package/main/default/objects/objects/fields/is_enable.field.yml +5 -2
- package/main/default/objects/objects/fields/is_system.field.yml +1 -1
- package/main/default/objects/objects/fields/list_views.field.yml +2 -1
- package/main/default/objects/objects/fields/owner.field.yml +2 -1
- package/main/default/objects/objects/fields/permission_set.field.yml +2 -1
- package/main/default/objects/objects/fields/relatedList.field.yml +2 -1
- package/main/default/objects/objects/fields/reload_time.field.yml +2 -1
- package/main/default/objects/objects/fields/sidebar.field.yml +2 -1
- package/main/default/objects/objects/fields/table_name.field.yml +3 -2
- package/main/default/objects/objects/fields/triggers.field.yml +2 -1
- package/main/default/objects/objects/fields/version.field.yml +2 -1
- package/main/default/objects/objects/listviews/all.listview.yml +0 -1
- package/main/default/objects/objects/listviews/customize.listview.yml +0 -1
- package/main/default/objects/objects/listviews/deleted.listview.yml +0 -1
- package/main/default/objects/objects/listviews/system.listview.yml +0 -1
- package/main/default/objects/objects/objects.object.yml +5 -37
- package/main/default/pages/object_form.page.amis.json +1 -6
- package/main/default/server/object_fields.object.js +4 -3
- package/main/default/server/objects.core.js +4 -4
- package/package.json +4 -4
- package/main/default/objects/objects/buttons/createDefaultRecordView.button.js +0 -3
- package/main/default/objects/objects/buttons/createDefaultRecordView.button.yml +0 -5
- package/main/default/server/datasources.action.js +0 -51
- package/main/default/server/object_actions.action.js +0 -60
- package/main/default/server/object_fields.action.js +0 -128
- package/main/default/server/object_layouts.action.js +0 -31
- package/main/default/server/object_layouts.layouts.action.js +0 -80
- package/main/default/server/object_listviews.action.js +0 -116
- package/main/default/server/object_validation_rules.action.js +0 -34
- package/main/default/server/objects.action.js +0 -190
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author: baozhoutao@steedos.com
|
|
3
|
-
* @Date: 2022-03-28 09:35:34
|
|
4
|
-
* @LastEditors: liaodaxue
|
|
5
|
-
* @LastEditTime: 2024-02-18 14:56:30
|
|
6
|
-
* @Description:
|
|
7
|
-
*/
|
|
8
|
-
module.exports = {
|
|
9
|
-
customize: function (object_name, record_id, fields) {
|
|
10
|
-
let doc = Creator.odata.get(object_name, record_id);
|
|
11
|
-
if(!doc.columns || !doc.columns.length){
|
|
12
|
-
const objectName_label = record_id.split('.');
|
|
13
|
-
let columns = Creator.getListView(objectName_label[0], objectName_label[1], true).columns;
|
|
14
|
-
doc.columns = columns || [];
|
|
15
|
-
}
|
|
16
|
-
doc.columns = doc.columns.map((item)=>{
|
|
17
|
-
if(typeof item === 'string'){
|
|
18
|
-
return { field: item }
|
|
19
|
-
}
|
|
20
|
-
return item;
|
|
21
|
-
})
|
|
22
|
-
var newRecord = _.pick(doc, Creator.getObjectFieldsName(object_name));
|
|
23
|
-
delete newRecord.is_system;
|
|
24
|
-
delete newRecord._id;
|
|
25
|
-
delete newRecord.record_permissions;
|
|
26
|
-
newRecord.from_code_id = record_id;
|
|
27
|
-
Creator.odata.insert(object_name, newRecord, function(result, error){
|
|
28
|
-
if(result){
|
|
29
|
-
FlowRouter.go(`/app/-/${object_name}/view/${result._id}`)
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
customizeVisible: function(object_name, record_id, record_permissions, data){
|
|
35
|
-
var record = data && data.record;
|
|
36
|
-
return Creator.baseObject.actions.standard_new.visible() && record.is_system;
|
|
37
|
-
},
|
|
38
|
-
copy: function(object_name, record_id){
|
|
39
|
-
let newRecord = null; // _.clone(Creator.getListView(Session.get("object_name"), record_id));
|
|
40
|
-
if(!newRecord){
|
|
41
|
-
let doc = Creator.odata.get(object_name, record_id);
|
|
42
|
-
if(!doc.columns || !doc.columns.length){
|
|
43
|
-
const objectName_label = record_id.split('.');
|
|
44
|
-
let columns = Creator.getListView(objectName_label[0], objectName_label[1], true).columns;
|
|
45
|
-
doc.columns = columns || [];
|
|
46
|
-
}
|
|
47
|
-
doc.columns = doc.columns.map((item)=>{
|
|
48
|
-
if(typeof item === 'string'){
|
|
49
|
-
return { field: item }
|
|
50
|
-
}
|
|
51
|
-
return item;
|
|
52
|
-
})
|
|
53
|
-
newRecord = _.pick(doc, Creator.getObjectFieldsName(object_name));
|
|
54
|
-
}
|
|
55
|
-
delete newRecord.is_system;
|
|
56
|
-
delete newRecord._id;
|
|
57
|
-
delete newRecord.name;
|
|
58
|
-
delete newRecord.from_code_id;
|
|
59
|
-
delete newRecord.label;
|
|
60
|
-
delete newRecord.owner;
|
|
61
|
-
|
|
62
|
-
var data = newRecord || { _filters_type_controller: 'conditions' };
|
|
63
|
-
//数据格式转换
|
|
64
|
-
if (data) {
|
|
65
|
-
data.sort = lodash.map(data.sort, (item) => {
|
|
66
|
-
return `${item.field_name}:${item.order || 'asc'}`
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
data.searchable_fields = lodash.map(data.searchable_fields, 'field');
|
|
70
|
-
|
|
71
|
-
if (data.filters && lodash.isString(data.filters)) {
|
|
72
|
-
try {
|
|
73
|
-
data.filters = JSON.parse(data.filters);
|
|
74
|
-
}catch(e){}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
if (data.filters && lodash.isString(data.filters)) {
|
|
78
|
-
data._filters_type_controller = 'function';
|
|
79
|
-
} else {
|
|
80
|
-
data._filters_type_controller = 'conditions'
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (data._filters_type_controller === 'conditions') {
|
|
84
|
-
data._filters_conditions = window.amisConvert.filtersToConditions(data.filters || []);
|
|
85
|
-
} else {
|
|
86
|
-
data._filters_function = data.filters;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
Steedos.Page.Form.StandardNew.render(Session.get("app_id"), 'object_listviews', t("creator_list_copy_list_view"), { defaultData:data }, {});
|
|
90
|
-
},
|
|
91
|
-
copyVisible: function(object_name, record_id, record_permissions, data){
|
|
92
|
-
return true;
|
|
93
|
-
},
|
|
94
|
-
showDesign: function (object_name, record_id) {
|
|
95
|
-
document.location = Steedos.absoluteUrl(`/api/amisListviewDesign?id=${record_id}&object=${this.record.object_name}&assetUrls=${Builder.settings.assetUrls}&locale=${Builder.settings.locale}`);
|
|
96
|
-
},
|
|
97
|
-
showDesignVisible: function (object_name, record_id, record_permissions) {
|
|
98
|
-
var perms= {};
|
|
99
|
-
var record = Creator.getObjectRecord(object_name, record_id);
|
|
100
|
-
if(!record){
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
if(!record.enable_amis_schema){
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
if (record_permissions) {
|
|
107
|
-
perms = record_permissions;
|
|
108
|
-
} else {
|
|
109
|
-
record_permissions = Creator.getRecordPermissions(object_name, record, Meteor.userId());
|
|
110
|
-
if (record_permissions) {
|
|
111
|
-
perms = record_permissions;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return perms["allowEdit"];
|
|
115
|
-
}
|
|
116
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const _ = require("underscore");
|
|
2
|
-
module.exports = {
|
|
3
|
-
customize: function (object_name, record_id, fields) {
|
|
4
|
-
var doc = Creator.odata.get(object_name, record_id);
|
|
5
|
-
var newDoc = {}
|
|
6
|
-
_.each(Creator.getObject(object_name).fields, function(v, k){
|
|
7
|
-
if(_.has(doc, k)){
|
|
8
|
-
newDoc[k] = doc[k]
|
|
9
|
-
}
|
|
10
|
-
})
|
|
11
|
-
delete newDoc.is_system;
|
|
12
|
-
|
|
13
|
-
let docName = doc.name
|
|
14
|
-
let docObjectName = doc.object_name
|
|
15
|
-
|
|
16
|
-
Creator.odata.insert(object_name, Object.assign(newDoc, {name: docName, object_name: docObjectName}), function(result, error){
|
|
17
|
-
if(result){
|
|
18
|
-
if(Session.get("object_name") === 'object_validation_rules'){
|
|
19
|
-
FlowRouter.go(`/app/-/${object_name}/view/${result._id}`)
|
|
20
|
-
}else{
|
|
21
|
-
href = Creator.getObjectUrl(object_name, result._id);
|
|
22
|
-
window.open(href,'_blank','width=800, height=600, left=50, top= 50, toolbar=no, status=no, menubar=no, resizable=yes, scrollbars=yes')
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
customizeVisible: function(object_name, record_id, record_permissions, data){
|
|
28
|
-
var record = data && data.record;
|
|
29
|
-
if(!record){
|
|
30
|
-
record = {}
|
|
31
|
-
}
|
|
32
|
-
return Creator.baseObject.actions.standard_new.visible() && record.is_system;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,190 +0,0 @@
|
|
|
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' && record.created) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
show_object: function (object_name, record_id, item_element) {
|
|
27
|
-
var record = this.record || Creator.getObjectById(record_id);
|
|
28
|
-
if(record && record.record){
|
|
29
|
-
record = record.record;
|
|
30
|
-
}
|
|
31
|
-
if(!record){
|
|
32
|
-
return toastr.error("未找到记录");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if(record.is_enable === false){
|
|
36
|
-
return toastr.warning("请先启动对象");
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if(record.datasource && record.datasource != 'default' && record.datasource != 'meteor'){
|
|
40
|
-
var datasource = Creator.odata.get('datasources', record.datasource, 'is_enable');
|
|
41
|
-
if(!datasource){
|
|
42
|
-
return toastr.error("未找到数据源");
|
|
43
|
-
}
|
|
44
|
-
if(!datasource.is_enable){
|
|
45
|
-
return toastr.warning("请先启动数据源");
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
window.open(Creator.getRelativeUrl("/app/admin/" + (record.name || this.record.name)));
|
|
49
|
-
// SteedosUI.Object.getUISchema(record.name).then((res)=>{
|
|
50
|
-
// if(res.idFieldName){
|
|
51
|
-
// window.open(Creator.getRelativeUrl("/app/-/" + record.name));
|
|
52
|
-
// }else{
|
|
53
|
-
// return toastr.error("请配置主键字段");
|
|
54
|
-
// }
|
|
55
|
-
// }).catch(function(err){
|
|
56
|
-
// return window.toastr.error(err.message);
|
|
57
|
-
// })
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
// var allViews = Creator.odata.query('object_listviews', { $select: '_id', $filter: `((object_name eq '${record.name}') and (name eq 'all'))` }, true);
|
|
62
|
-
// if(allViews && allViews.length > 0){
|
|
63
|
-
// Steedos.openWindow(Creator.getRelativeUrl("/app/-/" + record.name + "/grid/" + allViews[0]._id))
|
|
64
|
-
// }else{
|
|
65
|
-
// Steedos.openWindow(Creator.getRelativeUrl("/app/-/" + record.name + "/grid/all"))
|
|
66
|
-
// }
|
|
67
|
-
},
|
|
68
|
-
show_objectVisible: function(object_name, record_id, record_permissions, data){
|
|
69
|
-
var record = data && data.record;
|
|
70
|
-
if(!Creator.isSpaceAdmin()){
|
|
71
|
-
return false
|
|
72
|
-
}
|
|
73
|
-
if(!record){
|
|
74
|
-
record = Creator.odata.get("objects", record_id, "is_deleted");
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
if(record && !record.is_deleted && record.name != 'users'){
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
copy_odata: function (object_name, record_id, item_element) {
|
|
82
|
-
var clipboard, o_name, path, record;
|
|
83
|
-
record = this.record || Creator.getObjectById(record_id);
|
|
84
|
-
//enable_api 属性未开放
|
|
85
|
-
if ((record != null ? record.enable_api : void 0) || true) {
|
|
86
|
-
o_name = record != null ? record.name : void 0;
|
|
87
|
-
path = SteedosOData.getODataPath(Session.get("spaceId"), o_name);
|
|
88
|
-
item_element.attr('data-clipboard-text', path);
|
|
89
|
-
if (!item_element.attr('data-clipboard-new')) {
|
|
90
|
-
clipboard = new Clipboard(item_element[0]);
|
|
91
|
-
item_element.attr('data-clipboard-new', true);
|
|
92
|
-
clipboard.on('success', function (e) {
|
|
93
|
-
return toastr.success('复制成功');
|
|
94
|
-
});
|
|
95
|
-
clipboard.on('error', function (e) {
|
|
96
|
-
toastr.error('复制失败');
|
|
97
|
-
return console.error("e");
|
|
98
|
-
});
|
|
99
|
-
if (item_element[0].tagName === 'LI' || item_element.hasClass('view-action')) {
|
|
100
|
-
return item_element.trigger("click");
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
} else {
|
|
104
|
-
return toastr.error('复制失败: 未启用API');
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
copy_odataVisible: function(object_name, record_id, record_permissions, data){
|
|
108
|
-
var record = data && data.record;
|
|
109
|
-
if(!Creator.isSpaceAdmin()){
|
|
110
|
-
return false
|
|
111
|
-
}
|
|
112
|
-
if(!record){
|
|
113
|
-
record = Creator.odata.get("objects", record_id, "is_deleted");
|
|
114
|
-
}
|
|
115
|
-
if(record && !record.is_deleted){
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
// delete_object: function (object_name, record_id, fields) {
|
|
120
|
-
// var record = Creator.getObjectRecord(object_name, record_id, 'name');
|
|
121
|
-
// SteedosUI.showModal(stores.ComponentRegistry.components.ObjectForm, {
|
|
122
|
-
// name: "remove-object",
|
|
123
|
-
// title: '删除对象',
|
|
124
|
-
// width: '540px',
|
|
125
|
-
// layout: 'horizontal',
|
|
126
|
-
// modalProps: {
|
|
127
|
-
// width: "540px",
|
|
128
|
-
// style: {
|
|
129
|
-
// width: "540px",
|
|
130
|
-
// maxWidth: "540px",
|
|
131
|
-
// minWidth: "480px"
|
|
132
|
-
// }
|
|
133
|
-
// },
|
|
134
|
-
// initialValues:{
|
|
135
|
-
// md: "删除一个自定义对象进行以下操作:\n\n* 删除对象的字段和按钮\n* 删除对象的选项卡和列表视图\n* 删除对象的页面布局\n* 删除对象的权限\n* 删除对象的验证规则\n* 删除对象的限制规则\n* 删除对象的共享规则\n* 删除使用该对象的流程映射\n* 删除使用该对象的开放流程\n* 删除使用该对象的页面。\n\n\\\n"
|
|
136
|
-
// },
|
|
137
|
-
// objectSchema: {
|
|
138
|
-
// fields: {
|
|
139
|
-
// md: {
|
|
140
|
-
// type: 'html',
|
|
141
|
-
// label: ' ',
|
|
142
|
-
// is_wide: true,
|
|
143
|
-
// readonly: true,
|
|
144
|
-
// }
|
|
145
|
-
// }
|
|
146
|
-
// },
|
|
147
|
-
// onFinish: async (values = {}) => {
|
|
148
|
-
// return new Promise((resolve, reject) => {
|
|
149
|
-
// window.$("body").addClass("loading");
|
|
150
|
-
// Creator.odata.delete(object_name, record_id, function() {
|
|
151
|
-
// var info= t('creator_record_remove_swal_suc');
|
|
152
|
-
// window.toastr.success(info);
|
|
153
|
-
// resolve(true)
|
|
154
|
-
// if(FlowRouter.current().route.path.endsWith("/:record_id")){
|
|
155
|
-
// var app_id = Session.get("app_id")
|
|
156
|
-
// var object_name = Session.get("object_name")
|
|
157
|
-
// FlowRouter.go(Creator.getListViewUrl(object_name, app_id, 'all'));
|
|
158
|
-
// }else{
|
|
159
|
-
// FlowRouter.reload();
|
|
160
|
-
// }
|
|
161
|
-
// window.$("body").removeClass("loading");
|
|
162
|
-
|
|
163
|
-
// }, function(error) {
|
|
164
|
-
// toastr.error(error.message);
|
|
165
|
-
// window.$("body").removeClass("loading");
|
|
166
|
-
// reject(false);
|
|
167
|
-
// });
|
|
168
|
-
// })
|
|
169
|
-
// }
|
|
170
|
-
// }, null, { iconPath: '/assets/icons' })
|
|
171
|
-
// },
|
|
172
|
-
delete_objectVisible: function(object_name, record_id, record_permissions, data){
|
|
173
|
-
var record = data && data.record;
|
|
174
|
-
if(!Creator.isSpaceAdmin()){
|
|
175
|
-
return false
|
|
176
|
-
}
|
|
177
|
-
if(!record){
|
|
178
|
-
record = Creator.odata.get("objects", record_id, "is_deleted");
|
|
179
|
-
}
|
|
180
|
-
if(record.is_system){
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
if(record && !record.is_deleted){
|
|
184
|
-
return Creator.baseObject.actions.standard_delete.visible.apply(this, arguments);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
// export: function(object_name, record_id, fields){
|
|
188
|
-
// return window.open(Steedos.absoluteUrl("/api/v4/objects/" + record_id + "/export_yml"), '_blank');
|
|
189
|
-
// }
|
|
190
|
-
}
|