mandarina-antd 1.6.4 → 1.6.5
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/build/List/ListFilter.js +38 -36
- package/build/List/ListFilter.js.map +1 -1
- package/build/uniforms/TableField.js +3 -1
- package/build/uniforms/TableField.js.map +1 -1
- package/package.json +1 -1
- package/src/Auth.js +2 -0
- package/src/List/ListFilter.tsx +43 -30
- package/src/uniforms/TableField.js +3 -0
package/build/List/ListFilter.js
CHANGED
|
@@ -11,6 +11,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
var React = __importStar(require("react"));
|
|
14
|
+
var react_1 = require("react");
|
|
14
15
|
var AutoForm_1 = __importDefault(require("uniforms-antd/AutoForm"));
|
|
15
16
|
var mandarina_1 = require("mandarina");
|
|
16
17
|
var Bridge_1 = require("../Bridge");
|
|
@@ -18,50 +19,51 @@ var ListFilters_1 = require("./ListFilters");
|
|
|
18
19
|
var Mutate_1 = require("mandarina/build/Operations/Mutate");
|
|
19
20
|
var HiddenField_1 = __importDefault(require("uniforms-antd/HiddenField"));
|
|
20
21
|
exports.uuid = function () { return 'i' + (Date.now() - 1540000000000 + Math.random()).toString(36); };
|
|
21
|
-
exports.ListFilter =
|
|
22
|
+
exports.ListFilter = react_1.memo(function (_a) {
|
|
22
23
|
var onFilterChange = _a.onFilterChange, field = _a.field, filter = _a.filter, schema = _a.schema;
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (fieldDefinition.
|
|
27
|
-
|
|
24
|
+
var FieldComponent = react_1.useMemo(function () {
|
|
25
|
+
var fieldDefinition = Mutate_1.deepClone(schema.getPathDefinition(field));
|
|
26
|
+
var FC;
|
|
27
|
+
if (fieldDefinition.isTable) {
|
|
28
|
+
if (fieldDefinition.list.filterComponent === undefined) {
|
|
29
|
+
throw new Error("Field: \"" + field + "\" you need to set \"list.noFilter\" to true, or pass your custom filterComponent \"");
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
FC = fieldDefinition.list.filterComponent;
|
|
33
|
+
}
|
|
28
34
|
}
|
|
29
35
|
else {
|
|
30
|
-
|
|
36
|
+
FC = fieldDefinition.list.filterComponent === undefined ? ListFilters_1.getDefaultComponent(fieldDefinition) : fieldDefinition.list.filterComponent;
|
|
31
37
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
38
|
+
return FC;
|
|
39
|
+
}, [schema, field]);
|
|
40
|
+
var name = react_1.useRef("filter-" + field + "-" + exports.uuid()).current; //todo remove this dependeincy making schema get optional name
|
|
41
|
+
var bridge = react_1.useMemo(function () {
|
|
42
|
+
var fieldDefinition = Mutate_1.deepClone(schema.getPathDefinition(field));
|
|
43
|
+
fieldDefinition.validators = fieldDefinition.validators.filter(function (_a) {
|
|
44
|
+
var validatorName = _a.validatorName, arrayValidator = _a.arrayValidator, tableValidator = _a.tableValidator;
|
|
45
|
+
return validatorName !== 'required' && !arrayValidator && !tableValidator;
|
|
46
|
+
});
|
|
47
|
+
var filterSchema = new mandarina_1.Schema({
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
filter: fieldDefinition,
|
|
50
|
+
internal: { type: String }
|
|
51
|
+
}, {
|
|
52
|
+
name: name
|
|
53
|
+
});
|
|
54
|
+
return new Bridge_1.Bridge(filterSchema, filterSchema.getFields());
|
|
55
|
+
}, [schema, field]);
|
|
56
|
+
var onSubmit = function (_a) {
|
|
57
|
+
var filter = _a.filter;
|
|
58
|
+
if (filter)
|
|
59
|
+
filter.internal = 'true'; //this is for avoid rerender, if the filter does not have internal, is because is a external change as clear filters.
|
|
60
|
+
onFilterChange(field, filter);
|
|
61
|
+
};
|
|
62
|
+
return FieldComponent && (React.createElement(AutoForm_1.default, { schema: bridge, autosave: true, autosaveDelay: 400, style: { width: 'calc(100% - 4px)' }, onSubmit: onSubmit, onValidate: function (model, error, callback) {
|
|
55
63
|
return callback(null);
|
|
56
64
|
}, model: { filter: filter } },
|
|
57
65
|
React.createElement(HiddenField_1.default, { name: 'internal' }),
|
|
58
66
|
React.createElement(FieldComponent, { name: 'filter', label: false, col: false, defaultValue: '' })));
|
|
59
|
-
}, function (prevProps, nextProps) {
|
|
60
|
-
var _a;
|
|
61
|
-
if (Object.keys(prevProps.filters).length === 0) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
return ((_a = nextProps.filter) === null || _a === void 0 ? void 0 : _a.internal) === 'true' && nextProps.field === prevProps.field && nextProps.schema === prevProps.schema;
|
|
65
67
|
});
|
|
66
68
|
exports.default = exports.ListFilter;
|
|
67
69
|
//# sourceMappingURL=ListFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListFilter.js","sourceRoot":"","sources":["../../src/List/ListFilter.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+B;AAC/B,oEAA8C;AAC9C,uCAAiC;AACjC,oCAAiC;AACjC,6CAAkD;AAElD,4DAA4D;AAC5D,0EAAoD;AAEvC,QAAA,IAAI,GAAG,cAAM,OAAA,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAA/D,CAA+D,CAAA;
|
|
1
|
+
{"version":3,"file":"ListFilter.js","sourceRoot":"","sources":["../../src/List/ListFilter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -104,7 +104,9 @@ var Table = function (_a) {
|
|
|
104
104
|
if (lodash_1.isEmpty(value))
|
|
105
105
|
value = null;
|
|
106
106
|
}
|
|
107
|
-
return react_1.default.createElement(SelectField_1.default, __assign({}, props, {
|
|
107
|
+
return react_1.default.createElement(SelectField_1.default, __assign({}, props, { filterOption: function (input, option) {
|
|
108
|
+
return option.props.children.match(new RegExp(input, 'i'));
|
|
109
|
+
}, mode: mode, transform: transform, placeholder: props.loading ? '.... ... .. .' : props.placeholder, disabled: loading || props.disabled, onChange: onChange, value: value, notFoundContent: loading ? react_1.default.createElement(antd_1.Spin, { size: "small" }) : null, allowedValues: allowedValues }));
|
|
108
110
|
}));
|
|
109
111
|
}
|
|
110
112
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableField.js","sourceRoot":"","sources":["../../src/uniforms/TableField.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableField.js","sourceRoot":"","sources":["../../src/uniforms/TableField.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Auth.js
CHANGED
|
@@ -37,6 +37,8 @@ var AuthAntD = function (_a) {
|
|
|
37
37
|
// @ts-ignore
|
|
38
38
|
react_1.default.createElement(mandarina_1.Auth, { schema: schema, action: action, userRoles: userRoles, fields: fieldsOri }, function (_a) {
|
|
39
39
|
var fields = _a.fields, loading = _a.loading, error = _a.error, readFields = _a.readFields;
|
|
40
|
+
console.log('AuthAntD fields22', fields)
|
|
41
|
+
|
|
40
42
|
if (error && Error)
|
|
41
43
|
return react_1.default.createElement(Error, { error: error });
|
|
42
44
|
if (!loading && fields && fields.length === 0)
|
package/src/List/ListFilter.tsx
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import {memo, useMemo, useRef} from "react";
|
|
2
3
|
import AutoForm from "uniforms-antd/AutoForm";
|
|
3
4
|
import {Schema} from "mandarina";
|
|
4
5
|
import {Bridge} from "../Bridge";
|
|
@@ -23,20 +24,33 @@ interface ListFilterProps {
|
|
|
23
24
|
filters?: any
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export const ListFilter = memo(({onFilterChange, field, filter, schema}: ListFilterProps) => {
|
|
30
|
+
let FieldComponent: FilterComponent = useMemo(() => {
|
|
27
31
|
const fieldDefinition: FieldDefinition = deepClone(schema.getPathDefinition(field))
|
|
28
|
-
let
|
|
32
|
+
let FC: FilterComponent
|
|
29
33
|
if (fieldDefinition.isTable) {
|
|
30
34
|
if (fieldDefinition.list.filterComponent === undefined) {
|
|
31
35
|
throw new Error(`Field: "${field}" you need to set "list.noFilter" to true, or pass your custom filterComponent "`)
|
|
32
36
|
} else {
|
|
33
|
-
|
|
37
|
+
FC = fieldDefinition.list.filterComponent
|
|
34
38
|
}
|
|
35
39
|
} else {
|
|
36
|
-
|
|
40
|
+
FC = fieldDefinition.list.filterComponent === undefined ? getDefaultComponent(fieldDefinition) : fieldDefinition.list.filterComponent
|
|
37
41
|
}
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
return FC
|
|
43
|
+
}, [schema, field])
|
|
44
|
+
|
|
45
|
+
const name = useRef(`filter-${field}-${uuid()}`).current; //todo remove this dependeincy making schema get optional name
|
|
46
|
+
|
|
47
|
+
const bridge = useMemo(() => {
|
|
48
|
+
const fieldDefinition: FieldDefinition = deepClone(schema.getPathDefinition(field))
|
|
49
|
+
fieldDefinition.validators = fieldDefinition.validators.filter(({
|
|
50
|
+
validatorName,
|
|
51
|
+
arrayValidator,
|
|
52
|
+
tableValidator
|
|
53
|
+
}) => validatorName !== 'required' && !arrayValidator && !tableValidator)
|
|
40
54
|
const filterSchema = new Schema({
|
|
41
55
|
// @ts-ignore
|
|
42
56
|
filter: fieldDefinition,
|
|
@@ -44,30 +58,29 @@ export const ListFilter = React.memo(({onFilterChange, field, filter, schema}: L
|
|
|
44
58
|
}, {
|
|
45
59
|
name
|
|
46
60
|
})
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
onFilterChange(field, filter)
|
|
54
|
-
}}
|
|
55
|
-
onValidate={(model: any, error: any, callback: (error: any) => void) => {
|
|
56
|
-
return callback(null);
|
|
57
|
-
}}
|
|
58
|
-
model={{filter}}
|
|
59
|
-
>
|
|
60
|
-
<HiddenField name={'internal'}/>
|
|
61
|
-
<FieldComponent name='filter' label={false} col={false} defaultValue={''}/>
|
|
62
|
-
</AutoForm>
|
|
63
|
-
)
|
|
64
|
-
},
|
|
65
|
-
(prevProps, nextProps) => {
|
|
66
|
-
if (Object.keys(prevProps.filters).length===0) {
|
|
67
|
-
return false
|
|
68
|
-
}
|
|
69
|
-
return nextProps.filter?.internal==='true' && nextProps.field === prevProps.field && nextProps.schema === prevProps.schema
|
|
61
|
+
return new Bridge(filterSchema, filterSchema.getFields())
|
|
62
|
+
}, [schema, field])
|
|
63
|
+
|
|
64
|
+
const onSubmit =({filter}: { filter: any }) => {
|
|
65
|
+
if (filter) filter.internal = 'true' //this is for avoid rerender, if the filter does not have internal, is because is a external change as clear filters.
|
|
66
|
+
onFilterChange(field, filter)
|
|
70
67
|
}
|
|
71
|
-
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
return FieldComponent && (
|
|
71
|
+
<AutoForm schema={bridge} autosave autosaveDelay={400}
|
|
72
|
+
style={{width: 'calc(100% - 4px)'}}
|
|
73
|
+
onSubmit={onSubmit}
|
|
74
|
+
onValidate={(model: any, error: any, callback: (error: any) => void) => {
|
|
75
|
+
return callback(null);
|
|
76
|
+
}}
|
|
77
|
+
model={{filter}}
|
|
78
|
+
>
|
|
79
|
+
<HiddenField name={'internal'}/>
|
|
80
|
+
<FieldComponent name='filter' label={false} col={false} defaultValue={''}/>
|
|
81
|
+
</AutoForm>
|
|
82
|
+
)
|
|
83
|
+
})
|
|
84
|
+
|
|
72
85
|
|
|
73
86
|
export default ListFilter
|
|
@@ -73,6 +73,9 @@ const Table = ({query, where, mode, labeler = defaultLabeler, ...props}) => {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
return <SelectField {...props}
|
|
76
|
+
filterOption={(input, option) =>{
|
|
77
|
+
return option.props.children.match(new RegExp(input, 'i'))
|
|
78
|
+
}}
|
|
76
79
|
mode={mode}
|
|
77
80
|
transform={transform}
|
|
78
81
|
placeholder={props.loading ? '.... ... .. .' : props.placeholder}
|