@steedos-widgets/sortable 1.3.17-beta.2 → 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 +93 -58
- package/dist/sortable.cjs.js.map +1 -1
- package/dist/sortable.esm.js +93 -58
- package/dist/sortable.esm.js.map +1 -1
- package/dist/sortable.umd.js +93 -58
- package/package.json +3 -3
package/dist/sortable.umd.js
CHANGED
|
@@ -22639,6 +22639,7 @@
|
|
|
22639
22639
|
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
22640
22640
|
const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
|
|
22641
22641
|
const onSearchScript = `
|
|
22642
|
+
// console.log("===onSearchScript=form==");
|
|
22642
22643
|
const scope = event.context.scoped;
|
|
22643
22644
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
22644
22645
|
return n.props.type === "form";
|
|
@@ -22695,25 +22696,13 @@
|
|
|
22695
22696
|
crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});
|
|
22696
22697
|
`;
|
|
22697
22698
|
const onCancelScript = `
|
|
22698
|
-
|
|
22699
|
-
{
|
|
22700
|
-
"componentId": 'service_${ctx.crudId}',
|
|
22701
|
-
"actionType": "setValue",
|
|
22702
|
-
"args": {
|
|
22703
|
-
"value": {
|
|
22704
|
-
"__filterFormValues": null
|
|
22705
|
-
}
|
|
22706
|
-
}
|
|
22707
|
-
}
|
|
22708
|
-
)
|
|
22699
|
+
// console.log("===onCancelScript=form==");
|
|
22709
22700
|
const scope = event.context.scoped;
|
|
22710
22701
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
22711
22702
|
return n.props.type === "form";
|
|
22712
22703
|
});
|
|
22713
22704
|
var filterFormValues = filterForm.getValues();
|
|
22714
|
-
|
|
22715
|
-
return n.props.type === "crud";
|
|
22716
|
-
});
|
|
22705
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
22717
22706
|
const removedValues = {};
|
|
22718
22707
|
for(var k in filterFormValues){
|
|
22719
22708
|
if(/^__searchable__/.test(k)){
|
|
@@ -22728,7 +22717,7 @@
|
|
|
22728
22717
|
if(localListViewProps){
|
|
22729
22718
|
localListViewProps = JSON.parse(localListViewProps);
|
|
22730
22719
|
for(var k in localListViewProps){
|
|
22731
|
-
if(k
|
|
22720
|
+
if(/^__searchable__/.test(k)){
|
|
22732
22721
|
removedValues[k] = null;
|
|
22733
22722
|
}
|
|
22734
22723
|
}
|
|
@@ -22739,20 +22728,35 @@
|
|
|
22739
22728
|
//lookup字段保留快速搜索条件
|
|
22740
22729
|
removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];
|
|
22741
22730
|
}
|
|
22742
|
-
filterForm.
|
|
22743
|
-
|
|
22744
|
-
|
|
22745
|
-
|
|
22746
|
-
|
|
22747
|
-
|
|
22748
|
-
|
|
22749
|
-
|
|
22731
|
+
filterForm.setValues(removedValues);//会把表单提交到toolbar的快速搜索区域,造成在快速搜索框中触发搜索时再次把搜索表单中的字段值清除掉的bug,已单独在快速搜索框那边添加搜索事件代码处理过了
|
|
22732
|
+
// 以下方法都无法实现清除表单值
|
|
22733
|
+
// filterForm.setValues({}, true)
|
|
22734
|
+
// filterForm.reset();
|
|
22735
|
+
// filterForm.handleAction({},{
|
|
22736
|
+
// "actionType": "setValue",
|
|
22737
|
+
// "args": {
|
|
22738
|
+
// "value": removedValues
|
|
22739
|
+
// }
|
|
22740
|
+
// });
|
|
22741
|
+
// 下面触发clear动作可以清除表单值,且不会把表单提交到toolbar的快速搜索区域,但是会把金额等范围字段清空成非范围字段
|
|
22742
|
+
// filterForm.handleAction({},{
|
|
22743
|
+
// "actionType": "clear"
|
|
22744
|
+
// });
|
|
22745
|
+
|
|
22746
|
+
// 清除__changedFilterFormValues中的值
|
|
22747
|
+
crud && crud.setData({__changedFilterFormValues: {}});
|
|
22748
|
+
filterForm.handleFormSubmit(event);
|
|
22749
|
+
// crud.handleFilterSubmit(removedValues);
|
|
22750
|
+
|
|
22751
|
+
let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
|
|
22752
|
+
filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});
|
|
22750
22753
|
//触发amis crud 高度重算
|
|
22751
22754
|
setTimeout(()=>{
|
|
22752
22755
|
window.dispatchEvent(new Event("resize"))
|
|
22753
22756
|
}, 100);
|
|
22754
22757
|
// 移除搜索按钮上的红点
|
|
22755
|
-
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
22758
|
+
// let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
22759
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
22756
22760
|
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
22757
22761
|
`;
|
|
22758
22762
|
const dataProviderInited = `
|
|
@@ -24158,7 +24162,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
24158
24162
|
// }
|
|
24159
24163
|
`;
|
|
24160
24164
|
|
|
24161
|
-
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
|
|
24165
|
+
// function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
|
|
24166
|
+
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
|
|
24162
24167
|
const searchableFieldsLabel = [];
|
|
24163
24168
|
_.each(mainObject.fields, function (field) {
|
|
24164
24169
|
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
@@ -24174,6 +24179,33 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
24174
24179
|
crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
|
|
24175
24180
|
}
|
|
24176
24181
|
|
|
24182
|
+
const onChangeScript = `
|
|
24183
|
+
const scope = event.context.scoped;
|
|
24184
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
24185
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
24186
|
+
let __changedSearchBoxValues = {};
|
|
24187
|
+
__changedSearchBoxValues["${keywordsSearchBoxName}"] = event.data["${keywordsSearchBoxName}"];
|
|
24188
|
+
// crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});
|
|
24189
|
+
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
24190
|
+
crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});
|
|
24191
|
+
`;
|
|
24192
|
+
|
|
24193
|
+
// onSearchScript中加上了onChangeScript中的脚本,是因为amis 3.2不能用change事件执行onChangeScript
|
|
24194
|
+
// 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
|
|
24195
|
+
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
24196
|
+
const onSearchScript = `
|
|
24197
|
+
${onChangeScript}
|
|
24198
|
+
|
|
24199
|
+
// 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题
|
|
24200
|
+
// const scope = event.context.scoped;
|
|
24201
|
+
// 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null
|
|
24202
|
+
// 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空
|
|
24203
|
+
let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
|
|
24204
|
+
setTimeout(function(){
|
|
24205
|
+
filterForm.setValues(event.data.__changedFilterFormValues);
|
|
24206
|
+
}, 500);
|
|
24207
|
+
`;
|
|
24208
|
+
|
|
24177
24209
|
return {
|
|
24178
24210
|
"type": "tooltip-wrapper",
|
|
24179
24211
|
"id": "steedos_crud_toolbar_quick_search",
|
|
@@ -24192,28 +24224,24 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
24192
24224
|
"placeholder": "搜索此列表",
|
|
24193
24225
|
"value": crudKeywords,
|
|
24194
24226
|
"clearable": true,
|
|
24195
|
-
"clearAndSubmit": true
|
|
24227
|
+
// "clearAndSubmit": true,//因为清除并不会触发失去焦点事件,只有禁用,但是它会触发change事件,所以等升级到amis 3.4+后可以重新放开
|
|
24196
24228
|
"searchImediately": false,
|
|
24197
24229
|
"onEvent": {
|
|
24198
|
-
"
|
|
24230
|
+
"search": {
|
|
24199
24231
|
"actions": [
|
|
24200
24232
|
{
|
|
24201
24233
|
"actionType": "custom",
|
|
24202
|
-
"script":
|
|
24203
|
-
doAction(
|
|
24204
|
-
{
|
|
24205
|
-
"componentId": 'service_${crudId}',
|
|
24206
|
-
"actionType": "setValue",
|
|
24207
|
-
"args": {
|
|
24208
|
-
"value": {
|
|
24209
|
-
"__serachBoxValues": event.data
|
|
24210
|
-
}
|
|
24211
|
-
}
|
|
24212
|
-
}
|
|
24213
|
-
)
|
|
24214
|
-
`
|
|
24234
|
+
"script": onSearchScript
|
|
24215
24235
|
}
|
|
24216
24236
|
]
|
|
24237
|
+
},
|
|
24238
|
+
"blur": { //这里把change事件换成blur是因为amis 3.2change事件中setData会卡,升级到3.4+后就可以换回change事件
|
|
24239
|
+
"actions": [
|
|
24240
|
+
{
|
|
24241
|
+
"actionType": "custom",
|
|
24242
|
+
"script": onChangeScript
|
|
24243
|
+
},
|
|
24244
|
+
]
|
|
24217
24245
|
}
|
|
24218
24246
|
}
|
|
24219
24247
|
}
|
|
@@ -24222,7 +24250,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
24222
24250
|
}
|
|
24223
24251
|
|
|
24224
24252
|
function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
24225
|
-
showDisplayAs = false, hiddenCount = false, headerToolbarItems,
|
|
24253
|
+
showDisplayAs = false, hiddenCount = false, headerToolbarItems,
|
|
24226
24254
|
filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){
|
|
24227
24255
|
// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
24228
24256
|
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
@@ -24326,7 +24354,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
24326
24354
|
};
|
|
24327
24355
|
}
|
|
24328
24356
|
let toolbarDisplayAsButton = getDisplayAsButton(mainObject?.name);
|
|
24329
|
-
let toolbarDQuickSearchBox = getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName
|
|
24357
|
+
let toolbarDQuickSearchBox = getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName });
|
|
24330
24358
|
|
|
24331
24359
|
// toolbars返回的数组元素不可以是空对象{},比如hiddenCount ? {} : {"type": "tpl",...},因为空对象最终还是会生成一个空的.antd-Crud-toolbar-item dom
|
|
24332
24360
|
// 当出现空的.antd-Crud-toolbar-item dom时会影响toolbar元素的maring-right css样式计算,如果有动态需要应该加到动态数组变量toolbars中
|
|
@@ -24473,6 +24501,20 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
24473
24501
|
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
24474
24502
|
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
24475
24503
|
crudService && crudService.setData({isFieldsFilterEmpty});
|
|
24504
|
+
`;
|
|
24505
|
+
let onChangeScript = `
|
|
24506
|
+
const scope = event.context.scoped;
|
|
24507
|
+
// let filterFormValues = event.data;
|
|
24508
|
+
let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
|
|
24509
|
+
let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
|
|
24510
|
+
// 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。
|
|
24511
|
+
let filterFormValues = filterFormService.getData();
|
|
24512
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
24513
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;
|
|
24514
|
+
// let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
24515
|
+
// crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
24516
|
+
// 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
|
|
24517
|
+
crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
|
|
24476
24518
|
`;
|
|
24477
24519
|
return {
|
|
24478
24520
|
"title": "",
|
|
@@ -24497,19 +24539,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
24497
24539
|
"actions": [
|
|
24498
24540
|
{
|
|
24499
24541
|
"actionType": "custom",
|
|
24500
|
-
"script":
|
|
24501
|
-
doAction(
|
|
24502
|
-
{
|
|
24503
|
-
"componentId": 'service_${options.crudId}',
|
|
24504
|
-
"actionType": "setValue",
|
|
24505
|
-
"args": {
|
|
24506
|
-
"value": {
|
|
24507
|
-
"__filterFormValues": event.data
|
|
24508
|
-
}
|
|
24509
|
-
}
|
|
24510
|
-
}
|
|
24511
|
-
)
|
|
24512
|
-
`
|
|
24542
|
+
"script": onChangeScript
|
|
24513
24543
|
}
|
|
24514
24544
|
]
|
|
24515
24545
|
}
|
|
@@ -25298,6 +25328,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
25298
25328
|
source.data.$self = "$$";
|
|
25299
25329
|
|
|
25300
25330
|
source.requestAdaptor = `
|
|
25331
|
+
let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};
|
|
25332
|
+
let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};
|
|
25333
|
+
// 把表单搜索和快速搜索中的change事件中记录的过滤条件也拼到$self中,是为解决触发搜索请求时,两边输入的过滤条件都带上,即:
|
|
25334
|
+
// 有时在搜索表单中输入过滤条件事,忘记点击回车键或搜索按钮,而是进一步修改快速搜索框中的关键字点击其中回车键触发搜索
|
|
25335
|
+
// 这种情况下,触发的搜索请求中没有带上搜索表单中输入的过滤条件。
|
|
25336
|
+
// 反过来先在快速搜索框中输入过滤条件却不点击其中回车键触发搜索,而是到搜索表单中触发搜索请求也是一样的。
|
|
25337
|
+
Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);
|
|
25301
25338
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
25302
25339
|
var filters = [];
|
|
25303
25340
|
var pageSize = api.data.pageSize || 10;
|
|
@@ -26817,9 +26854,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
26817
26854
|
|
|
26818
26855
|
const amisField = await convertSFieldToAmisField(_field, false, Object.assign({}, ctx, {fieldNamePrefix: fieldNamePrefix, required: false, showSystemFields: true, inFilterForm: true}));
|
|
26819
26856
|
if(amisField){
|
|
26820
|
-
return
|
|
26821
|
-
submitOnChange: false
|
|
26822
|
-
});
|
|
26857
|
+
return amisField;
|
|
26823
26858
|
}
|
|
26824
26859
|
}
|
|
26825
26860
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos-widgets/sortable",
|
|
3
|
-
"version": "1.3.17
|
|
3
|
+
"version": "1.3.17",
|
|
4
4
|
"main": "dist/sortable.cjs.js",
|
|
5
5
|
"module": "dist/sortable.esm.js",
|
|
6
6
|
"unpkg": "dist/sortable.umd.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@dnd-kit/core": "^6.0.5",
|
|
47
47
|
"@dnd-kit/sortable": "^7.0.1",
|
|
48
|
-
"@steedos-widgets/amis-lib": "1.3.17
|
|
48
|
+
"@steedos-widgets/amis-lib": "1.3.17"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "d5913f7f83ea078e461357d66193d77874ef0c06"
|
|
51
51
|
}
|