@steedos-widgets/amis-object 3.6.11-beta.7 → 3.6.12
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 +41 -13
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +41 -13
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +5 -4
- 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
|
@@ -11456,9 +11456,12 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
11456
11456
|
// 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
|
|
11457
11457
|
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
11458
11458
|
// 基于amis3.6,已经不再用blur事件触发onChangeScript,所以这里把之前加上的onChangeScript去掉了,如果以后还要换blur来触发onChangeScript脚本的话,这里又要加回onChangeScript脚本
|
|
11459
|
+
// 这里重新额外先执行下onChangeScript,是因为不执行还有bug:[Bug]: amis升级到6.3后列表快速搜索功能,有时点击右上角的刷新按钮会按上次搜索的过滤条件请求数据 #6734
|
|
11459
11460
|
const onSearchScript = `
|
|
11461
|
+
${onChangeScript}
|
|
11462
|
+
|
|
11460
11463
|
// 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题
|
|
11461
|
-
const scope = event.context.scoped;
|
|
11464
|
+
// const scope = event.context.scoped;
|
|
11462
11465
|
// 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null
|
|
11463
11466
|
// 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空
|
|
11464
11467
|
let isLookup = event.data.isLookup;
|
|
@@ -11564,10 +11567,11 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
11564
11567
|
// listView.handleChangePage(1);
|
|
11565
11568
|
|
|
11566
11569
|
|
|
11567
|
-
// 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8
|
|
11570
|
+
// 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8+实现在非第一页的情况下,快速搜索输入框中过滤条件变更时再点刷新可以自动跳转翻页到第一页
|
|
11568
11571
|
const scope = event.context.scoped;
|
|
11569
11572
|
const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
11570
|
-
sb.
|
|
11573
|
+
const sbValue = sb.state.value;
|
|
11574
|
+
sb.handleSearch(sbValue);
|
|
11571
11575
|
`;
|
|
11572
11576
|
toolbarReloadButton = {
|
|
11573
11577
|
// "type": "reload",//不可以直接使用reload,因为它不会设置页码到第一页,这在加载更多按钮的翻页模式下会有问题
|
|
@@ -14540,12 +14544,24 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
14540
14544
|
}
|
|
14541
14545
|
|
|
14542
14546
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
14543
|
-
|
|
14544
|
-
|
|
14545
|
-
|
|
14546
|
-
|
|
14547
|
-
|
|
14547
|
+
var currentAmis = amisRequire('amis');
|
|
14548
|
+
//递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
|
|
14549
|
+
function traverseNestedArray(arr) {
|
|
14550
|
+
for (let i = 0; i < arr.length; i++) {
|
|
14551
|
+
if (Array.isArray(arr[i])) {
|
|
14552
|
+
// 如果当前元素是数组,则递归调用自身继续遍历
|
|
14553
|
+
traverseNestedArray(arr[i]);
|
|
14554
|
+
} else {
|
|
14555
|
+
// 如果当前元素不是数组,则处理该元素
|
|
14556
|
+
// 下面正则用于匹配amis公式\${}
|
|
14557
|
+
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14558
|
+
arr[i] = currentAmis.evaluate(arr[i], api.data.$);
|
|
14559
|
+
}
|
|
14560
|
+
}
|
|
14548
14561
|
}
|
|
14562
|
+
}
|
|
14563
|
+
if(fieldFilters && fieldFilters.length){
|
|
14564
|
+
traverseNestedArray(fieldFilters);
|
|
14549
14565
|
filters.push(fieldFilters);
|
|
14550
14566
|
}
|
|
14551
14567
|
|
|
@@ -14945,12 +14961,24 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
14945
14961
|
// }
|
|
14946
14962
|
|
|
14947
14963
|
var fieldFilters = ${JSON.stringify(field.filters)};
|
|
14948
|
-
|
|
14949
|
-
|
|
14950
|
-
|
|
14951
|
-
|
|
14952
|
-
|
|
14964
|
+
var currentAmis = amisRequire('amis');
|
|
14965
|
+
//递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
|
|
14966
|
+
function traverseNestedArray(arr) {
|
|
14967
|
+
for (let i = 0; i < arr.length; i++) {
|
|
14968
|
+
if (Array.isArray(arr[i])) {
|
|
14969
|
+
// 如果当前元素是数组,则递归调用自身继续遍历
|
|
14970
|
+
traverseNestedArray(arr[i]);
|
|
14971
|
+
} else {
|
|
14972
|
+
// 如果当前元素不是数组,则处理该元素
|
|
14973
|
+
// 下面正则用于匹配amis公式\${}
|
|
14974
|
+
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
14975
|
+
arr[i] = currentAmis.evaluate(arr[i], api.data.$);
|
|
14976
|
+
}
|
|
14977
|
+
}
|
|
14953
14978
|
}
|
|
14979
|
+
}
|
|
14980
|
+
if(fieldFilters && fieldFilters.length){
|
|
14981
|
+
traverseNestedArray(fieldFilters);
|
|
14954
14982
|
filters.push(fieldFilters);
|
|
14955
14983
|
}
|
|
14956
14984
|
|