@steedos-widgets/amis-lib 6.3.12-beta.8 → 6.3.12
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/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +304 -55
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +304 -55
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +100 -56
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/file.d.ts +2 -2
- package/dist/types/lib/converter/amis/fields_filter.d.ts +1 -10
- package/dist/types/lib/converter/amis/header.d.ts +1 -10
- package/dist/types/lib/converter/amis/toolbar.d.ts +1 -10
- package/dist/types/schema/standard_delete.amis.d.ts +13 -0
- package/dist/types/standard/button.d.ts +13 -0
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -505,8 +505,8 @@ function getComparableAmisVersion() {
|
|
|
505
505
|
/*
|
|
506
506
|
* @Author: baozhoutao@steedos.com
|
|
507
507
|
* @Date: 2022-05-23 09:53:08
|
|
508
|
-
* @LastEditors:
|
|
509
|
-
* @LastEditTime:
|
|
508
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
509
|
+
* @LastEditTime: 2025-04-08 10:55:41
|
|
510
510
|
* @Description:
|
|
511
511
|
*/
|
|
512
512
|
|
|
@@ -663,9 +663,10 @@ function getRelatedFieldTpl(field, ctx){
|
|
|
663
663
|
const href = Router.getObjectDetailPath({
|
|
664
664
|
formFactor: ctx.formFactor, appId: "${appId}", objectName: `${objectNameTpl}`, recordId: `${recordIdTpl}`
|
|
665
665
|
});
|
|
666
|
-
if(ctx.isRelated && window.innerWidth >= 768
|
|
666
|
+
if (window.innerWidth >= 768) { //(ctx.isRelated || isObjectListview) && window.innerWidth >= 768
|
|
667
|
+
// 相关表字段,包括列表视图、对象表格组件中的lookup/master_detail字段,在PC端显示时,点击字段值,不跳转到详情页而是右侧弹出drawer
|
|
667
668
|
labelTpl = `<a href="${href}" ${linkTarget} onclick="return false;">${labelTpl}</a>`;
|
|
668
|
-
}else {
|
|
669
|
+
} else {
|
|
669
670
|
labelTpl = `<a href="${href}" ${linkTarget}>${labelTpl}</a>`;
|
|
670
671
|
}
|
|
671
672
|
|
|
@@ -1213,7 +1214,7 @@ async function getPage({type, pageId = '', appId, objectName = '', recordId = ''
|
|
|
1213
1214
|
* @Author: baozhoutao@steedos.com
|
|
1214
1215
|
* @Date: 2022-10-28 14:15:09
|
|
1215
1216
|
* @LastEditors: baozhoutao@steedos.com
|
|
1216
|
-
* @LastEditTime:
|
|
1217
|
+
* @LastEditTime: 2025-02-13 09:31:02
|
|
1217
1218
|
* @Description:
|
|
1218
1219
|
*/
|
|
1219
1220
|
|
|
@@ -1272,7 +1273,7 @@ async function getLookupLinkOnClick(field, options) {
|
|
|
1272
1273
|
"title": " ",
|
|
1273
1274
|
"headerClassName": "hidden",
|
|
1274
1275
|
"size": "lg",
|
|
1275
|
-
"width": "70%",
|
|
1276
|
+
"width": window.drawerWidth || "70%",
|
|
1276
1277
|
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
1277
1278
|
"closeOnEsc": true,
|
|
1278
1279
|
"closeOnOutside": true,
|
|
@@ -1868,7 +1869,6 @@ async function getQuickEditSchema(object, columnField, options){
|
|
|
1868
1869
|
{
|
|
1869
1870
|
actionType: "custom",
|
|
1870
1871
|
script: `
|
|
1871
|
-
console.log("asdasd");
|
|
1872
1872
|
let items = _.cloneDeep(event.data.items);
|
|
1873
1873
|
let selectedItems = _.cloneDeep(event.data.selectedItems);
|
|
1874
1874
|
if(event.data.isBatchEdit){
|
|
@@ -1897,7 +1897,12 @@ async function getQuickEditSchema(object, columnField, options){
|
|
|
1897
1897
|
if (field.disabled) {
|
|
1898
1898
|
quickEditSchema = false;
|
|
1899
1899
|
} else {
|
|
1900
|
-
var
|
|
1900
|
+
var fieldCtx = Object.assign({}, _$1.omit(options, 'buttons'), {
|
|
1901
|
+
defaults: Object.assign({}, options.defaults, {
|
|
1902
|
+
formSchema: quickEditSchema
|
|
1903
|
+
})
|
|
1904
|
+
});
|
|
1905
|
+
var fieldSchema = await convertSFieldToAmisField(field, false, fieldCtx);
|
|
1901
1906
|
//存在属性上可编辑,实际不可编辑的字段,convertSFieldToAmisField函数可能会返回undefined,如summary
|
|
1902
1907
|
if (!!fieldSchema) {
|
|
1903
1908
|
quickEditSchema.body.push(fieldSchema);
|
|
@@ -2330,14 +2335,19 @@ function getFieldWidth(width){
|
|
|
2330
2335
|
}
|
|
2331
2336
|
|
|
2332
2337
|
async function getColumnItemOnClick(field, options){
|
|
2333
|
-
|
|
2338
|
+
let objectApiName = options.objectName;
|
|
2339
|
+
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
2340
|
+
objectApiName = field.reference_to;
|
|
2341
|
+
}
|
|
2342
|
+
const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: objectApiName, formFactor: options.formFactor });
|
|
2334
2343
|
const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
2335
2344
|
"recordId": `\${${options.idFieldName}}`,
|
|
2336
2345
|
"data": {
|
|
2337
2346
|
...recordPage.schema.data,
|
|
2338
2347
|
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2339
2348
|
"recordLoaded": false, // 重置数据加载状态
|
|
2340
|
-
"recordId": `\${${options.idFieldName}}
|
|
2349
|
+
"recordId": `\${${options.idFieldName}}`,//审批微页面依赖了作用域中的recordId
|
|
2350
|
+
"_tableObjectName": options.objectName
|
|
2341
2351
|
}
|
|
2342
2352
|
}) : {
|
|
2343
2353
|
"type": "steedos-record-detail",
|
|
@@ -2348,12 +2358,16 @@ async function getColumnItemOnClick(field, options){
|
|
|
2348
2358
|
"data": {
|
|
2349
2359
|
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2350
2360
|
"recordLoaded": false, // 重置数据加载状态
|
|
2361
|
+
"_tableObjectName": options.objectName
|
|
2351
2362
|
}
|
|
2352
2363
|
};
|
|
2353
2364
|
|
|
2354
2365
|
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
2355
2366
|
drawerRecordDetailSchema.objectApiName = field.reference_to;
|
|
2356
2367
|
drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
|
|
2368
|
+
// if (recordPage){
|
|
2369
|
+
// drawerRecordDetailSchema.data.recordId = `\${_display.${field.name}.value}`
|
|
2370
|
+
// }
|
|
2357
2371
|
}
|
|
2358
2372
|
return {
|
|
2359
2373
|
"click": {
|
|
@@ -2365,7 +2379,7 @@ async function getColumnItemOnClick(field, options){
|
|
|
2365
2379
|
"title": " ",
|
|
2366
2380
|
"headerClassName": "hidden",
|
|
2367
2381
|
"size": "lg",
|
|
2368
|
-
"width": "70%",
|
|
2382
|
+
"width": window.drawerWidth || "70%",
|
|
2369
2383
|
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
2370
2384
|
"closeOnEsc": true,
|
|
2371
2385
|
"closeOnOutside": true,
|
|
@@ -2503,6 +2517,32 @@ async function getTableColumns(object, fields, options){
|
|
|
2503
2517
|
static: true,
|
|
2504
2518
|
}, fieldAmis, {name: field.name});
|
|
2505
2519
|
}
|
|
2520
|
+
else if(field.type === 'lookup' || field.type === 'master_detail'){
|
|
2521
|
+
columnItem = Object.assign({}, {
|
|
2522
|
+
type: "static-wrapper",
|
|
2523
|
+
name: field.name,
|
|
2524
|
+
label: field.label,
|
|
2525
|
+
sortable: field.sortable,
|
|
2526
|
+
width: getFieldWidth(field.width),
|
|
2527
|
+
toggled: field.toggled,
|
|
2528
|
+
className,
|
|
2529
|
+
size: "none",
|
|
2530
|
+
inputClassName: "inline",
|
|
2531
|
+
body: {
|
|
2532
|
+
type: "steedos-field",
|
|
2533
|
+
static: true,
|
|
2534
|
+
tableObjectName: options.objectName,
|
|
2535
|
+
config: {
|
|
2536
|
+
type: "lookup",
|
|
2537
|
+
reference_to: field.reference_to,
|
|
2538
|
+
name: field.name,
|
|
2539
|
+
label: null,
|
|
2540
|
+
multiple: field.multiple,
|
|
2541
|
+
amis: Object.assign({}, fieldAmis, { label: null })
|
|
2542
|
+
}
|
|
2543
|
+
}
|
|
2544
|
+
}, fieldAmis, {name: field.name});
|
|
2545
|
+
}
|
|
2506
2546
|
else {
|
|
2507
2547
|
const tpl = await getFieldTpl(field, options);
|
|
2508
2548
|
let type = 'static-text';
|
|
@@ -2551,10 +2591,20 @@ async function getTableColumns(object, fields, options){
|
|
|
2551
2591
|
columnItem.defaultColor = null;
|
|
2552
2592
|
}
|
|
2553
2593
|
|
|
2554
|
-
|
|
2594
|
+
let needClickEvent = false;
|
|
2595
|
+
// if (options.isRelated){
|
|
2596
|
+
// // 子表列表上,Lookup字段和名称字段都需要点击事件
|
|
2597
|
+
// needClickEvent = ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && _.isString(field.reference_to) && field.multiple != true));
|
|
2598
|
+
// }
|
|
2599
|
+
// else {// if (isObjectListview)
|
|
2600
|
+
// // 列表视图、对象表格中,Lookup字段需要点击事件
|
|
2601
|
+
// needClickEvent = (field.type == 'lookup' || field.type == 'master_detail') && _.isString(field.reference_to) && field.multiple != true;
|
|
2602
|
+
// }
|
|
2603
|
+
// lookup字段走steedos-field组件了,所以这里只需要判断子表名称字段才额外加点击事件弹出右侧详情
|
|
2604
|
+
needClickEvent = options.isRelated && (field.is_name || field.name === options.labelFieldName);
|
|
2605
|
+
if(window.innerWidth >= 768 && needClickEvent){
|
|
2555
2606
|
columnItem.onEvent = await getColumnItemOnClick(field, options);
|
|
2556
2607
|
}
|
|
2557
|
-
|
|
2558
2608
|
}
|
|
2559
2609
|
}
|
|
2560
2610
|
if(columnItem){
|
|
@@ -3409,6 +3459,11 @@ async function getTableApi(mainObject, fields, options){
|
|
|
3409
3459
|
}, 600);
|
|
3410
3460
|
}
|
|
3411
3461
|
}
|
|
3462
|
+
|
|
3463
|
+
// 列表搜索和快速搜索,有时在某些操作情况下还是会造成crud接口请求使用的过滤条件是上次的,这里强制把正确的过滤条件返回到crud,详细规则见:https://github.com/steedos/steedos-platform/issues/7112
|
|
3464
|
+
// lookup字段的弹出列表搜索不受这里影响,因为lookup字段的弹出列表搜索是单独的接口请求
|
|
3465
|
+
payload.data.__changedFilterFormValues = api.context.__changedFilterFormValues;
|
|
3466
|
+
payload.data.__changedSearchBoxValues = api.context.__changedSearchBoxValues;
|
|
3412
3467
|
${options.adaptor || ''}
|
|
3413
3468
|
return payload;
|
|
3414
3469
|
`;
|
|
@@ -5096,8 +5151,8 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
5096
5151
|
/*
|
|
5097
5152
|
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
5098
5153
|
* @Date: 2023-03-22 09:31:21
|
|
5099
|
-
* @LastEditors:
|
|
5100
|
-
* @LastEditTime:
|
|
5154
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
5155
|
+
* @LastEditTime: 2025-04-07 16:02:53
|
|
5101
5156
|
*/
|
|
5102
5157
|
const getSchema$3 = (uiSchema)=>{
|
|
5103
5158
|
return {
|
|
@@ -5157,6 +5212,17 @@ const getSchema$3 = (uiSchema)=>{
|
|
|
5157
5212
|
"_isRelated": "${_isRelated}"
|
|
5158
5213
|
},
|
|
5159
5214
|
"expression": `\${_master.objectName != '${uiSchema.name}' && _master.objectName}`
|
|
5215
|
+
},
|
|
5216
|
+
// 列表视图、对象表格组件上的lookup字段,点开右侧弹出drawer窗口,删除记录后刷新列表
|
|
5217
|
+
{
|
|
5218
|
+
"actionType": "broadcast",
|
|
5219
|
+
"args": {
|
|
5220
|
+
"eventName": "@data.changed.${_tableObjectName}"
|
|
5221
|
+
},
|
|
5222
|
+
"data": {
|
|
5223
|
+
"objectName": "${_tableObjectName}"
|
|
5224
|
+
},
|
|
5225
|
+
"expression": `\${_tableObjectName != '${uiSchema.name}' && _tableObjectName}`
|
|
5160
5226
|
}
|
|
5161
5227
|
]
|
|
5162
5228
|
}
|
|
@@ -6140,15 +6206,38 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6140
6206
|
if (!ctx) {
|
|
6141
6207
|
ctx = {};
|
|
6142
6208
|
}
|
|
6209
|
+
const searchableFields = ctx.searchable_fields;
|
|
6210
|
+
const autoOpenFilter = !!ctx.auto_open_filter;
|
|
6143
6211
|
const btnSearchId = "btn_filter_form_search_" + new Date().getTime();
|
|
6144
6212
|
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
6145
6213
|
const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
|
|
6146
6214
|
const onSearchScript = `
|
|
6147
|
-
|
|
6215
|
+
let isLookup = event.data.isLookup;
|
|
6216
|
+
let __lookupField = event.data.__lookupField;
|
|
6148
6217
|
const scope = event.context.scoped;
|
|
6218
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
6149
6219
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
6150
6220
|
return n.props.type === "form";
|
|
6151
6221
|
});
|
|
6222
|
+
// 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取,因为本地存储中的过滤条件自动填充到表单上时filterForm.getValues()拿不到。
|
|
6223
|
+
let filterFormValues = event.data;
|
|
6224
|
+
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
6225
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});
|
|
6226
|
+
// 同步__changedFilterFormValues中的值
|
|
6227
|
+
// crud && crud.setData({__changedFilterFormValues: {}});
|
|
6228
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
6229
|
+
if(isLookup && __lookupField){
|
|
6230
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
6231
|
+
if(__lookupField.reference_to_field){
|
|
6232
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
6233
|
+
}
|
|
6234
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
6235
|
+
}
|
|
6236
|
+
if(crud){
|
|
6237
|
+
let crudData = crud.getData();
|
|
6238
|
+
crudData[__changedFilterFormValuesKey] = changedFilterFormValues;
|
|
6239
|
+
crud.setData(crudData);
|
|
6240
|
+
}
|
|
6152
6241
|
filterForm.handleFormSubmit(event);
|
|
6153
6242
|
// var filterFormValues = filterForm.getValues();
|
|
6154
6243
|
// var listView = scope.parent.parent.parent.getComponents().find(function(n){
|
|
@@ -6197,11 +6286,8 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6197
6286
|
}
|
|
6198
6287
|
filterService.setData({showFieldsFilter});
|
|
6199
6288
|
// resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了
|
|
6200
|
-
// 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
|
|
6201
|
-
let filterFormValues = event.data;
|
|
6202
6289
|
let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
|
|
6203
|
-
let
|
|
6204
|
-
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
6290
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
6205
6291
|
crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});
|
|
6206
6292
|
`;
|
|
6207
6293
|
const onCancelScript = `
|
|
@@ -6287,10 +6373,27 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6287
6373
|
|
|
6288
6374
|
// 移除搜索按钮上的红点
|
|
6289
6375
|
// let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
6290
|
-
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
6376
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
6291
6377
|
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
6292
6378
|
`;
|
|
6379
|
+
/**
|
|
6380
|
+
给lookup字段配置filter_form_data时可以配置为amis变量,也可以配置为事态key-value键值对象值:
|
|
6381
|
+
```
|
|
6382
|
+
"filter_form_data": "${selectedPublicGroupFilterFormData|toJson}"
|
|
6383
|
+
```
|
|
6384
|
+
or
|
|
6385
|
+
```
|
|
6386
|
+
"filter_form_data": {
|
|
6387
|
+
"public_group_ids": [
|
|
6388
|
+
"67addbef39f9a4503789b38d"
|
|
6389
|
+
]
|
|
6390
|
+
}
|
|
6391
|
+
```
|
|
6392
|
+
*/
|
|
6393
|
+
const filterFormValues = ctx.filter_form_data;
|
|
6293
6394
|
const dataProviderInited = `
|
|
6395
|
+
const searchableFields = ${JSON.stringify(searchableFields)};
|
|
6396
|
+
const autoOpenFilter = ${autoOpenFilter};
|
|
6294
6397
|
const objectName = data.objectName;
|
|
6295
6398
|
const isLookup = data.isLookup;
|
|
6296
6399
|
const listName = data.listName;
|
|
@@ -6303,6 +6406,11 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6303
6406
|
if(defaultSearchableFields){
|
|
6304
6407
|
defaultSearchableFields = defaultSearchableFields.split(",");
|
|
6305
6408
|
}
|
|
6409
|
+
if(_.isEmpty(defaultSearchableFields) && searchableFields){
|
|
6410
|
+
if(searchableFields.length){
|
|
6411
|
+
defaultSearchableFields = _.map(searchableFields, 'field');
|
|
6412
|
+
}
|
|
6413
|
+
}
|
|
6306
6414
|
if(_.isEmpty(defaultSearchableFields) && data.uiSchema){
|
|
6307
6415
|
let listView = data.uiSchema.list_views[data.listName];
|
|
6308
6416
|
const sFields = listView && listView.searchable_fields;
|
|
@@ -6320,8 +6428,18 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6320
6428
|
}
|
|
6321
6429
|
setData({ filterFormSearchableFields: defaultSearchableFields });
|
|
6322
6430
|
if(isLookup){
|
|
6431
|
+
let filterFormValues = ${_.isObject(filterFormValues) ? JSON.stringify(filterFormValues) : ('"' + filterFormValues + '"')} || {};
|
|
6432
|
+
const isAmisFormula = typeof filterFormValues === "string" && filterFormValues.indexOf("\${") > -1;
|
|
6433
|
+
if (isAmisFormula){
|
|
6434
|
+
filterFormValues = AmisCore.evaluate(filterFormValues, data) || {};
|
|
6435
|
+
}
|
|
6436
|
+
if (_.isObject(filterFormValues) || !_.isEmpty(filterFormValues)){
|
|
6437
|
+
let fields = data.uiSchema && data.uiSchema.fields;
|
|
6438
|
+
filterFormValues = SteedosUI.getSearchFilterFormValues(filterFormValues, fields);
|
|
6439
|
+
setData({ ...filterFormValues });
|
|
6440
|
+
}
|
|
6323
6441
|
// looup字段过滤器不在本地缓存记住过滤条件,所以初始始终隐藏过滤器
|
|
6324
|
-
setData({ showFieldsFilter:
|
|
6442
|
+
setData({ showFieldsFilter: autoOpenFilter });
|
|
6325
6443
|
}
|
|
6326
6444
|
else{
|
|
6327
6445
|
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
@@ -6611,13 +6729,15 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6611
6729
|
"actionType": "custom",
|
|
6612
6730
|
"script": onSearchableFieldsChangeScript
|
|
6613
6731
|
},
|
|
6614
|
-
|
|
6615
|
-
|
|
6616
|
-
|
|
6617
|
-
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
|
|
6732
|
+
// 自动触发搜索事件会造成bug,应该是升级amis到6.4造成的,见:https://github.com/steedos/steedos-platform/issues/7121
|
|
6733
|
+
// 变更搜索项后,用户一般会点击搜索按钮,所以这里不自动触发搜索事件
|
|
6734
|
+
// {
|
|
6735
|
+
// "actionType": "click",
|
|
6736
|
+
// "componentId": btnSearchId,
|
|
6737
|
+
// "args": {
|
|
6738
|
+
// "__from_fields_filter_settings_confirm": true
|
|
6739
|
+
// }
|
|
6740
|
+
// },
|
|
6621
6741
|
{
|
|
6622
6742
|
"componentId": "",
|
|
6623
6743
|
"args": {},
|
|
@@ -7586,7 +7706,7 @@ async function getObjectListHeaderFieldsFilterBar(objectSchema, listViewName, ct
|
|
|
7586
7706
|
* @param {*} objectSchema 对象UISchema
|
|
7587
7707
|
* @returns amisSchema
|
|
7588
7708
|
*/
|
|
7589
|
-
function getObjectListHeader
|
|
7709
|
+
function getObjectListHeader(objectSchema, listViewName, ctx) {
|
|
7590
7710
|
if (!ctx) {
|
|
7591
7711
|
ctx = {};
|
|
7592
7712
|
}
|
|
@@ -8912,10 +9032,9 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
8912
9032
|
}
|
|
8913
9033
|
|
|
8914
9034
|
const onChangeScript = `
|
|
8915
|
-
// console.log("==search=onChangeScript===");
|
|
8916
9035
|
const scope = event.context.scoped;
|
|
8917
9036
|
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
8918
|
-
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
9037
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
8919
9038
|
let __changedSearchBoxValues = {};
|
|
8920
9039
|
__changedSearchBoxValues["${keywordsSearchBoxName}"] = event.data["${keywordsSearchBoxName}"];
|
|
8921
9040
|
// crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});
|
|
@@ -9282,10 +9401,28 @@ async function getObjectFilter(objectSchema, fields, options) {
|
|
|
9282
9401
|
let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
|
|
9283
9402
|
let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
|
|
9284
9403
|
// 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。
|
|
9285
|
-
let filterFormValues = filterFormService.getData()
|
|
9404
|
+
let filterFormValues = filterFormService.getData();
|
|
9405
|
+
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
9286
9406
|
let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
|
|
9287
9407
|
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
9288
|
-
|
|
9408
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});
|
|
9409
|
+
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
9410
|
+
// crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
9411
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
9412
|
+
if(isLookup && __lookupField){
|
|
9413
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
9414
|
+
if(__lookupField.reference_to_field){
|
|
9415
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
9416
|
+
}
|
|
9417
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
9418
|
+
}
|
|
9419
|
+
if(crud){
|
|
9420
|
+
let crudData = crud.getData();
|
|
9421
|
+
crudData[__changedFilterFormValuesKey] = changedFilterFormValues;
|
|
9422
|
+
crud.setData(crudData);
|
|
9423
|
+
}
|
|
9424
|
+
|
|
9425
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
9289
9426
|
crudService && crudService.setData({isFieldsFilterEmpty});
|
|
9290
9427
|
`;
|
|
9291
9428
|
let onChangeScript = `
|
|
@@ -9300,7 +9437,7 @@ async function getObjectFilter(objectSchema, fields, options) {
|
|
|
9300
9437
|
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
9301
9438
|
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
9302
9439
|
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;
|
|
9303
|
-
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
9440
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
9304
9441
|
// crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
9305
9442
|
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
9306
9443
|
// crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
@@ -9656,7 +9793,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9656
9793
|
className: crudModeClassName,
|
|
9657
9794
|
//目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}
|
|
9658
9795
|
id: `service_${id}`,
|
|
9659
|
-
name:
|
|
9796
|
+
name: "service_object_table_crud",
|
|
9660
9797
|
data: options.amisData,
|
|
9661
9798
|
body: body,
|
|
9662
9799
|
//监听广播事件,重算crud高度
|
|
@@ -9820,6 +9957,17 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
9820
9957
|
},
|
|
9821
9958
|
"expression": `\${_master.objectName != '${objectSchema.name}' && _master.objectName}`
|
|
9822
9959
|
},
|
|
9960
|
+
// 列表视图、对象表格组件上的lookup字段,点开右侧弹出drawer窗口,修改记录后刷新列表
|
|
9961
|
+
{
|
|
9962
|
+
"actionType": "broadcast",
|
|
9963
|
+
"args": {
|
|
9964
|
+
"eventName": "@data.changed.${_tableObjectName}"
|
|
9965
|
+
},
|
|
9966
|
+
"data": {
|
|
9967
|
+
"objectName": "${_tableObjectName}"
|
|
9968
|
+
},
|
|
9969
|
+
"expression": `\${_tableObjectName != '${objectSchema.name}' && _tableObjectName}`
|
|
9970
|
+
},
|
|
9823
9971
|
...submitSuccActions,
|
|
9824
9972
|
// {
|
|
9825
9973
|
// "actionType": "custom",
|
|
@@ -10003,8 +10151,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
|
|
|
10003
10151
|
/*
|
|
10004
10152
|
* @Author: baozhoutao@steedos.com
|
|
10005
10153
|
* @Date: 2022-07-05 15:55:39
|
|
10006
|
-
* @LastEditors:
|
|
10007
|
-
* @LastEditTime:
|
|
10154
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
10155
|
+
* @LastEditTime: 2025-01-08 13:32:51
|
|
10008
10156
|
* @Description:
|
|
10009
10157
|
*/
|
|
10010
10158
|
|
|
@@ -10078,7 +10226,7 @@ async function getObjectRelatedList(
|
|
|
10078
10226
|
|
|
10079
10227
|
// 获取单个相关表
|
|
10080
10228
|
async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObjectName, relatedKey, ctx){
|
|
10081
|
-
let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on } = ctx;
|
|
10229
|
+
let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on, enableHeaderToolbar } = ctx;
|
|
10082
10230
|
// console.log('getRecordDetailRelatedListSchema==>',objectName,recordId,relatedObjectName)
|
|
10083
10231
|
const relatedObjectUiSchema = await getUISchema(relatedObjectName);
|
|
10084
10232
|
if(!relatedObjectUiSchema){
|
|
@@ -10143,6 +10291,10 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
10143
10291
|
let headerToolbar = [];
|
|
10144
10292
|
if(!isMobile){
|
|
10145
10293
|
headerToolbar.push("bulkActions");
|
|
10294
|
+
if (enableHeaderToolbar) {
|
|
10295
|
+
// 通过 enableHeaderToolbar = true 可以控制是否显示内置的带过滤器的headerToolbar
|
|
10296
|
+
headerToolbar = undefined;
|
|
10297
|
+
}
|
|
10146
10298
|
}
|
|
10147
10299
|
const options = {
|
|
10148
10300
|
globalFilter,
|
|
@@ -10181,7 +10333,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
10181
10333
|
amisSchema: {
|
|
10182
10334
|
type: "service",
|
|
10183
10335
|
id: componentId,
|
|
10184
|
-
className: `steedos-record-related-list mb-4 last:mb-0 ${componentId} ${className}`,
|
|
10336
|
+
className: `steedos-record-related-list mb-4 last:mb-0 ${componentId} ${className} ${enableHeaderToolbar ? 'enable-header-toolbar' : ''}`,
|
|
10185
10337
|
data: {
|
|
10186
10338
|
relatedKey: relatedKey,
|
|
10187
10339
|
listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
|
|
@@ -10283,6 +10435,7 @@ async function getRelatedListSchema(
|
|
|
10283
10435
|
listViewName,
|
|
10284
10436
|
ctx
|
|
10285
10437
|
) {
|
|
10438
|
+
const { enableHeaderToolbar } = ctx;
|
|
10286
10439
|
const uiSchema = await getUISchema(objectName);
|
|
10287
10440
|
if(!uiSchema){
|
|
10288
10441
|
return {}
|
|
@@ -10335,10 +10488,14 @@ async function getRelatedListSchema(
|
|
|
10335
10488
|
delete ctx.filters;
|
|
10336
10489
|
|
|
10337
10490
|
delete ctx.globalFilter;
|
|
10491
|
+
delete ctx.enableHeaderToolbar;
|
|
10338
10492
|
|
|
10339
10493
|
const adaptor = `
|
|
10340
10494
|
try{
|
|
10341
10495
|
if(setDataToComponentId){
|
|
10496
|
+
// 子表列表在headerToolbar过滤器中设置过过滤条件的话,始终显示子表列表,无论是否查询到数据
|
|
10497
|
+
// 改为使用css样式控制子表列表放开headerToolbar时,始终显示crud,只隐藏crud内部的表格,从而始终显示headerToolbar不受这里逻辑影响
|
|
10498
|
+
// var headerToolbarFilterChanged = context.isFieldsFilterEmpty === false;
|
|
10342
10499
|
if(payload.data.count){
|
|
10343
10500
|
setTimeout(function(){
|
|
10344
10501
|
// 设计器中获取不到window.$从而导致报错, 所以用纯js替换下。
|
|
@@ -10361,7 +10518,7 @@ async function getRelatedListSchema(
|
|
|
10361
10518
|
"filters": listviewFilter,
|
|
10362
10519
|
"filtersFunction": filtersFunction,
|
|
10363
10520
|
"sort": listViewSort,
|
|
10364
|
-
"filterVisible":
|
|
10521
|
+
"filterVisible": !!enableHeaderToolbar,
|
|
10365
10522
|
"requestAdaptor": ctx.requestAdaptor,
|
|
10366
10523
|
"adaptor": adaptor + ctx.adaptor || '',
|
|
10367
10524
|
"ctx": ctx,
|
|
@@ -10917,7 +11074,8 @@ async function getRecordDetailHeaderSchema(objectName,recordId, options){
|
|
|
10917
11074
|
}
|
|
10918
11075
|
|
|
10919
11076
|
async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
10920
|
-
const uiSchema = await getUISchema(objectName);
|
|
11077
|
+
const uiSchema = await getUISchema(objectName);
|
|
11078
|
+
|
|
10921
11079
|
const relatedLists = await getObjectRelatedList(objectName);
|
|
10922
11080
|
const detailed = {
|
|
10923
11081
|
"title": i18next.t('frontend_record_detail_tab_detailed'),
|
|
@@ -10956,6 +11114,21 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
|
10956
11114
|
if(relatedLists.length){
|
|
10957
11115
|
content.tabs.push(related);
|
|
10958
11116
|
}
|
|
11117
|
+
const contents = [content];
|
|
11118
|
+
if (uiSchema.enable_chatter && window.BuilderLiveblocks) {
|
|
11119
|
+
const chatter = {
|
|
11120
|
+
"type": "rooms-provider",
|
|
11121
|
+
"baseUrl": "${context.rootUrl}",
|
|
11122
|
+
"body": [
|
|
11123
|
+
{
|
|
11124
|
+
"type": "rooms-comments",
|
|
11125
|
+
"className": "flex flex-col gap-3 m-4",
|
|
11126
|
+
"roomId": "objects:${objectName}:${recordId}",
|
|
11127
|
+
}
|
|
11128
|
+
]
|
|
11129
|
+
};
|
|
11130
|
+
contents.push(chatter);
|
|
11131
|
+
}
|
|
10959
11132
|
// content.tabs = reverse(content.tabs)
|
|
10960
11133
|
return {
|
|
10961
11134
|
uiSchema,
|
|
@@ -10971,7 +11144,7 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
|
10971
11144
|
"showButtons": props.showButtons,
|
|
10972
11145
|
"showBackButton": props.showBackButton,
|
|
10973
11146
|
},
|
|
10974
|
-
|
|
11147
|
+
...contents,
|
|
10975
11148
|
],
|
|
10976
11149
|
"objectApiName": "${objectName}",
|
|
10977
11150
|
"recordId": "${recordId}",
|
|
@@ -11755,14 +11928,42 @@ function getLookupSapceUserTreeSchema(isMobile){
|
|
|
11755
11928
|
{
|
|
11756
11929
|
"actionType": "custom",
|
|
11757
11930
|
"script": `
|
|
11931
|
+
console.log("lookup-tree-event.data:",event.data);
|
|
11932
|
+
console.log("lookup-tree-event.data.value.label:",event.data.value.label);
|
|
11933
|
+
console.log("lookup-tree-event.data.value.value:",event.data.value.value);
|
|
11758
11934
|
const scope = event.context.scoped;
|
|
11759
|
-
var
|
|
11935
|
+
var treeFilterFormValues={
|
|
11760
11936
|
"__searchable__organizations_parents":event.data.value.value
|
|
11761
11937
|
}
|
|
11762
|
-
var listView = scope.parent.getComponents().find(function(n){
|
|
11763
|
-
|
|
11938
|
+
// var listView = scope.parent.getComponents().find(function(n){
|
|
11939
|
+
// return n.props.type === "crud";
|
|
11940
|
+
// });
|
|
11941
|
+
// listView.handleFilterSubmit(Object.assign({}, filterFormValues));
|
|
11942
|
+
let __lookupField = event.data.__lookupField;
|
|
11943
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
11944
|
+
var filterForm = scope.getComponents().find(function(n){
|
|
11945
|
+
return n.props.type === "form";
|
|
11764
11946
|
});
|
|
11765
|
-
|
|
11947
|
+
let filterFormValues = filterForm.getData();
|
|
11948
|
+
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
11949
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});
|
|
11950
|
+
Object.assign(changedFilterFormValues, treeFilterFormValues);
|
|
11951
|
+
// 同步__changedFilterFormValues中的值
|
|
11952
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
11953
|
+
if(__lookupField){
|
|
11954
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
11955
|
+
if(__lookupField.reference_to_field){
|
|
11956
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
11957
|
+
}
|
|
11958
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
11959
|
+
}
|
|
11960
|
+
if(crud){
|
|
11961
|
+
let crudData = crud.getData();
|
|
11962
|
+
crudData[__changedFilterFormValuesKey] = changedFilterFormValues;
|
|
11963
|
+
crud.setData(crudData);
|
|
11964
|
+
}
|
|
11965
|
+
filterForm.setData(treeFilterFormValues);
|
|
11966
|
+
filterForm.handleFormSubmit(event);
|
|
11766
11967
|
`
|
|
11767
11968
|
},
|
|
11768
11969
|
{
|
|
@@ -11856,6 +12057,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
11856
12057
|
ctx.idFieldName = refObjectConfig.idFieldName;
|
|
11857
12058
|
ctx.objectName = refObjectConfig.name;
|
|
11858
12059
|
|
|
12060
|
+
// 是否显示lookup字段左侧的过滤器(如果有的话),默认为true,目前只有lookup选人字段有左侧树过滤器
|
|
12061
|
+
const showLeftFilter = field.show_left_filter !== false;
|
|
12062
|
+
|
|
11859
12063
|
let tableFields = [];
|
|
11860
12064
|
const searchableFields = [];
|
|
11861
12065
|
|
|
@@ -11977,6 +12181,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
11977
12181
|
// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
11978
12182
|
let keywordsSearchBoxName = `__keywords_lookup__${field.name.replace(/\./g, "_")}__to__${refObjectConfig.name}`;
|
|
11979
12183
|
|
|
12184
|
+
const filterFormValues = field.filter_form_data;
|
|
11980
12185
|
source.requestAdaptor = `
|
|
11981
12186
|
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
11982
12187
|
let __lookupField = api.data.$self.__lookupField;
|
|
@@ -12019,7 +12224,20 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12019
12224
|
}
|
|
12020
12225
|
}
|
|
12021
12226
|
|
|
12022
|
-
|
|
12227
|
+
let filterFormValues = {};
|
|
12228
|
+
if (selfData.op !== 'loadOptions'){
|
|
12229
|
+
filterFormValues = ${_$1.isObject(filterFormValues) ? JSON.stringify(filterFormValues) : ('"' + filterFormValues + '"')} || {};
|
|
12230
|
+
const isAmisFormula = typeof filterFormValues === "string" && filterFormValues.indexOf("\${") > -1;
|
|
12231
|
+
if (isAmisFormula){
|
|
12232
|
+
filterFormValues = AmisCore.evaluate(filterFormValues, context) || {};
|
|
12233
|
+
}
|
|
12234
|
+
if (_.isObject(filterFormValues) || !_.isEmpty(filterFormValues)){
|
|
12235
|
+
let fields = api.data.$self.uiSchema && api.data.$self.uiSchema.fields;
|
|
12236
|
+
filterFormValues = SteedosUI.getSearchFilterFormValues(filterFormValues, fields);
|
|
12237
|
+
}
|
|
12238
|
+
}
|
|
12239
|
+
|
|
12240
|
+
var searchableFilter = SteedosUI.getSearchFilter(Object.assign({}, { ...filterFormValues }, selfData)) || [];
|
|
12023
12241
|
|
|
12024
12242
|
if(searchableFilter.length > 0){
|
|
12025
12243
|
if(filters.length > 0 ){
|
|
@@ -12187,6 +12405,20 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12187
12405
|
});
|
|
12188
12406
|
payload.data.rows = updatedResult;
|
|
12189
12407
|
}
|
|
12408
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
12409
|
+
let __lookupField = api.data.$self.__lookupField;
|
|
12410
|
+
if(__lookupField){
|
|
12411
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
12412
|
+
if(__lookupField.reference_to_field){
|
|
12413
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
12414
|
+
}
|
|
12415
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
12416
|
+
}
|
|
12417
|
+
let __changedFilterFormValues = api.context[__changedFilterFormValuesKey] || {};
|
|
12418
|
+
let __changedSearchBoxValues = api.context.__changedSearchBoxValues || {};
|
|
12419
|
+
// 列表搜索和快速搜索,有时在某些操作情况下还是会造成crud接口请求使用的过滤条件是上次的,这里强制把正确的过滤条件返回到crud,详细规则见:https://github.com/steedos/steedos-platform/issues/7112
|
|
12420
|
+
payload.data[__changedFilterFormValuesKey] = __changedFilterFormValues;
|
|
12421
|
+
payload.data.__changedSearchBoxValues = __changedSearchBoxValues;
|
|
12190
12422
|
return payload;
|
|
12191
12423
|
`;
|
|
12192
12424
|
if(field.optionsFunction || field._optionsFunction){
|
|
@@ -12195,7 +12427,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12195
12427
|
return payload;
|
|
12196
12428
|
`;
|
|
12197
12429
|
}
|
|
12198
|
-
let top =
|
|
12430
|
+
let top = 500;
|
|
12199
12431
|
|
|
12200
12432
|
if(refObjectConfig.paging && refObjectConfig.paging.enabled === false){
|
|
12201
12433
|
top = 1000;
|
|
@@ -12222,7 +12454,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12222
12454
|
|
|
12223
12455
|
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { isLookup: true, keywordsSearchBoxName });
|
|
12224
12456
|
|
|
12225
|
-
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
|
|
12457
|
+
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && showLeftFilter){
|
|
12226
12458
|
pickerSchema.headerToolbar.push(getLookupSapceUserTreeSchema(isMobile));
|
|
12227
12459
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
12228
12460
|
}
|
|
@@ -12242,7 +12474,11 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12242
12474
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
12243
12475
|
...ctx,
|
|
12244
12476
|
isLookup: true,
|
|
12245
|
-
keywordsSearchBoxName
|
|
12477
|
+
keywordsSearchBoxName,
|
|
12478
|
+
searchable_fields: field.searchable_fields,
|
|
12479
|
+
auto_open_filter: field.auto_open_filter,
|
|
12480
|
+
show_left_filter: field.show_left_filter,
|
|
12481
|
+
filter_form_data: field.filter_form_data
|
|
12246
12482
|
});
|
|
12247
12483
|
}
|
|
12248
12484
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -12309,7 +12545,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12309
12545
|
}
|
|
12310
12546
|
|
|
12311
12547
|
const ctx = ${JSON.stringify(ctx)};
|
|
12312
|
-
const componentId = ctx.defaults.formSchema.id;
|
|
12548
|
+
const componentId = ctx.defaults && ctx.defaults.formSchema && ctx.defaults.formSchema.id;
|
|
12313
12549
|
doAction({
|
|
12314
12550
|
actionType: 'setValue',
|
|
12315
12551
|
componentId: componentId,
|
|
@@ -12736,6 +12972,10 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
12736
12972
|
}
|
|
12737
12973
|
let amisSchema;
|
|
12738
12974
|
// 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
|
|
12975
|
+
if(enableEnhancedLookup == true && field.amis && field.amis.type && field.amis.type !== 'picker'){
|
|
12976
|
+
// 如果配置了amis.type且其值不是picker,则不使用弹出增强模式
|
|
12977
|
+
enableEnhancedLookup = false;
|
|
12978
|
+
}
|
|
12739
12979
|
if(enableEnhancedLookup == true){
|
|
12740
12980
|
amisSchema = await lookupToAmisPicker(field, readonly, ctx);
|
|
12741
12981
|
}else if(refObject.enable_tree) {
|
|
@@ -13867,7 +14107,16 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
13867
14107
|
return convertData
|
|
13868
14108
|
}
|
|
13869
14109
|
// if(ctx.mode === 'edit'){
|
|
13870
|
-
let convertDataResult
|
|
14110
|
+
let convertDataResult;
|
|
14111
|
+
if(convertData.type == "steedos-field"){
|
|
14112
|
+
// 如果是steedos-field,不能把amis属性合并到steedos-field根属性中,要合并也是合并到steedos-field的config.amis中
|
|
14113
|
+
// 而steedos-field字段的amis属性本身就在config.amis中了,所以这里不需要再合并field.amis
|
|
14114
|
+
// 目前测试到受影响的是,把字段的amis属性配置为{"type": "checkboxes"}时,ObjectForm只读模式下,lookup字段返回的是type为steedos-field的组件,此时field.amis中的type不应该合并到steedos-field根属性中
|
|
14115
|
+
convertDataResult = Object.assign({}, baseData, convertData, { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name}, {name: baseData.name});
|
|
14116
|
+
}
|
|
14117
|
+
else {
|
|
14118
|
+
convertDataResult = Object.assign({}, baseData, convertData, { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name}, field.amis, {name: baseData.name});
|
|
14119
|
+
}
|
|
13871
14120
|
// 只读时file字段的外层control层若存在name,内部each组件存在问题
|
|
13872
14121
|
if(readonly && field.type == "file") {
|
|
13873
14122
|
convertDataResult.name = "";
|
|
@@ -16012,7 +16261,7 @@ async function getListviewInitSchema(objectApiName, listViewName, ctx) {
|
|
|
16012
16261
|
const defaults = ctx.defaults || {};
|
|
16013
16262
|
if(!defaults.headerSchema){
|
|
16014
16263
|
//传入isListviewInit是区别于对象列表类型的微页面,即getListPageInitSchema函数中该属性为false
|
|
16015
|
-
const headerSchema = await getObjectListHeader
|
|
16264
|
+
const headerSchema = await getObjectListHeader(uiSchema, listViewName, {
|
|
16016
16265
|
onlySecordLine: true,
|
|
16017
16266
|
isListviewInit: true
|
|
16018
16267
|
});
|
|
@@ -18495,5 +18744,5 @@ const getInstanceInfo = async ({ instanceId, box }) => {
|
|
|
18495
18744
|
};
|
|
18496
18745
|
};
|
|
18497
18746
|
|
|
18498
|
-
export { index as Field, Router, absoluteUrl, amisRender, amisRootClick, cloneObject, conditionsToFilters, createObject, defaultsDeep, deleteVariable, execute, executeButton, extendObject, fetchAPI, filtersToConditions, getAmisInputTableSchema, getApp, getApps, getAuthToken, getAuthorization, getButton, getButtonVisible, getButtonVisibleOn, getButtons, getCalendarSchema, getCreatedInfoTpl, getDateTimeTpl, getDateTpl, getDefaultRenderData, getEnv, getEnvs, getEvn, getField, getFieldTpl, getFileSrc, getFlowFormSchema, getFormPageInitSchema, getFormSchema, getGlobalNowData, getIdsPickerSchema, getImageSrc, getInstanceInfo, getListPageInitSchema, getListSchema, getListViewButtons, getListViewColumns, getListViewFilter, getListViewItemButtons, getListViewSort, getListviewInitSchema, getLocationTpl, getLookupSapceUserTreeSchema, getLookupTpl, getModifiedInfoTpl, getNameTpl, getNameTplUrl, getNotifications, getNumberTpl, getObjectDetailButtons, getObjectDetailButtonsSchemas, getObjectDetailMoreButtons, getObjectFieldsFilterBarSchema, getObjectFieldsFilterButtonSchema, getObjectFieldsFilterFormSchema, getObjectListHeader
|
|
18747
|
+
export { index as Field, Router, absoluteUrl, amisRender, amisRootClick, cloneObject, conditionsToFilters, createObject, defaultsDeep, deleteVariable, execute, executeButton, extendObject, fetchAPI, filtersToConditions, getAmisInputTableSchema, getApp, getApps, getAuthToken, getAuthorization, getButton, getButtonVisible, getButtonVisibleOn, getButtons, getCalendarSchema, getCreatedInfoTpl, getDateTimeTpl, getDateTpl, getDefaultRenderData, getEnv, getEnvs, getEvn, getField, getFieldTpl, getFileSrc, getFlowFormSchema, getFormPageInitSchema, getFormSchema, getGlobalNowData, getIdsPickerSchema, getImageSrc, getInstanceInfo, getListPageInitSchema, getListSchema, getListViewButtons, getListViewColumns, getListViewFilter, getListViewItemButtons, getListViewSort, getListviewInitSchema, getLocationTpl, getLookupSapceUserTreeSchema, getLookupTpl, getModifiedInfoTpl, getNameTpl, getNameTplUrl, getNotifications, getNumberTpl, getObjectDetailButtons, getObjectDetailButtonsSchemas, getObjectDetailMoreButtons, getObjectFieldsFilterBarSchema, getObjectFieldsFilterButtonSchema, getObjectFieldsFilterFormSchema, getObjectListHeader, getObjectListHeaderFieldsFilterBar, getObjectListHeaderFirstLine, getObjectListHeaderSecordLine, getObjectListViewButtonsSchemas, getObjectRecordDetailHeader, getObjectRecordDetailRelatedListButtonsSchemas, getObjectRecordDetailRelatedListHeader, getObjectRelated, getObjectRelatedList, getObjectRelatedListButtons, getObjectRelatedListHeader, getObjectRelatedListsMiniSchema, getPage, getPasswordTpl, getRecord, getRecordDetailHeaderSchema, getRecordDetailMiniSchema, getRecordDetailRelatedListSchema, getRecordDetailSchema, getRecordPageInitSchema, getRecordPermissions, getRecordServiceSchema, getRefObjectNameFieldName, getReferenceTo, getReferenceToFieldSchema, getReferenceToSync, getRelatedFieldTpl, getRelatedFieldValue, getRelatedListSchema, getRelatedsCount, getRootUrl, getSelectMap, getSelectTpl, getSelectUserSchema, getSpaceUsersPickerAmisSchema, getSpaceUsersPickerSchema, getSteedosAuth, getSwitchTpl, getTableSchema, getTenantId, getTimeTpl, getUISchema, getUISchemaSync$1 as getUISchemaSync, getUiFieldTpl, getUiFileSizeTpl, getUserId, getViewSchema, isExpression, isObject, lookupToAmis, lookupToAmisIdsPicker, lookupToAmisPicker, lookupToAmisSelect, lookupToAmisSelectUser, markReadAll, parseSingleExpression, registerRemoteAssets, registerRenders, setEnv, setEnvs, setRootUrl, setSteedosAuth, setUISchemaFunction, setVariable, standardButtonsTodo, uuidv4 };
|
|
18499
18748
|
//# sourceMappingURL=index.esm.js.map
|