@steedos-widgets/amis-lib 1.2.39 → 1.2.40
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 +72 -78
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +72 -78
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +72 -78
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/index.d.ts +3 -2
- package/dist/types/lib/converter/amis/toolbar.d.ts +2 -1
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -3309,6 +3309,7 @@
|
|
|
3309
3309
|
}
|
|
3310
3310
|
const btnSearchId = "btn_filter_form_search_" + new Date().getTime();
|
|
3311
3311
|
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
3312
|
+
const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
|
|
3312
3313
|
const onSearchScript = `
|
|
3313
3314
|
const scope = event.context.scoped;
|
|
3314
3315
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
@@ -3394,6 +3395,11 @@
|
|
|
3394
3395
|
}
|
|
3395
3396
|
}
|
|
3396
3397
|
}
|
|
3398
|
+
else{
|
|
3399
|
+
const keywordsSearchBoxName = "${keywordsSearchBoxName}";
|
|
3400
|
+
//lookup字段保留快速搜索条件
|
|
3401
|
+
removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];
|
|
3402
|
+
}
|
|
3397
3403
|
filterForm.reset();
|
|
3398
3404
|
listView.handleFilterSubmit(removedValues);
|
|
3399
3405
|
const filterService = filterForm.context.getComponents().find(function(n){
|
|
@@ -5261,16 +5267,14 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5261
5267
|
// }
|
|
5262
5268
|
`;
|
|
5263
5269
|
|
|
5264
|
-
|
|
5265
|
-
function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs = false, hiddenCount = false, headerToolbarItems, filterVisible = true, isLookup = false } = {}){
|
|
5266
|
-
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
5267
|
-
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
5270
|
+
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
|
|
5268
5271
|
const searchableFieldsLabel = [];
|
|
5269
5272
|
_.each(fields, function (field) {
|
|
5270
|
-
if (field
|
|
5273
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
5271
5274
|
searchableFieldsLabel.push(field.label);
|
|
5272
5275
|
}
|
|
5273
5276
|
});
|
|
5277
|
+
|
|
5274
5278
|
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
5275
5279
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
5276
5280
|
let crudKeywords = "";
|
|
@@ -5279,6 +5283,35 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5279
5283
|
crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
|
|
5280
5284
|
}
|
|
5281
5285
|
|
|
5286
|
+
return {
|
|
5287
|
+
"type": "tooltip-wrapper",
|
|
5288
|
+
"align": "right",
|
|
5289
|
+
"title": "",
|
|
5290
|
+
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5291
|
+
"placement": "bottom",
|
|
5292
|
+
"tooltipTheme": "dark",
|
|
5293
|
+
"trigger": "click",
|
|
5294
|
+
"className": formFactor !== 'SMALL' ? "mr-1" : '',
|
|
5295
|
+
"visible": !!searchableFieldsLabel.length,
|
|
5296
|
+
"body": [
|
|
5297
|
+
{
|
|
5298
|
+
"type": "search-box",
|
|
5299
|
+
"name": keywordsSearchBoxName,
|
|
5300
|
+
"placeholder": "快速搜索",
|
|
5301
|
+
"value": crudKeywords,
|
|
5302
|
+
"clearable": true,
|
|
5303
|
+
"clearAndSubmit": true
|
|
5304
|
+
}
|
|
5305
|
+
]
|
|
5306
|
+
}
|
|
5307
|
+
}
|
|
5308
|
+
|
|
5309
|
+
function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
5310
|
+
showDisplayAs = false, hiddenCount = false, headerToolbarItems,
|
|
5311
|
+
filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){
|
|
5312
|
+
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
5313
|
+
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
5314
|
+
|
|
5282
5315
|
const isMobile = window.innerWidth < 768;
|
|
5283
5316
|
if(isMobile){
|
|
5284
5317
|
showDisplayAs = false;
|
|
@@ -5350,26 +5383,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5350
5383
|
}
|
|
5351
5384
|
} : {},
|
|
5352
5385
|
getDisplayAsButton(mainObject?.name),
|
|
5353
|
-
{
|
|
5354
|
-
"type": "tooltip-wrapper",
|
|
5355
|
-
"align": "right",
|
|
5356
|
-
"title": "",
|
|
5357
|
-
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5358
|
-
"placement": "bottom",
|
|
5359
|
-
"tooltipTheme": "dark",
|
|
5360
|
-
"trigger": "click",
|
|
5361
|
-
// "className": "mr-1",
|
|
5362
|
-
"body": [
|
|
5363
|
-
{
|
|
5364
|
-
"type": "search-box",
|
|
5365
|
-
"name": "__keywords",
|
|
5366
|
-
"placeholder": "请输入关键字",
|
|
5367
|
-
"value": crudKeywords,
|
|
5368
|
-
"clearable": true,
|
|
5369
|
-
"clearAndSubmit": true
|
|
5370
|
-
}
|
|
5371
|
-
]
|
|
5372
|
-
},
|
|
5386
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName })
|
|
5373
5387
|
]
|
|
5374
5388
|
}else {
|
|
5375
5389
|
return [
|
|
@@ -5429,26 +5443,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5429
5443
|
// getExportExcelToolbarButtonSchema(),
|
|
5430
5444
|
mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
|
|
5431
5445
|
getDisplayAsButton(mainObject?.name),
|
|
5432
|
-
{
|
|
5433
|
-
"type": "tooltip-wrapper",
|
|
5434
|
-
"align": "right",
|
|
5435
|
-
"title": "",
|
|
5436
|
-
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5437
|
-
"placement": "bottom",
|
|
5438
|
-
"tooltipTheme": "dark",
|
|
5439
|
-
"trigger": "click",
|
|
5440
|
-
"className": "mr-1",
|
|
5441
|
-
"body": [
|
|
5442
|
-
{
|
|
5443
|
-
"type": "search-box",
|
|
5444
|
-
"name": "__keywords",
|
|
5445
|
-
"placeholder": "请输入关键字",
|
|
5446
|
-
"value": crudKeywords,
|
|
5447
|
-
"clearable": true,
|
|
5448
|
-
"clearAndSubmit": true
|
|
5449
|
-
}
|
|
5450
|
-
]
|
|
5451
|
-
},
|
|
5446
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName }),
|
|
5452
5447
|
// {
|
|
5453
5448
|
// "type": "drag-toggler",
|
|
5454
5449
|
// "align": "right"
|
|
@@ -5866,7 +5861,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5866
5861
|
})){
|
|
5867
5862
|
i++;
|
|
5868
5863
|
tableFields.push(field);
|
|
5869
|
-
if(field
|
|
5864
|
+
if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
|
|
5870
5865
|
searchableFields.push(field.name);
|
|
5871
5866
|
}
|
|
5872
5867
|
}
|
|
@@ -5907,7 +5902,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5907
5902
|
source.data.$term = "$term";
|
|
5908
5903
|
source.data.$self = "$$";
|
|
5909
5904
|
|
|
5910
|
-
|
|
5905
|
+
let keywordsSearchBoxName = `__keywords_lookup__${field.name}__to__${refObjectConfig.name}`;
|
|
5906
|
+
|
|
5911
5907
|
source.requestAdaptor = `
|
|
5912
5908
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
5913
5909
|
var filters = [];
|
|
@@ -5961,19 +5957,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5961
5957
|
})
|
|
5962
5958
|
}
|
|
5963
5959
|
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
allowSearchFields.forEach(function(key, index){
|
|
5967
|
-
const keyValue = selfData.__keywords;
|
|
5968
|
-
if(keyValue){
|
|
5969
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
5970
|
-
if(index < allowSearchFields.length - 1){
|
|
5971
|
-
keywordsFilters.push('or');
|
|
5972
|
-
}
|
|
5973
|
-
}
|
|
5974
|
-
})
|
|
5960
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);
|
|
5961
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
5975
5962
|
filters.push(keywordsFilters);
|
|
5976
|
-
}
|
|
5963
|
+
}
|
|
5977
5964
|
|
|
5978
5965
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
5979
5966
|
if(fieldFilters && fieldFilters.length){
|
|
@@ -6091,7 +6078,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6091
6078
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
6092
6079
|
}
|
|
6093
6080
|
|
|
6094
|
-
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true });
|
|
6081
|
+
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
6095
6082
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
6096
6083
|
if (isAllowCreate) {
|
|
6097
6084
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
@@ -6102,8 +6089,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6102
6089
|
pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
|
|
6103
6090
|
if (ctx.filterVisible !== false) {
|
|
6104
6091
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
6092
|
+
...ctx,
|
|
6105
6093
|
isLookup: true,
|
|
6106
|
-
|
|
6094
|
+
keywordsSearchBoxName
|
|
6107
6095
|
});
|
|
6108
6096
|
}
|
|
6109
6097
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -6439,7 +6427,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6439
6427
|
}
|
|
6440
6428
|
|
|
6441
6429
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
|
|
6442
|
-
if(ctx.idsDependOn
|
|
6430
|
+
if(ctx.idsDependOn){
|
|
6443
6431
|
// ids人员点选模式
|
|
6444
6432
|
return await lookupToAmisIdsPicker(field, readonly, ctx);
|
|
6445
6433
|
}
|
|
@@ -6814,7 +6802,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6814
6802
|
return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
|
|
6815
6803
|
};
|
|
6816
6804
|
|
|
6817
|
-
const
|
|
6805
|
+
const QUICK_SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
|
|
6818
6806
|
const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
|
|
6819
6807
|
// const Lookup = require('./lookup');
|
|
6820
6808
|
|
|
@@ -7587,9 +7575,22 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7587
7575
|
window.isFieldTypeSearchable = isFieldTypeSearchable;
|
|
7588
7576
|
}
|
|
7589
7577
|
|
|
7578
|
+
|
|
7579
|
+
function isFieldQuickSearchable(field, nameFieldKey) {
|
|
7580
|
+
let fieldSearchable = field.searchable;
|
|
7581
|
+
if(fieldSearchable !== false && field.name === nameFieldKey){
|
|
7582
|
+
// 对象上名称字段的searchable默认认为是true
|
|
7583
|
+
fieldSearchable = true;
|
|
7584
|
+
}
|
|
7585
|
+
if (fieldSearchable && QUICK_SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1) {
|
|
7586
|
+
return true;
|
|
7587
|
+
}
|
|
7588
|
+
return false;
|
|
7589
|
+
}
|
|
7590
|
+
|
|
7590
7591
|
var index = /*#__PURE__*/Object.freeze({
|
|
7591
7592
|
__proto__: null,
|
|
7592
|
-
|
|
7593
|
+
QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,
|
|
7593
7594
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
7594
7595
|
getBaseFields: getBaseFields,
|
|
7595
7596
|
getAmisFieldType: getAmisFieldType,
|
|
@@ -7600,6 +7601,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7600
7601
|
convertSFieldToAmisField: convertSFieldToAmisField,
|
|
7601
7602
|
getFieldSearchable: getFieldSearchable,
|
|
7602
7603
|
isFieldTypeSearchable: isFieldTypeSearchable,
|
|
7604
|
+
isFieldQuickSearchable: isFieldQuickSearchable,
|
|
7603
7605
|
getAmisStaticFieldType: getAmisStaticFieldType
|
|
7604
7606
|
});
|
|
7605
7607
|
|
|
@@ -8376,8 +8378,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
8376
8378
|
if(filter){
|
|
8377
8379
|
baseFilters = filter;
|
|
8378
8380
|
}
|
|
8379
|
-
|
|
8380
|
-
|
|
8381
|
+
|
|
8382
|
+
___namespace.each(fields, function (field) {
|
|
8383
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
8381
8384
|
searchableFields.push(field.name);
|
|
8382
8385
|
}
|
|
8383
8386
|
});
|
|
@@ -8505,19 +8508,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
8505
8508
|
})
|
|
8506
8509
|
}
|
|
8507
8510
|
|
|
8508
|
-
|
|
8509
|
-
|
|
8510
|
-
allowSearchFields.forEach(function(key, index){
|
|
8511
|
-
const keyValue = selfData.__keywords;
|
|
8512
|
-
if(keyValue){
|
|
8513
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
8514
|
-
if(index < allowSearchFields.length - 1){
|
|
8515
|
-
keywordsFilters.push('or');
|
|
8516
|
-
}
|
|
8517
|
-
}
|
|
8518
|
-
})
|
|
8511
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);
|
|
8512
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
8519
8513
|
userFilters.push(keywordsFilters);
|
|
8520
|
-
}
|
|
8514
|
+
}
|
|
8521
8515
|
|
|
8522
8516
|
let filters = [];
|
|
8523
8517
|
|