@steedos-widgets/amis-lib 1.2.7 → 1.2.9-beta.1
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/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +109 -24
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +109 -24
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +109 -24
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/index.d.ts +1 -0
- package/dist/types/lib/converter/amis/fields_filter.d.ts +3 -1
- package/dist/types/lib/converter/amis/header.d.ts +3 -1
- package/dist/types/lib/converter/amis/toolbar.d.ts +3 -1
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -2603,11 +2603,11 @@
|
|
|
2603
2603
|
payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
|
|
2604
2604
|
}
|
|
2605
2605
|
const selfData = api.body.$self;
|
|
2606
|
-
const filterFormSearchableFields = selfData.filterFormSearchableFields;
|
|
2607
2606
|
const uiSchema = selfData.uiSchema;
|
|
2608
2607
|
const fields = uiSchema.fields;
|
|
2609
|
-
const
|
|
2610
|
-
|
|
2608
|
+
const filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){
|
|
2609
|
+
return !!fields[item]
|
|
2610
|
+
});
|
|
2611
2611
|
const resolveAll = function(values){
|
|
2612
2612
|
payload.data = {
|
|
2613
2613
|
"body": values
|
|
@@ -2622,21 +2622,7 @@
|
|
|
2622
2622
|
return Promise.all(filterFormSearchableFields.map(function (item) {
|
|
2623
2623
|
const field = _.clone(fields[item]);
|
|
2624
2624
|
if (
|
|
2625
|
-
|
|
2626
|
-
[
|
|
2627
|
-
"grid",
|
|
2628
|
-
"avatar",
|
|
2629
|
-
"image",
|
|
2630
|
-
"object",
|
|
2631
|
-
"[object]",
|
|
2632
|
-
"[Object]",
|
|
2633
|
-
"[grid]",
|
|
2634
|
-
"[text]",
|
|
2635
|
-
"audio",
|
|
2636
|
-
"file",
|
|
2637
|
-
],
|
|
2638
|
-
field.type
|
|
2639
|
-
)
|
|
2625
|
+
field && window.isFieldTypeSearchable(field.type)
|
|
2640
2626
|
) {
|
|
2641
2627
|
delete field.defaultValue;
|
|
2642
2628
|
delete field.required;
|
|
@@ -2669,7 +2655,7 @@
|
|
|
2669
2655
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
2670
2656
|
return n.props.type === "form";
|
|
2671
2657
|
});
|
|
2672
|
-
filterForm.handleFormSubmit(event)
|
|
2658
|
+
filterForm.handleFormSubmit(event);
|
|
2673
2659
|
// var filterFormValues = filterForm.getValues();
|
|
2674
2660
|
// var listView = scope.parent.parent.parent.getComponents().find(function(n){
|
|
2675
2661
|
// return n.props.type === "crud";
|
|
@@ -2683,6 +2669,28 @@
|
|
|
2683
2669
|
// }
|
|
2684
2670
|
// }
|
|
2685
2671
|
// listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));
|
|
2672
|
+
|
|
2673
|
+
let isMobile = Steedos.isMobile();
|
|
2674
|
+
if(isMobile){
|
|
2675
|
+
// 手机端点击搜索的时候自动收起搜索栏
|
|
2676
|
+
let resizeWindow = function(){
|
|
2677
|
+
//触发amis crud 高度重算
|
|
2678
|
+
setTimeout(()=>{
|
|
2679
|
+
window.dispatchEvent(new Event("resize"))
|
|
2680
|
+
}, 500);
|
|
2681
|
+
}
|
|
2682
|
+
const filterService = filterForm.context.getComponents().find(function(n){
|
|
2683
|
+
return n.props.type === "service";
|
|
2684
|
+
});
|
|
2685
|
+
filterService.setData({showFieldsFilter: false});
|
|
2686
|
+
resizeWindow();
|
|
2687
|
+
// 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
|
|
2688
|
+
let filterFormValues = event.data;
|
|
2689
|
+
let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
|
|
2690
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
2691
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
2692
|
+
crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter: false});
|
|
2693
|
+
}
|
|
2686
2694
|
`;
|
|
2687
2695
|
const onCancelScript = `
|
|
2688
2696
|
const scope = event.context.scoped;
|
|
@@ -2720,7 +2728,13 @@
|
|
|
2720
2728
|
setTimeout(()=>{
|
|
2721
2729
|
window.dispatchEvent(new Event("resize"))
|
|
2722
2730
|
}, 100);
|
|
2723
|
-
|
|
2731
|
+
let isMobile = Steedos.isMobile();
|
|
2732
|
+
if(isMobile){
|
|
2733
|
+
// 手机端移除搜索按钮上的红点
|
|
2734
|
+
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
2735
|
+
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
2736
|
+
}
|
|
2737
|
+
`;
|
|
2724
2738
|
const dataProviderInited = `
|
|
2725
2739
|
const objectName = data.objectName;
|
|
2726
2740
|
const isLookup = data.isLookup;
|
|
@@ -2774,7 +2788,15 @@
|
|
|
2774
2788
|
});
|
|
2775
2789
|
// 有过滤条件时自动展开搜索栏
|
|
2776
2790
|
if(!_.isEmpty(omitedEmptyFormValue)){
|
|
2777
|
-
|
|
2791
|
+
let isMobile = Steedos.isMobile();
|
|
2792
|
+
if(isMobile){
|
|
2793
|
+
// 手机端不展开,只显示搜索按钮上的红点
|
|
2794
|
+
let crudService = SteedosUI.getRef(data.$scopeId).getComponentById("service_listview_" + data.objectName)
|
|
2795
|
+
crudService && crudService.setData({isFieldsFilterEmpty: false});
|
|
2796
|
+
}
|
|
2797
|
+
else{
|
|
2798
|
+
setData({ showFieldsFilter: true });
|
|
2799
|
+
}
|
|
2778
2800
|
}
|
|
2779
2801
|
}
|
|
2780
2802
|
}
|
|
@@ -2959,9 +2981,27 @@
|
|
|
2959
2981
|
"headers": {
|
|
2960
2982
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2961
2983
|
},
|
|
2962
|
-
"data":
|
|
2984
|
+
"data": {
|
|
2985
|
+
"$self": "$$"
|
|
2986
|
+
},
|
|
2963
2987
|
"requestAdaptor": "",
|
|
2964
|
-
"adaptor":
|
|
2988
|
+
"adaptor": `
|
|
2989
|
+
if(payload.errors){
|
|
2990
|
+
payload.status = 2;
|
|
2991
|
+
payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
|
|
2992
|
+
}
|
|
2993
|
+
const selfData = api.body.$self;
|
|
2994
|
+
const uiSchema = selfData.uiSchema;
|
|
2995
|
+
const fields = uiSchema.fields;
|
|
2996
|
+
const options = (payload.data?.options || []).filter(function(item){
|
|
2997
|
+
let field = fields[item.value];
|
|
2998
|
+
return !!field && window.isFieldTypeSearchable(field.type)
|
|
2999
|
+
});
|
|
3000
|
+
payload.data = {
|
|
3001
|
+
"options": options
|
|
3002
|
+
};
|
|
3003
|
+
return payload;
|
|
3004
|
+
`
|
|
2965
3005
|
},
|
|
2966
3006
|
"options": [],
|
|
2967
3007
|
"required": true,
|
|
@@ -3535,7 +3575,12 @@ let resizeWindow = function(){
|
|
|
3535
3575
|
window.dispatchEvent(new Event("resize"))
|
|
3536
3576
|
}, 500);
|
|
3537
3577
|
}
|
|
3578
|
+
let isMobile = Steedos.isMobile();
|
|
3538
3579
|
if(filterService.props.data.showFieldsFilter){
|
|
3580
|
+
if(isMobile){
|
|
3581
|
+
// 手机上只能通过取消按钮来关闭搜索栏
|
|
3582
|
+
return;
|
|
3583
|
+
}
|
|
3539
3584
|
let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, "button", {
|
|
3540
3585
|
direction: "down",
|
|
3541
3586
|
name: "btn_filter_form_cancel"
|
|
@@ -3547,6 +3592,11 @@ if(filterService.props.data.showFieldsFilter){
|
|
|
3547
3592
|
else{
|
|
3548
3593
|
filterService.setData({showFieldsFilter: true});
|
|
3549
3594
|
resizeWindow();
|
|
3595
|
+
if(isMobile){
|
|
3596
|
+
// 手机端在显示搜索栏时隐藏刷新按钮
|
|
3597
|
+
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
3598
|
+
crudService && crudService.setData({showFieldsFilter: true});
|
|
3599
|
+
}
|
|
3550
3600
|
}
|
|
3551
3601
|
`;
|
|
3552
3602
|
|
|
@@ -3632,6 +3682,7 @@ else{
|
|
|
3632
3682
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
3633
3683
|
"label": "",
|
|
3634
3684
|
"icon": "fa fa-sync",
|
|
3685
|
+
"visibleOn": "${!showFieldsFilter}",
|
|
3635
3686
|
"onEvent": {
|
|
3636
3687
|
"click": {
|
|
3637
3688
|
"actions": [
|
|
@@ -3647,6 +3698,15 @@ else{
|
|
|
3647
3698
|
"label": "",
|
|
3648
3699
|
"icon": "fa fa-search",
|
|
3649
3700
|
"type": "button",
|
|
3701
|
+
"badge": {
|
|
3702
|
+
"offset": [
|
|
3703
|
+
-5,
|
|
3704
|
+
1
|
|
3705
|
+
],
|
|
3706
|
+
"size":8,
|
|
3707
|
+
"animation": true,
|
|
3708
|
+
"visibleOn": "${isFieldsFilterEmpty == false}"
|
|
3709
|
+
},
|
|
3650
3710
|
"align": "right",
|
|
3651
3711
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
3652
3712
|
"onEvent": {
|
|
@@ -6168,6 +6228,29 @@ else{
|
|
|
6168
6228
|
window.getFieldSearchable = getFieldSearchable;
|
|
6169
6229
|
}
|
|
6170
6230
|
|
|
6231
|
+
|
|
6232
|
+
function isFieldTypeSearchable(fieldType) {
|
|
6233
|
+
return !___namespace.includes(
|
|
6234
|
+
[
|
|
6235
|
+
"grid",
|
|
6236
|
+
"avatar",
|
|
6237
|
+
"image",
|
|
6238
|
+
"object",
|
|
6239
|
+
"[object]",
|
|
6240
|
+
"[Object]",
|
|
6241
|
+
"[grid]",
|
|
6242
|
+
"[text]",
|
|
6243
|
+
"audio",
|
|
6244
|
+
"file",
|
|
6245
|
+
],
|
|
6246
|
+
fieldType
|
|
6247
|
+
)
|
|
6248
|
+
}
|
|
6249
|
+
|
|
6250
|
+
if (typeof window != 'undefined') {
|
|
6251
|
+
window.isFieldTypeSearchable = isFieldTypeSearchable;
|
|
6252
|
+
}
|
|
6253
|
+
|
|
6171
6254
|
var index = /*#__PURE__*/Object.freeze({
|
|
6172
6255
|
__proto__: null,
|
|
6173
6256
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
@@ -6179,6 +6262,7 @@ else{
|
|
|
6179
6262
|
getSelectFieldOptions: getSelectFieldOptions,
|
|
6180
6263
|
convertSFieldToAmisField: convertSFieldToAmisField,
|
|
6181
6264
|
getFieldSearchable: getFieldSearchable,
|
|
6265
|
+
isFieldTypeSearchable: isFieldTypeSearchable,
|
|
6182
6266
|
getAmisStaticFieldType: getAmisStaticFieldType
|
|
6183
6267
|
});
|
|
6184
6268
|
|
|
@@ -6747,7 +6831,8 @@ else{
|
|
|
6747
6831
|
api: await getTableApi(objectSchema, fields, options),
|
|
6748
6832
|
hiddenOn: options.tableHiddenOn,
|
|
6749
6833
|
autoFillHeight: options.isRelated ? false : true,
|
|
6750
|
-
className: `flex-auto
|
|
6834
|
+
className: `flex-auto ${crudClassName || ""}`,
|
|
6835
|
+
bodyClassName: "bg-white",
|
|
6751
6836
|
crudClassName: crudClassName,
|
|
6752
6837
|
},
|
|
6753
6838
|
bodyProps,
|