@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.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,24 +5270,51 @@ 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} = {}){
|
|
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 = "";
|
|
5280
|
-
if(localListViewProps){
|
|
5284
|
+
if(localListViewProps && !isLookup){
|
|
5281
5285
|
localListViewProps = JSON.parse(localListViewProps);
|
|
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;
|
|
@@ -5337,7 +5370,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5337
5370
|
],
|
|
5338
5371
|
"size":8,
|
|
5339
5372
|
"animation": true,
|
|
5340
|
-
"visibleOn": "${isFieldsFilterEmpty == false}"
|
|
5373
|
+
"visibleOn": "${isFieldsFilterEmpty == false && isLookup != true}"
|
|
5341
5374
|
},
|
|
5342
5375
|
"align": "right",
|
|
5343
5376
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
@@ -5352,7 +5385,8 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5352
5385
|
}
|
|
5353
5386
|
}
|
|
5354
5387
|
} : {},
|
|
5355
|
-
getDisplayAsButton(mainObject?.name)
|
|
5388
|
+
getDisplayAsButton(mainObject?.name),
|
|
5389
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName })
|
|
5356
5390
|
]
|
|
5357
5391
|
}else {
|
|
5358
5392
|
return [
|
|
@@ -5385,7 +5419,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5385
5419
|
],
|
|
5386
5420
|
"size":8,
|
|
5387
5421
|
"animation": true,
|
|
5388
|
-
"visibleOn": "${isFieldsFilterEmpty == false}"
|
|
5422
|
+
"visibleOn": "${isFieldsFilterEmpty == false && isLookup != true}"
|
|
5389
5423
|
},
|
|
5390
5424
|
"align": "right",
|
|
5391
5425
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
@@ -5412,26 +5446,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs =
|
|
|
5412
5446
|
// getExportExcelToolbarButtonSchema(),
|
|
5413
5447
|
mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
|
|
5414
5448
|
getDisplayAsButton(mainObject?.name),
|
|
5415
|
-
{
|
|
5416
|
-
"type": "tooltip-wrapper",
|
|
5417
|
-
"align": "right",
|
|
5418
|
-
"title": "",
|
|
5419
|
-
"content": "可模糊搜索字段:" + searchableFieldsLabel.join(","),
|
|
5420
|
-
"placement": "bottom",
|
|
5421
|
-
"tooltipTheme": "dark",
|
|
5422
|
-
"trigger": "click",
|
|
5423
|
-
"className": "mr-1",
|
|
5424
|
-
"body": [
|
|
5425
|
-
{
|
|
5426
|
-
"type": "search-box",
|
|
5427
|
-
"name": "__keywords",
|
|
5428
|
-
"placeholder": "请输入关键字",
|
|
5429
|
-
"value": crudKeywords,
|
|
5430
|
-
"clearable": true,
|
|
5431
|
-
"clearAndSubmit": true
|
|
5432
|
-
}
|
|
5433
|
-
]
|
|
5434
|
-
},
|
|
5449
|
+
getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName }),
|
|
5435
5450
|
// {
|
|
5436
5451
|
// "type": "drag-toggler",
|
|
5437
5452
|
// "align": "right"
|
|
@@ -5782,8 +5797,8 @@ function getLookupSapceUserTreeSchema(){
|
|
|
5782
5797
|
"style": {
|
|
5783
5798
|
"max-height": "100%",
|
|
5784
5799
|
"position": "absolute",
|
|
5785
|
-
"left": "-
|
|
5786
|
-
"width": "
|
|
5800
|
+
"left": "-330px",
|
|
5801
|
+
"width": "320px",
|
|
5787
5802
|
"bottom": 0,
|
|
5788
5803
|
"top": "0",
|
|
5789
5804
|
"overflow": "auto",
|
|
@@ -5849,7 +5864,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5849
5864
|
})){
|
|
5850
5865
|
i++;
|
|
5851
5866
|
tableFields.push(field);
|
|
5852
|
-
if(field.
|
|
5867
|
+
if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
|
|
5853
5868
|
searchableFields.push(field.name);
|
|
5854
5869
|
}
|
|
5855
5870
|
}
|
|
@@ -5890,7 +5905,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5890
5905
|
source.data.$term = "$term";
|
|
5891
5906
|
source.data.$self = "$$";
|
|
5892
5907
|
|
|
5893
|
-
|
|
5908
|
+
let keywordsSearchBoxName = `__keywords_lookup__${field.name}__to__${refObjectConfig.name}`;
|
|
5909
|
+
|
|
5894
5910
|
source.requestAdaptor = `
|
|
5895
5911
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
5896
5912
|
var filters = [];
|
|
@@ -5944,19 +5960,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5944
5960
|
})
|
|
5945
5961
|
}
|
|
5946
5962
|
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
allowSearchFields.forEach(function(key, index){
|
|
5950
|
-
const keyValue = selfData.__keywords;
|
|
5951
|
-
if(keyValue){
|
|
5952
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
5953
|
-
if(index < allowSearchFields.length - 1){
|
|
5954
|
-
keywordsFilters.push('or');
|
|
5955
|
-
}
|
|
5956
|
-
}
|
|
5957
|
-
})
|
|
5963
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);
|
|
5964
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
5958
5965
|
filters.push(keywordsFilters);
|
|
5959
|
-
}
|
|
5966
|
+
}
|
|
5960
5967
|
|
|
5961
5968
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
5962
5969
|
if(fieldFilters && fieldFilters.length){
|
|
@@ -6068,13 +6075,13 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6068
6075
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
|
|
6069
6076
|
headerToolbarItems = getLookupSapceUserTreeSchema();
|
|
6070
6077
|
pickerSchema["style"] = {
|
|
6071
|
-
"margin-left":"
|
|
6078
|
+
"margin-left":"330px",
|
|
6072
6079
|
"min-height": "300px"
|
|
6073
6080
|
};
|
|
6074
6081
|
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
6075
6082
|
}
|
|
6076
6083
|
|
|
6077
|
-
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
|
|
6084
|
+
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
6078
6085
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
6079
6086
|
if (isAllowCreate) {
|
|
6080
6087
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
@@ -6085,8 +6092,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6085
6092
|
pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
|
|
6086
6093
|
if (ctx.filterVisible !== false) {
|
|
6087
6094
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
6095
|
+
...ctx,
|
|
6088
6096
|
isLookup: true,
|
|
6089
|
-
|
|
6097
|
+
keywordsSearchBoxName
|
|
6090
6098
|
});
|
|
6091
6099
|
}
|
|
6092
6100
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -6422,7 +6430,7 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
6422
6430
|
}
|
|
6423
6431
|
|
|
6424
6432
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
|
|
6425
|
-
if(ctx.idsDependOn
|
|
6433
|
+
if(ctx.idsDependOn){
|
|
6426
6434
|
// ids人员点选模式
|
|
6427
6435
|
return await lookupToAmisIdsPicker(field, readonly, ctx);
|
|
6428
6436
|
}
|
|
@@ -6797,6 +6805,7 @@ const getAmisFileSchema = (steedosField, readonly)=>{
|
|
|
6797
6805
|
return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
|
|
6798
6806
|
};
|
|
6799
6807
|
|
|
6808
|
+
const QUICK_SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
|
|
6800
6809
|
const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
|
|
6801
6810
|
// const Lookup = require('./lookup');
|
|
6802
6811
|
|
|
@@ -7569,8 +7578,22 @@ if (typeof window != 'undefined') {
|
|
|
7569
7578
|
window.isFieldTypeSearchable = isFieldTypeSearchable;
|
|
7570
7579
|
}
|
|
7571
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
|
+
|
|
7572
7594
|
var index = /*#__PURE__*/Object.freeze({
|
|
7573
7595
|
__proto__: null,
|
|
7596
|
+
QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,
|
|
7574
7597
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
7575
7598
|
getBaseFields: getBaseFields,
|
|
7576
7599
|
getAmisFieldType: getAmisFieldType,
|
|
@@ -7581,6 +7604,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
7581
7604
|
convertSFieldToAmisField: convertSFieldToAmisField,
|
|
7582
7605
|
getFieldSearchable: getFieldSearchable,
|
|
7583
7606
|
isFieldTypeSearchable: isFieldTypeSearchable,
|
|
7607
|
+
isFieldQuickSearchable: isFieldQuickSearchable,
|
|
7584
7608
|
getAmisStaticFieldType: getAmisStaticFieldType
|
|
7585
7609
|
});
|
|
7586
7610
|
|
|
@@ -8357,8 +8381,9 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8357
8381
|
if(filter){
|
|
8358
8382
|
baseFilters = filter;
|
|
8359
8383
|
}
|
|
8360
|
-
|
|
8361
|
-
|
|
8384
|
+
|
|
8385
|
+
___namespace.each(fields, function (field) {
|
|
8386
|
+
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
8362
8387
|
searchableFields.push(field.name);
|
|
8363
8388
|
}
|
|
8364
8389
|
});
|
|
@@ -8486,19 +8511,10 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8486
8511
|
})
|
|
8487
8512
|
}
|
|
8488
8513
|
|
|
8489
|
-
|
|
8490
|
-
|
|
8491
|
-
allowSearchFields.forEach(function(key, index){
|
|
8492
|
-
const keyValue = selfData.__keywords;
|
|
8493
|
-
if(keyValue){
|
|
8494
|
-
keywordsFilters.push([key, "contains", keyValue]);
|
|
8495
|
-
if(index < allowSearchFields.length - 1){
|
|
8496
|
-
keywordsFilters.push('or');
|
|
8497
|
-
}
|
|
8498
|
-
}
|
|
8499
|
-
})
|
|
8514
|
+
var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);
|
|
8515
|
+
if(keywordsFilters && keywordsFilters.length > 0){
|
|
8500
8516
|
userFilters.push(keywordsFilters);
|
|
8501
|
-
}
|
|
8517
|
+
}
|
|
8502
8518
|
|
|
8503
8519
|
let filters = [];
|
|
8504
8520
|
|