@luomus/laji-form 15.1.92 → 15.1.94
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/laji-form.js +1 -1
- package/lib/components/LajiForm.d.ts +255 -3
- package/lib/components/LajiForm.js +3 -128
- package/lib/components/VirtualSchemaField.d.ts +1 -1
- package/lib/components/VirtualSchemaField.js +13 -12
- package/lib/components/components/Button.d.ts +1 -1
- package/lib/components/components/GlyphButton.d.ts +1 -1
- package/lib/components/fields/AnnotationField.d.ts +12 -7
- package/lib/components/fields/AnnotationField.js +16 -22
- package/lib/components/fields/AnyToBooleanField.d.ts +11 -10
- package/lib/components/fields/ArrayField.js +2 -12
- package/lib/components/fields/ArrayPropertySumField.d.ts +0 -1
- package/lib/components/fields/ArrayPropertySumField.js +8 -23
- package/lib/components/fields/ExtraLabelRowField.d.ts +1 -1
- package/lib/components/fields/ExtraLabelRowField.js +4 -14
- package/lib/components/fields/FilterArrayField.d.ts +1 -1
- package/lib/components/fields/FilterArrayField.js +4 -17
- package/lib/components/fields/GeocoderField.js +6 -40
- package/lib/components/fields/ImageArrayField.js +2 -6
- package/lib/components/fields/ImageDisplayField.js +2 -12
- package/lib/components/fields/InitiallyHiddenField.d.ts +1 -4
- package/lib/components/fields/InitiallyHiddenField.js +6 -19
- package/lib/components/fields/LocalityField.d.ts +1 -0
- package/lib/components/fields/LocalityField.js +5 -15
- package/lib/components/fields/LocationChooserField.d.ts +44 -2
- package/lib/components/fields/LocationChooserField.js +5 -16
- package/lib/components/fields/MultiActiveArrayField.d.ts +1 -0
- package/lib/components/fields/MultiActiveArrayField.js +5 -12
- package/lib/components/fields/MultiAnyToBooleanField.d.ts +2 -7
- package/lib/components/fields/MultiAnyToBooleanField.js +6 -19
- package/lib/components/fields/MultiArrayField.d.ts +2 -1
- package/lib/components/fields/MultiArrayField.js +5 -14
- package/lib/components/fields/MultiLanguageField.js +2 -15
- package/lib/components/fields/MultiTagArrayField.js +2 -12
- package/lib/components/fields/NamedPlaceSaverField.d.ts +46 -46
- package/lib/components/fields/NamedPlaceSaverField.js +6 -19
- package/lib/components/fields/PrefixArrayField.d.ts +2 -0
- package/lib/components/fields/PrefixArrayField.js +9 -15
- package/lib/components/fields/ScientificNameTaxonAutosuggestField.d.ts +3 -2
- package/lib/components/fields/ScientificNameTaxonAutosuggestField.js +6 -16
- package/lib/components/fields/SingleActiveArrayField.js +2 -6
- package/lib/components/fields/SplitField.js +2 -12
- package/lib/components/fields/TableField.js +2 -6
- package/lib/components/fields/TagArrayField.js +2 -12
- package/lib/components/fields/TaxonSetPopulatorField.js +3 -1
- package/lib/components/fields/ToggleAdditionalArrayFieldsField.d.ts +0 -4
- package/lib/components/fields/ToggleAdditionalArrayFieldsField.js +4 -18
- package/lib/components/fields/UnitCountShorthandField.js +2 -6
- package/lib/components/fields/UnitListShorthandArrayField.d.ts +46 -45
- package/lib/components/fields/UnitListShorthandArrayField.js +8 -18
- package/lib/components/fields/UnitShorthandField.js +7 -17
- package/lib/components/fields/index.d.ts +75 -0
- package/lib/components/fields/index.js +158 -0
- package/lib/components/templates/index.d.ts +8 -0
- package/lib/components/templates/index.js +22 -0
- package/lib/components/widgets/AnyToBooleanWidget.d.ts +14 -12
- package/lib/components/widgets/AnyToBooleanWidget.js +3 -2
- package/lib/components/widgets/DateTimeWidget.d.ts +9 -0
- package/lib/components/widgets/DateTimeWidget.js +7 -14
- package/lib/components/widgets/ImageSelectWidget.js +2 -12
- package/lib/components/widgets/InformalTaxonGroupChooserWidget.js +2 -12
- package/lib/components/widgets/SeparatedDateTimeWidget.d.ts +5 -1
- package/lib/components/widgets/SeparatedDateTimeWidget.js +8 -14
- package/lib/components/widgets/index.d.ts +20 -0
- package/lib/components/widgets/index.js +46 -0
- package/lib/themes/theme.d.ts +1 -0
- package/lib/types.d.ts +1 -1
- package/lib/utils.d.ts +1 -1
- package/package.json +3 -3
- package/lib/components/BaseComponent.d.ts +0 -8
- package/lib/components/BaseComponent.js +0 -28
- package/lib/components/fields/ArrayBulkField.d.ts +0 -28
- 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) {
|
|
@@ -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
|
-
|
|
52
|
-
constructor() {
|
|
53
|
-
super(
|
|
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;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { default as CheckboxWidget } from "./CheckboxWidget";
|
|
2
|
+
export { default as SelectWidget } from "./SelectWidget";
|
|
3
|
+
export { default as TextareaWidget } from "./TextareaWidget";
|
|
4
|
+
export { default as DateTimeWidget } from "./DateTimeWidget";
|
|
5
|
+
export { default as DateWidget } from "./DateWidget";
|
|
6
|
+
export { default as TimeWidget } from "./TimeWidget";
|
|
7
|
+
export { default as SeparatedDateTimeWidget } from "./SeparatedDateTimeWidget";
|
|
8
|
+
export { default as AutosuggestWidget } from "./AutosuggestWidget";
|
|
9
|
+
export { default as HiddenWidget } from "./HiddenWidget";
|
|
10
|
+
export { default as PlainTextWidget } from "./PlainTextWidget";
|
|
11
|
+
export { default as TextSelectWidget } from "./TextSelectWidget";
|
|
12
|
+
export { default as ImageSelectWidget } from "./ImageSelectWidget";
|
|
13
|
+
export { default as AnyToBooleanWidget } from "./AnyToBooleanWidget";
|
|
14
|
+
export { default as URLWidget } from "./URLWidget";
|
|
15
|
+
export { default as InformalTaxonGroupChooserWidget } from "./InformalTaxonGroupChooserWidget";
|
|
16
|
+
export { default as TaxonImageWidget } from "./TaxonImageWidget";
|
|
17
|
+
export { default as UpperCaseWidget } from "./UpperCaseWidget";
|
|
18
|
+
export { default as NumberWidget } from "./NumberWidget";
|
|
19
|
+
export { default as InputGroupWidget } from "./InputGroupWidget";
|
|
20
|
+
export { default as InputWithDefaultValueButtonWidget } from "./InputWithDefaultValueButtonWidget";
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InputWithDefaultValueButtonWidget = exports.InputGroupWidget = exports.NumberWidget = exports.UpperCaseWidget = exports.TaxonImageWidget = exports.InformalTaxonGroupChooserWidget = exports.URLWidget = exports.AnyToBooleanWidget = exports.ImageSelectWidget = exports.TextSelectWidget = exports.PlainTextWidget = exports.HiddenWidget = exports.AutosuggestWidget = exports.SeparatedDateTimeWidget = exports.TimeWidget = exports.DateWidget = exports.DateTimeWidget = exports.TextareaWidget = exports.SelectWidget = exports.CheckboxWidget = void 0;
|
|
7
|
+
var CheckboxWidget_1 = require("./CheckboxWidget");
|
|
8
|
+
Object.defineProperty(exports, "CheckboxWidget", { enumerable: true, get: function () { return __importDefault(CheckboxWidget_1).default; } });
|
|
9
|
+
var SelectWidget_1 = require("./SelectWidget");
|
|
10
|
+
Object.defineProperty(exports, "SelectWidget", { enumerable: true, get: function () { return __importDefault(SelectWidget_1).default; } });
|
|
11
|
+
var TextareaWidget_1 = require("./TextareaWidget");
|
|
12
|
+
Object.defineProperty(exports, "TextareaWidget", { enumerable: true, get: function () { return __importDefault(TextareaWidget_1).default; } });
|
|
13
|
+
var DateTimeWidget_1 = require("./DateTimeWidget");
|
|
14
|
+
Object.defineProperty(exports, "DateTimeWidget", { enumerable: true, get: function () { return __importDefault(DateTimeWidget_1).default; } });
|
|
15
|
+
var DateWidget_1 = require("./DateWidget");
|
|
16
|
+
Object.defineProperty(exports, "DateWidget", { enumerable: true, get: function () { return __importDefault(DateWidget_1).default; } });
|
|
17
|
+
var TimeWidget_1 = require("./TimeWidget");
|
|
18
|
+
Object.defineProperty(exports, "TimeWidget", { enumerable: true, get: function () { return __importDefault(TimeWidget_1).default; } });
|
|
19
|
+
var SeparatedDateTimeWidget_1 = require("./SeparatedDateTimeWidget");
|
|
20
|
+
Object.defineProperty(exports, "SeparatedDateTimeWidget", { enumerable: true, get: function () { return __importDefault(SeparatedDateTimeWidget_1).default; } });
|
|
21
|
+
var AutosuggestWidget_1 = require("./AutosuggestWidget");
|
|
22
|
+
Object.defineProperty(exports, "AutosuggestWidget", { enumerable: true, get: function () { return __importDefault(AutosuggestWidget_1).default; } });
|
|
23
|
+
var HiddenWidget_1 = require("./HiddenWidget");
|
|
24
|
+
Object.defineProperty(exports, "HiddenWidget", { enumerable: true, get: function () { return __importDefault(HiddenWidget_1).default; } });
|
|
25
|
+
var PlainTextWidget_1 = require("./PlainTextWidget");
|
|
26
|
+
Object.defineProperty(exports, "PlainTextWidget", { enumerable: true, get: function () { return __importDefault(PlainTextWidget_1).default; } });
|
|
27
|
+
var TextSelectWidget_1 = require("./TextSelectWidget");
|
|
28
|
+
Object.defineProperty(exports, "TextSelectWidget", { enumerable: true, get: function () { return __importDefault(TextSelectWidget_1).default; } });
|
|
29
|
+
var ImageSelectWidget_1 = require("./ImageSelectWidget");
|
|
30
|
+
Object.defineProperty(exports, "ImageSelectWidget", { enumerable: true, get: function () { return __importDefault(ImageSelectWidget_1).default; } });
|
|
31
|
+
var AnyToBooleanWidget_1 = require("./AnyToBooleanWidget");
|
|
32
|
+
Object.defineProperty(exports, "AnyToBooleanWidget", { enumerable: true, get: function () { return __importDefault(AnyToBooleanWidget_1).default; } });
|
|
33
|
+
var URLWidget_1 = require("./URLWidget");
|
|
34
|
+
Object.defineProperty(exports, "URLWidget", { enumerable: true, get: function () { return __importDefault(URLWidget_1).default; } });
|
|
35
|
+
var InformalTaxonGroupChooserWidget_1 = require("./InformalTaxonGroupChooserWidget");
|
|
36
|
+
Object.defineProperty(exports, "InformalTaxonGroupChooserWidget", { enumerable: true, get: function () { return __importDefault(InformalTaxonGroupChooserWidget_1).default; } });
|
|
37
|
+
var TaxonImageWidget_1 = require("./TaxonImageWidget");
|
|
38
|
+
Object.defineProperty(exports, "TaxonImageWidget", { enumerable: true, get: function () { return __importDefault(TaxonImageWidget_1).default; } });
|
|
39
|
+
var UpperCaseWidget_1 = require("./UpperCaseWidget");
|
|
40
|
+
Object.defineProperty(exports, "UpperCaseWidget", { enumerable: true, get: function () { return __importDefault(UpperCaseWidget_1).default; } });
|
|
41
|
+
var NumberWidget_1 = require("./NumberWidget");
|
|
42
|
+
Object.defineProperty(exports, "NumberWidget", { enumerable: true, get: function () { return __importDefault(NumberWidget_1).default; } });
|
|
43
|
+
var InputGroupWidget_1 = require("./InputGroupWidget");
|
|
44
|
+
Object.defineProperty(exports, "InputGroupWidget", { enumerable: true, get: function () { return __importDefault(InputGroupWidget_1).default; } });
|
|
45
|
+
var InputWithDefaultValueButtonWidget_1 = require("./InputWithDefaultValueButtonWidget");
|
|
46
|
+
Object.defineProperty(exports, "InputWithDefaultValueButtonWidget", { enumerable: true, get: function () { return __importDefault(InputWithDefaultValueButtonWidget_1).default; } });
|
package/lib/themes/theme.d.ts
CHANGED
|
@@ -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:
|
|
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
|
|
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.
|
|
3
|
+
"version": "15.1.94",
|
|
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
|
|
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.
|
|
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;
|