@steedos-widgets/sortable 1.3.17-beta.1 → 1.3.17
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/assets.json +5 -5
- package/dist/sortable.cjs.js +94 -59
- package/dist/sortable.cjs.js.map +1 -1
- package/dist/sortable.esm.js +94 -59
- package/dist/sortable.esm.js.map +1 -1
- package/dist/sortable.umd.js +94 -59
- package/package.json +3 -3
package/dist/sortable.esm.js
CHANGED
|
@@ -56334,6 +56334,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
56334
56334
|
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
56335
56335
|
const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
|
|
56336
56336
|
const onSearchScript = `
|
|
56337
|
+
// console.log("===onSearchScript=form==");
|
|
56337
56338
|
const scope = event.context.scoped;
|
|
56338
56339
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
56339
56340
|
return n.props.type === "form";
|
|
@@ -56390,25 +56391,13 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
56390
56391
|
crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});
|
|
56391
56392
|
`;
|
|
56392
56393
|
const onCancelScript = `
|
|
56393
|
-
|
|
56394
|
-
{
|
|
56395
|
-
"componentId": 'service_${ctx.crudId}',
|
|
56396
|
-
"actionType": "setValue",
|
|
56397
|
-
"args": {
|
|
56398
|
-
"value": {
|
|
56399
|
-
"__filterFormValues": null
|
|
56400
|
-
}
|
|
56401
|
-
}
|
|
56402
|
-
}
|
|
56403
|
-
)
|
|
56394
|
+
// console.log("===onCancelScript=form==");
|
|
56404
56395
|
const scope = event.context.scoped;
|
|
56405
56396
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
56406
56397
|
return n.props.type === "form";
|
|
56407
56398
|
});
|
|
56408
56399
|
var filterFormValues = filterForm.getValues();
|
|
56409
|
-
|
|
56410
|
-
return n.props.type === "crud";
|
|
56411
|
-
});
|
|
56400
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
56412
56401
|
const removedValues = {};
|
|
56413
56402
|
for(var k in filterFormValues){
|
|
56414
56403
|
if(/^__searchable__/.test(k)){
|
|
@@ -56423,7 +56412,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
56423
56412
|
if(localListViewProps){
|
|
56424
56413
|
localListViewProps = JSON.parse(localListViewProps);
|
|
56425
56414
|
for(var k in localListViewProps){
|
|
56426
|
-
if(k
|
|
56415
|
+
if(/^__searchable__/.test(k)){
|
|
56427
56416
|
removedValues[k] = null;
|
|
56428
56417
|
}
|
|
56429
56418
|
}
|
|
@@ -56434,20 +56423,35 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
56434
56423
|
//lookup字段保留快速搜索条件
|
|
56435
56424
|
removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];
|
|
56436
56425
|
}
|
|
56437
|
-
filterForm.
|
|
56438
|
-
|
|
56439
|
-
|
|
56440
|
-
|
|
56441
|
-
|
|
56442
|
-
|
|
56443
|
-
|
|
56444
|
-
|
|
56426
|
+
filterForm.setValues(removedValues);//会把表单提交到toolbar的快速搜索区域,造成在快速搜索框中触发搜索时再次把搜索表单中的字段值清除掉的bug,已单独在快速搜索框那边添加搜索事件代码处理过了
|
|
56427
|
+
// 以下方法都无法实现清除表单值
|
|
56428
|
+
// filterForm.setValues({}, true)
|
|
56429
|
+
// filterForm.reset();
|
|
56430
|
+
// filterForm.handleAction({},{
|
|
56431
|
+
// "actionType": "setValue",
|
|
56432
|
+
// "args": {
|
|
56433
|
+
// "value": removedValues
|
|
56434
|
+
// }
|
|
56435
|
+
// });
|
|
56436
|
+
// 下面触发clear动作可以清除表单值,且不会把表单提交到toolbar的快速搜索区域,但是会把金额等范围字段清空成非范围字段
|
|
56437
|
+
// filterForm.handleAction({},{
|
|
56438
|
+
// "actionType": "clear"
|
|
56439
|
+
// });
|
|
56440
|
+
|
|
56441
|
+
// 清除__changedFilterFormValues中的值
|
|
56442
|
+
crud && crud.setData({__changedFilterFormValues: {}});
|
|
56443
|
+
filterForm.handleFormSubmit(event);
|
|
56444
|
+
// crud.handleFilterSubmit(removedValues);
|
|
56445
|
+
|
|
56446
|
+
let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
|
|
56447
|
+
filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});
|
|
56445
56448
|
//触发amis crud 高度重算
|
|
56446
56449
|
setTimeout(()=>{
|
|
56447
56450
|
window.dispatchEvent(new Event("resize"))
|
|
56448
56451
|
}, 100);
|
|
56449
56452
|
// 移除搜索按钮上的红点
|
|
56450
|
-
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
56453
|
+
// let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
56454
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
56451
56455
|
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
56452
56456
|
`;
|
|
56453
56457
|
const dataProviderInited = `
|
|
@@ -57853,7 +57857,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
57853
57857
|
// }
|
|
57854
57858
|
`;
|
|
57855
57859
|
|
|
57856
|
-
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
|
|
57860
|
+
// function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
|
|
57861
|
+
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
|
|
57857
57862
|
const searchableFieldsLabel = [];
|
|
57858
57863
|
_.each(mainObject.fields, function (field) {
|
|
57859
57864
|
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
@@ -57869,6 +57874,33 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
57869
57874
|
crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
|
|
57870
57875
|
}
|
|
57871
57876
|
|
|
57877
|
+
const onChangeScript = `
|
|
57878
|
+
const scope = event.context.scoped;
|
|
57879
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
57880
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
57881
|
+
let __changedSearchBoxValues = {};
|
|
57882
|
+
__changedSearchBoxValues["${keywordsSearchBoxName}"] = event.data["${keywordsSearchBoxName}"];
|
|
57883
|
+
// crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});
|
|
57884
|
+
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
57885
|
+
crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});
|
|
57886
|
+
`;
|
|
57887
|
+
|
|
57888
|
+
// onSearchScript中加上了onChangeScript中的脚本,是因为amis 3.2不能用change事件执行onChangeScript
|
|
57889
|
+
// 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
|
|
57890
|
+
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
57891
|
+
const onSearchScript = `
|
|
57892
|
+
${onChangeScript}
|
|
57893
|
+
|
|
57894
|
+
// 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题
|
|
57895
|
+
// const scope = event.context.scoped;
|
|
57896
|
+
// 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null
|
|
57897
|
+
// 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空
|
|
57898
|
+
let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
|
|
57899
|
+
setTimeout(function(){
|
|
57900
|
+
filterForm.setValues(event.data.__changedFilterFormValues);
|
|
57901
|
+
}, 500);
|
|
57902
|
+
`;
|
|
57903
|
+
|
|
57872
57904
|
return {
|
|
57873
57905
|
"type": "tooltip-wrapper",
|
|
57874
57906
|
"id": "steedos_crud_toolbar_quick_search",
|
|
@@ -57887,28 +57919,24 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
57887
57919
|
"placeholder": "搜索此列表",
|
|
57888
57920
|
"value": crudKeywords,
|
|
57889
57921
|
"clearable": true,
|
|
57890
|
-
"clearAndSubmit": true
|
|
57922
|
+
// "clearAndSubmit": true,//因为清除并不会触发失去焦点事件,只有禁用,但是它会触发change事件,所以等升级到amis 3.4+后可以重新放开
|
|
57891
57923
|
"searchImediately": false,
|
|
57892
57924
|
"onEvent": {
|
|
57893
|
-
"
|
|
57925
|
+
"search": {
|
|
57894
57926
|
"actions": [
|
|
57895
57927
|
{
|
|
57896
57928
|
"actionType": "custom",
|
|
57897
|
-
"script":
|
|
57898
|
-
doAction(
|
|
57899
|
-
{
|
|
57900
|
-
"componentId": 'service_${crudId}',
|
|
57901
|
-
"actionType": "setValue",
|
|
57902
|
-
"args": {
|
|
57903
|
-
"value": {
|
|
57904
|
-
"__serachBoxValues": event.data
|
|
57905
|
-
}
|
|
57906
|
-
}
|
|
57907
|
-
}
|
|
57908
|
-
)
|
|
57909
|
-
`
|
|
57929
|
+
"script": onSearchScript
|
|
57910
57930
|
}
|
|
57911
57931
|
]
|
|
57932
|
+
},
|
|
57933
|
+
"blur": { //这里把change事件换成blur是因为amis 3.2change事件中setData会卡,升级到3.4+后就可以换回change事件
|
|
57934
|
+
"actions": [
|
|
57935
|
+
{
|
|
57936
|
+
"actionType": "custom",
|
|
57937
|
+
"script": onChangeScript
|
|
57938
|
+
},
|
|
57939
|
+
]
|
|
57912
57940
|
}
|
|
57913
57941
|
}
|
|
57914
57942
|
}
|
|
@@ -57917,7 +57945,7 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
57917
57945
|
}
|
|
57918
57946
|
|
|
57919
57947
|
function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
57920
|
-
showDisplayAs = false, hiddenCount = false, headerToolbarItems,
|
|
57948
|
+
showDisplayAs = false, hiddenCount = false, headerToolbarItems,
|
|
57921
57949
|
filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){
|
|
57922
57950
|
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
57923
57951
|
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
@@ -58021,7 +58049,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
58021
58049
|
};
|
|
58022
58050
|
}
|
|
58023
58051
|
let toolbarDisplayAsButton = getDisplayAsButton(mainObject?.name);
|
|
58024
|
-
let toolbarDQuickSearchBox = getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName
|
|
58052
|
+
let toolbarDQuickSearchBox = getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName });
|
|
58025
58053
|
|
|
58026
58054
|
// toolbars返回的数组元素不可以是空对象{},比如hiddenCount ? {} : {"type": "tpl",...},因为空对象最终还是会生成一个空的.antd-Crud-toolbar-item dom
|
|
58027
58055
|
// 当出现空的.antd-Crud-toolbar-item dom时会影响toolbar元素的maring-right css样式计算,如果有动态需要应该加到动态数组变量toolbars中
|
|
@@ -58169,6 +58197,20 @@ async function getObjectFilter(objectSchema, fields, options) {
|
|
|
58169
58197
|
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
58170
58198
|
crudService && crudService.setData({isFieldsFilterEmpty});
|
|
58171
58199
|
`;
|
|
58200
|
+
let onChangeScript = `
|
|
58201
|
+
const scope = event.context.scoped;
|
|
58202
|
+
// let filterFormValues = event.data;
|
|
58203
|
+
let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
|
|
58204
|
+
let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
|
|
58205
|
+
// 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。
|
|
58206
|
+
let filterFormValues = filterFormService.getData();
|
|
58207
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
58208
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;
|
|
58209
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
58210
|
+
// crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
58211
|
+
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
58212
|
+
crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
58213
|
+
`;
|
|
58172
58214
|
return {
|
|
58173
58215
|
"title": "",
|
|
58174
58216
|
"submitText": "",
|
|
@@ -58192,19 +58234,7 @@ async function getObjectFilter(objectSchema, fields, options) {
|
|
|
58192
58234
|
"actions": [
|
|
58193
58235
|
{
|
|
58194
58236
|
"actionType": "custom",
|
|
58195
|
-
"script":
|
|
58196
|
-
doAction(
|
|
58197
|
-
{
|
|
58198
|
-
"componentId": 'service_${options.crudId}',
|
|
58199
|
-
"actionType": "setValue",
|
|
58200
|
-
"args": {
|
|
58201
|
-
"value": {
|
|
58202
|
-
"__filterFormValues": event.data
|
|
58203
|
-
}
|
|
58204
|
-
}
|
|
58205
|
-
}
|
|
58206
|
-
)
|
|
58207
|
-
`
|
|
58237
|
+
"script": onChangeScript
|
|
58208
58238
|
}
|
|
58209
58239
|
]
|
|
58210
58240
|
}
|
|
@@ -58993,6 +59023,13 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
58993
59023
|
source.data.$self = "$$";
|
|
58994
59024
|
|
|
58995
59025
|
source.requestAdaptor = `
|
|
59026
|
+
let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};
|
|
59027
|
+
let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};
|
|
59028
|
+
// 把表单搜索和快速搜索中的change事件中记录的过滤条件也拼到$self中,是为解决触发搜索请求时,两边输入的过滤条件都带上,即:
|
|
59029
|
+
// 有时在搜索表单中输入过滤条件事,忘记点击回车键或搜索按钮,而是进一步修改快速搜索框中的关键字点击其中回车键触发搜索
|
|
59030
|
+
// 这种情况下,触发的搜索请求中没有带上搜索表单中输入的过滤条件。
|
|
59031
|
+
// 反过来先在快速搜索框中输入过滤条件却不点击其中回车键触发搜索,而是到搜索表单中触发搜索请求也是一样的。
|
|
59032
|
+
Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);
|
|
58996
59033
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
58997
59034
|
var filters = [];
|
|
58998
59035
|
var pageSize = api.data.pageSize || 10;
|
|
@@ -59059,7 +59096,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
59059
59096
|
const filtersFunction = ${field.filtersFunction || field._filtersFunction};
|
|
59060
59097
|
|
|
59061
59098
|
if(filtersFunction && !inFilterForm){
|
|
59062
|
-
const _filters = filtersFunction(filters, api.data.$self.__super
|
|
59099
|
+
const _filters = filtersFunction(filters, api.data.$self.__super);
|
|
59063
59100
|
if(_filters && _filters.length > 0){
|
|
59064
59101
|
filters.push(_filters);
|
|
59065
59102
|
}
|
|
@@ -60512,9 +60549,7 @@ async function getFieldSearchable(perField, permissionFields, ctx){
|
|
|
60512
60549
|
|
|
60513
60550
|
const amisField = await convertSFieldToAmisField(_field, false, Object.assign({}, ctx, {fieldNamePrefix: fieldNamePrefix, required: false, showSystemFields: true, inFilterForm: true}));
|
|
60514
60551
|
if(amisField){
|
|
60515
|
-
return
|
|
60516
|
-
submitOnChange: false
|
|
60517
|
-
});
|
|
60552
|
+
return amisField;
|
|
60518
60553
|
}
|
|
60519
60554
|
}
|
|
60520
60555
|
}
|