@steedos-widgets/amis-lib 1.2.39-beta.1 → 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 +79 -63
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +79 -63
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +79 -63
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/index.d.ts +2 -0
- package/dist/types/lib/converter/amis/toolbar.d.ts +3 -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,24 +5243,51 @@ 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} = {}){
|
|
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 = "";
|
|
5253
|
-
if(localListViewProps){
|
|
5257
|
+
if(localListViewProps && !isLookup){
|
|
5254
5258
|
localListViewProps = JSON.parse(localListViewProps);
|
|
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;
|
|
@@ -5310,7 +5343,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5310
5343
|
],
|
|
5311
5344
|
"size":8,
|
|
5312
5345
|
"animation": true,
|
|
5313
|
-
"visibleOn": "${isFieldsFilterEmpty == false}"
|
|
5346
|
+
"visibleOn": "${isFieldsFilterEmpty == false && isLookup != true}"
|
|
5314
5347
|
},
|
|
5315
5348
|
"align": "right",
|
|
5316
5349
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
@@ -5325,7 +5358,8 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5325
5358
|
}
|
|
5326
5359
|
}
|
|
5327
5360
|
} : {},
|
|
5328
|
-
getDisplayAsButton(mainObject?.name)
|
|
5361
|
+
getDisplayAsButton(mainObject?.name),
|
|
5362
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName })
|
|
5329
5363
|
]
|
|
5330
5364
|
}else {
|
|
5331
5365
|
return [
|
|
@@ -5358,7 +5392,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5358
5392
|
],
|
|
5359
5393
|
"size":8,
|
|
5360
5394
|
"animation": true,
|
|
5361
|
-
"visibleOn": "${isFieldsFilterEmpty == false}"
|
|
5395
|
+
"visibleOn": "${isFieldsFilterEmpty == false && isLookup != true}"
|
|
5362
5396
|
},
|
|
5363
5397
|
"align": "right",
|
|
5364
5398
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
@@ -5385,26 +5419,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5385
5419
|
// getExportExcelToolbarButtonSchema(),
|
|
5386
5420
|
mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
|
|
5387
5421
|
getDisplayAsButton(mainObject?.name),
|
|
5388
|
-
{
|
|
5389
|
-
"type": "tooltip-wrapper",
|
|
5390
|
-
"align": "right",
|
|
5391
|
-
"title": "",
|
|
5392
|
-
"content": "可模糊搜索字段:" + searchableFieldsLabel.join(","),
|
|
5393
|
-
"placement": "bottom",
|
|
5394
|
-
"tooltipTheme": "dark",
|
|
5395
|
-
"trigger": "click",
|
|
5396
|
-
"className": "mr-1",
|
|
5397
|
-
"body": [
|
|
5398
|
-
{
|
|
5399
|
-
"type": "search-box",
|
|
5400
|
-
"name": "__keywords",
|
|
5401
|
-
"placeholder": "请输入关键字",
|
|
5402
|
-
"value": crudKeywords,
|
|
5403
|
-
"clearable": true,
|
|
5404
|
-
"clearAndSubmit": true
|
|
5405
|
-
}
|
|
5406
|
-
]
|
|
5407
|
-
},
|
|
5422
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName }),
|
|
5408
5423
|
// {
|
|
5409
5424
|
// "type": "drag-toggler",
|
|
5410
5425
|
// "align": "right"
|
|
@@ -5755,8 +5770,8 @@ function getLookupSapceUserTreeSchema(){
|
|
|
5755
5770
|
"style": {
|
|
5756
5771
|
"max-height": "100%",
|
|
5757
5772
|
"position": "absolute",
|
|
5758
|
-
"left": "-
|
|
5759
|
-
"width": "
|
|
5773
|
+
"left": "-330px",
|
|
5774
|
+
"width": "320px",
|
|
5760
5775
|
"bottom": 0,
|
|
5761
5776
|
"top": "0",
|
|
5762
5777
|
"overflow": "auto",
|
|
@@ -5822,7 +5837,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5822
5837
|
})){
|
|
5823
5838
|
i++;
|
|
5824
5839
|
tableFields.push(field);
|
|
5825
|
-
if(field.
|
|
5840
|
+
if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
|
|
5826
5841
|
searchableFields.push(field.name);
|
|
5827
5842
|
}
|
|
5828
5843
|
}
|
|
@@ -5863,7 +5878,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5863
5878
|
source.data.$term = "$term";
|
|
5864
5879
|
source.data.$self = "$$";
|
|
5865
5880
|
|
|
5866
|
-
|
|
5881
|
+
let keywordsSearchBoxName = `__keywords_lookup__${field.name}__to__${refObjectConfig.name}`;
|
|
5882
|
+
|
|
5867
5883
|
source.requestAdaptor = `
|
|
5868
5884
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
5869
5885
|
var filters = [];
|
|
@@ -5917,19 +5933,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5917
5933
|
})
|
|
5918
5934
|
}
|
|
5919
5935
|
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
allowSearchFields.forEach(function(key, index){
|
|
5923
|
-
const keyValue = selfData.__keywords;
|
|
5924
|
-
if(keyValue){
|
|
5925
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
5926
|
-
if(index < allowSearchFields.length - 1){
|
|
5927
|
-
keywordsFilters.push('or');
|
|
5928
|
-
}
|
|
5929
|
-
}
|
|
5930
|
-
})
|
|
5936
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);
|
|
5937
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
5931
5938
|
filters.push(keywordsFilters);
|
|
5932
|
-
}
|
|
5939
|
+
}
|
|
5933
5940
|
|
|
5934
5941
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
5935
5942
|
if(fieldFilters && fieldFilters.length){
|
|
@@ -6041,13 +6048,13 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6041
6048
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
|
|
6042
6049
|
headerToolbarItems = getLookupSapceUserTreeSchema();
|
|
6043
6050
|
pickerSchema["style"] = {
|
|
6044
|
-
"margin-left":"
|
|
6051
|
+
"margin-left":"330px",
|
|
6045
6052
|
"min-height": "300px"
|
|
6046
6053
|
};
|
|
6047
6054
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
6048
6055
|
}
|
|
6049
6056
|
|
|
6050
|
-
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
|
|
6057
|
+
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
6051
6058
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
6052
6059
|
if (isAllowCreate) {
|
|
6053
6060
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
@@ -6058,8 +6065,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6058
6065
|
pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
|
|
6059
6066
|
if (ctx.filterVisible !== false) {
|
|
6060
6067
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
6068
|
+
...ctx,
|
|
6061
6069
|
isLookup: true,
|
|
6062
|
-
|
|
6070
|
+
keywordsSearchBoxName
|
|
6063
6071
|
});
|
|
6064
6072
|
}
|
|
6065
6073
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -6395,7 +6403,7 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
6395
6403
|
}
|
|
6396
6404
|
|
|
6397
6405
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
|
|
6398
|
-
if(ctx.idsDependOn
|
|
6406
|
+
if(ctx.idsDependOn){
|
|
6399
6407
|
// ids人员点选模式
|
|
6400
6408
|
return await lookupToAmisIdsPicker(field, readonly, ctx);
|
|
6401
6409
|
}
|
|
@@ -6770,6 +6778,7 @@ const getAmisFileSchema = (steedosField, readonly)=>{
|
|
|
6770
6778
|
return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
|
|
6771
6779
|
};
|
|
6772
6780
|
|
|
6781
|
+
const QUICK_SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
|
|
6773
6782
|
const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
|
|
6774
6783
|
// const Lookup = require('./lookup');
|
|
6775
6784
|
|
|
@@ -7542,8 +7551,22 @@ if (typeof window != 'undefined') {
|
|
|
7542
7551
|
window.isFieldTypeSearchable = isFieldTypeSearchable;
|
|
7543
7552
|
}
|
|
7544
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
|
+
|
|
7545
7567
|
var index = /*#__PURE__*/Object.freeze({
|
|
7546
7568
|
__proto__: null,
|
|
7569
|
+
QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,
|
|
7547
7570
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
7548
7571
|
getBaseFields: getBaseFields,
|
|
7549
7572
|
getAmisFieldType: getAmisFieldType,
|
|
@@ -7554,6 +7577,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
7554
7577
|
convertSFieldToAmisField: convertSFieldToAmisField,
|
|
7555
7578
|
getFieldSearchable: getFieldSearchable,
|
|
7556
7579
|
isFieldTypeSearchable: isFieldTypeSearchable,
|
|
7580
|
+
isFieldQuickSearchable: isFieldQuickSearchable,
|
|
7557
7581
|
getAmisStaticFieldType: getAmisStaticFieldType
|
|
7558
7582
|
});
|
|
7559
7583
|
|
|
@@ -8330,8 +8354,9 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8330
8354
|
if(filter){
|
|
8331
8355
|
baseFilters = filter;
|
|
8332
8356
|
}
|
|
8333
|
-
|
|
8334
|
-
|
|
8357
|
+
|
|
8358
|
+
_$1.each(fields, function (field) {
|
|
8359
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
8335
8360
|
searchableFields.push(field.name);
|
|
8336
8361
|
}
|
|
8337
8362
|
});
|
|
@@ -8459,19 +8484,10 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8459
8484
|
})
|
|
8460
8485
|
}
|
|
8461
8486
|
|
|
8462
|
-
|
|
8463
|
-
|
|
8464
|
-
allowSearchFields.forEach(function(key, index){
|
|
8465
|
-
const keyValue = selfData.__keywords;
|
|
8466
|
-
if(keyValue){
|
|
8467
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
8468
|
-
if(index < allowSearchFields.length - 1){
|
|
8469
|
-
keywordsFilters.push('or');
|
|
8470
|
-
}
|
|
8471
|
-
}
|
|
8472
|
-
})
|
|
8487
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);
|
|
8488
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
8473
8489
|
userFilters.push(keywordsFilters);
|
|
8474
|
-
}
|
|
8490
|
+
}
|
|
8475
8491
|
|
|
8476
8492
|
let filters = [];
|
|
8477
8493
|
|