@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.esm.js
CHANGED
|
@@ -2577,11 +2577,11 @@ async function getObjectFieldsFilterFormSchema(ctx) {
|
|
|
2577
2577
|
payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
|
|
2578
2578
|
}
|
|
2579
2579
|
const selfData = api.body.$self;
|
|
2580
|
-
const filterFormSearchableFields = selfData.filterFormSearchableFields;
|
|
2581
2580
|
const uiSchema = selfData.uiSchema;
|
|
2582
2581
|
const fields = uiSchema.fields;
|
|
2583
|
-
const
|
|
2584
|
-
|
|
2582
|
+
const filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){
|
|
2583
|
+
return !!fields[item]
|
|
2584
|
+
});
|
|
2585
2585
|
const resolveAll = function(values){
|
|
2586
2586
|
payload.data = {
|
|
2587
2587
|
"body": values
|
|
@@ -2596,21 +2596,7 @@ async function getObjectFieldsFilterFormSchema(ctx) {
|
|
|
2596
2596
|
return Promise.all(filterFormSearchableFields.map(function (item) {
|
|
2597
2597
|
const field = _.clone(fields[item]);
|
|
2598
2598
|
if (
|
|
2599
|
-
|
|
2600
|
-
[
|
|
2601
|
-
"grid",
|
|
2602
|
-
"avatar",
|
|
2603
|
-
"image",
|
|
2604
|
-
"object",
|
|
2605
|
-
"[object]",
|
|
2606
|
-
"[Object]",
|
|
2607
|
-
"[grid]",
|
|
2608
|
-
"[text]",
|
|
2609
|
-
"audio",
|
|
2610
|
-
"file",
|
|
2611
|
-
],
|
|
2612
|
-
field.type
|
|
2613
|
-
)
|
|
2599
|
+
field && window.isFieldTypeSearchable(field.type)
|
|
2614
2600
|
) {
|
|
2615
2601
|
delete field.defaultValue;
|
|
2616
2602
|
delete field.required;
|
|
@@ -2643,7 +2629,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
2643
2629
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
2644
2630
|
return n.props.type === "form";
|
|
2645
2631
|
});
|
|
2646
|
-
filterForm.handleFormSubmit(event)
|
|
2632
|
+
filterForm.handleFormSubmit(event);
|
|
2647
2633
|
// var filterFormValues = filterForm.getValues();
|
|
2648
2634
|
// var listView = scope.parent.parent.parent.getComponents().find(function(n){
|
|
2649
2635
|
// return n.props.type === "crud";
|
|
@@ -2657,6 +2643,28 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
2657
2643
|
// }
|
|
2658
2644
|
// }
|
|
2659
2645
|
// listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));
|
|
2646
|
+
|
|
2647
|
+
let isMobile = Steedos.isMobile();
|
|
2648
|
+
if(isMobile){
|
|
2649
|
+
// 手机端点击搜索的时候自动收起搜索栏
|
|
2650
|
+
let resizeWindow = function(){
|
|
2651
|
+
//触发amis crud 高度重算
|
|
2652
|
+
setTimeout(()=>{
|
|
2653
|
+
window.dispatchEvent(new Event("resize"))
|
|
2654
|
+
}, 500);
|
|
2655
|
+
}
|
|
2656
|
+
const filterService = filterForm.context.getComponents().find(function(n){
|
|
2657
|
+
return n.props.type === "service";
|
|
2658
|
+
});
|
|
2659
|
+
filterService.setData({showFieldsFilter: false});
|
|
2660
|
+
resizeWindow();
|
|
2661
|
+
// 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
|
|
2662
|
+
let filterFormValues = event.data;
|
|
2663
|
+
let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
|
|
2664
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
2665
|
+
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
|
|
2666
|
+
crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter: false});
|
|
2667
|
+
}
|
|
2660
2668
|
`;
|
|
2661
2669
|
const onCancelScript = `
|
|
2662
2670
|
const scope = event.context.scoped;
|
|
@@ -2694,7 +2702,13 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
2694
2702
|
setTimeout(()=>{
|
|
2695
2703
|
window.dispatchEvent(new Event("resize"))
|
|
2696
2704
|
}, 100);
|
|
2697
|
-
|
|
2705
|
+
let isMobile = Steedos.isMobile();
|
|
2706
|
+
if(isMobile){
|
|
2707
|
+
// 手机端移除搜索按钮上的红点
|
|
2708
|
+
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
2709
|
+
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
2710
|
+
}
|
|
2711
|
+
`;
|
|
2698
2712
|
const dataProviderInited = `
|
|
2699
2713
|
const objectName = data.objectName;
|
|
2700
2714
|
const isLookup = data.isLookup;
|
|
@@ -2748,7 +2762,15 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
2748
2762
|
});
|
|
2749
2763
|
// 有过滤条件时自动展开搜索栏
|
|
2750
2764
|
if(!_.isEmpty(omitedEmptyFormValue)){
|
|
2751
|
-
|
|
2765
|
+
let isMobile = Steedos.isMobile();
|
|
2766
|
+
if(isMobile){
|
|
2767
|
+
// 手机端不展开,只显示搜索按钮上的红点
|
|
2768
|
+
let crudService = SteedosUI.getRef(data.$scopeId).getComponentById("service_listview_" + data.objectName)
|
|
2769
|
+
crudService && crudService.setData({isFieldsFilterEmpty: false});
|
|
2770
|
+
}
|
|
2771
|
+
else{
|
|
2772
|
+
setData({ showFieldsFilter: true });
|
|
2773
|
+
}
|
|
2752
2774
|
}
|
|
2753
2775
|
}
|
|
2754
2776
|
}
|
|
@@ -2933,9 +2955,27 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
2933
2955
|
"headers": {
|
|
2934
2956
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2935
2957
|
},
|
|
2936
|
-
"data":
|
|
2958
|
+
"data": {
|
|
2959
|
+
"$self": "$$"
|
|
2960
|
+
},
|
|
2937
2961
|
"requestAdaptor": "",
|
|
2938
|
-
"adaptor":
|
|
2962
|
+
"adaptor": `
|
|
2963
|
+
if(payload.errors){
|
|
2964
|
+
payload.status = 2;
|
|
2965
|
+
payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
|
|
2966
|
+
}
|
|
2967
|
+
const selfData = api.body.$self;
|
|
2968
|
+
const uiSchema = selfData.uiSchema;
|
|
2969
|
+
const fields = uiSchema.fields;
|
|
2970
|
+
const options = (payload.data?.options || []).filter(function(item){
|
|
2971
|
+
let field = fields[item.value];
|
|
2972
|
+
return !!field && window.isFieldTypeSearchable(field.type)
|
|
2973
|
+
});
|
|
2974
|
+
payload.data = {
|
|
2975
|
+
"options": options
|
|
2976
|
+
};
|
|
2977
|
+
return payload;
|
|
2978
|
+
`
|
|
2939
2979
|
},
|
|
2940
2980
|
"options": [],
|
|
2941
2981
|
"required": true,
|
|
@@ -3509,7 +3549,12 @@ let resizeWindow = function(){
|
|
|
3509
3549
|
window.dispatchEvent(new Event("resize"))
|
|
3510
3550
|
}, 500);
|
|
3511
3551
|
}
|
|
3552
|
+
let isMobile = Steedos.isMobile();
|
|
3512
3553
|
if(filterService.props.data.showFieldsFilter){
|
|
3554
|
+
if(isMobile){
|
|
3555
|
+
// 手机上只能通过取消按钮来关闭搜索栏
|
|
3556
|
+
return;
|
|
3557
|
+
}
|
|
3513
3558
|
let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, "button", {
|
|
3514
3559
|
direction: "down",
|
|
3515
3560
|
name: "btn_filter_form_cancel"
|
|
@@ -3521,6 +3566,11 @@ if(filterService.props.data.showFieldsFilter){
|
|
|
3521
3566
|
else{
|
|
3522
3567
|
filterService.setData({showFieldsFilter: true});
|
|
3523
3568
|
resizeWindow();
|
|
3569
|
+
if(isMobile){
|
|
3570
|
+
// 手机端在显示搜索栏时隐藏刷新按钮
|
|
3571
|
+
let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
|
|
3572
|
+
crudService && crudService.setData({showFieldsFilter: true});
|
|
3573
|
+
}
|
|
3524
3574
|
}
|
|
3525
3575
|
`;
|
|
3526
3576
|
|
|
@@ -3606,6 +3656,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
3606
3656
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
3607
3657
|
"label": "",
|
|
3608
3658
|
"icon": "fa fa-sync",
|
|
3659
|
+
"visibleOn": "${!showFieldsFilter}",
|
|
3609
3660
|
"onEvent": {
|
|
3610
3661
|
"click": {
|
|
3611
3662
|
"actions": [
|
|
@@ -3621,6 +3672,15 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
3621
3672
|
"label": "",
|
|
3622
3673
|
"icon": "fa fa-search",
|
|
3623
3674
|
"type": "button",
|
|
3675
|
+
"badge": {
|
|
3676
|
+
"offset": [
|
|
3677
|
+
-5,
|
|
3678
|
+
1
|
|
3679
|
+
],
|
|
3680
|
+
"size":8,
|
|
3681
|
+
"animation": true,
|
|
3682
|
+
"visibleOn": "${isFieldsFilterEmpty == false}"
|
|
3683
|
+
},
|
|
3624
3684
|
"align": "right",
|
|
3625
3685
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
3626
3686
|
"onEvent": {
|
|
@@ -6142,6 +6202,29 @@ if(typeof window != 'undefined'){
|
|
|
6142
6202
|
window.getFieldSearchable = getFieldSearchable;
|
|
6143
6203
|
}
|
|
6144
6204
|
|
|
6205
|
+
|
|
6206
|
+
function isFieldTypeSearchable(fieldType) {
|
|
6207
|
+
return !_$1.includes(
|
|
6208
|
+
[
|
|
6209
|
+
"grid",
|
|
6210
|
+
"avatar",
|
|
6211
|
+
"image",
|
|
6212
|
+
"object",
|
|
6213
|
+
"[object]",
|
|
6214
|
+
"[Object]",
|
|
6215
|
+
"[grid]",
|
|
6216
|
+
"[text]",
|
|
6217
|
+
"audio",
|
|
6218
|
+
"file",
|
|
6219
|
+
],
|
|
6220
|
+
fieldType
|
|
6221
|
+
)
|
|
6222
|
+
}
|
|
6223
|
+
|
|
6224
|
+
if (typeof window != 'undefined') {
|
|
6225
|
+
window.isFieldTypeSearchable = isFieldTypeSearchable;
|
|
6226
|
+
}
|
|
6227
|
+
|
|
6145
6228
|
var index = /*#__PURE__*/Object.freeze({
|
|
6146
6229
|
__proto__: null,
|
|
6147
6230
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
@@ -6153,6 +6236,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
6153
6236
|
getSelectFieldOptions: getSelectFieldOptions,
|
|
6154
6237
|
convertSFieldToAmisField: convertSFieldToAmisField,
|
|
6155
6238
|
getFieldSearchable: getFieldSearchable,
|
|
6239
|
+
isFieldTypeSearchable: isFieldTypeSearchable,
|
|
6156
6240
|
getAmisStaticFieldType: getAmisStaticFieldType
|
|
6157
6241
|
});
|
|
6158
6242
|
|
|
@@ -6721,7 +6805,8 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
6721
6805
|
api: await getTableApi(objectSchema, fields, options),
|
|
6722
6806
|
hiddenOn: options.tableHiddenOn,
|
|
6723
6807
|
autoFillHeight: options.isRelated ? false : true,
|
|
6724
|
-
className: `flex-auto
|
|
6808
|
+
className: `flex-auto ${crudClassName || ""}`,
|
|
6809
|
+
bodyClassName: "bg-white",
|
|
6725
6810
|
crudClassName: crudClassName,
|
|
6726
6811
|
},
|
|
6727
6812
|
bodyProps,
|