@steedos/service-plugin-amis 2.3.2-beta.8 → 2.3.2
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.
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
const getAmisLng = ()=>{
|
|
59
|
-
locale = Creator.USER_CONTEXT
|
|
59
|
+
var locale = Creator.USER_CONTEXT ? Creator.USER_CONTEXT.user.language : null;
|
|
60
60
|
if(locale){
|
|
61
61
|
locale = locale.replace('_', '-');
|
|
62
62
|
locale = locale === 'en' ? 'en-US' : locale;
|
|
@@ -153,17 +153,17 @@
|
|
|
153
153
|
};
|
|
154
154
|
|
|
155
155
|
const AmisEnv = {
|
|
156
|
-
getModalContainer: (props)=>{
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
},
|
|
156
|
+
// getModalContainer: (props)=>{
|
|
157
|
+
// let div = document.querySelector("#amisModalContainer");
|
|
158
|
+
// if(!div){
|
|
159
|
+
// div = document.createElement('div');
|
|
160
|
+
// div.className="amis-scope";
|
|
161
|
+
// div.style.height='0px';
|
|
162
|
+
// div.id="amisModalContainer";
|
|
163
|
+
// document.body.appendChild(div)
|
|
164
|
+
// }
|
|
165
|
+
// return div;
|
|
166
|
+
// },
|
|
167
167
|
jumpTo: (to, action) => {
|
|
168
168
|
if (to === 'goBack') {
|
|
169
169
|
return window.history.back();
|
|
@@ -130,60 +130,6 @@
|
|
|
130
130
|
"labelClassName": "text-left",
|
|
131
131
|
"id": "u:fc07a5376a46"
|
|
132
132
|
},
|
|
133
|
-
{
|
|
134
|
-
"name": "objects",
|
|
135
|
-
"label": "桌面主菜单(已作废)",
|
|
136
|
-
"type": "select",
|
|
137
|
-
"className": "m-0",
|
|
138
|
-
"labelClassName": "text-left",
|
|
139
|
-
"id": "u:4e5047e44905",
|
|
140
|
-
"joinValues": false,
|
|
141
|
-
"extractValue": true,
|
|
142
|
-
"labelField": "label",
|
|
143
|
-
"valueField": "value",
|
|
144
|
-
"multiple": true,
|
|
145
|
-
"checkAll": false,
|
|
146
|
-
"searchable": true,
|
|
147
|
-
"source": {
|
|
148
|
-
"method": "get",
|
|
149
|
-
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/options",
|
|
150
|
-
"headers": {
|
|
151
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"name": "mobile_objects",
|
|
157
|
-
"label": "手机主菜单(已作废)",
|
|
158
|
-
"type": "select",
|
|
159
|
-
"className": "m-0",
|
|
160
|
-
"labelClassName": "text-left",
|
|
161
|
-
"id": "u:cfaeb2f857a8",
|
|
162
|
-
"joinValues": false,
|
|
163
|
-
"extractValue": true,
|
|
164
|
-
"labelField": "label",
|
|
165
|
-
"valueField": "value",
|
|
166
|
-
"multiple": true,
|
|
167
|
-
"checkAll": false,
|
|
168
|
-
"searchable": true,
|
|
169
|
-
"source": {
|
|
170
|
-
"method": "get",
|
|
171
|
-
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/options",
|
|
172
|
-
"messages": {},
|
|
173
|
-
"headers": {
|
|
174
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
"name": "description",
|
|
180
|
-
"label": "描述",
|
|
181
|
-
"type": "textarea",
|
|
182
|
-
"className": "col-span-2 m-0",
|
|
183
|
-
"labelClassName": "text-left",
|
|
184
|
-
"id": "u:40d99f2da55a",
|
|
185
|
-
"tpl": "<b><%=data.description%></b>"
|
|
186
|
-
},
|
|
187
133
|
{
|
|
188
134
|
"name": "is_creator",
|
|
189
135
|
"label": "在桌面中显示此应用",
|
|
@@ -210,6 +156,15 @@
|
|
|
210
156
|
"className": "m-0",
|
|
211
157
|
"labelClassName": "text-left",
|
|
212
158
|
"id": "u:07a8a4c5f875"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "description",
|
|
162
|
+
"label": "描述",
|
|
163
|
+
"type": "textarea",
|
|
164
|
+
"className": "col-span-2 m-0",
|
|
165
|
+
"labelClassName": "text-left",
|
|
166
|
+
"id": "u:40d99f2da55a",
|
|
167
|
+
"tpl": "<b><%=data.description%></b>"
|
|
213
168
|
}
|
|
214
169
|
],
|
|
215
170
|
"id": "u:0b870f195836",
|
|
@@ -489,6 +444,63 @@
|
|
|
489
444
|
}
|
|
490
445
|
],
|
|
491
446
|
"id": "u:17ecc1ec4435"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"title": "其他",
|
|
450
|
+
"body": [
|
|
451
|
+
{
|
|
452
|
+
"type": "wrapper",
|
|
453
|
+
"className": "form-content",
|
|
454
|
+
"body": [
|
|
455
|
+
{
|
|
456
|
+
"name": "objects",
|
|
457
|
+
"label": "桌面主菜单(已作废)",
|
|
458
|
+
"type": "select",
|
|
459
|
+
"className": "m-0",
|
|
460
|
+
"labelClassName": "text-left",
|
|
461
|
+
"id": "u:4e5047e44905",
|
|
462
|
+
"joinValues": false,
|
|
463
|
+
"extractValue": true,
|
|
464
|
+
"labelField": "label",
|
|
465
|
+
"valueField": "value",
|
|
466
|
+
"multiple": true,
|
|
467
|
+
"checkAll": false,
|
|
468
|
+
"searchable": true,
|
|
469
|
+
"source": {
|
|
470
|
+
"method": "get",
|
|
471
|
+
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/options",
|
|
472
|
+
"headers": {
|
|
473
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"name": "mobile_objects",
|
|
479
|
+
"label": "手机主菜单(已作废)",
|
|
480
|
+
"type": "select",
|
|
481
|
+
"className": "m-0",
|
|
482
|
+
"labelClassName": "text-left",
|
|
483
|
+
"id": "u:cfaeb2f857a8",
|
|
484
|
+
"joinValues": false,
|
|
485
|
+
"extractValue": true,
|
|
486
|
+
"labelField": "label",
|
|
487
|
+
"valueField": "value",
|
|
488
|
+
"multiple": true,
|
|
489
|
+
"checkAll": false,
|
|
490
|
+
"searchable": true,
|
|
491
|
+
"source": {
|
|
492
|
+
"method": "get",
|
|
493
|
+
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/options",
|
|
494
|
+
"messages": {},
|
|
495
|
+
"headers": {
|
|
496
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"size": "none"
|
|
502
|
+
}
|
|
503
|
+
]
|
|
492
504
|
}
|
|
493
505
|
],
|
|
494
506
|
"tabsMode": "line",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"recordId": "${recordId}",
|
|
19
19
|
"modalName": "${modalName}"
|
|
20
20
|
},
|
|
21
|
-
"requestAdaptor": "const formData = api.data.$;\nconst objectName = api.data.objectName;\nconst fieldsName = Object.keys(formData);\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\ndelete formData._display;\n\n//数据格式转换\nformData.columns = lodash.map(formData.columns, (item) => {\n return { field: item };\n});\n\nformData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1]};\n});\n\nformData.mobile_columns = lodash.map(formData.mobile_columns, (item) => {\n return { field: item };\n});\n\n\nif (formData._filters_type_controller === 'conditions' && formData._filters_conditions) {\n formData.filters = window.amisConvert.conditionsToFilters(formData._filters_conditions);\n // formData.filters = JSON.stringify(window.amisConvert.conditionsToFilters(formData._filters_conditions), null, 4);\n} else {\n formData.filters = formData._filters_function || null;\n}\n\ndelete formData._filters_type_controller;\ndelete formData._filters_conditions;\ndelete formData._filters_function;\n\nlet query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\nif (formData.recordId) {\n query = `mutation{record: ${objectName}__update(id: \"${formData.recordId}\", doc: {__saveData}){_id}}`;\n};\ndelete formData._id;\nlet __saveData = JSON.stringify(JSON.stringify(formData));\n\napi.data = { query: query.replace('{__saveData}', __saveData) };\nreturn api;",
|
|
21
|
+
"requestAdaptor": "const formData = api.data.$;\nconst objectName = api.data.objectName;\nconst fieldsName = Object.keys(formData);\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\ndelete formData._display;\n\n//数据格式转换\nformData.columns = lodash.map(formData.columns, (item) => {\n return { field: item };\n});\n\nformData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1]};\n});\n\nformData.mobile_columns = lodash.map(formData.mobile_columns, (item) => {\n return { field: item };\n});\n\nformData.searchable_fields = lodash.map(formData.searchable_fields, (item) => {\n return { field: item };\n});\n\n\nif (formData._filters_type_controller === 'conditions' && formData._filters_conditions) {\n formData.filters = window.amisConvert.conditionsToFilters(formData._filters_conditions);\n // formData.filters = JSON.stringify(window.amisConvert.conditionsToFilters(formData._filters_conditions), null, 4);\n} else {\n formData.filters = formData._filters_function || null;\n}\n\ndelete formData._filters_type_controller;\ndelete formData._filters_conditions;\ndelete formData._filters_function;\n\nlet query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\nif (formData.recordId) {\n query = `mutation{record: ${objectName}__update(id: \"${formData.recordId}\", doc: {__saveData}){_id}}`;\n};\ndelete formData._id;\nlet __saveData = JSON.stringify(JSON.stringify(formData));\n\napi.data = { query: query.replace('{__saveData}', __saveData) };\nreturn api;",
|
|
22
22
|
"responseData": {
|
|
23
23
|
"recordId": "${record._id}"
|
|
24
24
|
},
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"method": "post",
|
|
32
32
|
"url": "${context.rootUrl}/graphql?rf=1653731141728",
|
|
33
33
|
"cache": 100,
|
|
34
|
-
"adaptor": "var data = payload.data.data[0] || { _filters_type_controller: 'conditions' };\n//数据格式转换\nif (data) {\n data.columns = lodash.map(data.columns, 'field');\n data.sort = lodash.map(data.sort, (item) => {\n return `${item.field_name}:${item.order || 'asc'}`\n });\n data.mobile_columns = lodash.map(data.mobile_columns, 'field');\n\n if (data.filters && lodash.isString(data.filters)) {\n try {\n data.filters = JSON.parse(data.filters);\n }catch(e){}\n }\n\n if (data.filters && lodash.isString(data.filters)) {\n data._filters_type_controller = 'function';\n } else {\n data._filters_type_controller = 'conditions'\n }\n\n if (data._filters_type_controller === 'conditions') {\n data._filters_conditions = window.amisConvert.filtersToConditions(data.filters || []);\n } else {\n data._filters_function = data.filters;\n }\n}\npayload.data = data;\ndelete payload.extensions;\nreturn payload;",
|
|
34
|
+
"adaptor": "var data = payload.data.data[0] || { _filters_type_controller: 'conditions' };\n//数据格式转换\nif (data) {\n data.columns = lodash.map(data.columns, 'field');\n data.sort = lodash.map(data.sort, (item) => {\n return `${item.field_name}:${item.order || 'asc'}`\n });\n data.mobile_columns = lodash.map(data.mobile_columns, 'field');\n data.searchable_fields = lodash.map(data.searchable_fields, 'field');\n\n if (data.filters && lodash.isString(data.filters)) {\n try {\n data.filters = JSON.parse(data.filters);\n }catch(e){}\n }\n\n if (data.filters && lodash.isString(data.filters)) {\n data._filters_type_controller = 'function';\n } else {\n data._filters_type_controller = 'conditions'\n }\n\n if (data._filters_type_controller === 'conditions') {\n data._filters_conditions = window.amisConvert.filtersToConditions(data.filters || []);\n } else {\n data._filters_function = data.filters;\n }\n}\npayload.data = data;\ndelete payload.extensions;\nreturn payload;",
|
|
35
35
|
"data": {
|
|
36
|
-
"query": "{data:object_listviews(filters:[\"_id\", \"=\", \"${recordId}\"]){_id,label,name,object_name,filter_scope,shared,show_count,columns,filter_fields,sort,filters,filter_logic,mobile_columns,sort_no,created,created_by:created_by__expand{_id,name},modified,modified_by:modified_by__expand{_id,name},_display{shared,show_count,created,modified}}}"
|
|
36
|
+
"query": "{data:object_listviews(filters:[\"_id\", \"=\", \"${recordId}\"]){_id,label,name,object_name,filter_scope,shared,show_count,columns,filter_fields,sort,filters,filter_logic,mobile_columns,searchable_fields,sort_no,created,created_by:created_by__expand{_id,name},modified,modified_by:modified_by__expand{_id,name},enable_amis_schema,amis_schema,_display{shared,show_count,created,modified}}}"
|
|
37
37
|
},
|
|
38
38
|
"sendOn": "!!this.recordId",
|
|
39
39
|
"replaceData": false,
|
|
@@ -398,6 +398,83 @@
|
|
|
398
398
|
"title": "Mobile"
|
|
399
399
|
},
|
|
400
400
|
"id": "u:51174159a42e"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"type": "fieldSet",
|
|
404
|
+
"title": "搜索项",
|
|
405
|
+
"collapsable": true,
|
|
406
|
+
"body": [
|
|
407
|
+
{
|
|
408
|
+
"label": "默认可搜索字段",
|
|
409
|
+
"type": "transfer",
|
|
410
|
+
"name": "searchable_fields",
|
|
411
|
+
"options": [],
|
|
412
|
+
"selectMode": "list",
|
|
413
|
+
"searchable": true,
|
|
414
|
+
"searchApi": "",
|
|
415
|
+
"sortable": true,
|
|
416
|
+
"mode": "normal",
|
|
417
|
+
"searchResultMode": "list",
|
|
418
|
+
"joinValues": false,
|
|
419
|
+
"extractValue": true,
|
|
420
|
+
"source": {
|
|
421
|
+
"method": "get",
|
|
422
|
+
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options",
|
|
423
|
+
"headers": {
|
|
424
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
425
|
+
},
|
|
426
|
+
"data": null,
|
|
427
|
+
"requestAdaptor": "",
|
|
428
|
+
"adaptor": "",
|
|
429
|
+
"sendOn": "!!this.object_name"
|
|
430
|
+
},
|
|
431
|
+
"visibleOn": "!!this.object_name",
|
|
432
|
+
"className": "col-span-2 m-0",
|
|
433
|
+
"en-US": {
|
|
434
|
+
"label": "searchable fields"
|
|
435
|
+
},
|
|
436
|
+
"multiple": true
|
|
437
|
+
}
|
|
438
|
+
],
|
|
439
|
+
"collapsed": true,
|
|
440
|
+
"visibleOn": "!!this.object_name",
|
|
441
|
+
"en-US": {
|
|
442
|
+
"title": "searchable"
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"type": "fieldSet",
|
|
447
|
+
"title": "高级",
|
|
448
|
+
"collapsable": true,
|
|
449
|
+
"body": [
|
|
450
|
+
{
|
|
451
|
+
"name": "enable_amis_schema",
|
|
452
|
+
"type": "checkbox",
|
|
453
|
+
"tpl": null,
|
|
454
|
+
"className": "m-0",
|
|
455
|
+
"labelClassName": "text-left",
|
|
456
|
+
"option": "使用 amis自定义列表",
|
|
457
|
+
"en-US": {
|
|
458
|
+
"option": "Enable amis_schema"
|
|
459
|
+
}
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"type": "editor",
|
|
463
|
+
"name": "amis_schema",
|
|
464
|
+
"label": "Amis Schema",
|
|
465
|
+
"required": false,
|
|
466
|
+
"language": "json",
|
|
467
|
+
"className": "col-span-2 m-1",
|
|
468
|
+
"labelClassName": "text-left",
|
|
469
|
+
"clearValueOnHidden": false,
|
|
470
|
+
"hidden": true
|
|
471
|
+
}
|
|
472
|
+
],
|
|
473
|
+
"collapsed": true,
|
|
474
|
+
"visibleOn": "!!this.object_name",
|
|
475
|
+
"en-US": {
|
|
476
|
+
"title": "Advanced"
|
|
477
|
+
}
|
|
401
478
|
}
|
|
402
479
|
],
|
|
403
480
|
"panelClassName": "m-0",
|
|
@@ -406,7 +483,7 @@
|
|
|
406
483
|
"actionsClassName": "p-sm b-t b-light text-center",
|
|
407
484
|
"className": "steedos-amis-form",
|
|
408
485
|
"language": "javascript",
|
|
409
|
-
"id": "
|
|
486
|
+
"id": "listview_form"
|
|
410
487
|
}
|
|
411
488
|
],
|
|
412
489
|
"regions": [
|
|
@@ -7,45 +7,15 @@
|
|
|
7
7
|
*/
|
|
8
8
|
const AmisSchema = require('./utils/amis-schema');
|
|
9
9
|
const objectql = require("@steedos/objectql");
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const object = objectql.getObject(objectName);
|
|
15
|
-
const objectConfig = clone(object.toConfig());
|
|
16
|
-
// TODO: 后续再支持附件子表
|
|
17
|
-
// let relatedLists = []
|
|
18
|
-
// if(objectConfig.enable_files){
|
|
19
|
-
// relatedLists.push("cms_files.parent")
|
|
20
|
-
// }
|
|
21
|
-
const relationsInfo = await object.getRelationsInfo();
|
|
22
|
-
|
|
23
|
-
// TODO: 跨工作区了,后续需要补充spaceId过滤条件
|
|
24
|
-
const dbListViews = await objectql.getObject("object_listviews").directFind({
|
|
25
|
-
filters: [['object_name', '=', objectName], ['shared', '=', true]]
|
|
26
|
-
})
|
|
27
|
-
|
|
28
|
-
objectConfig.list_views = Object.assign({}, objectConfig.list_views)
|
|
29
|
-
_.each(dbListViews, function(dbListView){
|
|
30
|
-
delete dbListView.created;
|
|
31
|
-
delete dbListView.created_by;
|
|
32
|
-
delete dbListView.modified;
|
|
33
|
-
delete dbListView.modified_by;
|
|
34
|
-
objectConfig.list_views[dbListView.name] = dbListView;
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
objectConfig.details = relationsInfo && relationsInfo.details;
|
|
38
|
-
objectConfig.masters = relationsInfo && relationsInfo.masters;
|
|
39
|
-
objectConfig.lookup_details = relationsInfo && relationsInfo.lookup_details;
|
|
40
|
-
// TODO: 后续再支持related_lists
|
|
41
|
-
// objectConfig.related_lists = relationsInfo && relationsInfo.related_lists;
|
|
42
|
-
|
|
43
|
-
// let lng = objectql.getUserLocale(userSession);
|
|
44
|
-
let lng = "zh-CN";//先写死中文,后续拟通过环境变量配置语言
|
|
45
|
-
steedosI18n.translationObject(lng, object.name, objectConfig);
|
|
46
|
-
return objectConfig;
|
|
10
|
+
|
|
11
|
+
const callObjectServiceAction = async function(actionName, userSession, data){
|
|
12
|
+
const broker = objectql.getSteedosSchema().broker;
|
|
13
|
+
return broker.call(actionName, data || {}, { meta: { user: userSession}})
|
|
47
14
|
}
|
|
48
15
|
|
|
16
|
+
const getUISchema = async function(objectName, userSession){
|
|
17
|
+
return await callObjectServiceAction(`@${objectName}.getRecordView`, userSession);
|
|
18
|
+
}
|
|
49
19
|
|
|
50
20
|
module.exports = {
|
|
51
21
|
name: "amis",
|
|
@@ -132,7 +102,7 @@ module.exports = {
|
|
|
132
102
|
|
|
133
103
|
const AmisLib = require('@steedos-widgets/amis-lib');
|
|
134
104
|
AmisLib.setUISchemaFunction(async function(objectName, force){
|
|
135
|
-
return await
|
|
105
|
+
return await getUISchema(objectName, userSession);
|
|
136
106
|
});
|
|
137
107
|
if(objectApiName){
|
|
138
108
|
let schema;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-plugin-amis",
|
|
3
|
-
"version": "2.3.2
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"main": "package.service.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "node .scripts/build.tailwind.js"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@steedos-widgets/amis-lib": "^0.0.
|
|
14
|
+
"@steedos-widgets/amis-lib": "^0.0.15"
|
|
15
15
|
},
|
|
16
|
-
"gitHead": "
|
|
16
|
+
"gitHead": "3aefe890a87dcdf231a132d180744ee37653dd7c"
|
|
17
17
|
}
|