@steedos-widgets/amis-lib 6.3.12-beta.9 → 6.10.1-beta.8
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 +115 -33
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +115 -33
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +43 -41
- 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/index.d.ts +1 -1
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -1240,7 +1240,7 @@ async function getPage({type, pageId = '', appId, objectName = '', recordId = ''
|
|
|
1240
1240
|
* @Author: baozhoutao@steedos.com
|
|
1241
1241
|
* @Date: 2022-10-28 14:15:09
|
|
1242
1242
|
* @LastEditors: baozhoutao@steedos.com
|
|
1243
|
-
* @LastEditTime:
|
|
1243
|
+
* @LastEditTime: 2025-02-13 09:31:02
|
|
1244
1244
|
* @Description:
|
|
1245
1245
|
*/
|
|
1246
1246
|
|
|
@@ -1299,7 +1299,7 @@ async function getLookupLinkOnClick(field, options) {
|
|
|
1299
1299
|
"title": " ",
|
|
1300
1300
|
"headerClassName": "hidden",
|
|
1301
1301
|
"size": "lg",
|
|
1302
|
-
"width": "70%",
|
|
1302
|
+
"width": window.drawerWidth || "70%",
|
|
1303
1303
|
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
1304
1304
|
"closeOnEsc": true,
|
|
1305
1305
|
"closeOnOutside": true,
|
|
@@ -1895,7 +1895,6 @@ async function getQuickEditSchema(object, columnField, options){
|
|
|
1895
1895
|
{
|
|
1896
1896
|
actionType: "custom",
|
|
1897
1897
|
script: `
|
|
1898
|
-
console.log("asdasd");
|
|
1899
1898
|
let items = _.cloneDeep(event.data.items);
|
|
1900
1899
|
let selectedItems = _.cloneDeep(event.data.selectedItems);
|
|
1901
1900
|
if(event.data.isBatchEdit){
|
|
@@ -2392,7 +2391,7 @@ async function getColumnItemOnClick(field, options){
|
|
|
2392
2391
|
"title": " ",
|
|
2393
2392
|
"headerClassName": "hidden",
|
|
2394
2393
|
"size": "lg",
|
|
2395
|
-
"width": "70%",
|
|
2394
|
+
"width": window.drawerWidth || "70%",
|
|
2396
2395
|
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
2397
2396
|
"closeOnEsc": true,
|
|
2398
2397
|
"closeOnOutside": true,
|
|
@@ -3436,6 +3435,11 @@ async function getTableApi(mainObject, fields, options){
|
|
|
3436
3435
|
}, 600);
|
|
3437
3436
|
}
|
|
3438
3437
|
}
|
|
3438
|
+
|
|
3439
|
+
// 列表搜索和快速搜索,有时在某些操作情况下还是会造成crud接口请求使用的过滤条件是上次的,这里强制把正确的过滤条件返回到crud,详细规则见:https://github.com/steedos/steedos-platform/issues/7112
|
|
3440
|
+
// lookup字段的弹出列表搜索不受这里影响,因为lookup字段的弹出列表搜索是单独的接口请求
|
|
3441
|
+
payload.data.__changedFilterFormValues = api.context.__changedFilterFormValues;
|
|
3442
|
+
payload.data.__changedSearchBoxValues = api.context.__changedSearchBoxValues;
|
|
3439
3443
|
${options.adaptor || ''}
|
|
3440
3444
|
return payload;
|
|
3441
3445
|
`;
|
|
@@ -3533,6 +3537,7 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
3533
3537
|
payload.data.data = [emptyDoc];
|
|
3534
3538
|
}
|
|
3535
3539
|
else{
|
|
3540
|
+
console.log('无法找到记录', api, payload, context)
|
|
3536
3541
|
return {
|
|
3537
3542
|
status: 2,
|
|
3538
3543
|
msg: "${i18next__default["default"].t('frontend_no_records_found')}"
|
|
@@ -3559,13 +3564,12 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
3559
3564
|
console.error(e)
|
|
3560
3565
|
}
|
|
3561
3566
|
payload.data = data;
|
|
3562
|
-
payload.data.__objectName = "${object.name}";
|
|
3563
3567
|
payload.data.record = record;
|
|
3564
3568
|
payload.data.NAME_FIELD_VALUE = ${nameLabel} || record.name;
|
|
3565
3569
|
payload.data._master = {
|
|
3566
3570
|
record: record,
|
|
3567
|
-
objectName: "
|
|
3568
|
-
recordId:
|
|
3571
|
+
objectName: "\${objectName}",
|
|
3572
|
+
recordId: "\${recordId}"
|
|
3569
3573
|
}
|
|
3570
3574
|
window.postMessage(Object.assign({type: "record.loaded"}, {record: record}), "*")
|
|
3571
3575
|
}
|
|
@@ -4474,6 +4478,11 @@ var __assign = function() {
|
|
|
4474
4478
|
return t;
|
|
4475
4479
|
};
|
|
4476
4480
|
return __assign.apply(this, arguments);
|
|
4481
|
+
};
|
|
4482
|
+
|
|
4483
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
4484
|
+
var e = new Error(message);
|
|
4485
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
4477
4486
|
};
|
|
4478
4487
|
|
|
4479
4488
|
/**
|
|
@@ -6167,15 +6176,38 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6167
6176
|
if (!ctx) {
|
|
6168
6177
|
ctx = {};
|
|
6169
6178
|
}
|
|
6179
|
+
const searchableFields = ctx.searchable_fields;
|
|
6180
|
+
const autoOpenFilter = !!ctx.auto_open_filter;
|
|
6170
6181
|
const btnSearchId = "btn_filter_form_search_" + new Date().getTime();
|
|
6171
6182
|
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
6172
6183
|
const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
|
|
6173
6184
|
const onSearchScript = `
|
|
6174
|
-
|
|
6185
|
+
let isLookup = event.data.isLookup;
|
|
6186
|
+
let __lookupField = event.data.__lookupField;
|
|
6175
6187
|
const scope = event.context.scoped;
|
|
6188
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
6176
6189
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
6177
6190
|
return n.props.type === "form";
|
|
6178
6191
|
});
|
|
6192
|
+
// 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取,因为本地存储中的过滤条件自动填充到表单上时filterForm.getValues()拿不到。
|
|
6193
|
+
let filterFormValues = event.data;
|
|
6194
|
+
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
6195
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});
|
|
6196
|
+
// 同步__changedFilterFormValues中的值
|
|
6197
|
+
// crud && crud.setData({__changedFilterFormValues: {}});
|
|
6198
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
6199
|
+
if(isLookup && __lookupField){
|
|
6200
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
6201
|
+
if(__lookupField.reference_to_field){
|
|
6202
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
6203
|
+
}
|
|
6204
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
6205
|
+
}
|
|
6206
|
+
if(crud){
|
|
6207
|
+
let crudData = crud.getData();
|
|
6208
|
+
crudData[__changedFilterFormValuesKey] = changedFilterFormValues;
|
|
6209
|
+
crud.setData(crudData);
|
|
6210
|
+
}
|
|
6179
6211
|
filterForm.handleFormSubmit(event);
|
|
6180
6212
|
// var filterFormValues = filterForm.getValues();
|
|
6181
6213
|
// var listView = scope.parent.parent.parent.getComponents().find(function(n){
|
|
@@ -6224,11 +6256,8 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6224
6256
|
}
|
|
6225
6257
|
filterService.setData({showFieldsFilter});
|
|
6226
6258
|
// resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了
|
|
6227
|
-
// 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
|
|
6228
|
-
let filterFormValues = event.data;
|
|
6229
6259
|
let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
|
|
6230
|
-
let
|
|
6231
|
-
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
6260
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
6232
6261
|
crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});
|
|
6233
6262
|
`;
|
|
6234
6263
|
const onCancelScript = `
|
|
@@ -6314,10 +6343,12 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6314
6343
|
|
|
6315
6344
|
// 移除搜索按钮上的红点
|
|
6316
6345
|
// let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
6317
|
-
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
6346
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
6318
6347
|
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
6319
6348
|
`;
|
|
6320
6349
|
const dataProviderInited = `
|
|
6350
|
+
const searchableFields = ${JSON.stringify(searchableFields)};
|
|
6351
|
+
const autoOpenFilter = ${autoOpenFilter};
|
|
6321
6352
|
const objectName = data.objectName;
|
|
6322
6353
|
const isLookup = data.isLookup;
|
|
6323
6354
|
const listName = data.listName;
|
|
@@ -6330,6 +6361,11 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6330
6361
|
if(defaultSearchableFields){
|
|
6331
6362
|
defaultSearchableFields = defaultSearchableFields.split(",");
|
|
6332
6363
|
}
|
|
6364
|
+
if(_.isEmpty(defaultSearchableFields) && searchableFields){
|
|
6365
|
+
if(searchableFields.length){
|
|
6366
|
+
defaultSearchableFields = _.map(searchableFields, 'field');
|
|
6367
|
+
}
|
|
6368
|
+
}
|
|
6333
6369
|
if(_.isEmpty(defaultSearchableFields) && data.uiSchema){
|
|
6334
6370
|
let listView = data.uiSchema.list_views[data.listName];
|
|
6335
6371
|
const sFields = listView && listView.searchable_fields;
|
|
@@ -6348,7 +6384,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
6348
6384
|
setData({ filterFormSearchableFields: defaultSearchableFields });
|
|
6349
6385
|
if(isLookup){
|
|
6350
6386
|
// looup字段过滤器不在本地缓存记住过滤条件,所以初始始终隐藏过滤器
|
|
6351
|
-
setData({ showFieldsFilter:
|
|
6387
|
+
setData({ showFieldsFilter: autoOpenFilter });
|
|
6352
6388
|
}
|
|
6353
6389
|
else{
|
|
6354
6390
|
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
@@ -7613,7 +7649,7 @@ async function getObjectListHeaderFieldsFilterBar(objectSchema, listViewName, ct
|
|
|
7613
7649
|
* @param {*} objectSchema 对象UISchema
|
|
7614
7650
|
* @returns amisSchema
|
|
7615
7651
|
*/
|
|
7616
|
-
function getObjectListHeader
|
|
7652
|
+
function getObjectListHeader(objectSchema, listViewName, ctx) {
|
|
7617
7653
|
if (!ctx) {
|
|
7618
7654
|
ctx = {};
|
|
7619
7655
|
}
|
|
@@ -8939,10 +8975,9 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
8939
8975
|
}
|
|
8940
8976
|
|
|
8941
8977
|
const onChangeScript = `
|
|
8942
|
-
// console.log("==search=onChangeScript===");
|
|
8943
8978
|
const scope = event.context.scoped;
|
|
8944
8979
|
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
8945
|
-
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
8980
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
8946
8981
|
let __changedSearchBoxValues = {};
|
|
8947
8982
|
__changedSearchBoxValues["${keywordsSearchBoxName}"] = event.data["${keywordsSearchBoxName}"];
|
|
8948
8983
|
// crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});
|
|
@@ -9309,10 +9344,28 @@ async function getObjectFilter(objectSchema, fields, options) {
|
|
|
9309
9344
|
let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
|
|
9310
9345
|
let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
|
|
9311
9346
|
// 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。
|
|
9312
|
-
let filterFormValues = filterFormService.getData()
|
|
9347
|
+
let filterFormValues = filterFormService.getData();
|
|
9348
|
+
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
9313
9349
|
let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
|
|
9314
9350
|
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
9315
|
-
|
|
9351
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});
|
|
9352
|
+
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
9353
|
+
// crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
9354
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
9355
|
+
if(isLookup && __lookupField){
|
|
9356
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
9357
|
+
if(__lookupField.reference_to_field){
|
|
9358
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
9359
|
+
}
|
|
9360
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
9361
|
+
}
|
|
9362
|
+
if(crud){
|
|
9363
|
+
let crudData = crud.getData();
|
|
9364
|
+
crudData[__changedFilterFormValuesKey] = changedFilterFormValues;
|
|
9365
|
+
crud.setData(crudData);
|
|
9366
|
+
}
|
|
9367
|
+
|
|
9368
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
9316
9369
|
crudService && crudService.setData({isFieldsFilterEmpty});
|
|
9317
9370
|
`;
|
|
9318
9371
|
let onChangeScript = `
|
|
@@ -9327,7 +9380,7 @@ async function getObjectFilter(objectSchema, fields, options) {
|
|
|
9327
9380
|
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
9328
9381
|
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
9329
9382
|
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;
|
|
9330
|
-
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
9383
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
9331
9384
|
// crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
9332
9385
|
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
9333
9386
|
// crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
@@ -9683,7 +9736,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9683
9736
|
className: crudModeClassName,
|
|
9684
9737
|
//目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}
|
|
9685
9738
|
id: `service_${id}`,
|
|
9686
|
-
name:
|
|
9739
|
+
name: "service_object_table_crud",
|
|
9687
9740
|
data: options.amisData,
|
|
9688
9741
|
body: body,
|
|
9689
9742
|
//监听广播事件,重算crud高度
|
|
@@ -9950,7 +10003,7 @@ async function getObjectDetail(objectSchema, recordId, ctx){
|
|
|
9950
10003
|
}
|
|
9951
10004
|
|
|
9952
10005
|
amisSchema.body[0].body = await getFormSchemaWithDataFilter(amisSchema.body[0].body, { formDataFilter, onFormDataFilter, amisData, env });
|
|
9953
|
-
// console.log('getObjectDetail=====>', amisSchema);
|
|
10006
|
+
// console.log('getObjectDetail=====>', amisSchema, objectSchema, recordId, ctx);
|
|
9954
10007
|
return amisSchema;
|
|
9955
10008
|
}
|
|
9956
10009
|
|
|
@@ -10030,8 +10083,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
|
|
|
10030
10083
|
/*
|
|
10031
10084
|
* @Author: baozhoutao@steedos.com
|
|
10032
10085
|
* @Date: 2022-07-05 15:55:39
|
|
10033
|
-
* @LastEditors:
|
|
10034
|
-
* @LastEditTime:
|
|
10086
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
10087
|
+
* @LastEditTime: 2025-01-08 13:32:51
|
|
10035
10088
|
* @Description:
|
|
10036
10089
|
*/
|
|
10037
10090
|
|
|
@@ -10105,7 +10158,7 @@ async function getObjectRelatedList(
|
|
|
10105
10158
|
|
|
10106
10159
|
// 获取单个相关表
|
|
10107
10160
|
async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObjectName, relatedKey, ctx){
|
|
10108
|
-
let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on } = ctx;
|
|
10161
|
+
let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on, enableHeaderToolbar } = ctx;
|
|
10109
10162
|
// console.log('getRecordDetailRelatedListSchema==>',objectName,recordId,relatedObjectName)
|
|
10110
10163
|
const relatedObjectUiSchema = await getUISchema(relatedObjectName);
|
|
10111
10164
|
if(!relatedObjectUiSchema){
|
|
@@ -10170,6 +10223,10 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
10170
10223
|
let headerToolbar = [];
|
|
10171
10224
|
if(!isMobile){
|
|
10172
10225
|
headerToolbar.push("bulkActions");
|
|
10226
|
+
if (enableHeaderToolbar) {
|
|
10227
|
+
// 通过 enableHeaderToolbar = true 可以控制是否显示内置的带过滤器的headerToolbar
|
|
10228
|
+
headerToolbar = undefined;
|
|
10229
|
+
}
|
|
10173
10230
|
}
|
|
10174
10231
|
const options = {
|
|
10175
10232
|
globalFilter,
|
|
@@ -10208,7 +10265,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
10208
10265
|
amisSchema: {
|
|
10209
10266
|
type: "service",
|
|
10210
10267
|
id: componentId,
|
|
10211
|
-
className: `steedos-record-related-list mb-4 last:mb-0 ${componentId} ${className}`,
|
|
10268
|
+
className: `steedos-record-related-list mb-4 last:mb-0 ${componentId} ${className} ${enableHeaderToolbar ? 'enable-header-toolbar' : ''}`,
|
|
10212
10269
|
data: {
|
|
10213
10270
|
relatedKey: relatedKey,
|
|
10214
10271
|
listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
|
|
@@ -10310,6 +10367,7 @@ async function getRelatedListSchema(
|
|
|
10310
10367
|
listViewName,
|
|
10311
10368
|
ctx
|
|
10312
10369
|
) {
|
|
10370
|
+
const { enableHeaderToolbar } = ctx;
|
|
10313
10371
|
const uiSchema = await getUISchema(objectName);
|
|
10314
10372
|
if(!uiSchema){
|
|
10315
10373
|
return {}
|
|
@@ -10362,10 +10420,14 @@ async function getRelatedListSchema(
|
|
|
10362
10420
|
delete ctx.filters;
|
|
10363
10421
|
|
|
10364
10422
|
delete ctx.globalFilter;
|
|
10423
|
+
delete ctx.enableHeaderToolbar;
|
|
10365
10424
|
|
|
10366
10425
|
const adaptor = `
|
|
10367
10426
|
try{
|
|
10368
10427
|
if(setDataToComponentId){
|
|
10428
|
+
// 子表列表在headerToolbar过滤器中设置过过滤条件的话,始终显示子表列表,无论是否查询到数据
|
|
10429
|
+
// 改为使用css样式控制子表列表放开headerToolbar时,始终显示crud,只隐藏crud内部的表格,从而始终显示headerToolbar不受这里逻辑影响
|
|
10430
|
+
// var headerToolbarFilterChanged = context.isFieldsFilterEmpty === false;
|
|
10369
10431
|
if(payload.data.count){
|
|
10370
10432
|
setTimeout(function(){
|
|
10371
10433
|
// 设计器中获取不到window.$从而导致报错, 所以用纯js替换下。
|
|
@@ -10388,7 +10450,7 @@ async function getRelatedListSchema(
|
|
|
10388
10450
|
"filters": listviewFilter,
|
|
10389
10451
|
"filtersFunction": filtersFunction,
|
|
10390
10452
|
"sort": listViewSort,
|
|
10391
|
-
"filterVisible":
|
|
10453
|
+
"filterVisible": !!enableHeaderToolbar,
|
|
10392
10454
|
"requestAdaptor": ctx.requestAdaptor,
|
|
10393
10455
|
"adaptor": adaptor + ctx.adaptor || '',
|
|
10394
10456
|
"ctx": ctx,
|
|
@@ -10439,8 +10501,8 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
|
|
|
10439
10501
|
/*
|
|
10440
10502
|
* @Author: baozhoutao@steedos.com
|
|
10441
10503
|
* @Date: 2022-07-05 15:55:39
|
|
10442
|
-
* @LastEditors:
|
|
10443
|
-
* @LastEditTime:
|
|
10504
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
10505
|
+
* @LastEditTime: 2025-02-21 13:31:43
|
|
10444
10506
|
* @Description:
|
|
10445
10507
|
*/
|
|
10446
10508
|
|
|
@@ -11883,6 +11945,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
11883
11945
|
ctx.idFieldName = refObjectConfig.idFieldName;
|
|
11884
11946
|
ctx.objectName = refObjectConfig.name;
|
|
11885
11947
|
|
|
11948
|
+
// 是否显示lookup字段左侧的过滤器(如果有的话),默认为true,目前只有lookup选人字段有左侧树过滤器
|
|
11949
|
+
const showLeftFilter = field.show_left_filter !== false;
|
|
11950
|
+
|
|
11886
11951
|
let tableFields = [];
|
|
11887
11952
|
const searchableFields = [];
|
|
11888
11953
|
|
|
@@ -12214,6 +12279,20 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12214
12279
|
});
|
|
12215
12280
|
payload.data.rows = updatedResult;
|
|
12216
12281
|
}
|
|
12282
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
12283
|
+
let __lookupField = api.data.$self.__lookupField;
|
|
12284
|
+
if(__lookupField){
|
|
12285
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
12286
|
+
if(__lookupField.reference_to_field){
|
|
12287
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
12288
|
+
}
|
|
12289
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
12290
|
+
}
|
|
12291
|
+
let __changedFilterFormValues = api.context[__changedFilterFormValuesKey] || {};
|
|
12292
|
+
let __changedSearchBoxValues = api.context.__changedSearchBoxValues || {};
|
|
12293
|
+
// 列表搜索和快速搜索,有时在某些操作情况下还是会造成crud接口请求使用的过滤条件是上次的,这里强制把正确的过滤条件返回到crud,详细规则见:https://github.com/steedos/steedos-platform/issues/7112
|
|
12294
|
+
payload.data[__changedFilterFormValuesKey] = __changedFilterFormValues;
|
|
12295
|
+
payload.data.__changedSearchBoxValues = __changedSearchBoxValues;
|
|
12217
12296
|
return payload;
|
|
12218
12297
|
`;
|
|
12219
12298
|
if(field.optionsFunction || field._optionsFunction){
|
|
@@ -12249,7 +12328,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12249
12328
|
|
|
12250
12329
|
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { isLookup: true, keywordsSearchBoxName });
|
|
12251
12330
|
|
|
12252
|
-
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
|
|
12331
|
+
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && showLeftFilter){
|
|
12253
12332
|
pickerSchema.headerToolbar.push(getLookupSapceUserTreeSchema(isMobile));
|
|
12254
12333
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
12255
12334
|
}
|
|
@@ -12269,7 +12348,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
12269
12348
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
12270
12349
|
...ctx,
|
|
12271
12350
|
isLookup: true,
|
|
12272
|
-
keywordsSearchBoxName
|
|
12351
|
+
keywordsSearchBoxName,
|
|
12352
|
+
searchable_fields: field.searchable_fields,
|
|
12353
|
+
auto_open_filter: field.auto_open_filter,
|
|
12354
|
+
show_left_filter: field.show_left_filter
|
|
12273
12355
|
});
|
|
12274
12356
|
}
|
|
12275
12357
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -16039,7 +16121,7 @@ async function getListviewInitSchema(objectApiName, listViewName, ctx) {
|
|
|
16039
16121
|
const defaults = ctx.defaults || {};
|
|
16040
16122
|
if(!defaults.headerSchema){
|
|
16041
16123
|
//传入isListviewInit是区别于对象列表类型的微页面,即getListPageInitSchema函数中该属性为false
|
|
16042
|
-
const headerSchema = await getObjectListHeader
|
|
16124
|
+
const headerSchema = await getObjectListHeader(uiSchema, listViewName, {
|
|
16043
16125
|
onlySecordLine: true,
|
|
16044
16126
|
isListviewInit: true
|
|
16045
16127
|
});
|
|
@@ -18590,7 +18672,7 @@ exports.getObjectDetailMoreButtons = getObjectDetailMoreButtons;
|
|
|
18590
18672
|
exports.getObjectFieldsFilterBarSchema = getObjectFieldsFilterBarSchema;
|
|
18591
18673
|
exports.getObjectFieldsFilterButtonSchema = getObjectFieldsFilterButtonSchema;
|
|
18592
18674
|
exports.getObjectFieldsFilterFormSchema = getObjectFieldsFilterFormSchema;
|
|
18593
|
-
exports.getObjectListHeader = getObjectListHeader
|
|
18675
|
+
exports.getObjectListHeader = getObjectListHeader;
|
|
18594
18676
|
exports.getObjectListHeaderFieldsFilterBar = getObjectListHeaderFieldsFilterBar;
|
|
18595
18677
|
exports.getObjectListHeaderFirstLine = getObjectListHeaderFirstLine;
|
|
18596
18678
|
exports.getObjectListHeaderSecordLine = getObjectListHeaderSecordLine;
|