@steedos-widgets/amis-object 3.6.15 → 6.3.0-beta.11
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/dist/amis-object.cjs.css +45 -3
- package/dist/amis-object.cjs.js +205 -115
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +45 -3
- package/dist/amis-object.esm.js +205 -115
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +45 -3
- package/dist/amis-object.umd.js +103 -93
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +21 -21
- package/dist/meta.js +72 -29
- package/package.json +3 -3
package/dist/amis-object.cjs.js
CHANGED
|
@@ -3751,10 +3751,23 @@ function getNameTpl(field, ctx){
|
|
|
3751
3751
|
if(ctx && ctx.isLookup){
|
|
3752
3752
|
linkTarget = "target='_blank'";
|
|
3753
3753
|
}
|
|
3754
|
+
let nameLabel = field.name;
|
|
3755
|
+
//若字段类型是lookup,则按照相关表tpl的label规则显示;若是其它类型,则显示_display或字段本身的值
|
|
3756
|
+
if (field.type == "lookup") {
|
|
3757
|
+
if(!field.reference_to && (field.optionsFunction || field._optionsFunction || field.options)){
|
|
3758
|
+
if(!field.isTableField){
|
|
3759
|
+
nameLabel = `\${${field.name}__label}`;
|
|
3760
|
+
}
|
|
3761
|
+
} else {
|
|
3762
|
+
nameLabel = `\${_display.${field.name}.label}`;
|
|
3763
|
+
}
|
|
3764
|
+
} else {
|
|
3765
|
+
nameLabel = `\${_display.${field.name} || ${field.name}}`;
|
|
3766
|
+
}
|
|
3754
3767
|
if(ctx.isRelated && window.innerWidth >= 768){
|
|
3755
|
-
return `<a href="${href}" ${linkTarget} onclick="return false;">\${${
|
|
3768
|
+
return `<a href="${href}" ${linkTarget} onclick="return false;">\${${nameLabel} | raw}</a>`
|
|
3756
3769
|
}else {
|
|
3757
|
-
return `<a href="${href}" ${linkTarget}>\${${
|
|
3770
|
+
return `<a href="${href}" ${linkTarget}>\${${nameLabel} | raw}</a>`
|
|
3758
3771
|
}
|
|
3759
3772
|
}
|
|
3760
3773
|
|
|
@@ -3879,7 +3892,7 @@ function getLocationTpl(field){
|
|
|
3879
3892
|
}
|
|
3880
3893
|
|
|
3881
3894
|
async function getFieldTpl (field, options){
|
|
3882
|
-
if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLookLabel){
|
|
3895
|
+
if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLookLabel && field.multiple !== true){
|
|
3883
3896
|
return getNameTpl(field, options)
|
|
3884
3897
|
}
|
|
3885
3898
|
switch (field.type) {
|
|
@@ -3920,7 +3933,7 @@ async function getFieldsTemplate(fields, display){
|
|
|
3920
3933
|
if(display != false){
|
|
3921
3934
|
display = true;
|
|
3922
3935
|
}
|
|
3923
|
-
let fieldsName = ['_id'];
|
|
3936
|
+
let fieldsName = ['_id', 'space'];
|
|
3924
3937
|
let displayFields = [];
|
|
3925
3938
|
let fieldsArr = [];
|
|
3926
3939
|
if(_$1__namespace.isArray(fields)){
|
|
@@ -4841,6 +4854,29 @@ instance
|
|
|
4841
4854
|
}
|
|
4842
4855
|
});
|
|
4843
4856
|
|
|
4857
|
+
/*
|
|
4858
|
+
* @Author: baozhoutao@steedos.com
|
|
4859
|
+
* @Date: 2022-07-13 15:18:03
|
|
4860
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
4861
|
+
* @LastEditTime: 2023-04-11 10:34:26
|
|
4862
|
+
* @Description:
|
|
4863
|
+
*/
|
|
4864
|
+
|
|
4865
|
+
async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
|
|
4866
|
+
const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
|
|
4867
|
+
const page = await fetchAPI(api);
|
|
4868
|
+
if (page && page.schema) {
|
|
4869
|
+
page.schema = JSON.parse(page.schema);
|
|
4870
|
+
if(page.schema.data){
|
|
4871
|
+
delete page.schema.data.recordId;
|
|
4872
|
+
delete page.schema.data.objectName;
|
|
4873
|
+
delete page.schema.data.context;
|
|
4874
|
+
delete page.schema.data.global;
|
|
4875
|
+
}
|
|
4876
|
+
return page;
|
|
4877
|
+
}
|
|
4878
|
+
}
|
|
4879
|
+
|
|
4844
4880
|
async function getQuickEditSchema(object, columnField, options){
|
|
4845
4881
|
let field = object.fields[columnField.name];
|
|
4846
4882
|
//判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑
|
|
@@ -5475,20 +5511,26 @@ async function getTableColumns$1(object, fields, options){
|
|
|
5475
5511
|
}
|
|
5476
5512
|
|
|
5477
5513
|
if(window.innerWidth >= 768 && ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && _$1__namespace.isString(field.reference_to) && field.multiple != true)) && options.isRelated){
|
|
5478
|
-
|
|
5479
|
-
const drawerRecordDetailSchema = {
|
|
5514
|
+
const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });
|
|
5515
|
+
const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
5516
|
+
"recordId": `\${${options.idFieldName}}`,
|
|
5517
|
+
"data": {
|
|
5518
|
+
...recordPage.schema.data,
|
|
5519
|
+
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
5520
|
+
"recordLoaded": false, // 重置数据加载状态
|
|
5521
|
+
}
|
|
5522
|
+
}) : {
|
|
5480
5523
|
"type": "steedos-record-detail",
|
|
5481
5524
|
"objectApiName": "${objectName}",
|
|
5482
5525
|
"recordId": `\${${options.idFieldName}}`,
|
|
5483
5526
|
"showBackButton": false,
|
|
5484
5527
|
"showButtons": true,
|
|
5485
5528
|
"data": {
|
|
5486
|
-
|
|
5487
|
-
|
|
5529
|
+
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
5530
|
+
"recordLoaded": false, // 重置数据加载状态
|
|
5488
5531
|
}
|
|
5489
5532
|
};
|
|
5490
5533
|
|
|
5491
|
-
|
|
5492
5534
|
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
5493
5535
|
drawerRecordDetailSchema.objectApiName = field.reference_to;
|
|
5494
5536
|
drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
|
|
@@ -5504,7 +5546,7 @@ async function getTableColumns$1(object, fields, options){
|
|
|
5504
5546
|
"title": " ",
|
|
5505
5547
|
"headerClassName": "hidden",
|
|
5506
5548
|
"size": "lg",
|
|
5507
|
-
"bodyClassName": "p-0 m-0",
|
|
5549
|
+
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
5508
5550
|
"closeOnEsc": true,
|
|
5509
5551
|
"closeOnOutside": true,
|
|
5510
5552
|
"resizable": true,
|
|
@@ -6440,6 +6482,19 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
6440
6482
|
// })
|
|
6441
6483
|
|
|
6442
6484
|
var fieldNames = _$1__namespace.map(fields, function(n){return n.name});
|
|
6485
|
+
var nameField = object.fields[object.NAME_FIELD_KEY];
|
|
6486
|
+
let nameLabel = nameField && nameField.name;
|
|
6487
|
+
if (nameField && nameField.type == "lookup") {
|
|
6488
|
+
if(!nameField.reference_to && (nameField.optionsFunction || nameField._optionsFunction || nameField.options)){
|
|
6489
|
+
if(!nameField.isTableField){
|
|
6490
|
+
nameLabel = `record.${nameField.name}__label`;
|
|
6491
|
+
}
|
|
6492
|
+
} else {
|
|
6493
|
+
nameLabel = `record._display.${nameField.name}.label`;
|
|
6494
|
+
}
|
|
6495
|
+
} else if (nameField){
|
|
6496
|
+
nameLabel = `record._display.${nameField.name} || record.${nameField.name}`;
|
|
6497
|
+
}
|
|
6443
6498
|
return `
|
|
6444
6499
|
if(payload.data.data.length === 0){
|
|
6445
6500
|
var isEditor = !!${options && options.isEditor};
|
|
@@ -6481,8 +6536,7 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
6481
6536
|
payload.data = data;
|
|
6482
6537
|
payload.data.__objectName = "${object.name}";
|
|
6483
6538
|
payload.data.record = record;
|
|
6484
|
-
|
|
6485
|
-
payload.data.NAME_FIELD_VALUE = record.${object.NAME_FIELD_KEY || 'name'};
|
|
6539
|
+
payload.data.NAME_FIELD_VALUE = ${nameLabel} || record.name;
|
|
6486
6540
|
payload.data._master = {
|
|
6487
6541
|
record: record,
|
|
6488
6542
|
objectName: "${object.name}",
|
|
@@ -7949,7 +8003,8 @@ const getSchema$5 = async (uiSchema, ctx) => {
|
|
|
7949
8003
|
type: 'button',
|
|
7950
8004
|
actionType: 'confirm',
|
|
7951
8005
|
label: instance.t('frontend_form_save'),
|
|
7952
|
-
primary: true
|
|
8006
|
+
primary: true,
|
|
8007
|
+
close: `object_actions_drawer_${uiSchema.name}`
|
|
7953
8008
|
},
|
|
7954
8009
|
]
|
|
7955
8010
|
}
|
|
@@ -7967,29 +8022,6 @@ const getSchema$5 = async (uiSchema, ctx) => {
|
|
|
7967
8022
|
}
|
|
7968
8023
|
};
|
|
7969
8024
|
|
|
7970
|
-
/*
|
|
7971
|
-
* @Author: baozhoutao@steedos.com
|
|
7972
|
-
* @Date: 2022-07-13 15:18:03
|
|
7973
|
-
* @LastEditors: baozhoutao@steedos.com
|
|
7974
|
-
* @LastEditTime: 2023-04-11 10:34:26
|
|
7975
|
-
* @Description:
|
|
7976
|
-
*/
|
|
7977
|
-
|
|
7978
|
-
async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
|
|
7979
|
-
const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
|
|
7980
|
-
const page = await fetchAPI(api);
|
|
7981
|
-
if (page && page.schema) {
|
|
7982
|
-
page.schema = JSON.parse(page.schema);
|
|
7983
|
-
if(page.schema.data){
|
|
7984
|
-
delete page.schema.data.recordId;
|
|
7985
|
-
delete page.schema.data.objectName;
|
|
7986
|
-
delete page.schema.data.context;
|
|
7987
|
-
delete page.schema.data.global;
|
|
7988
|
-
}
|
|
7989
|
-
return page;
|
|
7990
|
-
}
|
|
7991
|
-
}
|
|
7992
|
-
|
|
7993
8025
|
/*
|
|
7994
8026
|
* @Author: baozhoutao@steedos.com
|
|
7995
8027
|
* @Date: 2022-11-01 15:49:58
|
|
@@ -8068,6 +8100,20 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
8068
8100
|
]
|
|
8069
8101
|
}
|
|
8070
8102
|
},
|
|
8103
|
+
"actions": [
|
|
8104
|
+
{
|
|
8105
|
+
type: 'button',
|
|
8106
|
+
actionType: 'cancel',
|
|
8107
|
+
label: instance.t('frontend_form_cancel')
|
|
8108
|
+
},
|
|
8109
|
+
{
|
|
8110
|
+
type: 'button',
|
|
8111
|
+
actionType: 'confirm',
|
|
8112
|
+
label: instance.t('frontend_form_save'),
|
|
8113
|
+
primary: true,
|
|
8114
|
+
close: `object_actions_drawer_${uiSchema.name}`
|
|
8115
|
+
},
|
|
8116
|
+
]
|
|
8071
8117
|
},
|
|
8072
8118
|
},
|
|
8073
8119
|
],
|
|
@@ -8149,7 +8195,8 @@ const getSchema$3 = (uiSchema)=>{
|
|
|
8149
8195
|
}
|
|
8150
8196
|
]
|
|
8151
8197
|
}
|
|
8152
|
-
}
|
|
8198
|
+
},
|
|
8199
|
+
"close": `object_actions_drawer_${uiSchema.name}`
|
|
8153
8200
|
}
|
|
8154
8201
|
],
|
|
8155
8202
|
"regions": [
|
|
@@ -12084,10 +12131,6 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
12084
12131
|
}
|
|
12085
12132
|
}
|
|
12086
12133
|
`;
|
|
12087
|
-
let autoFillHeight = true;
|
|
12088
|
-
if(options.isRelated || window.innerWidth < 768){
|
|
12089
|
-
autoFillHeight = false;
|
|
12090
|
-
}
|
|
12091
12134
|
|
|
12092
12135
|
body = Object.assign({}, table, {
|
|
12093
12136
|
type: 'crud',
|
|
@@ -12098,7 +12141,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
12098
12141
|
keepItemSelectionOnPageChange: true,
|
|
12099
12142
|
api: await getTableApi(objectSchema, fields, options),
|
|
12100
12143
|
hiddenOn: options.tableHiddenOn,
|
|
12101
|
-
autoFillHeight
|
|
12144
|
+
// autoFillHeight,//autoFillHeight按amis规范默认为false,需要配置此属性时在各个组件层配置,比如列表视图组件那边传入此属性为true
|
|
12102
12145
|
className: `flex-auto ${crudClassName || ""}`,
|
|
12103
12146
|
// 这里不可以用动态className,因为它会把样式类加到.antd-Crud和.antd-Table.antd-Crud-body这两层div中,而子表列表中crudClassName中有hidden样式类会造成所有子表都不显示的bug
|
|
12104
12147
|
// className: {
|
|
@@ -12271,6 +12314,10 @@ async function getFormSchemaWithDataFilter(form, options = {}){
|
|
|
12271
12314
|
async function getObjectForm(objectSchema, ctx){
|
|
12272
12315
|
const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign, tabId, appId, defaults, submitSuccActions = [],
|
|
12273
12316
|
formDataFilter, onFormDataFilter, amisData, env } = ctx;
|
|
12317
|
+
//优先识别组件上的enableTabs属性,若不存在,则识别对象上定义的
|
|
12318
|
+
if (typeof ctx.enableTabs !== 'boolean') {
|
|
12319
|
+
ctx.enableTabs = objectSchema.enable_form_tabs;
|
|
12320
|
+
}
|
|
12274
12321
|
const fields = _$1__default["default"].values(objectSchema.fields);
|
|
12275
12322
|
const formFields = getFormFields$1(objectSchema, ctx);
|
|
12276
12323
|
const formSchema = defaults && defaults.formSchema || {};
|
|
@@ -12364,7 +12411,7 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
12364
12411
|
|
|
12365
12412
|
async function getObjectDetail(objectSchema, recordId, ctx){
|
|
12366
12413
|
const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign,
|
|
12367
|
-
formDataFilter, onFormDataFilter, amisData, env } = ctx;
|
|
12414
|
+
formDataFilter, onFormDataFilter, amisData, env, enableInitApi } = ctx;
|
|
12368
12415
|
const fields = _$1__default["default"].values(objectSchema.fields);
|
|
12369
12416
|
const formFields = getFormFields$1(objectSchema, ctx);
|
|
12370
12417
|
const serviceId = `service_detail_page`;
|
|
@@ -12431,6 +12478,16 @@ async function getObjectDetail(objectSchema, recordId, ctx){
|
|
|
12431
12478
|
// }
|
|
12432
12479
|
};
|
|
12433
12480
|
|
|
12481
|
+
if(enableInitApi){
|
|
12482
|
+
amisSchema.api = await getReadonlyFormInitApi(objectSchema, recordId, fields, ctx);
|
|
12483
|
+
// 开启初始化api请求时,如果不把recordLoaded默认设置为false,recordLoaded值会取RecordServic组件中的recordLoaded值
|
|
12484
|
+
// 这会造成表单内steedos field组件lookup字段中props.data取到的是RecordServic组件
|
|
12485
|
+
amisSchema.data = {
|
|
12486
|
+
...amisSchema.data,
|
|
12487
|
+
recordLoaded: false
|
|
12488
|
+
};
|
|
12489
|
+
}
|
|
12490
|
+
|
|
12434
12491
|
amisSchema.body[0].body = await getFormSchemaWithDataFilter(amisSchema.body[0].body, { formDataFilter, onFormDataFilter, amisData, env });
|
|
12435
12492
|
// console.log('getObjectDetail=====>', amisSchema);
|
|
12436
12493
|
return amisSchema;
|
|
@@ -12922,7 +12979,7 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
|
|
|
12922
12979
|
* @Author: baozhoutao@steedos.com
|
|
12923
12980
|
* @Date: 2022-07-05 15:55:39
|
|
12924
12981
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
12925
|
-
* @LastEditTime: 2024-
|
|
12982
|
+
* @LastEditTime: 2024-04-26 16:46:44
|
|
12926
12983
|
* @Description:
|
|
12927
12984
|
*/
|
|
12928
12985
|
|
|
@@ -13187,37 +13244,44 @@ async function getListSchema(
|
|
|
13187
13244
|
* 本次存储代码段
|
|
13188
13245
|
*/
|
|
13189
13246
|
try {
|
|
13190
|
-
|
|
13191
|
-
|
|
13192
|
-
|
|
13193
|
-
|
|
13194
|
-
|
|
13195
|
-
|
|
13196
|
-
|
|
13197
|
-
|
|
13198
|
-
|
|
13199
|
-
|
|
13200
|
-
|
|
13201
|
-
|
|
13202
|
-
|
|
13203
|
-
|
|
13204
|
-
|
|
13205
|
-
|
|
13206
|
-
|
|
13207
|
-
|
|
13208
|
-
|
|
13209
|
-
|
|
13210
|
-
|
|
13211
|
-
|
|
13247
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
13248
|
+
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
13249
|
+
/**
|
|
13250
|
+
* localListViewProps规范来自crud请求api中api.data.$self参数值的。
|
|
13251
|
+
* 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
|
|
13252
|
+
* __searchable__...:顶部放大镜搜索条件
|
|
13253
|
+
* filter:右侧过滤器
|
|
13254
|
+
* perPage:每页条数
|
|
13255
|
+
* page:当前页码
|
|
13256
|
+
* orderBy:排序字段
|
|
13257
|
+
* orderDir:排序方向
|
|
13258
|
+
*/
|
|
13259
|
+
if (localListViewProps) {
|
|
13260
|
+
localListViewProps = JSON.parse(localListViewProps);
|
|
13261
|
+
// localListViewProps.perPage = 3;
|
|
13262
|
+
let listSchema = {};
|
|
13263
|
+
if (localListViewProps.orderBy) {
|
|
13264
|
+
listSchema.orderBy = localListViewProps.orderBy;
|
|
13265
|
+
}
|
|
13266
|
+
if (localListViewProps.orderDir) {
|
|
13267
|
+
listSchema.orderDir = localListViewProps.orderDir;
|
|
13268
|
+
}
|
|
13212
13269
|
|
|
13213
|
-
|
|
13214
|
-
|
|
13270
|
+
if (localListViewProps.perPage) {
|
|
13271
|
+
listSchema.perPage = localListViewProps.perPage;
|
|
13272
|
+
}
|
|
13273
|
+
defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
|
|
13215
13274
|
}
|
|
13216
|
-
defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
|
|
13217
|
-
}
|
|
13218
13275
|
}
|
|
13219
13276
|
catch (ex) {
|
|
13220
|
-
|
|
13277
|
+
console.error("本地存储中crud参数解析异常:", ex);
|
|
13278
|
+
}
|
|
13279
|
+
|
|
13280
|
+
if (window.innerWidth > 768) {
|
|
13281
|
+
// 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许重写微页面中重新组件autoFillHeight属性
|
|
13282
|
+
defaults.listSchema = _$1.defaultsDeep({}, defaults.listSchema || {}, {
|
|
13283
|
+
autoFillHeight: true
|
|
13284
|
+
});
|
|
13221
13285
|
}
|
|
13222
13286
|
|
|
13223
13287
|
ctx.defaults = defaults;
|
|
@@ -13267,15 +13331,15 @@ async function getListSchema(
|
|
|
13267
13331
|
async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
|
|
13268
13332
|
let fields = [];
|
|
13269
13333
|
for (const column of columns) {
|
|
13334
|
+
let columnField, fieldName, displayName, filedInfo, rfUiSchema, rfFieldInfo;
|
|
13270
13335
|
if (_$1.isString(column)) {
|
|
13271
|
-
let columnField;
|
|
13272
13336
|
if (column.indexOf('.') > 0) {
|
|
13273
|
-
|
|
13274
|
-
|
|
13275
|
-
|
|
13337
|
+
fieldName = column.split('.')[0];
|
|
13338
|
+
displayName = column.split('.')[1];
|
|
13339
|
+
filedInfo = uiSchema.fields[fieldName];
|
|
13276
13340
|
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)) {
|
|
13277
|
-
|
|
13278
|
-
|
|
13341
|
+
rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
13342
|
+
rfFieldInfo = rfUiSchema.fields[displayName];
|
|
13279
13343
|
columnField = Object.assign({}, rfFieldInfo, { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } }, ctx);
|
|
13280
13344
|
}else if(filedInfo && filedInfo.type === 'object'){
|
|
13281
13345
|
columnField = uiSchema.fields[column];
|
|
@@ -13299,14 +13363,13 @@ async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
|
|
|
13299
13363
|
}
|
|
13300
13364
|
|
|
13301
13365
|
} else if (_$1.isObject(column)) {
|
|
13302
|
-
let columnField;
|
|
13303
13366
|
if (column.field.indexOf('.') > 0) {
|
|
13304
|
-
|
|
13305
|
-
|
|
13306
|
-
|
|
13367
|
+
fieldName = column.field.split('.')[0];
|
|
13368
|
+
displayName = column.field.split('.')[1];
|
|
13369
|
+
filedInfo = uiSchema.fields[fieldName];
|
|
13307
13370
|
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)) {
|
|
13308
|
-
|
|
13309
|
-
|
|
13371
|
+
rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
13372
|
+
rfFieldInfo = rfUiSchema.fields[displayName];
|
|
13310
13373
|
columnField = Object.assign({}, rfFieldInfo, ctx,
|
|
13311
13374
|
{ name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } },
|
|
13312
13375
|
{
|
|
@@ -13314,6 +13377,8 @@ async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
|
|
|
13314
13377
|
wrap: column.wrap // wrap = true 是没效果的
|
|
13315
13378
|
}
|
|
13316
13379
|
);
|
|
13380
|
+
} else if (filedInfo && filedInfo.type === 'object') {
|
|
13381
|
+
columnField = uiSchema.fields[column.field];
|
|
13317
13382
|
}
|
|
13318
13383
|
} else {
|
|
13319
13384
|
if (uiSchema.fields[column.field]) {
|
|
@@ -13448,7 +13513,7 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
|
13448
13513
|
};
|
|
13449
13514
|
const content = {
|
|
13450
13515
|
"type": "tabs",
|
|
13451
|
-
"className": "steedos-record-tabs bg-white p-4
|
|
13516
|
+
"className": "steedos-record-tabs bg-white p-4 m-2 border rounded",
|
|
13452
13517
|
"contentClassName": "bg-none",
|
|
13453
13518
|
"tabs": [
|
|
13454
13519
|
detailed
|
|
@@ -13524,6 +13589,10 @@ async function getRecordServiceSchema(objectName, appId, props = {}, body) {
|
|
|
13524
13589
|
data: {
|
|
13525
13590
|
"_master.objectName": "${objectName}",
|
|
13526
13591
|
"_master.recordId": "${recordId}",
|
|
13592
|
+
// 微页面设计器中用RecordServic组件包裹一个ObjectForm只读组件时,如果这里不把recordLoaded默认设置为false
|
|
13593
|
+
// recordLoaded值会取父作用域中已经被设置为true的值(比如父级有RecordServic组件,在加载完数据后,父作用域中recordLoaded值为true)
|
|
13594
|
+
// 这会造成表单内steedos field组件lookup字段中props.data取到的是父作用域中的数据
|
|
13595
|
+
"recordLoaded": false,
|
|
13527
13596
|
...(props.data || {})
|
|
13528
13597
|
},
|
|
13529
13598
|
"style": {
|
|
@@ -14412,7 +14481,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
14412
14481
|
});
|
|
14413
14482
|
|
|
14414
14483
|
// 把自动填充规则中依赖的字段也加到api请求中
|
|
14415
|
-
let autoFillMapping =
|
|
14484
|
+
let autoFillMapping = field.auto_fill_mapping;
|
|
14416
14485
|
if (autoFillMapping && autoFillMapping.length) {
|
|
14417
14486
|
autoFillMapping.forEach(function (item) {
|
|
14418
14487
|
if(!_$1__namespace.find(tableFields, function(f){
|
|
@@ -14562,7 +14631,11 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
14562
14631
|
// 如果当前元素不是数组,则处理该元素
|
|
14563
14632
|
// 下面正则用于匹配amis公式\${}
|
|
14564
14633
|
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14565
|
-
|
|
14634
|
+
try{
|
|
14635
|
+
arr[i] = currentAmis.evaluate(arr[i], api.context);
|
|
14636
|
+
}catch(ex){
|
|
14637
|
+
console.error("运行lookup过滤公式时出现错误:",ex);
|
|
14638
|
+
}
|
|
14566
14639
|
}
|
|
14567
14640
|
}
|
|
14568
14641
|
}
|
|
@@ -14884,7 +14957,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
14884
14957
|
];
|
|
14885
14958
|
|
|
14886
14959
|
// 把自动填充规则中依赖的字段也加到api请求中
|
|
14887
|
-
let autoFillMapping =
|
|
14960
|
+
let autoFillMapping = field.auto_fill_mapping;
|
|
14888
14961
|
if (autoFillMapping && autoFillMapping.length) {
|
|
14889
14962
|
autoFillMapping.forEach(function (item) {
|
|
14890
14963
|
queryFields.push(refObjectConfig.fields[item.from]);
|
|
@@ -14970,6 +15043,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
14970
15043
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
14971
15044
|
var currentAmis = amisRequire('amis');
|
|
14972
15045
|
//递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
|
|
15046
|
+
debugger;
|
|
14973
15047
|
function traverseNestedArray(arr) {
|
|
14974
15048
|
for (let i = 0; i < arr.length; i++) {
|
|
14975
15049
|
if (Array.isArray(arr[i])) {
|
|
@@ -14979,7 +15053,11 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
14979
15053
|
// 如果当前元素不是数组,则处理该元素
|
|
14980
15054
|
// 下面正则用于匹配amis公式\${}
|
|
14981
15055
|
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14982
|
-
|
|
15056
|
+
try{
|
|
15057
|
+
arr[i] = currentAmis.evaluate(arr[i], api.context);
|
|
15058
|
+
}catch(ex){
|
|
15059
|
+
console.error("运行lookup过滤公式时出现错误:",ex);
|
|
15060
|
+
}
|
|
14983
15061
|
}
|
|
14984
15062
|
}
|
|
14985
15063
|
}
|
|
@@ -15126,14 +15204,25 @@ async function getApi(object, recordId, fields, options){
|
|
|
15126
15204
|
}
|
|
15127
15205
|
|
|
15128
15206
|
async function getAutoFill(field, refObject) {
|
|
15129
|
-
let autoFillMapping =
|
|
15207
|
+
let autoFillMapping = field.auto_fill_mapping;
|
|
15130
15208
|
if (autoFillMapping && autoFillMapping.length) {
|
|
15131
15209
|
let fillMapping = {};
|
|
15210
|
+
if (field.multiple) {
|
|
15211
|
+
autoFillMapping.forEach(function (item) {
|
|
15212
|
+
//from的字段类型为lookup、master_detail、select时,需要保留数组格式;其他类型需要转变为字符串格式
|
|
15213
|
+
if (_$1__namespace.includes(["lookup","master_detail","select"], refObject.fields[item.from].type)) {
|
|
15214
|
+
fillMapping[item.to] = `\${items | pick:${item.from}}`;
|
|
15215
|
+
} else {
|
|
15216
|
+
fillMapping[item.to] = `\${items | pick:${item.from} | join}`;
|
|
15217
|
+
}
|
|
15218
|
+
});
|
|
15219
|
+
}else {
|
|
15220
|
+
autoFillMapping.forEach(function (item) {
|
|
15221
|
+
fillMapping[item.to] = `\${${item.from}}`;
|
|
15222
|
+
});
|
|
15223
|
+
}
|
|
15132
15224
|
// let fieldsForApi = [];
|
|
15133
|
-
|
|
15134
|
-
fillMapping[item.to] = `\${${item.from}}`;
|
|
15135
|
-
// fieldsForApi.push(item.from);
|
|
15136
|
-
});
|
|
15225
|
+
// fieldsForApi.push(item.from);
|
|
15137
15226
|
// let api = {
|
|
15138
15227
|
// // "url": "/amis/api/mock2/form/autoUpdate?browser=${browser}&version=${version}",
|
|
15139
15228
|
// "url": `/api/v1/${refObject.name}/\${${field.name}}?fields=${JSON.stringify(fieldsForApi)}`,
|
|
@@ -15235,7 +15324,7 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
15235
15324
|
amisSchema = _$1__namespace.defaultsDeep({}, pageAmisSchema, amisSchema);
|
|
15236
15325
|
}
|
|
15237
15326
|
}
|
|
15238
|
-
const autoFill = await getAutoFill(field);
|
|
15327
|
+
const autoFill = await getAutoFill(field, refObject);
|
|
15239
15328
|
if(autoFill){
|
|
15240
15329
|
amisSchema.autoFill = autoFill;
|
|
15241
15330
|
// 这里不配置initAutoFill值,按amis规则initAutoFill默认值为fillIfNotSet处理--需要amis sdk 版本 > 3.6.3-patch.6(不包括)版本
|
|
@@ -21499,11 +21588,11 @@ var SteedosSkeleton = function (props) {
|
|
|
21499
21588
|
};
|
|
21500
21589
|
|
|
21501
21590
|
var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
21502
|
-
var $schema, recordId, defaultData, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData
|
|
21591
|
+
var $schema, recordId, defaultData, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, enableInitApi, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData;
|
|
21503
21592
|
return __generator(this, function (_f) {
|
|
21504
21593
|
switch (_f.label) {
|
|
21505
21594
|
case 0:
|
|
21506
|
-
$schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, _a = props.layout, layout = _a === void 0 ? "horizontal" : _a, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _b = props.excludedFields, excludedFields = _b === void 0 ? null : _b, _c = props.fields, fields = _c === void 0 ? null : _c, _d = props.form, form = _d === void 0 ? {} : _d, _e = props.className, className = _e === void 0 ? "" : _e, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode, submitSuccActions = props.submitSuccActions, data = props.data, formDataFilter = props.formDataFilter, onFormDataFilter = props.onFormDataFilter, env = props.env;
|
|
21595
|
+
$schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, _a = props.layout, layout = _a === void 0 ? "horizontal" : _a, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _b = props.excludedFields, excludedFields = _b === void 0 ? null : _b, _c = props.fields, fields = _c === void 0 ? null : _c, _d = props.form, form = _d === void 0 ? {} : _d, _e = props.className, className = _e === void 0 ? "" : _e, enableInitApi = props.enableInitApi, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode, submitSuccActions = props.submitSuccActions, data = props.data, formDataFilter = props.formDataFilter, onFormDataFilter = props.onFormDataFilter, env = props.env;
|
|
21507
21596
|
objectApiName = props.objectApiName || "space_users";
|
|
21508
21597
|
schemaKeys = _$1.difference(_$1.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
|
|
21509
21598
|
formSchema = _$1.pick(props, schemaKeys);
|
|
@@ -21559,6 +21648,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
21559
21648
|
options.isEditor = true;
|
|
21560
21649
|
}
|
|
21561
21650
|
return [4 /*yield*/, getViewSchema(objectApiName, recordId, Object.assign({}, options, {
|
|
21651
|
+
enableInitApi: enableInitApi,
|
|
21562
21652
|
initApiRequestAdaptor: initApiRequestAdaptor,
|
|
21563
21653
|
initApiAdaptor: initApiAdaptor,
|
|
21564
21654
|
enableTabs: enableTabs,
|
|
@@ -21588,16 +21678,6 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
21588
21678
|
if (_$1.has(props, 'objectApiName')) {
|
|
21589
21679
|
amisSchema.data.objectName = objectApiName;
|
|
21590
21680
|
}
|
|
21591
|
-
if (props.$$editor) {
|
|
21592
|
-
fieldsArray = fields || [];
|
|
21593
|
-
excludedFieldsArray = excludedFields || [];
|
|
21594
|
-
InitApiResendOn = fieldsArray.concat(excludedFieldsArray).join('');
|
|
21595
|
-
if (InitApiResendOn) {
|
|
21596
|
-
amisSchema.data.InitApiResendOn = InitApiResendOn;
|
|
21597
|
-
amisSchema.api.url += "&InitApiResendOn=${InitApiResendOn}";
|
|
21598
|
-
// amisSchema.api.InitApiResendOn = "${InitApiResendOn}"; 这种写法有bug,当多选几个显示的字段/排除的字段时,表单一直loding。
|
|
21599
|
-
}
|
|
21600
|
-
}
|
|
21601
21681
|
return [2 /*return*/, amisSchema];
|
|
21602
21682
|
}
|
|
21603
21683
|
});
|
|
@@ -22015,12 +22095,12 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
|
|
|
22015
22095
|
/*
|
|
22016
22096
|
* @Author: baozhoutao@steedos.com
|
|
22017
22097
|
* @Date: 2022-12-08 10:32:17
|
|
22018
|
-
* @LastEditors:
|
|
22019
|
-
* @LastEditTime: 2024-
|
|
22098
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
22099
|
+
* @LastEditTime: 2024-04-25 19:21:15
|
|
22020
22100
|
* @Description:
|
|
22021
22101
|
*/
|
|
22022
22102
|
var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
22023
|
-
var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema;
|
|
22103
|
+
var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema, formData;
|
|
22024
22104
|
return __generator(this, function (_b) {
|
|
22025
22105
|
switch (_b.label) {
|
|
22026
22106
|
case 0:
|
|
@@ -22047,6 +22127,14 @@ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void
|
|
|
22047
22127
|
}
|
|
22048
22128
|
Object.assign(schema.style, style);
|
|
22049
22129
|
}
|
|
22130
|
+
formData = {};
|
|
22131
|
+
if (_$1.has(props, "recordId") && $schema.recordId !== "${recordId}") {
|
|
22132
|
+
formData.recordId = props.recordId;
|
|
22133
|
+
}
|
|
22134
|
+
schema.data = Object.assign({}, schema.data || {}, formData);
|
|
22135
|
+
if (_$1.has(props, 'objectApiName')) {
|
|
22136
|
+
schema.data.objectName = objectApiName;
|
|
22137
|
+
}
|
|
22050
22138
|
// console.log(`AmisRecordService====schema==>`, schema)
|
|
22051
22139
|
return [2 /*return*/, schema];
|
|
22052
22140
|
}
|
|
@@ -22632,7 +22720,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
22632
22720
|
schemaApi: {
|
|
22633
22721
|
"method": "get",
|
|
22634
22722
|
"url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus"),
|
|
22635
|
-
"adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 whitespace-normal leading-6 block -ml-px no-underline group flex items-center text-[14px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 whitespace-normal leading-6 block -ml-px no-underline group flex items-center text-[14px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 whitespace-normal leading-6 block -ml-px no-underline group flex items-center text-[14px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n });\n })\n }\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n // let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n // \u6CA1\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u6309index\u6392\u5217\u5728\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u524D\u65B9\n return (tab.index || 0) - 1000;\n }\n })\n payload.data = {\n \"type\":\"service\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": data.nav,\n \"keyvalues\": \"${ss:keyvalues}\"\n },\n \"id\": \"appMenuService\",\n \"onEvent\": {\n \"@data.changed.steedos_keyvalues\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n \"keyvalues\": \"${event.data.keyvalues}\"\n }\n }\n }\n ]\n }\n },\n \"body\":{\n \"type\": \"nav\",\n className: \"").concat(className, " text-black\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"source\": \"${items}\",\n //\u5DE6\u5C42\u663E\u793A\u65F6\u5BA1\u6279\u5355\u663E\u793Abadge\u6570\u91CF\n \"itemBadge\": {\n \"mode\": \"text\",\n \"text\": \"").concat(badgeText, "\",\n \"visibleOn\": \"${id == 'instance_tasks'}\",\n \"overflowCount\": 99,\n \"style\": stacked?{\n \"right\": \"20%\",\n \"margin-right\": \"-23px\",\n \"height\": \"20px\",\n \"border-radius\": \"10px\",\n \"font-size\": \"16px\",\n \"line-height\": \"18px\",\n \"top\": \"50%\"\n }:{\n \"transform\": \"translate(calc(50% - 17px), calc(-50% + 10px))\",\n \"border-radius\": \"6.5px\",\n \"height\": \"15px\",\n \"line-height\": \"13px\",\n \"padding\": \"0px 4px\",\n \"font-size\": \"12px\"\n }\n },\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n };\n } catch (error) {\n console.log(`error`, error)\n }\n // console.log('payload===2==>', payload)\n return payload;\n "),
|
|
22723
|
+
"adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 block no-underline group flex items-center text-[14px] rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } slds-icon !fill-white rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 block no-underline group flex items-center text-[14px] rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } !fill-white slds-icon rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 block no-underline group flex items-center text-[14px] rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } slds-icon !fill-white rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n });\n })\n }\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n // let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n // \u6CA1\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u6309index\u6392\u5217\u5728\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u524D\u65B9\n return (tab.index || 0) - 1000;\n }\n })\n payload.data = {\n \"type\":\"service\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": data.nav,\n \"keyvalues\": \"${ss:keyvalues}\"\n },\n \"id\": \"appMenuService\",\n \"onEvent\": {\n \"@data.changed.steedos_keyvalues\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n \"keyvalues\": \"${event.data.keyvalues}\"\n }\n }\n }\n ]\n }\n },\n \"body\":{\n \"type\": \"nav\",\n \"searchable\": ").concat(stacked, ",\n \"searchConfig\": {\n \"placeholder\": \"\u641C\u7D22\u83DC\u5355\",\n \"matchFunc\": \"return link.searchKey && link.searchKey.indexOf(keyword)>=0;\"\n },\n className: \"").concat(className, " text-black steedos-app-menu ").concat(stacked ? 'stacked' : '', "\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"source\": \"${items}\",\n //\u5DE6\u5C42\u663E\u793A\u65F6\u5BA1\u6279\u5355\u663E\u793Abadge\u6570\u91CF\n \"itemBadge\": {\n \"mode\": \"text\",\n \"text\": \"").concat(badgeText, "\",\n \"visibleOn\": \"${id == 'instance_tasks'}\",\n \"overflowCount\": 99,\n \"style\": stacked?{\n \"right\": \"20%\",\n \"margin-right\": \"-23px\",\n \"height\": \"20px\",\n \"border-radius\": \"10px\",\n \"font-size\": \"16px\",\n \"line-height\": \"18px\",\n \"top\": \"50%\"\n }:{\n \"transform\": \"translate(calc(50% - 17px), calc(-50% + 10px))\",\n \"border-radius\": \"6.5px\",\n \"height\": \"15px\",\n \"line-height\": \"13px\",\n \"padding\": \"0px 4px\",\n \"font-size\": \"12px\"\n }\n },\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n };\n } catch (error) {\n console.log(`error`, error)\n }\n // console.log('payload===2==>', payload)\n return payload;\n "),
|
|
22636
22724
|
"headers": {
|
|
22637
22725
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
22638
22726
|
}
|
|
@@ -23069,7 +23157,8 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
|
|
|
23069
23157
|
"color": "#FFFFFF"
|
|
23070
23158
|
},
|
|
23071
23159
|
},
|
|
23072
|
-
]
|
|
23160
|
+
],
|
|
23161
|
+
"xs": "auto"
|
|
23073
23162
|
},
|
|
23074
23163
|
{
|
|
23075
23164
|
"body": [
|
|
@@ -23085,7 +23174,8 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
|
|
|
23085
23174
|
"tpl": "${context.user.email}",
|
|
23086
23175
|
"inline": true,
|
|
23087
23176
|
},
|
|
23088
|
-
]
|
|
23177
|
+
],
|
|
23178
|
+
"columnClassName": "break-all"
|
|
23089
23179
|
}
|
|
23090
23180
|
]
|
|
23091
23181
|
},
|
|
@@ -23330,7 +23420,7 @@ var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void
|
|
|
23330
23420
|
body: [
|
|
23331
23421
|
{
|
|
23332
23422
|
type: "wrapper",
|
|
23333
|
-
className: 'sidebar-wrapper px-0
|
|
23423
|
+
className: 'sidebar-wrapper px-0 py-3 pb-16 fixed z-20 h-full h-fill ease-in-out duration-300 flex flex-col border-r overflow-y-auto bg-gray-50 border-gray-200 block -translate-x-0 sm:w-[220px] w-64',
|
|
23334
23424
|
body: [
|
|
23335
23425
|
{
|
|
23336
23426
|
"type": "steedos-app-launcher",
|
|
@@ -23440,7 +23530,7 @@ var REFERENCE_VALUE_ITEM_ONCLICK = {
|
|
|
23440
23530
|
"title": " ",
|
|
23441
23531
|
"headerClassName": "hidden",
|
|
23442
23532
|
"size": "lg",
|
|
23443
|
-
"bodyClassName": "p-0 m-0",
|
|
23533
|
+
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
23444
23534
|
"closeOnEsc": true,
|
|
23445
23535
|
"closeOnOutside": true,
|
|
23446
23536
|
"resizable": true,
|
|
@@ -24378,7 +24468,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
|
|
|
24378
24468
|
recordPage = _a.sent();
|
|
24379
24469
|
recordSchema = recordPage ? recordPage.schema : {
|
|
24380
24470
|
"type": "wrapper",
|
|
24381
|
-
"className": "steedos-record-content overflow-y-auto p-0 m-0 flex-1 h-full",
|
|
24471
|
+
"className": "steedos-record-content overflow-y-auto p-0 m-0 flex-1 h-full bg-gray-100",
|
|
24382
24472
|
"name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
|
|
24383
24473
|
"body": [
|
|
24384
24474
|
{
|