@luomus/laji-form 15.1.93 → 15.1.95

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.
Files changed (69) hide show
  1. package/dist/laji-form.js +1 -1
  2. package/lib/components/LajiForm.d.ts +2 -3
  3. package/lib/components/VirtualSchemaField.d.ts +1 -1
  4. package/lib/components/VirtualSchemaField.js +13 -12
  5. package/lib/components/components/Button.d.ts +1 -1
  6. package/lib/components/components/GlyphButton.d.ts +1 -1
  7. package/lib/components/fields/AnnotationField.d.ts +12 -7
  8. package/lib/components/fields/AnnotationField.js +16 -22
  9. package/lib/components/fields/AnyToBooleanField.d.ts +11 -10
  10. package/lib/components/fields/ArrayField.js +2 -12
  11. package/lib/components/fields/ArrayPropertySumField.d.ts +0 -1
  12. package/lib/components/fields/ArrayPropertySumField.js +8 -23
  13. package/lib/components/fields/ExtraLabelRowField.d.ts +1 -1
  14. package/lib/components/fields/ExtraLabelRowField.js +4 -14
  15. package/lib/components/fields/FilterArrayField.d.ts +1 -1
  16. package/lib/components/fields/FilterArrayField.js +4 -17
  17. package/lib/components/fields/GeocoderField.js +6 -40
  18. package/lib/components/fields/ImageArrayField.js +2 -6
  19. package/lib/components/fields/ImageDisplayField.js +2 -12
  20. package/lib/components/fields/InitiallyHiddenField.d.ts +1 -4
  21. package/lib/components/fields/InitiallyHiddenField.js +6 -19
  22. package/lib/components/fields/LocalityField.d.ts +1 -0
  23. package/lib/components/fields/LocalityField.js +5 -15
  24. package/lib/components/fields/LocationChooserField.d.ts +44 -2
  25. package/lib/components/fields/LocationChooserField.js +5 -16
  26. package/lib/components/fields/MultiActiveArrayField.d.ts +1 -0
  27. package/lib/components/fields/MultiActiveArrayField.js +5 -12
  28. package/lib/components/fields/MultiAnyToBooleanField.d.ts +2 -7
  29. package/lib/components/fields/MultiAnyToBooleanField.js +6 -19
  30. package/lib/components/fields/MultiArrayField.d.ts +2 -1
  31. package/lib/components/fields/MultiArrayField.js +5 -14
  32. package/lib/components/fields/MultiLanguageField.js +2 -15
  33. package/lib/components/fields/MultiTagArrayField.js +2 -12
  34. package/lib/components/fields/NamedPlaceSaverField.d.ts +46 -46
  35. package/lib/components/fields/NamedPlaceSaverField.js +6 -19
  36. package/lib/components/fields/PrefixArrayField.d.ts +2 -0
  37. package/lib/components/fields/PrefixArrayField.js +9 -15
  38. package/lib/components/fields/ScientificNameTaxonAutosuggestField.d.ts +3 -2
  39. package/lib/components/fields/ScientificNameTaxonAutosuggestField.js +6 -16
  40. package/lib/components/fields/SingleActiveArrayField.js +2 -6
  41. package/lib/components/fields/SplitField.js +2 -12
  42. package/lib/components/fields/TableField.js +2 -6
  43. package/lib/components/fields/TagArrayField.js +2 -12
  44. package/lib/components/fields/TaxonSetPopulatorField.d.ts +2 -1
  45. package/lib/components/fields/TaxonSetPopulatorField.js +16 -10
  46. package/lib/components/fields/ToggleAdditionalArrayFieldsField.d.ts +0 -4
  47. package/lib/components/fields/ToggleAdditionalArrayFieldsField.js +4 -18
  48. package/lib/components/fields/UnitCountShorthandField.js +2 -6
  49. package/lib/components/fields/UnitListShorthandArrayField.d.ts +46 -45
  50. package/lib/components/fields/UnitListShorthandArrayField.js +8 -18
  51. package/lib/components/fields/UnitShorthandField.js +7 -17
  52. package/lib/components/fields/index.d.ts +0 -1
  53. package/lib/components/fields/index.js +2 -4
  54. package/lib/components/widgets/AnyToBooleanWidget.d.ts +14 -12
  55. package/lib/components/widgets/AnyToBooleanWidget.js +3 -2
  56. package/lib/components/widgets/DateTimeWidget.d.ts +9 -0
  57. package/lib/components/widgets/DateTimeWidget.js +7 -14
  58. package/lib/components/widgets/ImageSelectWidget.js +2 -12
  59. package/lib/components/widgets/InformalTaxonGroupChooserWidget.js +2 -12
  60. package/lib/components/widgets/SeparatedDateTimeWidget.d.ts +5 -1
  61. package/lib/components/widgets/SeparatedDateTimeWidget.js +8 -14
  62. package/lib/themes/theme.d.ts +1 -0
  63. package/lib/types.d.ts +1 -1
  64. package/lib/utils.d.ts +1 -1
  65. package/package.json +3 -3
  66. package/lib/components/BaseComponent.d.ts +0 -8
  67. package/lib/components/BaseComponent.js +0 -28
  68. package/lib/components/fields/ArrayBulkField.d.ts +0 -28
  69. package/lib/components/fields/ArrayBulkField.js +0 -118
