@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.esm.js
CHANGED
|
@@ -3285,6 +3285,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3285
3285
|
}
|
|
3286
3286
|
const btnSearchId = "btn_filter_form_search_" + new Date().getTime();
|
|
3287
3287
|
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
3288
|
+
const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
|
|
3288
3289
|
const onSearchScript = `
|
|
3289
3290
|
const scope = event.context.scoped;
|
|
3290
3291
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
@@ -3370,6 +3371,11 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3370
3371
|
}
|
|
3371
3372
|
}
|
|
3372
3373
|
}
|
|
3374
|
+
else{
|
|
3375
|
+
const keywordsSearchBoxName = "${keywordsSearchBoxName}";
|
|
3376
|
+
//lookup字段保留快速搜索条件
|
|
3377
|
+
removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];
|
|
3378
|
+
}
|
|
3373
3379
|
filterForm.reset();
|
|
3374
3380
|
listView.handleFilterSubmit(removedValues);
|
|
3375
3381
|
const filterService = filterForm.context.getComponents().find(function(n){
|
|
@@ -5237,16 +5243,14 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5237
5243
|
// }
|
|
5238
5244
|
`;
|
|
5239
5245
|
|
|
5240
|
-
|
|
5241
|
-
function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs = false, hiddenCount = false, headerToolbarItems, filterVisible = true, isLookup = false } = {}){
|
|
5242
|
-
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
5243
|
-
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
5246
|
+
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
|
|
5244
5247
|
const searchableFieldsLabel = [];
|
|
5245
5248
|
_.each(fields, function (field) {
|
|
5246
|
-
if (field
|
|
5249
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
5247
5250
|
searchableFieldsLabel.push(field.label);
|
|
5248
5251
|
}
|
|
5249
5252
|
});
|
|
5253
|
+
|
|
5250
5254
|
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
5251
5255
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
5252
5256
|
let crudKeywords = "";
|
|
@@ -5255,6 +5259,35 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs
|
|
|
5255
5259
|
crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
|
|
5256
5260
|
}
|
|
5257
5261
|
|
|
5262
|
+
return {
|
|
5263
|
+
"type": "tooltip-wrapper",
|
|
5264
|
+
"align": "right",
|
|
5265
|
+
"title": "",
|
|
5266
|
+
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5267
|
+
"placement": "bottom",
|
|
5268
|
+
"tooltipTheme": "dark",
|
|
5269
|
+
"trigger": "click",
|
|
5270
|
+
"className": formFactor !== 'SMALL' ? "mr-1" : '',
|
|
5271
|
+
"visible": !!searchableFieldsLabel.length,
|
|
5272
|
+
"body": [
|
|
5273
|
+
{
|
|
5274
|
+
"type": "search-box",
|
|
5275
|
+
"name": keywordsSearchBoxName,
|
|
5276
|
+
"placeholder": "快速搜索",
|
|
5277
|
+
"value": crudKeywords,
|
|
5278
|
+
"clearable": true,
|
|
5279
|
+
"clearAndSubmit": true
|
|
5280
|
+
}
|
|
5281
|
+
]
|
|
5282
|
+
}
|
|
5283
|
+
}
|
|
5284
|
+
|
|
5285
|
+
function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
5286
|
+
showDisplayAs = false, hiddenCount = false, headerToolbarItems,
|
|
5287
|
+
filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){
|
|
5288
|
+
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
5289
|
+
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
5290
|
+
|
|
5258
5291
|
const isMobile = window.innerWidth < 768;
|
|
5259
5292
|
if(isMobile){
|
|
5260
5293
|
showDisplayAs = false;
|
|
@@ -5326,26 +5359,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs
|
|
|
5326
5359
|
}
|
|
5327
5360
|
} : {},
|
|
5328
5361
|
getDisplayAsButton(mainObject?.name),
|
|
5329
|
-
{
|
|
5330
|
-
"type": "tooltip-wrapper",
|
|
5331
|
-
"align": "right",
|
|
5332
|
-
"title": "",
|
|
5333
|
-
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5334
|
-
"placement": "bottom",
|
|
5335
|
-
"tooltipTheme": "dark",
|
|
5336
|
-
"trigger": "click",
|
|
5337
|
-
// "className": "mr-1",
|
|
5338
|
-
"body": [
|
|
5339
|
-
{
|
|
5340
|
-
"type": "search-box",
|
|
5341
|
-
"name": "__keywords",
|
|
5342
|
-
"placeholder": "请输入关键字",
|
|
5343
|
-
"value": crudKeywords,
|
|
5344
|
-
"clearable": true,
|
|
5345
|
-
"clearAndSubmit": true
|
|
5346
|
-
}
|
|
5347
|
-
]
|
|
5348
|
-
},
|
|
5362
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName })
|
|
5349
5363
|
]
|
|
5350
5364
|
}else {
|
|
5351
5365
|
return [
|
|
@@ -5405,26 +5419,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs
|
|
|
5405
5419
|
// getExportExcelToolbarButtonSchema(),
|
|
5406
5420
|
mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
|
|
5407
5421
|
getDisplayAsButton(mainObject?.name),
|
|
5408
|
-
{
|
|
5409
|
-
"type": "tooltip-wrapper",
|
|
5410
|
-
"align": "right",
|
|
5411
|
-
"title": "",
|
|
5412
|
-
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5413
|
-
"placement": "bottom",
|
|
5414
|
-
"tooltipTheme": "dark",
|
|
5415
|
-
"trigger": "click",
|
|
5416
|
-
"className": "mr-1",
|
|
5417
|
-
"body": [
|
|
5418
|
-
{
|
|
5419
|
-
"type": "search-box",
|
|
5420
|
-
"name": "__keywords",
|
|
5421
|
-
"placeholder": "请输入关键字",
|
|
5422
|
-
"value": crudKeywords,
|
|
5423
|
-
"clearable": true,
|
|
5424
|
-
"clearAndSubmit": true
|
|
5425
|
-
}
|
|
5426
|
-
]
|
|
5427
|
-
},
|
|
5422
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName }),
|
|
5428
5423
|
// {
|
|
5429
5424
|
// "type": "drag-toggler",
|
|
5430
5425
|
// "align": "right"
|
|
@@ -5842,7 +5837,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5842
5837
|
})){
|
|
5843
5838
|
i++;
|
|
5844
5839
|
tableFields.push(field);
|
|
5845
|
-
if(field
|
|
5840
|
+
if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
|
|
5846
5841
|
searchableFields.push(field.name);
|
|
5847
5842
|
}
|
|
5848
5843
|
}
|
|
@@ -5883,7 +5878,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5883
5878
|
source.data.$term = "$term";
|
|
5884
5879
|
source.data.$self = "$$";
|
|
5885
5880
|
|
|
5886
|
-
|
|
5881
|
+
let keywordsSearchBoxName = `__keywords_lookup__${field.name}__to__${refObjectConfig.name}`;
|
|
5882
|
+
|
|
5887
5883
|
source.requestAdaptor = `
|
|
5888
5884
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
5889
5885
|
var filters = [];
|
|
@@ -5937,19 +5933,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5937
5933
|
})
|
|
5938
5934
|
}
|
|
5939
5935
|
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
allowSearchFields.forEach(function(key, index){
|
|
5943
|
-
const keyValue = selfData.__keywords;
|
|
5944
|
-
if(keyValue){
|
|
5945
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
5946
|
-
if(index < allowSearchFields.length - 1){
|
|
5947
|
-
keywordsFilters.push('or');
|
|
5948
|
-
}
|
|
5949
|
-
}
|
|
5950
|
-
})
|
|
5936
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);
|
|
5937
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
5951
5938
|
filters.push(keywordsFilters);
|
|
5952
|
-
}
|
|
5939
|
+
}
|
|
5953
5940
|
|
|
5954
5941
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
5955
5942
|
if(fieldFilters && fieldFilters.length){
|
|
@@ -6067,7 +6054,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6067
6054
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
6068
6055
|
}
|
|
6069
6056
|
|
|
6070
|
-
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true });
|
|
6057
|
+
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
6071
6058
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
6072
6059
|
if (isAllowCreate) {
|
|
6073
6060
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
@@ -6078,8 +6065,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6078
6065
|
pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
|
|
6079
6066
|
if (ctx.filterVisible !== false) {
|
|
6080
6067
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
6068
|
+
...ctx,
|
|
6081
6069
|
isLookup: true,
|
|
6082
|
-
|
|
6070
|
+
keywordsSearchBoxName
|
|
6083
6071
|
});
|
|
6084
6072
|
}
|
|
6085
6073
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -6415,7 +6403,7 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
6415
6403
|
}
|
|
6416
6404
|
|
|
6417
6405
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
|
|
6418
|
-
if(ctx.idsDependOn
|
|
6406
|
+
if(ctx.idsDependOn){
|
|
6419
6407
|
// ids人员点选模式
|
|
6420
6408
|
return await lookupToAmisIdsPicker(field, readonly, ctx);
|
|
6421
6409
|
}
|
|
@@ -6790,7 +6778,7 @@ const getAmisFileSchema = (steedosField, readonly)=>{
|
|
|
6790
6778
|
return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
|
|
6791
6779
|
};
|
|
6792
6780
|
|
|
6793
|
-
const
|
|
6781
|
+
const QUICK_SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
|
|
6794
6782
|
const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
|
|
6795
6783
|
// const Lookup = require('./lookup');
|
|
6796
6784
|
|
|
@@ -7563,9 +7551,22 @@ if (typeof window != 'undefined') {
|
|
|
7563
7551
|
window.isFieldTypeSearchable = isFieldTypeSearchable;
|
|
7564
7552
|
}
|
|
7565
7553
|
|
|
7554
|
+
|
|
7555
|
+
function isFieldQuickSearchable(field, nameFieldKey) {
|
|
7556
|
+
let fieldSearchable = field.searchable;
|
|
7557
|
+
if(fieldSearchable !== false && field.name === nameFieldKey){
|
|
7558
|
+
// 对象上名称字段的searchable默认认为是true
|
|
7559
|
+
fieldSearchable = true;
|
|
7560
|
+
}
|
|
7561
|
+
if (fieldSearchable && QUICK_SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1) {
|
|
7562
|
+
return true;
|
|
7563
|
+
}
|
|
7564
|
+
return false;
|
|
7565
|
+
}
|
|
7566
|
+
|
|
7566
7567
|
var index = /*#__PURE__*/Object.freeze({
|
|
7567
7568
|
__proto__: null,
|
|
7568
|
-
|
|
7569
|
+
QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,
|
|
7569
7570
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
7570
7571
|
getBaseFields: getBaseFields,
|
|
7571
7572
|
getAmisFieldType: getAmisFieldType,
|
|
@@ -7576,6 +7577,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
7576
7577
|
convertSFieldToAmisField: convertSFieldToAmisField,
|
|
7577
7578
|
getFieldSearchable: getFieldSearchable,
|
|
7578
7579
|
isFieldTypeSearchable: isFieldTypeSearchable,
|
|
7580
|
+
isFieldQuickSearchable: isFieldQuickSearchable,
|
|
7579
7581
|
getAmisStaticFieldType: getAmisStaticFieldType
|
|
7580
7582
|
});
|
|
7581
7583
|
|
|
@@ -8352,8 +8354,9 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8352
8354
|
if(filter){
|
|
8353
8355
|
baseFilters = filter;
|
|
8354
8356
|
}
|
|
8355
|
-
|
|
8356
|
-
|
|
8357
|
+
|
|
8358
|
+
_$1.each(fields, function (field) {
|
|
8359
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
8357
8360
|
searchableFields.push(field.name);
|
|
8358
8361
|
}
|
|
8359
8362
|
});
|
|
@@ -8481,19 +8484,10 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8481
8484
|
})
|
|
8482
8485
|
}
|
|
8483
8486
|
|
|
8484
|
-
|
|
8485
|
-
|
|
8486
|
-
allowSearchFields.forEach(function(key, index){
|
|
8487
|
-
const keyValue = selfData.__keywords;
|
|
8488
|
-
if(keyValue){
|
|
8489
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
8490
|
-
if(index < allowSearchFields.length - 1){
|
|
8491
|
-
keywordsFilters.push('or');
|
|
8492
|
-
}
|
|
8493
|
-
}
|
|
8494
|
-
})
|
|
8487
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);
|
|
8488
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
8495
8489
|
userFilters.push(keywordsFilters);
|
|
8496
|
-
}
|
|
8490
|
+
}
|
|
8497
8491
|
|
|
8498
8492
|
let filters = [];
|
|
8499
8493
|
|