@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.cjs.js
CHANGED
|
@@ -3312,6 +3312,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3312
3312
|
}
|
|
3313
3313
|
const btnSearchId = "btn_filter_form_search_" + new Date().getTime();
|
|
3314
3314
|
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
3315
|
+
const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
|
|
3315
3316
|
const onSearchScript = `
|
|
3316
3317
|
const scope = event.context.scoped;
|
|
3317
3318
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
@@ -3397,6 +3398,11 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3397
3398
|
}
|
|
3398
3399
|
}
|
|
3399
3400
|
}
|
|
3401
|
+
else{
|
|
3402
|
+
const keywordsSearchBoxName = "${keywordsSearchBoxName}";
|
|
3403
|
+
//lookup字段保留快速搜索条件
|
|
3404
|
+
removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];
|
|
3405
|
+
}
|
|
3400
3406
|
filterForm.reset();
|
|
3401
3407
|
listView.handleFilterSubmit(removedValues);
|
|
3402
3408
|
const filterService = filterForm.context.getComponents().find(function(n){
|
|
@@ -5264,16 +5270,14 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5264
5270
|
// }
|
|
5265
5271
|
`;
|
|
5266
5272
|
|
|
5267
|
-
|
|
5268
|
-
function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs = false, hiddenCount = false, headerToolbarItems, filterVisible = true, isLookup = false } = {}){
|
|
5269
|
-
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
5270
|
-
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
5273
|
+
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
|
|
5271
5274
|
const searchableFieldsLabel = [];
|
|
5272
5275
|
_.each(fields, function (field) {
|
|
5273
|
-
if (field
|
|
5276
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
5274
5277
|
searchableFieldsLabel.push(field.label);
|
|
5275
5278
|
}
|
|
5276
5279
|
});
|
|
5280
|
+
|
|
5277
5281
|
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
5278
5282
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
5279
5283
|
let crudKeywords = "";
|
|
@@ -5282,6 +5286,35 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs
|
|
|
5282
5286
|
crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
|
|
5283
5287
|
}
|
|
5284
5288
|
|
|
5289
|
+
return {
|
|
5290
|
+
"type": "tooltip-wrapper",
|
|
5291
|
+
"align": "right",
|
|
5292
|
+
"title": "",
|
|
5293
|
+
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5294
|
+
"placement": "bottom",
|
|
5295
|
+
"tooltipTheme": "dark",
|
|
5296
|
+
"trigger": "click",
|
|
5297
|
+
"className": formFactor !== 'SMALL' ? "mr-1" : '',
|
|
5298
|
+
"visible": !!searchableFieldsLabel.length,
|
|
5299
|
+
"body": [
|
|
5300
|
+
{
|
|
5301
|
+
"type": "search-box",
|
|
5302
|
+
"name": keywordsSearchBoxName,
|
|
5303
|
+
"placeholder": "快速搜索",
|
|
5304
|
+
"value": crudKeywords,
|
|
5305
|
+
"clearable": true,
|
|
5306
|
+
"clearAndSubmit": true
|
|
5307
|
+
}
|
|
5308
|
+
]
|
|
5309
|
+
}
|
|
5310
|
+
}
|
|
5311
|
+
|
|
5312
|
+
function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
5313
|
+
showDisplayAs = false, hiddenCount = false, headerToolbarItems,
|
|
5314
|
+
filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){
|
|
5315
|
+
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
5316
|
+
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
5317
|
+
|
|
5285
5318
|
const isMobile = window.innerWidth < 768;
|
|
5286
5319
|
if(isMobile){
|
|
5287
5320
|
showDisplayAs = false;
|
|
@@ -5353,26 +5386,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs
|
|
|
5353
5386
|
}
|
|
5354
5387
|
} : {},
|
|
5355
5388
|
getDisplayAsButton(mainObject?.name),
|
|
5356
|
-
{
|
|
5357
|
-
"type": "tooltip-wrapper",
|
|
5358
|
-
"align": "right",
|
|
5359
|
-
"title": "",
|
|
5360
|
-
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5361
|
-
"placement": "bottom",
|
|
5362
|
-
"tooltipTheme": "dark",
|
|
5363
|
-
"trigger": "click",
|
|
5364
|
-
// "className": "mr-1",
|
|
5365
|
-
"body": [
|
|
5366
|
-
{
|
|
5367
|
-
"type": "search-box",
|
|
5368
|
-
"name": "__keywords",
|
|
5369
|
-
"placeholder": "请输入关键字",
|
|
5370
|
-
"value": crudKeywords,
|
|
5371
|
-
"clearable": true,
|
|
5372
|
-
"clearAndSubmit": true
|
|
5373
|
-
}
|
|
5374
|
-
]
|
|
5375
|
-
},
|
|
5389
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName })
|
|
5376
5390
|
]
|
|
5377
5391
|
}else {
|
|
5378
5392
|
return [
|
|
@@ -5432,26 +5446,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, { showDisplayAs
|
|
|
5432
5446
|
// getExportExcelToolbarButtonSchema(),
|
|
5433
5447
|
mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
|
|
5434
5448
|
getDisplayAsButton(mainObject?.name),
|
|
5435
|
-
{
|
|
5436
|
-
"type": "tooltip-wrapper",
|
|
5437
|
-
"align": "right",
|
|
5438
|
-
"title": "",
|
|
5439
|
-
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
5440
|
-
"placement": "bottom",
|
|
5441
|
-
"tooltipTheme": "dark",
|
|
5442
|
-
"trigger": "click",
|
|
5443
|
-
"className": "mr-1",
|
|
5444
|
-
"body": [
|
|
5445
|
-
{
|
|
5446
|
-
"type": "search-box",
|
|
5447
|
-
"name": "__keywords",
|
|
5448
|
-
"placeholder": "请输入关键字",
|
|
5449
|
-
"value": crudKeywords,
|
|
5450
|
-
"clearable": true,
|
|
5451
|
-
"clearAndSubmit": true
|
|
5452
|
-
}
|
|
5453
|
-
]
|
|
5454
|
-
},
|
|
5449
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName }),
|
|
5455
5450
|
// {
|
|
5456
5451
|
// "type": "drag-toggler",
|
|
5457
5452
|
// "align": "right"
|
|
@@ -5869,7 +5864,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5869
5864
|
})){
|
|
5870
5865
|
i++;
|
|
5871
5866
|
tableFields.push(field);
|
|
5872
|
-
if(field
|
|
5867
|
+
if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
|
|
5873
5868
|
searchableFields.push(field.name);
|
|
5874
5869
|
}
|
|
5875
5870
|
}
|
|
@@ -5910,7 +5905,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5910
5905
|
source.data.$term = "$term";
|
|
5911
5906
|
source.data.$self = "$$";
|
|
5912
5907
|
|
|
5913
|
-
|
|
5908
|
+
let keywordsSearchBoxName = `__keywords_lookup__${field.name}__to__${refObjectConfig.name}`;
|
|
5909
|
+
|
|
5914
5910
|
source.requestAdaptor = `
|
|
5915
5911
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
5916
5912
|
var filters = [];
|
|
@@ -5964,19 +5960,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5964
5960
|
})
|
|
5965
5961
|
}
|
|
5966
5962
|
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
allowSearchFields.forEach(function(key, index){
|
|
5970
|
-
const keyValue = selfData.__keywords;
|
|
5971
|
-
if(keyValue){
|
|
5972
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
5973
|
-
if(index < allowSearchFields.length - 1){
|
|
5974
|
-
keywordsFilters.push('or');
|
|
5975
|
-
}
|
|
5976
|
-
}
|
|
5977
|
-
})
|
|
5963
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);
|
|
5964
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
5978
5965
|
filters.push(keywordsFilters);
|
|
5979
|
-
}
|
|
5966
|
+
}
|
|
5980
5967
|
|
|
5981
5968
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
5982
5969
|
if(fieldFilters && fieldFilters.length){
|
|
@@ -6094,7 +6081,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6094
6081
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
6095
6082
|
}
|
|
6096
6083
|
|
|
6097
|
-
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true });
|
|
6084
|
+
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
6098
6085
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
6099
6086
|
if (isAllowCreate) {
|
|
6100
6087
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
@@ -6105,8 +6092,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6105
6092
|
pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
|
|
6106
6093
|
if (ctx.filterVisible !== false) {
|
|
6107
6094
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
6095
|
+
...ctx,
|
|
6108
6096
|
isLookup: true,
|
|
6109
|
-
|
|
6097
|
+
keywordsSearchBoxName
|
|
6110
6098
|
});
|
|
6111
6099
|
}
|
|
6112
6100
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -6442,7 +6430,7 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
6442
6430
|
}
|
|
6443
6431
|
|
|
6444
6432
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
|
|
6445
|
-
if(ctx.idsDependOn
|
|
6433
|
+
if(ctx.idsDependOn){
|
|
6446
6434
|
// ids人员点选模式
|
|
6447
6435
|
return await lookupToAmisIdsPicker(field, readonly, ctx);
|
|
6448
6436
|
}
|
|
@@ -6817,7 +6805,7 @@ const getAmisFileSchema = (steedosField, readonly)=>{
|
|
|
6817
6805
|
return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
|
|
6818
6806
|
};
|
|
6819
6807
|
|
|
6820
|
-
const
|
|
6808
|
+
const QUICK_SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
|
|
6821
6809
|
const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
|
|
6822
6810
|
// const Lookup = require('./lookup');
|
|
6823
6811
|
|
|
@@ -7590,9 +7578,22 @@ if (typeof window != 'undefined') {
|
|
|
7590
7578
|
window.isFieldTypeSearchable = isFieldTypeSearchable;
|
|
7591
7579
|
}
|
|
7592
7580
|
|
|
7581
|
+
|
|
7582
|
+
function isFieldQuickSearchable(field, nameFieldKey) {
|
|
7583
|
+
let fieldSearchable = field.searchable;
|
|
7584
|
+
if(fieldSearchable !== false && field.name === nameFieldKey){
|
|
7585
|
+
// 对象上名称字段的searchable默认认为是true
|
|
7586
|
+
fieldSearchable = true;
|
|
7587
|
+
}
|
|
7588
|
+
if (fieldSearchable && QUICK_SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1) {
|
|
7589
|
+
return true;
|
|
7590
|
+
}
|
|
7591
|
+
return false;
|
|
7592
|
+
}
|
|
7593
|
+
|
|
7593
7594
|
var index = /*#__PURE__*/Object.freeze({
|
|
7594
7595
|
__proto__: null,
|
|
7595
|
-
|
|
7596
|
+
QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,
|
|
7596
7597
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
7597
7598
|
getBaseFields: getBaseFields,
|
|
7598
7599
|
getAmisFieldType: getAmisFieldType,
|
|
@@ -7603,6 +7604,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
7603
7604
|
convertSFieldToAmisField: convertSFieldToAmisField,
|
|
7604
7605
|
getFieldSearchable: getFieldSearchable,
|
|
7605
7606
|
isFieldTypeSearchable: isFieldTypeSearchable,
|
|
7607
|
+
isFieldQuickSearchable: isFieldQuickSearchable,
|
|
7606
7608
|
getAmisStaticFieldType: getAmisStaticFieldType
|
|
7607
7609
|
});
|
|
7608
7610
|
|
|
@@ -8379,8 +8381,9 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8379
8381
|
if(filter){
|
|
8380
8382
|
baseFilters = filter;
|
|
8381
8383
|
}
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
+
|
|
8385
|
+
___namespace.each(fields, function (field) {
|
|
8386
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
8384
8387
|
searchableFields.push(field.name);
|
|
8385
8388
|
}
|
|
8386
8389
|
});
|
|
@@ -8508,19 +8511,10 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8508
8511
|
})
|
|
8509
8512
|
}
|
|
8510
8513
|
|
|
8511
|
-
|
|
8512
|
-
|
|
8513
|
-
allowSearchFields.forEach(function(key, index){
|
|
8514
|
-
const keyValue = selfData.__keywords;
|
|
8515
|
-
if(keyValue){
|
|
8516
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
8517
|
-
if(index < allowSearchFields.length - 1){
|
|
8518
|
-
keywordsFilters.push('or');
|
|
8519
|
-
}
|
|
8520
|
-
}
|
|
8521
|
-
})
|
|
8514
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);
|
|
8515
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
8522
8516
|
userFilters.push(keywordsFilters);
|
|
8523
|
-
}
|
|
8517
|
+
}
|
|
8524
8518
|
|
|
8525
8519
|
let filters = [];
|
|
8526
8520
|
|