@@ -15,12 +15,6 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
18
  var __importStar = (this && this.__importStar) || (function () {
25
19
  var ownKeys = function(o) {
26
20
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -41,7 +35,6 @@ var __importStar = (this && this.__importStar) || (function () {
41
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
42
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
43
37
  };
44
- var DateTimeWidget_1;
45
38
  Object.defineProperty(exports, "__esModule", { value: true });
46
39
  exports.YEAR_MONTH_MATCH = exports.YEAR_MATCH = void 0;
47
40
  const React = __importStar(require("react"));
@@ -52,12 +45,11 @@ const moment_1 = __importDefault(require("moment"));
52
45
  const react_widgets_moment_1 = __importDefault(require("react-widgets-moment"));
53
46
  const localizers_1 = require("react-widgets/lib/util/localizers");
54
47
  const utils_1 = require("../../utils");
55
- const BaseComponent_1 = __importDefault(require("../BaseComponent"));
56
48
  const ReactContext_1 = __importDefault(require("../../ReactContext"));
57
49
  const DATE_TIME_SEPARATOR = ", ";
58
50
  exports.YEAR_MATCH = /^\d{4}$/;
59
51
  exports.YEAR_MONTH_MATCH = /^\d{4}-\d{1,2}$/;
60
- let DateTimeWidget = DateTimeWidget_1 = class DateTimeWidget extends React.Component {
52
+ class DateTimeWidget extends React.Component {
61
53
  constructor(props) {
62
54
  super(props);
63
55
  this.focus = () => {
@@ -165,6 +157,10 @@ let DateTimeWidget = DateTimeWidget_1 = class DateTimeWidget extends React.Compo
165
157
  }
166
158
  };
167
159
  (0, react_widgets_moment_1.default)(moment_1.default);
160
+ this.state = this.getStateFromProps(props);
161
+ }
162
+ UNSAFE_componentWillReceiveProps(props) {
163
+ this.setState(this.getStateFromProps(props));
168
164
  }
169
165
  componentDidMount() {
170
166
  this.props.formContext.services.focus.addFocusHandler(this.props.id, this.focus);
@@ -284,7 +280,7 @@ let DateTimeWidget = DateTimeWidget_1 = class DateTimeWidget extends React.Compo
284
280
  formatValue(value, options, props) {
285
281
  if (!value)
286
282
  return value;
287
- const { inputFormat: format } = DateTimeWidget_1.prototype.getStateFromProps(Object.assign(Object.assign({}, props), { date: true, time: true, value }));
283
+ const { inputFormat: format } = DateTimeWidget.prototype.getStateFromProps(Object.assign(Object.assign({}, props), { date: true, time: true, value }));
288
284
  return localizers_1.date.format(value, format, props.formContext.lang);
289
285
  }
290
286
  getCurrentDateOrPathDate(path) {
@@ -298,7 +294,7 @@ let DateTimeWidget = DateTimeWidget_1 = class DateTimeWidget extends React.Compo
298
294
  return date;
299
295
  }
300
296
  }
301
- };
297
+ }
302
298
  DateTimeWidget.contextType = ReactContext_1.default;
303
299
  DateTimeWidget.propTypes = {
304
300
  uiSchema: PropTypes.shape({
@@ -348,7 +344,4 @@ DateTimeWidget.defaultProps = {
348
344
  calendar: true,
349
345
  time: true
350
346
  };
351
- DateTimeWidget = DateTimeWidget_1 = __decorate([
352
- BaseComponent_1.default
353
- ], DateTimeWidget);
354
347
  exports.default = DateTimeWidget;
@@ -15,12 +15,6 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
18
  var __importStar = (this && this.__importStar) || (function () {
25
19
  var ownKeys = function(o) {
26
20
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -48,8 +42,7 @@ const Context_1 = __importDefault(require("../../Context"));
48
42
  const utils_1 = require("../../utils");
49
43
  const react_inlinesvg_1 = __importDefault(require("react-inlinesvg"));
50
44
  const SelectWidget_1 = __importDefault(require("./SelectWidget"));
51
- const BaseComponent_1 = __importDefault(require("../BaseComponent"));
52
- let ImageSelectWidget = class ImageSelectWidget extends React.Component {
45
+ class ImageSelectWidget extends React.Component {
53
46
  constructor(props) {
54
47
  super(props);
55
48
  this.renderImg = (enumName, fallback) => {
@@ -79,7 +72,7 @@ let ImageSelectWidget = class ImageSelectWidget extends React.Component {
79
72
  React.createElement("span", null, item.label))
80
73
  } })));
81
74
  }
82
- };
75
+ }
83
76
  ImageSelectWidget.propTypes = {
84
77
  options: PropTypes.object.isRequired,
85
78
  schema: PropTypes.shape({
@@ -87,7 +80,4 @@ ImageSelectWidget.propTypes = {
87
80
  }),
88
81
  value: PropTypes.string
89
82
  };
90
- ImageSelectWidget = __decorate([
91
- BaseComponent_1.default
92
- ], ImageSelectWidget);
93
83
  exports.default = ImageSelectWidget;
@@ -15,12 +15,6 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
18
  var __importStar = (this && this.__importStar) || (function () {
25
19
  var ownKeys = function(o) {
26
20
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -50,9 +44,8 @@ const components_1 = require("../components");
50
44
  const Context_1 = __importDefault(require("../../Context"));
51
45
  const ReactContext_1 = __importDefault(require("../../ReactContext"));
52
46
  const react_spinner_1 = __importDefault(require("react-spinner"));
53
- const BaseComponent_1 = __importDefault(require("../BaseComponent"));
54
47
  const utils_1 = require("../../utils");
55
- let InformalTaxonGroupChooserWidget = class InformalTaxonGroupChooserWidget extends React.Component {
48
+ class InformalTaxonGroupChooserWidget extends React.Component {
56
49
  constructor(props) {
57
50
  super(props);
58
51
  this.getDefaultOptions = (props) => {
@@ -129,7 +122,7 @@ let InformalTaxonGroupChooserWidget = class InformalTaxonGroupChooserWidget exte
129
122
  return InformalTaxonGroupChooserComponent;
130
123
  }
131
124
  }
132
- };
125
+ }
133
126
  InformalTaxonGroupChooserWidget.contextType = ReactContext_1.default;
134
127
  InformalTaxonGroupChooserWidget.propTypes = {
135
128
  schema: PropTypes.shape({
@@ -137,9 +130,6 @@ InformalTaxonGroupChooserWidget.propTypes = {
137
130
  }),
138
131
  value: PropTypes.string
139
132
  };
140
- InformalTaxonGroupChooserWidget = __decorate([
141
- BaseComponent_1.default
142
- ], InformalTaxonGroupChooserWidget);
143
133
  exports.default = InformalTaxonGroupChooserWidget;
144
134
  function walk(allGroups, _group, parent) {
145
135
  _group.forEach(group => {
@@ -7,7 +7,11 @@ export default class SeparatedDateTimeWidget extends React.Component<any, any, a
7
7
  value: PropTypes.Requireable<string>;
8
8
  };
9
9
  constructor(props: any);
10
- constructor(props: any, context: any);
10
+ state: {
11
+ date: any;
12
+ time: string | undefined;
13
+ };
14
+ UNSAFE_componentWillReceiveProps(props: any): void;
11
15
  getStateFromProps(props: any): {
12
16
  date: any;
13
17
  time: string | undefined;
@@ -15,12 +15,6 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
18
  var __importStar = (this && this.__importStar) || (function () {
25
19
  var ownKeys = function(o) {
26
20
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -46,17 +40,20 @@ const React = __importStar(require("react"));
46
40
  const PropTypes = __importStar(require("prop-types"));
47
41
  const DateWidget_1 = __importDefault(require("./DateWidget"));
48
42
  const TimeWidget_1 = __importDefault(require("./TimeWidget"));
49
- const BaseComponent_1 = __importDefault(require("../BaseComponent"));
50
43
  const ReactContext_1 = __importDefault(require("../../ReactContext"));
51
- let SeparatedDateTimeWidget = class SeparatedDateTimeWidget extends React.Component {
52
- constructor() {
53
- super(...arguments);
44
+ class SeparatedDateTimeWidget extends React.Component {
45
+ constructor(props) {
46
+ super(props);
54
47
  this.onDateChange = (value) => {
55
48
  this.props.onChange(value ? (this.state.time ? value + this.state.time : value) : null);
56
49
  };
57
50
  this.onTimeChange = (value) => {
58
51
  this.props.onChange(value ? this.state.date + value : this.state.date);
59
52
  };
53
+ this.state = this.getStateFromProps(props);
54
+ }
55
+ UNSAFE_componentWillReceiveProps(props) {
56
+ this.setState(this.getStateFromProps(props));
60
57
  }
61
58
  getStateFromProps(props) {
62
59
  let { value } = props;
@@ -81,7 +78,7 @@ let SeparatedDateTimeWidget = class SeparatedDateTimeWidget extends React.Compon
81
78
  React.createElement(FormGroup, null,
82
79
  React.createElement(TimeWidget_1.default, Object.assign({}, this.props, { onChange: this.onTimeChange, value: this.state.time }))))) : null));
83
80
  }
84
- };
81
+ }
85
82
  SeparatedDateTimeWidget.contextType = ReactContext_1.default;
86
83
  SeparatedDateTimeWidget.propTypes = {
87
84
  schema: PropTypes.shape({
@@ -89,7 +86,4 @@ SeparatedDateTimeWidget.propTypes = {
89
86
  }).isRequired,
90
87
  value: PropTypes.string
91
88
  };
92
- SeparatedDateTimeWidget = __decorate([
93
- BaseComponent_1.default
94
- ], SeparatedDateTimeWidget);
95
89
  exports.default = SeparatedDateTimeWidget;
@@ -38,6 +38,7 @@ export interface ButtonProps extends JSX.IntrinsicAttributes, HasMaybeChildren,
38
38
  id?: string;
39
39
  small?: boolean;
40
40
  onKeyDown?: (e: React.KeyboardEvent<any>) => void;
41
+ type?: any;
41
42
  }
42
43
  export type ButtonGroupProps = JSX.IntrinsicAttributes & HasMaybeChildren;
43
44
  export interface ButtonToolbarProps extends JSX.IntrinsicAttributes, HasMaybeChildren, HasMaybeClassName {
package/lib/types.d.ts CHANGED
@@ -41,7 +41,7 @@ export type FieldProps<T = any, S extends JSONSchemaObject | JSONSchemaArray = J
41
41
  registry: RJSFFieldProps<any, JSONSchema, FormContext>["registry"];
42
42
  };
43
43
  export type WidgetProps<T = any, S extends JSONSchema = JSONSchema> = WithNonNullableKeys<RJSFWidgetProps<T, S, FormContext>, "errorSchema" | "formContext"> & {
44
- registry: RJSFFieldProps<any, JSONSchema, FormContext>["registry"];
44
+ registry: RJSFWidgetProps<any, JSONSchema, FormContext>["registry"];
45
45
  };
46
46
  export type UiSchema<S extends JSONSchema = JSONSchemaObject> = RJSFUiSchema<any, S, FormContext>;
47
47
  export interface HasMaybeChildren {
package/lib/utils.d.ts CHANGED
@@ -87,7 +87,7 @@ export declare function applyFunction(props: FieldProps): any;
87
87
  export declare function getWindowScrolled(): number;
88
88
  export declare function getScrollPositionForScrollIntoViewIfNeeded(elem: Element, topOffset?: number, bottomOffset?: number): number;
89
89
  export declare function scrollIntoViewIfNeeded(elem: HTMLElement, topOffset?: number, bottomOffset?: number): void;
90
- export declare function filter(properties: any[], filter: string[], filterType: string | undefined, getValue: (s: string) => any): any[];
90
+ export declare function filter(properties: any[], filter: string[], filterType?: "blacklist" | "whitelist", getValue?: (s: string) => any): any[];
91
91
  export declare function updateSafelyWithJSONPath(obj: any, value: any, path: string, immutably: boolean, createNew: (obj: any, split: string) => any): any;
92
92
  export declare function updateSafelyWithJSONPointer(obj: any, value: any, path: string, immutably?: boolean, createNew?: (obj: any, split: string, o?: any, _split?: string) => any): any;
93
93
  export declare function injectButtons(uiSchema: any, buttons: any[], buttonsPath: string): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luomus/laji-form",
3
- "version": "15.1.93",
3
+ "version": "15.1.95",
4
4
  "description": "React module capable of building dynamic forms from Laji form json schemas",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  "test:lightweight": "npx playwright test --project chromium",
30
30
  "test:docker:build": "docker build -t laji-form-test -f test.Dockerfile .",
31
31
  "test:docker:run": "docker run laji-form-test",
32
- "generate:api-client": "openapi-typescript https://apitest.laji.fi/openapi-json -o ./generated/api.d.ts --properties-required-by-default"
32
+ "generate:api-client": "openapi-typescript http://apitest.laji.fi/openapi-json -o ./generated/api.d.ts --properties-required-by-default"
33
33
  },
34
34
  "keywords": [
35
35
  "react-jsonschema-form",
@@ -41,7 +41,7 @@
41
41
  "license": "MIT",
42
42
  "dependencies": {
43
43
  "@luomus/laji-map": "^5.1.19",
44
- "@luomus/laji-validate": "^0.0.127",
44
+ "@luomus/laji-validate": "^0.0.128",
45
45
  "@rjsf/core": "~5.1.0",
46
46
  "@rjsf/utils": "~5.1.0",
47
47
  "@rjsf/validator-ajv6": "~5.1.0",
@@ -1,8 +0,0 @@
1
- import { FieldProps, WidgetProps } from "../types";
2
- type Constructor<T> = new (...args: any[]) => T;
3
- interface LajiFormComponentForBaseComponent<P, S> extends React.Component<P, S> {
4
- getStateFromProps?(props: P): S;
5
- UNSAFE_componentWillReceiveProps?(props: Readonly<P>, nextContext?: any): void;
6
- }
7
- export declare function BaseComponent<P extends FieldProps | WidgetProps, S, LFC extends Constructor<LajiFormComponentForBaseComponent<P, S>>>(ComposedComponent: LFC): any;
8
- export default BaseComponent;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseComponent = BaseComponent;
4
- const utils_1 = require("../utils");
5
- function BaseComponent(ComposedComponent) {
6
- var _a;
7
- return _a = class BaseComponent extends ComposedComponent {
8
- constructor(...args) {
9
- const props = args[0];
10
- super(props);
11
- if (!this.state && this.getStateFromProps)
12
- this.state = this.getStateFromProps(props);
13
- }
14
- UNSAFE_componentWillReceiveProps(props, nextContext) {
15
- if (super.UNSAFE_componentWillReceiveProps) {
16
- super.UNSAFE_componentWillReceiveProps(props, nextContext);
17
- }
18
- else if (this.getStateFromProps) {
19
- const state = this.getStateFromProps(props);
20
- if (state)
21
- this.setState(state);
22
- }
23
- }
24
- },
25
- _a.displayName = (0, utils_1.getReactComponentName)(ComposedComponent),
26
- _a;
27
- }
28
- exports.default = BaseComponent;
@@ -1,28 +0,0 @@
1
- export default class ArrayBulkField extends React.Component<any, any, any> {
2
- static propTypes: {
3
- uiSchema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
4
- "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
5
- rowAddAmount: PropTypes.Requireable<number>;
6
- }>>;
7
- }>>>;
8
- schema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
9
- type: PropTypes.Requireable<string>;
10
- }>>>;
11
- formData: PropTypes.Validator<any[]>;
12
- };
13
- constructor(props: any);
14
- state: {
15
- rowAddAmount: any;
16
- rowAmount: number;
17
- };
18
- getStateFromProps: (props: any) => {
19
- rowAddAmount: any;
20
- rowAmount: number;
21
- };
22
- render(): JSX.Element;
23
- renderItems: () => any[];
24
- onChangeForIdx: (idx: any) => (itemFormData: any) => void;
25
- onAddClick: (event: any) => void;
26
- }
27
- import * as React from "react";
28
- import * as PropTypes from "prop-types";
@@ -1,118 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __importDefault = (this && this.__importDefault) || function (mod) {
42
- return (mod && mod.__esModule) ? mod : { "default": mod };
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- const React = __importStar(require("react"));
46
- const PropTypes = __importStar(require("prop-types"));
47
- const utils_1 = require("../../utils");
48
- const components_1 = require("../components");
49
- const BaseComponent_1 = __importDefault(require("../BaseComponent"));
50
- const utils_2 = require("@rjsf/utils");
51
- let ArrayBulkField = class ArrayBulkField extends React.Component {
52
- constructor(props) {
53
- super(props);
54
- this.getStateFromProps = (props) => {
55
- let state = {};
56
- const { rowAddAmount } = (0, utils_1.getUiOptions)(props.uiSchema);
57
- state.rowAddAmount = 10;
58
- if (rowAddAmount > 0)
59
- state.rowAddAmount = rowAddAmount;
60
- if (props.formData && props.formData.length > this.state.rowAmount) {
61
- state.rowAmount = props.formData.length + state.rowAddAmount - (props.formData.length % state.rowAddAmount);
62
- }
63
- return state;
64
- };
65
- this.renderItems = () => {
66
- let rows = [];
67
- let idx = 0;
68
- let data = this.props.formData || [];
69
- while (data.length < this.state.rowAmount) {
70
- data.push({});
71
- }
72
- const SchemaField = this.props.registry.fields.SchemaField;
73
- if (data)
74
- data.forEach((item) => {
75
- rows.push(React.createElement(SchemaField, { key: idx, formData: item, onChange: this.onChangeForIdx(idx), schema: this.props.schema.items, uiSchema: this.props.uiSchema.items, idSchema: { $id: this.props.idSchema.$id + "_" + idx }, registry: this.props.registry, errorSchema: this.props.errorSchema[idx] }));
76
- idx++;
77
- });
78
- return rows;
79
- };
80
- this.onChangeForIdx = (idx) => {
81
- return (itemFormData) => {
82
- let formData = this.props.formData;
83
- if (!formData)
84
- formData = [];
85
- formData[idx] = itemFormData;
86
- this.props.onChange(formData.filter(item => { return Object.keys(item).length; }));
87
- };
88
- };
89
- this.onAddClick = (event) => {
90
- event.preventDefault();
91
- this.setState({ rowAmount: this.state.rowAmount + this.state.rowAddAmount });
92
- };
93
- this.state = Object.assign({ rowAmount: 0 }, this.getStateFromProps(props));
94
- }
95
- render() {
96
- const TitleFieldTemplate = (0, utils_2.getTemplate)("TitleFieldTemplate", this.props.registry, (0, utils_1.getUiOptions)(this.props.uiSchema));
97
- return (React.createElement("fieldset", null,
98
- React.createElement(TitleFieldTemplate, { title: this.props.schema.title || this.props.name, schema: this.props.schema, uiSchema: this.props.uiSchema, registry: this.props.registry }),
99
- this.renderItems(),
100
- React.createElement(components_1.Button, { onClick: this.onAddClick }, "Lis\u00E4\u00E4 havaintorivej\u00E4"),
101
- React.createElement("br", null)));
102
- }
103
- };
104
- ArrayBulkField.propTypes = {
105
- uiSchema: PropTypes.shape({
106
- "ui:options": PropTypes.shape({
107
- rowAddAmount: PropTypes.number
108
- })
109
- }).isRequired,
110
- schema: PropTypes.shape({
111
- type: PropTypes.oneOf(["array"])
112
- }).isRequired,
113
- formData: PropTypes.array.isRequired
114
- };
115
- ArrayBulkField = __decorate([
116
- BaseComponent_1.default
117
- ], ArrayBulkField);
118
- exports.default = ArrayBulkField;