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.
@@ -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 = React.memo(function (_a) {
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 fieldDefinition = Mutate_1.deepClone(schema.getPathDefinition(field));
24
- var FieldComponent;
25
- if (fieldDefinition.isTable) {
26
- if (fieldDefinition.list.filterComponent === undefined) {
27
- throw new Error("Field: \"" + field + "\" you need to set \"list.noFilter\" to true, or pass your custom filterComponent \"");
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
- FieldComponent = fieldDefinition.list.filterComponent;
36
+ FC = fieldDefinition.list.filterComponent === undefined ? ListFilters_1.getDefaultComponent(fieldDefinition) : fieldDefinition.list.filterComponent;
31
37
  }
32
- }
33
- else {
34
- FieldComponent = fieldDefinition.list.filterComponent === undefined ? ListFilters_1.getDefaultComponent(fieldDefinition) : fieldDefinition.list.filterComponent;
35
- }
36
- var name = "filter-" + field + "-" + exports.uuid(); //todo remove this dependeincy making schema get optional name
37
- fieldDefinition.validators = fieldDefinition.validators.filter(function (_a) {
38
- var validatorName = _a.validatorName, arrayValidator = _a.arrayValidator, tableValidator = _a.tableValidator;
39
- return validatorName !== 'required' && !arrayValidator && !tableValidator;
40
- });
41
- var filterSchema = new mandarina_1.Schema({
42
- // @ts-ignore
43
- filter: fieldDefinition,
44
- internal: { type: String }
45
- }, {
46
- name: name
47
- });
48
- var bridge = new Bridge_1.Bridge(filterSchema, filterSchema.getFields());
49
- return FieldComponent && (React.createElement(AutoForm_1.default, { schema: bridge, autosave: true, autosaveDelay: 400, style: { width: 'calc(100% - 4px)' }, onSubmit: function (_a) {
50
- var filter = _a.filter;
51
- if (filter)
52
- filter.internal = 'true'; //this is for avoid rerender, if the filter does not have internal, is because is a external change as clear filters.
53
- onFilterChange(field, filter);
54
- }, onValidate: function (model, error, callback) {
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;AAgB5E,QAAA,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,EAAwD;QAAvD,kCAAc,EAAE,gBAAK,EAAE,kBAAM,EAAE,kBAAM;IACpE,IAAM,eAAe,GAAoB,kBAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IACnF,IAAI,cAA+B,CAAA;IACnC,IAAI,eAAe,CAAC,OAAO,EAAE;QACzB,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,cAAW,KAAK,0FAAmF,CAAC,CAAA;SACvH;aAAM;YACH,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,CAAA;SACxD;KACJ;SAAM;QACH,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAA;KACpJ;IACD,IAAM,IAAI,GAAG,YAAU,KAAK,SAAI,YAAI,EAAI,CAAA,CAAC,8DAA8D;IACvG,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,EAA+C;YAA9C,gCAAa,EAAE,kCAAc,EAAE,kCAAc;QAAM,OAAA,aAAa,KAAK,UAAU,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc;IAAlE,CAAkE,CAAC,CAAA;IACvL,IAAM,YAAY,GAAG,IAAI,kBAAM,CAAC;QAC5B,aAAa;QACb,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC;KAC3B,EAAE;QACC,IAAI,MAAA;KACP,CAAC,CAAA;IACF,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;IACjE,OAAO,cAAc,IAAI,CACrB,oBAAC,kBAAQ,IAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,QAAC,aAAa,EAAE,GAAG,EAC3C,KAAK,EAAE,EAAC,KAAK,EAAE,kBAAkB,EAAC,EAClC,QAAQ,EAAE,UAAC,EAAyB;gBAAxB,kBAAM;YACd,IAAI,MAAM;gBAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAA,CAAC,qHAAqH;YAC1J,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC,EACD,UAAU,EAAE,UAAC,KAAU,EAAE,KAAU,EAAE,QAA8B;YAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,EACD,KAAK,EAAE,EAAC,MAAM,QAAA,EAAC;QAErB,oBAAC,qBAAW,IAAC,IAAI,EAAE,UAAU,GAAG;QAChC,oBAAC,cAAc,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CACpE,CACd,CAAA;AACL,CAAC,EACD,UAAC,SAAS,EAAE,SAAS;;IACb,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,KAAG,CAAC,EAAE;QAC7C,OAAO,KAAK,CAAA;KACb;IACD,OAAO,OAAA,SAAS,CAAC,MAAM,0CAAE,QAAQ,MAAG,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAA;AAClI,CAAC,CACJ,CAAA;AAED,kBAAe,kBAAU,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, { 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 }));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mandarina-antd",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "description": "Antd styling for mandarina",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
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)
@@ -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
- export const ListFilter = React.memo(({onFilterChange, field, filter, schema}: ListFilterProps) => {
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 FieldComponent: FilterComponent
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
- FieldComponent = fieldDefinition.list.filterComponent
37
+ FC = fieldDefinition.list.filterComponent
34
38
  }
35
39
  } else {
36
- FieldComponent = fieldDefinition.list.filterComponent === undefined ? getDefaultComponent(fieldDefinition) : fieldDefinition.list.filterComponent
40
+ FC = fieldDefinition.list.filterComponent === undefined ? getDefaultComponent(fieldDefinition) : fieldDefinition.list.filterComponent
37
41
  }
38
- const name = `filter-${field}-${uuid()}` //todo remove this dependeincy making schema get optional name
39
- fieldDefinition.validators = fieldDefinition.validators.filter(({validatorName, arrayValidator, tableValidator}) => validatorName !== 'required' && !arrayValidator && !tableValidator)
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
- const bridge = new Bridge(filterSchema, filterSchema.getFields())
48
- return FieldComponent && (
49
- <AutoForm schema={bridge} autosave autosaveDelay={400}
50
- style={{width: 'calc(100% - 4px)'}}
51
- onSubmit={({filter}: { filter: any }) => {
52
- 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.
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}