@steedos-widgets/amis-object 3.6.11-beta.6 → 3.6.11
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/amis-object.cjs.js +55 -33
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +55 -33
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +22 -5
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +21 -21
- package/package.json +3 -3
package/dist/amis-object.esm.js
CHANGED
|
@@ -11429,7 +11429,6 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
11429
11429
|
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
11430
11430
|
// 基于amis3.6,已经不再用blur事件触发onChangeScript,所以这里把之前加上的onChangeScript去掉了,如果以后还要换blur来触发onChangeScript脚本的话,这里又要加回onChangeScript脚本
|
|
11431
11431
|
const onSearchScript = `
|
|
11432
|
-
// console.log("==search=onSearchScript===");
|
|
11433
11432
|
// 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题
|
|
11434
11433
|
const scope = event.context.scoped;
|
|
11435
11434
|
// 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null
|
|
@@ -11450,13 +11449,15 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
11450
11449
|
}, 500);
|
|
11451
11450
|
`;
|
|
11452
11451
|
|
|
11453
|
-
const onBlurScript = `
|
|
11454
|
-
|
|
11455
|
-
|
|
11456
|
-
|
|
11457
|
-
|
|
11458
|
-
|
|
11459
|
-
|
|
11452
|
+
// const onBlurScript = `
|
|
11453
|
+
// // 失去焦点事件触发搜索,先去掉,因为会有bug,见:[Bug]: 列表上快速搜索输入框输入内容后点击放大镜界面上列表未显示过滤后的内容 #6742
|
|
11454
|
+
// const value = event.data.value;
|
|
11455
|
+
// setTimeout(function(){
|
|
11456
|
+
// const scope = event.context.scoped;
|
|
11457
|
+
// const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
11458
|
+
// sb.handleSearch(value);
|
|
11459
|
+
// }, 500);
|
|
11460
|
+
// `;
|
|
11460
11461
|
|
|
11461
11462
|
return {
|
|
11462
11463
|
"type": "tooltip-wrapper",
|
|
@@ -11495,14 +11496,14 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
11495
11496
|
},
|
|
11496
11497
|
]
|
|
11497
11498
|
},
|
|
11498
|
-
"blur": {
|
|
11499
|
-
|
|
11500
|
-
|
|
11501
|
-
|
|
11502
|
-
|
|
11503
|
-
|
|
11504
|
-
|
|
11505
|
-
}
|
|
11499
|
+
// "blur": {
|
|
11500
|
+
// "actions": [
|
|
11501
|
+
// {
|
|
11502
|
+
// "actionType": "custom",
|
|
11503
|
+
// "script": onBlurScript
|
|
11504
|
+
// },
|
|
11505
|
+
// ]
|
|
11506
|
+
// }
|
|
11506
11507
|
}
|
|
11507
11508
|
}
|
|
11508
11509
|
]
|
|
@@ -11535,13 +11536,10 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
11535
11536
|
// listView.handleChangePage(1);
|
|
11536
11537
|
|
|
11537
11538
|
|
|
11538
|
-
// 触发搜索,而不是reload
|
|
11539
|
-
|
|
11540
|
-
|
|
11541
|
-
|
|
11542
|
-
const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
11543
|
-
sb.handleSearch();
|
|
11544
|
-
}, 500);
|
|
11539
|
+
// 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8+实现在非第一页的情况下,快速搜索输入框中过滤条件变更时再点刷新可以自动跳转翻页到第一页
|
|
11540
|
+
const scope = event.context.scoped;
|
|
11541
|
+
const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
11542
|
+
sb.handleSearch();
|
|
11545
11543
|
`;
|
|
11546
11544
|
toolbarReloadButton = {
|
|
11547
11545
|
// "type": "reload",//不可以直接使用reload,因为它不会设置页码到第一页,这在加载更多按钮的翻页模式下会有问题
|
|
@@ -14514,12 +14512,24 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
14514
14512
|
}
|
|
14515
14513
|
|
|
14516
14514
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
14517
|
-
|
|
14518
|
-
|
|
14519
|
-
|
|
14520
|
-
|
|
14521
|
-
|
|
14515
|
+
var currentAmis = amisRequire('amis');
|
|
14516
|
+
//递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
|
|
14517
|
+
function traverseNestedArray(arr) {
|
|
14518
|
+
for (let i = 0; i < arr.length; i++) {
|
|
14519
|
+
if (Array.isArray(arr[i])) {
|
|
14520
|
+
// 如果当前元素是数组,则递归调用自身继续遍历
|
|
14521
|
+
traverseNestedArray(arr[i]);
|
|
14522
|
+
} else {
|
|
14523
|
+
// 如果当前元素不是数组,则处理该元素
|
|
14524
|
+
// 下面正则用于匹配amis公式\${}
|
|
14525
|
+
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14526
|
+
arr[i] = currentAmis.evaluate(arr[i], api.data.$);
|
|
14527
|
+
}
|
|
14528
|
+
}
|
|
14522
14529
|
}
|
|
14530
|
+
}
|
|
14531
|
+
if(fieldFilters && fieldFilters.length){
|
|
14532
|
+
traverseNestedArray(fieldFilters);
|
|
14523
14533
|
filters.push(fieldFilters);
|
|
14524
14534
|
}
|
|
14525
14535
|
|
|
@@ -14919,12 +14929,24 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
14919
14929
|
// }
|
|
14920
14930
|
|
|
14921
14931
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
14922
|
-
|
|
14923
|
-
|
|
14924
|
-
|
|
14925
|
-
|
|
14926
|
-
|
|
14932
|
+
var currentAmis = amisRequire('amis');
|
|
14933
|
+
//递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
|
|
14934
|
+
function traverseNestedArray(arr) {
|
|
14935
|
+
for (let i = 0; i < arr.length; i++) {
|
|
14936
|
+
if (Array.isArray(arr[i])) {
|
|
14937
|
+
// 如果当前元素是数组,则递归调用自身继续遍历
|
|
14938
|
+
traverseNestedArray(arr[i]);
|
|
14939
|
+
} else {
|
|
14940
|
+
// 如果当前元素不是数组,则处理该元素
|
|
14941
|
+
// 下面正则用于匹配amis公式\${}
|
|
14942
|
+
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14943
|
+
arr[i] = currentAmis.evaluate(arr[i], api.data.$);
|
|
14944
|
+
}
|
|
14945
|
+
}
|
|
14927
14946
|
}
|
|
14947
|
+
}
|
|
14948
|
+
if(fieldFilters && fieldFilters.length){
|
|
14949
|
+
traverseNestedArray(fieldFilters);
|
|
14928
14950
|
filters.push(fieldFilters);
|
|
14929
14951
|
}
|
|
14930
14952
|
|