@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.cjs.js
CHANGED
|
@@ -11457,7 +11457,6 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
11457
11457
|
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
11458
11458
|
// 基于amis3.6,已经不再用blur事件触发onChangeScript,所以这里把之前加上的onChangeScript去掉了,如果以后还要换blur来触发onChangeScript脚本的话,这里又要加回onChangeScript脚本
|
|
11459
11459
|
const onSearchScript = `
|
|
11460
|
-
// console.log("==search=onSearchScript===");
|
|
11461
11460
|
// 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题
|
|
11462
11461
|
const scope = event.context.scoped;
|
|
11463
11462
|
// 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null
|
|
@@ -11478,13 +11477,15 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
11478
11477
|
}, 500);
|
|
11479
11478
|
`;
|
|
11480
11479
|
|
|
11481
|
-
const onBlurScript = `
|
|
11482
|
-
|
|
11483
|
-
|
|
11484
|
-
|
|
11485
|
-
|
|
11486
|
-
|
|
11487
|
-
|
|
11480
|
+
// const onBlurScript = `
|
|
11481
|
+
// // 失去焦点事件触发搜索,先去掉,因为会有bug,见:[Bug]: 列表上快速搜索输入框输入内容后点击放大镜界面上列表未显示过滤后的内容 #6742
|
|
11482
|
+
// const value = event.data.value;
|
|
11483
|
+
// setTimeout(function(){
|
|
11484
|
+
// const scope = event.context.scoped;
|
|
11485
|
+
// const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
11486
|
+
// sb.handleSearch(value);
|
|
11487
|
+
// }, 500);
|
|
11488
|
+
// `;
|
|
11488
11489
|
|
|
11489
11490
|
return {
|
|
11490
11491
|
"type": "tooltip-wrapper",
|
|
@@ -11523,14 +11524,14 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
11523
11524
|
},
|
|
11524
11525
|
]
|
|
11525
11526
|
},
|
|
11526
|
-
"blur": {
|
|
11527
|
-
|
|
11528
|
-
|
|
11529
|
-
|
|
11530
|
-
|
|
11531
|
-
|
|
11532
|
-
|
|
11533
|
-
}
|
|
11527
|
+
// "blur": {
|
|
11528
|
+
// "actions": [
|
|
11529
|
+
// {
|
|
11530
|
+
// "actionType": "custom",
|
|
11531
|
+
// "script": onBlurScript
|
|
11532
|
+
// },
|
|
11533
|
+
// ]
|
|
11534
|
+
// }
|
|
11534
11535
|
}
|
|
11535
11536
|
}
|
|
11536
11537
|
]
|
|
@@ -11563,13 +11564,10 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
11563
11564
|
// listView.handleChangePage(1);
|
|
11564
11565
|
|
|
11565
11566
|
|
|
11566
|
-
// 触发搜索,而不是reload
|
|
11567
|
-
|
|
11568
|
-
|
|
11569
|
-
|
|
11570
|
-
const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
11571
|
-
sb.handleSearch();
|
|
11572
|
-
}, 500);
|
|
11567
|
+
// 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8+实现在非第一页的情况下,快速搜索输入框中过滤条件变更时再点刷新可以自动跳转翻页到第一页
|
|
11568
|
+
const scope = event.context.scoped;
|
|
11569
|
+
const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
11570
|
+
sb.handleSearch();
|
|
11573
11571
|
`;
|
|
11574
11572
|
toolbarReloadButton = {
|
|
11575
11573
|
// "type": "reload",//不可以直接使用reload,因为它不会设置页码到第一页,这在加载更多按钮的翻页模式下会有问题
|
|
@@ -14542,12 +14540,24 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
14542
14540
|
}
|
|
14543
14541
|
|
|
14544
14542
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
14545
|
-
|
|
14546
|
-
|
|
14547
|
-
|
|
14548
|
-
|
|
14549
|
-
|
|
14543
|
+
var currentAmis = amisRequire('amis');
|
|
14544
|
+
//递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
|
|
14545
|
+
function traverseNestedArray(arr) {
|
|
14546
|
+
for (let i = 0; i < arr.length; i++) {
|
|
14547
|
+
if (Array.isArray(arr[i])) {
|
|
14548
|
+
// 如果当前元素是数组,则递归调用自身继续遍历
|
|
14549
|
+
traverseNestedArray(arr[i]);
|
|
14550
|
+
} else {
|
|
14551
|
+
// 如果当前元素不是数组,则处理该元素
|
|
14552
|
+
// 下面正则用于匹配amis公式\${}
|
|
14553
|
+
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14554
|
+
arr[i] = currentAmis.evaluate(arr[i], api.data.$);
|
|
14555
|
+
}
|
|
14556
|
+
}
|
|
14550
14557
|
}
|
|
14558
|
+
}
|
|
14559
|
+
if(fieldFilters && fieldFilters.length){
|
|
14560
|
+
traverseNestedArray(fieldFilters);
|
|
14551
14561
|
filters.push(fieldFilters);
|
|
14552
14562
|
}
|
|
14553
14563
|
|
|
@@ -14947,12 +14957,24 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
14947
14957
|
// }
|
|
14948
14958
|
|
|
14949
14959
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
14950
|
-
|
|
14951
|
-
|
|
14952
|
-
|
|
14953
|
-
|
|
14954
|
-
|
|
14960
|
+
var currentAmis = amisRequire('amis');
|
|
14961
|
+
//递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
|
|
14962
|
+
function traverseNestedArray(arr) {
|
|
14963
|
+
for (let i = 0; i < arr.length; i++) {
|
|
14964
|
+
if (Array.isArray(arr[i])) {
|
|
14965
|
+
// 如果当前元素是数组,则递归调用自身继续遍历
|
|
14966
|
+
traverseNestedArray(arr[i]);
|
|
14967
|
+
} else {
|
|
14968
|
+
// 如果当前元素不是数组,则处理该元素
|
|
14969
|
+
// 下面正则用于匹配amis公式\${}
|
|
14970
|
+
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14971
|
+
arr[i] = currentAmis.evaluate(arr[i], api.data.$);
|
|
14972
|
+
}
|
|
14973
|
+
}
|
|
14955
14974
|
}
|
|
14975
|
+
}
|
|
14976
|
+
if(fieldFilters && fieldFilters.length){
|
|
14977
|
+
traverseNestedArray(fieldFilters);
|
|
14956
14978
|
filters.push(fieldFilters);
|
|
14957
14979
|
}
|
|
14958
14980
|
|