@steedos/standard-object-database 2.2.55-beta.16
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/applications/.gitkeep +0 -0
- package/main/default/client/datasources.client.js +7 -0
- package/main/default/client/object_fields.client.js +212 -0
- package/main/default/client/object_layouts.client.js +86 -0
- package/main/default/objectTranslations/_object_reload_logs.en/_object_reload_logs.en.objectTranslation.yml +16 -0
- package/main/default/objectTranslations/_object_reload_logs.zh-CN/_object_reload_logs.zh-CN.objectTranslation.yml +16 -0
- package/main/default/objectTranslations/datasources.en/datasources.en.objectTranslation.yml +121 -0
- package/main/default/objectTranslations/datasources.zh-CN/datasources.zh-CN.objectTranslation.yml +105 -0
- package/main/default/objectTranslations/object_actions.en/object_actions.en.objectTranslation.yml +55 -0
- package/main/default/objectTranslations/object_actions.zh-CN/object_actions.zh-CN.objectTranslation.yml +50 -0
- package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +335 -0
- package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +312 -0
- package/main/default/objectTranslations/object_layouts.en/object_layouts.en.objectTranslation.yml +72 -0
- package/main/default/objectTranslations/object_layouts.zh-CN/object_layouts.zh-CN.objectTranslation.yml +116 -0
- package/main/default/objectTranslations/object_listviews.en/object_listviews.en.objectTranslation.yml +153 -0
- package/main/default/objectTranslations/object_listviews.zh-CN/object_listviews.zh-CN.objectTranslation.yml +146 -0
- package/main/default/objectTranslations/object_related_list.en/object_related_list.en.objectTranslation.yml +82 -0
- package/main/default/objectTranslations/object_related_list.zh-CN/object_related_list.zh-CN.objectTranslation.yml +82 -0
- package/main/default/objectTranslations/object_triggers.en/object_triggers.en.objectTranslation.yml +30 -0
- package/main/default/objectTranslations/object_triggers.zh-CN/object_triggers.zh-CN.objectTranslation.yml +29 -0
- package/main/default/objectTranslations/object_validation_rules.en/object_validation_rules.en.objectTranslation.yml +40 -0
- package/main/default/objectTranslations/object_validation_rules.zh-CN/object_validation_rules.zh-CN.objectTranslation.yml +38 -0
- package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +219 -0
- package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +218 -0
- package/main/default/objects/0.datasources.observe.object.js +83 -0
- package/main/default/objects/0.objects_reload.object.js +26 -0
- package/main/default/objects/1.objects.observe.object.js +61 -0
- package/main/default/objects/10.tabs.observe.object.js +36 -0
- package/main/default/objects/11.restriction_rules.observe.object.js +37 -0
- package/main/default/objects/12.share_rules.observe.object.js +37 -0
- package/main/default/objects/13.permission_fields.observe.object.js +37 -0
- package/main/default/objects/14.object_fields.observe.object.js +44 -0
- package/main/default/objects/15.permission_objects.observe.object.js +44 -0
- package/main/default/objects/2.object_triggers.observe.object.js +35 -0
- package/main/default/objects/3.permission_objects.observe.object.js +29 -0
- package/main/default/objects/4.permission_set.observe.object.js +39 -0
- package/main/default/objects/5.holidays.observe.object.js +30 -0
- package/main/default/objects/6.business_hours.observe.object.js +33 -0
- package/main/default/objects/7.object_actions.observe.object.js +43 -0
- package/main/default/objects/7.object_layouts.observe.object.js +33 -0
- package/main/default/objects/9.apps.observe.object.js +33 -0
- package/main/default/objects/_object_reload_logs.object.yml +10 -0
- package/main/default/objects/datasources.action.js +51 -0
- package/main/default/objects/datasources.core.js +34 -0
- package/main/default/objects/datasources.object.js +168 -0
- package/main/default/objects/datasources.object.yml +113 -0
- package/main/default/objects/object_actions.object.js +152 -0
- package/main/default/objects/object_actions.object.yml +142 -0
- package/main/default/objects/object_fields.action.js +128 -0
- package/main/default/objects/object_fields.function.js +104 -0
- package/main/default/objects/object_fields.object.js +501 -0
- package/main/default/objects/object_fields.object.yml +690 -0
- package/main/default/objects/object_layouts.action.js +31 -0
- package/main/default/objects/object_layouts.layouts.action.js +19 -0
- package/main/default/objects/object_layouts.object.yml +356 -0
- package/main/default/objects/object_listviews.action.js +93 -0
- package/main/default/objects/object_listviews.object.js +100 -0
- package/main/default/objects/object_listviews.object.yml +309 -0
- package/main/default/objects/object_manager.app.todo.yml +11 -0
- package/main/default/objects/object_related_list.object.js +110 -0
- package/main/default/objects/object_related_list.object.yml +208 -0
- package/main/default/objects/object_triggers.core.js +58 -0
- package/main/default/objects/object_triggers.object.js +65 -0
- package/main/default/objects/object_triggers.object.yml +124 -0
- package/main/default/objects/object_validation_rules.action.js +33 -0
- package/main/default/objects/object_validation_rules.object.yml +100 -0
- package/main/default/objects/objects.action.js +157 -0
- package/main/default/objects/objects.core.js +398 -0
- package/main/default/objects/objects.erd.data.function.js +85 -0
- package/main/default/objects/objects.lib.js +42 -0
- package/main/default/objects/objects.object.js +543 -0
- package/main/default/objects/objects.object.yml +512 -0
- package/main/default/objects/objects.tree.js +58 -0
- package/main/default/objects/permission_objects.core.js +75 -0
- package/main/default/permissionsets/.gitkeep +0 -0
- package/main/default/profiles/.gitkeep +0 -0
- package/main/default/tabs/.gitkeep +0 -0
- package/main/default/triggers/datasources.trigger.js +93 -0
- package/main/default/triggers/object_actions.trigger.js +98 -0
- package/main/default/triggers/object_fields.trigger.js +376 -0
- package/main/default/triggers/object_layouts.trigger.js +153 -0
- package/main/default/triggers/object_listviews.trigger.js +139 -0
- package/main/default/triggers/object_triggers.trigger.js +50 -0
- package/main/default/triggers/object_validation_rules.trigger.js +80 -0
- package/main/default/triggers/objects.trigger.js +136 -0
- package/package.json +16 -0
- package/package.service.js +75 -0
- package/public/.md +3 -0
- package/src/.md +3 -0
- package/webapp/.md +1 -0
|
File without changes
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
Steedos.ObjectFieldManager = {};
|
|
2
|
+
|
|
3
|
+
// Steedos.ObjectFieldManager.__lastDoc = null;
|
|
4
|
+
|
|
5
|
+
// const baseFieldsName = [{ "name": "object", "required": true }, { "name": "label", "required": true }, {name: '_name', required: true}, { "name": "type", "required": true }, { "name": "defaultValue" }, { "name": "group" }, { "name": "sort_no" }, { "name": "is_name" }, { "name": "required" }, { "name": "is_wide" }, { "name": "readonly" }, { "name": "hidden" }, { "name": "omit" }, { "name": "index" }, { "name": "sortable" }, { "name": "searchable" }, { "name": "filterable" }, {"name":"inlineHelpText"},{"name":"description"}];
|
|
6
|
+
|
|
7
|
+
// function getFieldsByType(doc, type, dataType) {
|
|
8
|
+
// let fields = [];
|
|
9
|
+
// if(dataType){
|
|
10
|
+
// fields = fields.concat(getFieldsByType(doc, dataType))
|
|
11
|
+
// }
|
|
12
|
+
// switch (type) {
|
|
13
|
+
// case 'textarea':{
|
|
14
|
+
// fields.push({ name: 'rows', required: true });
|
|
15
|
+
// break;
|
|
16
|
+
// }
|
|
17
|
+
// case 'select':{
|
|
18
|
+
// fields.push({ name: 'options', required: true });
|
|
19
|
+
// fields.push({ name: 'options.$', required: true });
|
|
20
|
+
// fields.push({ name: 'options.$.label', required: true });
|
|
21
|
+
// fields.push({ name: 'options.$.value', required: true });
|
|
22
|
+
// fields.push({ name: 'options.$.color', required: false });
|
|
23
|
+
// fields.push({ name: 'options.$.description', required: false });
|
|
24
|
+
// fields.push({ name: 'multiple'});
|
|
25
|
+
// break;
|
|
26
|
+
// }
|
|
27
|
+
// case 'number':{
|
|
28
|
+
// fields.push({ name: 'precision', required: true });
|
|
29
|
+
// fields.push({ name: 'scale', required: true });
|
|
30
|
+
// break;
|
|
31
|
+
// }
|
|
32
|
+
// case 'currency':{
|
|
33
|
+
// fields.push({ name: 'precision', required: true });
|
|
34
|
+
// fields.push({ name: 'scale', required: true });
|
|
35
|
+
// break;
|
|
36
|
+
// }
|
|
37
|
+
// case 'percent':{
|
|
38
|
+
// fields.push({ name: 'precision', required: true });
|
|
39
|
+
// fields.push({ name: 'scale', required: true });
|
|
40
|
+
// break;
|
|
41
|
+
// }
|
|
42
|
+
// case 'lookup': {
|
|
43
|
+
// fields.push({ name: 'reference_to'});
|
|
44
|
+
// fields.push({ name: 'filtersFunction'});
|
|
45
|
+
// fields.push({ name: 'optionsFunction'});
|
|
46
|
+
// fields.push({ name: 'multiple'});
|
|
47
|
+
// break;
|
|
48
|
+
// }
|
|
49
|
+
// case 'master_detail': {
|
|
50
|
+
// fields.push({ name: 'reference_to'});
|
|
51
|
+
// fields.push({ name: 'filtersFunction'});
|
|
52
|
+
// fields.push({ name: 'optionsFunction'});
|
|
53
|
+
// fields.push({ name: 'write_requires_master_read'});
|
|
54
|
+
// break;
|
|
55
|
+
// }
|
|
56
|
+
// case 'autonumber': {
|
|
57
|
+
// fields.push({ name: 'formula', required: true });
|
|
58
|
+
// break;
|
|
59
|
+
// }
|
|
60
|
+
// case 'formula': {
|
|
61
|
+
// fields.push({ name: 'formula', required: true });
|
|
62
|
+
// fields.push({ name: 'data_type', required: true });
|
|
63
|
+
// fields.push({ name: 'formula_blank_value', required: true });
|
|
64
|
+
// break;
|
|
65
|
+
// }
|
|
66
|
+
// case 'summary': {
|
|
67
|
+
// fields.push({ name: 'summary_object', required: true });
|
|
68
|
+
// fields.push({ name: 'summary_type', required: true });
|
|
69
|
+
// if(doc.summary_type != 'count'){
|
|
70
|
+
// fields.push({ name: 'summary_field', required: true });
|
|
71
|
+
// }
|
|
72
|
+
// // fields.push({ name: 'data_type', required: true });
|
|
73
|
+
// fields.push({ name: 'precision', required: true });
|
|
74
|
+
// fields.push({ name: 'scale', required: true });
|
|
75
|
+
// fields.push({ name: 'summary_filters' });
|
|
76
|
+
// fields.push({ name: 'summary_filters.$' });
|
|
77
|
+
// fields.push({ name: 'summary_filters.$.field' });
|
|
78
|
+
// fields.push({ name: 'summary_filters.$.operation' });
|
|
79
|
+
// fields.push({ name: 'summary_filters.$.value' });
|
|
80
|
+
// break;
|
|
81
|
+
// }
|
|
82
|
+
// case 'image': {
|
|
83
|
+
// // fields.push({ name: 'multiple'}); image多选时,单个字段编辑窗口样式异常,暂时不支持
|
|
84
|
+
// break;
|
|
85
|
+
// }
|
|
86
|
+
// case 'url': {
|
|
87
|
+
// fields.push({ name: 'show_as_qr'});
|
|
88
|
+
// break;
|
|
89
|
+
// }
|
|
90
|
+
// default:
|
|
91
|
+
// break;
|
|
92
|
+
// }
|
|
93
|
+
// return fields;
|
|
94
|
+
// }
|
|
95
|
+
// Meteor.startup(function(){
|
|
96
|
+
// $('body').on('hidden.bs.modal', '#afModal', function(){
|
|
97
|
+
// Steedos.ObjectFieldManager.__lastDoc = null;
|
|
98
|
+
// });
|
|
99
|
+
// });
|
|
100
|
+
|
|
101
|
+
// Steedos.ObjectFieldManager.changeSchema = function (doc, schema, when) {
|
|
102
|
+
// var __lastDoc = Steedos.ObjectFieldManager.__lastDoc;
|
|
103
|
+
// var noChange = doc.type && __lastDoc && __lastDoc._id == doc._id && __lastDoc.type == doc.type && __lastDoc.data_type == doc.data_type;
|
|
104
|
+
// if(noChange && doc.type == "summary" && __lastDoc.summary_type != doc.summary_type){
|
|
105
|
+
// // 当字段类型为汇总时,汇总类型如果有变更,有可能“要聚合的字段”属性不一定必填,所以这里强制重新计算Schema
|
|
106
|
+
// noChange = false;
|
|
107
|
+
// }
|
|
108
|
+
// if(noChange){
|
|
109
|
+
// return false;
|
|
110
|
+
// }else{
|
|
111
|
+
// Steedos.ObjectFieldManager.__lastDoc = doc;
|
|
112
|
+
// }
|
|
113
|
+
|
|
114
|
+
// var clone = require('clone');
|
|
115
|
+
// var fields = clone(Creator.getObject("object_fields").fields);
|
|
116
|
+
// var showFields = baseFieldsName.concat(getFieldsByType(doc, doc.type, doc.data_type));
|
|
117
|
+
// if(when === 'view'){
|
|
118
|
+
// showFields.push({ "name": "name" })
|
|
119
|
+
// }else if(when === 'edit' && false){
|
|
120
|
+
// showFields.push({name: '_name', required: true})
|
|
121
|
+
// }
|
|
122
|
+
// var objectName = doc.object;
|
|
123
|
+
// if(_.isObject(objectName)){
|
|
124
|
+
// objectName = objectName.name
|
|
125
|
+
// }
|
|
126
|
+
// var _object = Creator.getObject(objectName);
|
|
127
|
+
// if(!_object){
|
|
128
|
+
// var _objects = Steedos.authRequest(`/api/v4/objects`, { type: 'get', async: false, data: { $filter: "name eq '"+objectName+"'" } });
|
|
129
|
+
// _object = _objects && _objects.value && _objects.value.length > 0 ? _objects.value[0] : null;
|
|
130
|
+
// }
|
|
131
|
+
// // 外部数据源对象必须启用后,才可正常显示对象字段属性
|
|
132
|
+
// if(_object && (_object.database_name || _object.datasource)){
|
|
133
|
+
// showFields.push({"name":"column_name"})
|
|
134
|
+
// showFields.push({"name":"primary"})
|
|
135
|
+
// showFields.push({"name":"generated"})
|
|
136
|
+
// }
|
|
137
|
+
// _.map(fields, function(field, fname){
|
|
138
|
+
// var showField = _.find(showFields, function(item){
|
|
139
|
+
// return item && item.name === fname;
|
|
140
|
+
// })
|
|
141
|
+
// if(showField){
|
|
142
|
+
// Object.assign(field, showField)
|
|
143
|
+
// }else{
|
|
144
|
+
// Object.assign(field, {omit: true, hidden: true})
|
|
145
|
+
// }
|
|
146
|
+
// })
|
|
147
|
+
|
|
148
|
+
// var objectSchema = Creator.getObjectSchema({fields: fields});
|
|
149
|
+
// Object.assign(schema, new SimpleSchema(objectSchema))
|
|
150
|
+
// }
|
|
151
|
+
|
|
152
|
+
Steedos.ObjectFieldManager.getSummaryFiltersOperation = function(field_type) {
|
|
153
|
+
var operations, optionals;
|
|
154
|
+
optionals = {
|
|
155
|
+
equal: {
|
|
156
|
+
label: t("creator_filter_operation_equal"),
|
|
157
|
+
value: "="
|
|
158
|
+
},
|
|
159
|
+
unequal: {
|
|
160
|
+
label: t("creator_filter_operation_unequal"),
|
|
161
|
+
value: "<>"
|
|
162
|
+
},
|
|
163
|
+
less_than: {
|
|
164
|
+
label: t("creator_filter_operation_less_than"),
|
|
165
|
+
value: "<"
|
|
166
|
+
},
|
|
167
|
+
greater_than: {
|
|
168
|
+
label: t("creator_filter_operation_greater_than"),
|
|
169
|
+
value: ">"
|
|
170
|
+
},
|
|
171
|
+
less_or_equal: {
|
|
172
|
+
label: t("creator_filter_operation_less_or_equal"),
|
|
173
|
+
value: "<="
|
|
174
|
+
},
|
|
175
|
+
greater_or_equal: {
|
|
176
|
+
label: t("creator_filter_operation_greater_or_equal"),
|
|
177
|
+
value: ">="
|
|
178
|
+
},
|
|
179
|
+
contains: {
|
|
180
|
+
label: t("creator_filter_operation_contains"),
|
|
181
|
+
value: "contains"
|
|
182
|
+
},
|
|
183
|
+
not_contain: {
|
|
184
|
+
label: t("creator_filter_operation_does_not_contain"),
|
|
185
|
+
value: "notcontains"
|
|
186
|
+
},
|
|
187
|
+
starts_with: {
|
|
188
|
+
label: t("creator_filter_operation_starts_with"),
|
|
189
|
+
value: "startswith"
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
if (field_type === void 0) {
|
|
193
|
+
return _.values(optionals);
|
|
194
|
+
}
|
|
195
|
+
operations = [];
|
|
196
|
+
if (field_type === "text" || field_type === "textarea" || field_type === "html" || field_type === "code") {
|
|
197
|
+
operations.push(optionals.equal, optionals.unequal, optionals.contains, optionals.not_contain, optionals.starts_with);
|
|
198
|
+
} else if (field_type === "lookup" || field_type === "master_detail" || field_type === "select") {
|
|
199
|
+
operations.push(optionals.equal, optionals.unequal);
|
|
200
|
+
} else if (["currency", "number", "percent", "date", "datetime"].indexOf(field_type) > -1){
|
|
201
|
+
operations.push(optionals.equal, optionals.unequal, optionals.less_than, optionals.greater_than, optionals.less_or_equal, optionals.greater_or_equal);
|
|
202
|
+
} else if (field_type === "boolean") {
|
|
203
|
+
operations.push(optionals.equal, optionals.unequal);
|
|
204
|
+
} else if (field_type === "checkbox") {
|
|
205
|
+
operations.push(optionals.equal, optionals.unequal);
|
|
206
|
+
} else if (field_type === "[text]") {
|
|
207
|
+
operations.push(optionals.equal, optionals.unequal);
|
|
208
|
+
} else {
|
|
209
|
+
operations.push(optionals.equal, optionals.unequal);
|
|
210
|
+
}
|
|
211
|
+
return operations;
|
|
212
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
Creator.objectLayoutMananger = {}
|
|
2
|
+
|
|
3
|
+
Creator.objectLayoutMananger.appendField = function(field){
|
|
4
|
+
var objectLayouts = Creator.odata.query("object_layouts", {
|
|
5
|
+
$filter: "(object_name eq '".concat(field.object, "')")
|
|
6
|
+
}, true);
|
|
7
|
+
|
|
8
|
+
if(objectLayouts.length == 0){
|
|
9
|
+
return ;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
var schema = Creator.getObjectSchema({
|
|
13
|
+
fields: {
|
|
14
|
+
fieldLabel: Object.assign({}, Creator.getObject('object_fields').fields.label, {
|
|
15
|
+
readonly: true,
|
|
16
|
+
is_wide: true,
|
|
17
|
+
required: false,
|
|
18
|
+
name: 'fieldLabel',
|
|
19
|
+
group: TAPi18n.__(`object_layouts_group_field_info`)
|
|
20
|
+
}),
|
|
21
|
+
fieldType: Object.assign({}, Creator.getObject('object_fields').fields.type, {
|
|
22
|
+
readonly: true,
|
|
23
|
+
type: 'text',
|
|
24
|
+
is_wide: true,
|
|
25
|
+
required: false,
|
|
26
|
+
name: 'fieldType',
|
|
27
|
+
group: TAPi18n.__(`object_layouts_group_field_info`)
|
|
28
|
+
}),
|
|
29
|
+
fieldName: Object.assign({}, Creator.getObject('object_fields').fields._name, {
|
|
30
|
+
readonly: true,
|
|
31
|
+
is_wide: true,
|
|
32
|
+
required: false,
|
|
33
|
+
name: 'fieldName',
|
|
34
|
+
group: TAPi18n.__(`object_layouts_group_field_info`)
|
|
35
|
+
}),
|
|
36
|
+
fieldDescription: Object.assign({}, Creator.getObject('object_fields').fields.description, {
|
|
37
|
+
readonly: true,
|
|
38
|
+
is_wide: true,
|
|
39
|
+
required: false,
|
|
40
|
+
name: 'fieldDescription',
|
|
41
|
+
group: TAPi18n.__(`object_layouts_group_field_info`)
|
|
42
|
+
}),
|
|
43
|
+
appendToLayouts: {
|
|
44
|
+
type: 'lookup',
|
|
45
|
+
label: TAPi18n.__("object_layouts__object"),
|
|
46
|
+
multiple: true,
|
|
47
|
+
is_wide: true,
|
|
48
|
+
reference_to: 'object_layouts',
|
|
49
|
+
filters: [["object_name", "eq", field.object]],
|
|
50
|
+
group: TAPi18n.__(`object_layouts_group_appendToLayouts`),
|
|
51
|
+
create: false
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
var formId = 'appendField';
|
|
57
|
+
var doc = {
|
|
58
|
+
fieldLabel: field.label,
|
|
59
|
+
fieldType: _.find(Creator.getObject('object_fields').fields.type.options, function(item){return item.value === field.type}).label,
|
|
60
|
+
fieldName: field._name,
|
|
61
|
+
fieldDescription: field.description,
|
|
62
|
+
appendToLayouts: _.pluck(objectLayouts, '_id')
|
|
63
|
+
};
|
|
64
|
+
var onConfirm = function (formValues, event, template) {
|
|
65
|
+
let insertDoc = formValues.insertDoc;
|
|
66
|
+
let data = {
|
|
67
|
+
field: field.name,
|
|
68
|
+
is_readonly: field.readonly,
|
|
69
|
+
is_required: field.required,
|
|
70
|
+
group: field.group,
|
|
71
|
+
visible_on: `${!field.hidden}`,
|
|
72
|
+
layouts: insertDoc.appendToLayouts
|
|
73
|
+
}
|
|
74
|
+
if(_.isEmpty(insertDoc.appendToLayouts)){
|
|
75
|
+
return Modal.hide(template);
|
|
76
|
+
}
|
|
77
|
+
var result = Steedos.authRequest(`/api/v4/object_fields/${field.name}/append_to_layouts`, { type: 'post', async: false, data: JSON.stringify(data)});
|
|
78
|
+
if (result && result.state === 'SUCCESS') {
|
|
79
|
+
Modal.hide(template);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
Modal.show("quickFormModal", {formId: formId, title: TAPi18n.__(`object_layouts_title_${formId}`), confirmBtnText: `Confirm`, schema: schema, doc: doc, onConfirm: onConfirm, autoExpandGroup: true}, {
|
|
83
|
+
backdrop: 'static',
|
|
84
|
+
keyboard: true
|
|
85
|
+
});
|
|
86
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
name: datasources
|
|
2
|
+
label: External Data Source
|
|
3
|
+
description:
|
|
4
|
+
fields:
|
|
5
|
+
driver:
|
|
6
|
+
label: Driver
|
|
7
|
+
help:
|
|
8
|
+
options:
|
|
9
|
+
- label: MongoDB
|
|
10
|
+
value: mongo
|
|
11
|
+
- label: SQL Server
|
|
12
|
+
value: sqlserver
|
|
13
|
+
- label: PostgreSQL
|
|
14
|
+
value: postgres
|
|
15
|
+
- label: Oracle
|
|
16
|
+
value: oracle
|
|
17
|
+
- label: MySQL
|
|
18
|
+
value: mysql
|
|
19
|
+
- label: Sqlite
|
|
20
|
+
value: sqlite
|
|
21
|
+
description:
|
|
22
|
+
label:
|
|
23
|
+
label: Label
|
|
24
|
+
help:
|
|
25
|
+
description:
|
|
26
|
+
name:
|
|
27
|
+
label: Name
|
|
28
|
+
help: >-
|
|
29
|
+
Can only contain lowercase letters and numbers, must start with a letter,
|
|
30
|
+
cannot end with an underscore character or contain two consecutive
|
|
31
|
+
underscore characters
|
|
32
|
+
description:
|
|
33
|
+
url:
|
|
34
|
+
label: Url
|
|
35
|
+
help:
|
|
36
|
+
description:
|
|
37
|
+
host:
|
|
38
|
+
label: Database host
|
|
39
|
+
help:
|
|
40
|
+
description:
|
|
41
|
+
port:
|
|
42
|
+
label: Database host port
|
|
43
|
+
help:
|
|
44
|
+
description:
|
|
45
|
+
database:
|
|
46
|
+
label: Database name
|
|
47
|
+
help:
|
|
48
|
+
description:
|
|
49
|
+
username:
|
|
50
|
+
label: Database username
|
|
51
|
+
help:
|
|
52
|
+
description:
|
|
53
|
+
password:
|
|
54
|
+
label: Database password
|
|
55
|
+
help:
|
|
56
|
+
description:
|
|
57
|
+
mssql_options:
|
|
58
|
+
label: Mssql connection options
|
|
59
|
+
help:
|
|
60
|
+
description:
|
|
61
|
+
connectString:
|
|
62
|
+
label: connectString
|
|
63
|
+
help:
|
|
64
|
+
description:
|
|
65
|
+
timezone:
|
|
66
|
+
label: Timezone
|
|
67
|
+
help:
|
|
68
|
+
description:
|
|
69
|
+
options:
|
|
70
|
+
label: Options
|
|
71
|
+
help:
|
|
72
|
+
description:
|
|
73
|
+
enable_space:
|
|
74
|
+
label: Enable Space
|
|
75
|
+
help:
|
|
76
|
+
description:
|
|
77
|
+
locale:
|
|
78
|
+
label: Locale
|
|
79
|
+
help:
|
|
80
|
+
description:
|
|
81
|
+
logging:
|
|
82
|
+
label: Debug
|
|
83
|
+
help:
|
|
84
|
+
description:
|
|
85
|
+
is_enable:
|
|
86
|
+
label: Enable
|
|
87
|
+
help:
|
|
88
|
+
description:
|
|
89
|
+
groups:
|
|
90
|
+
other_connection_options: Connection options
|
|
91
|
+
mssql: Mssql
|
|
92
|
+
oracle: Oracle
|
|
93
|
+
advanced: Advanced
|
|
94
|
+
listviews:
|
|
95
|
+
all:
|
|
96
|
+
label: All
|
|
97
|
+
actions:
|
|
98
|
+
testConnection:
|
|
99
|
+
label: Test connection
|
|
100
|
+
CustomLabels:
|
|
101
|
+
datasources__error_name_invalid_format: >-
|
|
102
|
+
Can only contain lowercase letters and numbers, must start with a letter,
|
|
103
|
+
cannot end with an underscore character or contain two consecutive
|
|
104
|
+
underscore characters
|
|
105
|
+
_datasources_testConnection_ok: Test OK
|
|
106
|
+
_datasources_driver_error_notFind_mssql: >-
|
|
107
|
+
Mssql driver not found, please install (`yarn add mssql`) in the project and
|
|
108
|
+
restart the service
|
|
109
|
+
_datasources_driver_error_notFind_pg: >-
|
|
110
|
+
Postgres driver not found, please install (`yarn add pg`) in the project and
|
|
111
|
+
restart the service
|
|
112
|
+
_datasources_driver_error_notFind_oracledb: >-
|
|
113
|
+
Oracle driver not found, please install (`yarn add oracledb`) in the project
|
|
114
|
+
and restart the service
|
|
115
|
+
_datasources_driver_error_notFind_mysql: >-
|
|
116
|
+
Mysql driver not found, please install (`yarn add mysql`) in the project and
|
|
117
|
+
restart the service
|
|
118
|
+
_datasources_driver_error_notFind_sqlite3: >-
|
|
119
|
+
Sqlite driver not found, please install (`yarn add sqlite3`) in the project
|
|
120
|
+
and restart the service
|
|
121
|
+
datasources_field_driver_options_meteor-mongo:
|
package/main/default/objectTranslations/datasources.zh-CN/datasources.zh-CN.objectTranslation.yml
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
name: datasources
|
|
2
|
+
label: 外部数据源
|
|
3
|
+
description:
|
|
4
|
+
fields:
|
|
5
|
+
driver:
|
|
6
|
+
label: 数据库类型
|
|
7
|
+
help:
|
|
8
|
+
options:
|
|
9
|
+
- label: MongoDB
|
|
10
|
+
value: mongo
|
|
11
|
+
- label: SQL Server
|
|
12
|
+
value: sqlserver
|
|
13
|
+
- label: PostgreSQL
|
|
14
|
+
value: postgres
|
|
15
|
+
- label: Oracle
|
|
16
|
+
value: oracle
|
|
17
|
+
- label: MySQL
|
|
18
|
+
value: mysql
|
|
19
|
+
- label: Sqlite
|
|
20
|
+
value: sqlite
|
|
21
|
+
description:
|
|
22
|
+
label:
|
|
23
|
+
label: 显示名称
|
|
24
|
+
help:
|
|
25
|
+
description:
|
|
26
|
+
name:
|
|
27
|
+
label: API 名称
|
|
28
|
+
help: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
|
|
29
|
+
description:
|
|
30
|
+
url:
|
|
31
|
+
label: 连接数据库的URL
|
|
32
|
+
help:
|
|
33
|
+
description:
|
|
34
|
+
host:
|
|
35
|
+
label: 服务器地址
|
|
36
|
+
help:
|
|
37
|
+
description:
|
|
38
|
+
port:
|
|
39
|
+
label: 端口
|
|
40
|
+
help:
|
|
41
|
+
description:
|
|
42
|
+
database:
|
|
43
|
+
label: 数据库
|
|
44
|
+
help:
|
|
45
|
+
description:
|
|
46
|
+
username:
|
|
47
|
+
label: 用户名
|
|
48
|
+
help:
|
|
49
|
+
description:
|
|
50
|
+
password:
|
|
51
|
+
label: 密码
|
|
52
|
+
help:
|
|
53
|
+
description:
|
|
54
|
+
mssql_options:
|
|
55
|
+
label: 连接选项
|
|
56
|
+
help:
|
|
57
|
+
description:
|
|
58
|
+
connectString:
|
|
59
|
+
label: connectString
|
|
60
|
+
help:
|
|
61
|
+
description:
|
|
62
|
+
timezone:
|
|
63
|
+
label: 时区
|
|
64
|
+
help:
|
|
65
|
+
description:
|
|
66
|
+
options:
|
|
67
|
+
label: Options
|
|
68
|
+
help:
|
|
69
|
+
description:
|
|
70
|
+
enable_space:
|
|
71
|
+
label: 启用工作区
|
|
72
|
+
help:
|
|
73
|
+
description:
|
|
74
|
+
locale:
|
|
75
|
+
label: 语言
|
|
76
|
+
help:
|
|
77
|
+
description:
|
|
78
|
+
logging:
|
|
79
|
+
label: Debug
|
|
80
|
+
help:
|
|
81
|
+
description:
|
|
82
|
+
is_enable:
|
|
83
|
+
label: 启用
|
|
84
|
+
help:
|
|
85
|
+
description:
|
|
86
|
+
groups:
|
|
87
|
+
other_connection_options: 数据库连接
|
|
88
|
+
mssql: Mssql
|
|
89
|
+
oracle: Oracle
|
|
90
|
+
advanced: 高级
|
|
91
|
+
listviews:
|
|
92
|
+
all:
|
|
93
|
+
label: 所有
|
|
94
|
+
actions:
|
|
95
|
+
testConnection:
|
|
96
|
+
label: 测试连接
|
|
97
|
+
CustomLabels:
|
|
98
|
+
datasources__error_name_invalid_format: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
|
|
99
|
+
_datasources_testConnection_ok: 连接成功
|
|
100
|
+
_datasources_driver_error_notFind_mssql: 未找到Mssql驱动,请在项目中安装(`yarn add mssql`)并重启服务
|
|
101
|
+
_datasources_driver_error_notFind_pg: 未找到Postgres驱动,请在项目中安装(`yarn add pg`)并重启服务
|
|
102
|
+
_datasources_driver_error_notFind_oracledb: 未找到Oracle驱动,请在项目中安装(`yarn add oracledb`)并重启服务
|
|
103
|
+
_datasources_driver_error_notFind_mysql: 未找到Mysql驱动,请在项目中安装(`yarn add mysql`)并重启服务
|
|
104
|
+
_datasources_driver_error_notFind_sqlite3: 未找到Sqlite驱动,请在项目中安装(`yarn add sqlite3`)并重启服务
|
|
105
|
+
datasources_field_driver_options_meteor-mongo: Meteor Mongo
|
package/main/default/objectTranslations/object_actions.en/object_actions.en.objectTranslation.yml
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: object_actions
|
|
2
|
+
label: Object Action
|
|
3
|
+
description:
|
|
4
|
+
fields:
|
|
5
|
+
object:
|
|
6
|
+
label: Object
|
|
7
|
+
help:
|
|
8
|
+
description:
|
|
9
|
+
label:
|
|
10
|
+
label: Label
|
|
11
|
+
help:
|
|
12
|
+
description:
|
|
13
|
+
name:
|
|
14
|
+
label: API Name
|
|
15
|
+
help: >-
|
|
16
|
+
Can only contain lowercase letters and numbers, must start with a letter,
|
|
17
|
+
cannot end with an underscore character or contain two consecutive
|
|
18
|
+
underscore characters
|
|
19
|
+
description:
|
|
20
|
+
is_enable:
|
|
21
|
+
label: Enable
|
|
22
|
+
help:
|
|
23
|
+
description:
|
|
24
|
+
visible:
|
|
25
|
+
label: Visible
|
|
26
|
+
help:
|
|
27
|
+
description:
|
|
28
|
+
'on':
|
|
29
|
+
label: 'On'
|
|
30
|
+
help:
|
|
31
|
+
description:
|
|
32
|
+
type:
|
|
33
|
+
label: Type
|
|
34
|
+
options:
|
|
35
|
+
- label: Custom JavaScript
|
|
36
|
+
value: script
|
|
37
|
+
- label: Print Word Template
|
|
38
|
+
value: word-print
|
|
39
|
+
defaultValue: script
|
|
40
|
+
word_template:
|
|
41
|
+
label: Word Template
|
|
42
|
+
todo:
|
|
43
|
+
label: Execute Script
|
|
44
|
+
help:
|
|
45
|
+
description:
|
|
46
|
+
listviews:
|
|
47
|
+
all:
|
|
48
|
+
label: All
|
|
49
|
+
CustomLabels:
|
|
50
|
+
_object_actions_none_todo: >-
|
|
51
|
+
The action instance is not configured, please configure it in the code.<a
|
|
52
|
+
target='_blank'
|
|
53
|
+
href='https://www.steedos.cn/docs/developer/getting-started#%E7%94%A8%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91'>Click
|
|
54
|
+
to view document</a>
|
|
55
|
+
object_actions__error_name_invalid_format:
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: object_actions
|
|
2
|
+
label: 操作按钮
|
|
3
|
+
description:
|
|
4
|
+
fields:
|
|
5
|
+
object:
|
|
6
|
+
label: 所属对象
|
|
7
|
+
help:
|
|
8
|
+
description:
|
|
9
|
+
label:
|
|
10
|
+
label: 显示名称
|
|
11
|
+
help:
|
|
12
|
+
description:
|
|
13
|
+
name:
|
|
14
|
+
label: API 名称
|
|
15
|
+
help: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
|
|
16
|
+
description:
|
|
17
|
+
is_enable:
|
|
18
|
+
label: 启用
|
|
19
|
+
help:
|
|
20
|
+
description:
|
|
21
|
+
visible:
|
|
22
|
+
label: 可见
|
|
23
|
+
help:
|
|
24
|
+
description:
|
|
25
|
+
'on':
|
|
26
|
+
label: 显示位置
|
|
27
|
+
help:
|
|
28
|
+
description:
|
|
29
|
+
type:
|
|
30
|
+
label: 类型
|
|
31
|
+
options:
|
|
32
|
+
- label: JavaScript
|
|
33
|
+
value: script
|
|
34
|
+
# - label: 打印模板(word)
|
|
35
|
+
# value: word-print
|
|
36
|
+
defaultValue: script
|
|
37
|
+
word_template:
|
|
38
|
+
label: 打印模板
|
|
39
|
+
todo:
|
|
40
|
+
label: 执行的脚本
|
|
41
|
+
help:
|
|
42
|
+
description:
|
|
43
|
+
listviews:
|
|
44
|
+
all:
|
|
45
|
+
label: 所有
|
|
46
|
+
CustomLabels:
|
|
47
|
+
_object_actions_none_todo: >-
|
|
48
|
+
未配置操作按钮实例,请在代码中配置。<a target='_blank'
|
|
49
|
+
href='https://www.steedos.cn/docs/developer/getting-started#%E7%94%A8%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91'>点击查看文档</a>
|
|
50
|
+
object_actions__error_name_invalid_format: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
|