@luomus/laji-form 15.1.0 → 15.1.2

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 (248) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/dist/laji-form.js +1 -1
  3. package/jsonconfig.json +26 -0
  4. package/migrate.sh +0 -1
  5. package/package.json +8 -8
  6. package/test-export/test-utils.d.ts +100 -54
  7. package/test-export/test-utils.js +102 -84
  8. package/xsel -b +9 -0
  9. package/cypress/fixtures/example.json +0 -5
  10. package/cypress/screenshots/nafi.cy.ts/NAFI (MHL.6) -- selecting species name with keyboard navigation -- and closes suggestion list (failed).png +0 -0
  11. package/cypress/screenshots/nafi.cy.ts/NAFI (MHL.6) -- selecting species name with keyboard navigation -- and is marked as suggested (failed).png +0 -0
  12. package/lib/ApiClient.d.ts +0 -46
  13. package/lib/ApiClient.js +0 -93
  14. package/lib/Context.d.ts +0 -8
  15. package/lib/Context.js +0 -18
  16. package/lib/ReactContext.d.ts +0 -7
  17. package/lib/ReactContext.js +0 -5
  18. package/lib/components/BaseComponent.d.ts +0 -9
  19. package/lib/components/BaseComponent.js +0 -29
  20. package/lib/components/LajiForm.d.ts +0 -221
  21. package/lib/components/LajiForm.js +0 -615
  22. package/lib/components/VirtualSchemaField.d.ts +0 -42
  23. package/lib/components/VirtualSchemaField.js +0 -74
  24. package/lib/components/components.d.ts +0 -119
  25. package/lib/components/components.js +0 -606
  26. package/lib/components/fields/AnnotationField.d.ts +0 -34
  27. package/lib/components/fields/AnnotationField.js +0 -242
  28. package/lib/components/fields/AnyToBooleanField.d.ts +0 -18
  29. package/lib/components/fields/AnyToBooleanField.js +0 -20
  30. package/lib/components/fields/ArrayBulkField.d.ts +0 -23
  31. package/lib/components/fields/ArrayBulkField.js +0 -82
  32. package/lib/components/fields/ArrayCombinerField.d.ts +0 -36
  33. package/lib/components/fields/ArrayCombinerField.js +0 -138
  34. package/lib/components/fields/ArrayField.d.ts +0 -39
  35. package/lib/components/fields/ArrayField.js +0 -148
  36. package/lib/components/fields/AudioArrayField.d.ts +0 -22
  37. package/lib/components/fields/AudioArrayField.js +0 -100
  38. package/lib/components/fields/AutoArrayField.d.ts +0 -24
  39. package/lib/components/fields/AutoArrayField.js +0 -56
  40. package/lib/components/fields/AutosuggestField.d.ts +0 -69
  41. package/lib/components/fields/AutosuggestField.js +0 -299
  42. package/lib/components/fields/CombinedValueDisplayField.d.ts +0 -41
  43. package/lib/components/fields/CombinedValueDisplayField.js +0 -100
  44. package/lib/components/fields/ConditionalOnChangeField.d.ts +0 -42
  45. package/lib/components/fields/ConditionalOnChangeField.js +0 -107
  46. package/lib/components/fields/ConditionalUiSchemaField.d.ts +0 -123
  47. package/lib/components/fields/ConditionalUiSchemaField.js +0 -143
  48. package/lib/components/fields/ContextInjectionField.d.ts +0 -24
  49. package/lib/components/fields/ContextInjectionField.js +0 -68
  50. package/lib/components/fields/DataLeakerField.d.ts +0 -40
  51. package/lib/components/fields/DataLeakerField.js +0 -68
  52. package/lib/components/fields/DefaultValueArrayField.d.ts +0 -34
  53. package/lib/components/fields/DefaultValueArrayField.js +0 -59
  54. package/lib/components/fields/DependentBooleanField.d.ts +0 -38
  55. package/lib/components/fields/DependentBooleanField.js +0 -87
  56. package/lib/components/fields/DependentDisableField.d.ts +0 -35
  57. package/lib/components/fields/DependentDisableField.js +0 -71
  58. package/lib/components/fields/EnumRangeArrayField.d.ts +0 -27
  59. package/lib/components/fields/EnumRangeArrayField.js +0 -115
  60. package/lib/components/fields/ExtraLabelRowField.d.ts +0 -38
  61. package/lib/components/fields/ExtraLabelRowField.js +0 -100
  62. package/lib/components/fields/FakePropertyField.d.ts +0 -18
  63. package/lib/components/fields/FakePropertyField.js +0 -48
  64. package/lib/components/fields/FilterArrayField.d.ts +0 -73
  65. package/lib/components/fields/FilterArrayField.js +0 -121
  66. package/lib/components/fields/FlatField.d.ts +0 -29
  67. package/lib/components/fields/FlatField.js +0 -171
  68. package/lib/components/fields/GeocoderField.d.ts +0 -47
  69. package/lib/components/fields/GeocoderField.js +0 -372
  70. package/lib/components/fields/GridLayoutField.d.ts +0 -18
  71. package/lib/components/fields/GridLayoutField.js +0 -32
  72. package/lib/components/fields/HiddenField.d.ts +0 -10
  73. package/lib/components/fields/HiddenField.js +0 -11
  74. package/lib/components/fields/ImageArrayField.d.ts +0 -172
  75. package/lib/components/fields/ImageArrayField.js +0 -697
  76. package/lib/components/fields/ImageDisplayField.d.ts +0 -18
  77. package/lib/components/fields/ImageDisplayField.js +0 -44
  78. package/lib/components/fields/InitiallyHiddenField.d.ts +0 -21
  79. package/lib/components/fields/InitiallyHiddenField.js +0 -58
  80. package/lib/components/fields/InjectDefaultValueField.d.ts +0 -37
  81. package/lib/components/fields/InjectDefaultValueField.js +0 -68
  82. package/lib/components/fields/InjectField.d.ts +0 -46
  83. package/lib/components/fields/InjectField.js +0 -88
  84. package/lib/components/fields/InputWithDefaultValueButtonField.d.ts +0 -25
  85. package/lib/components/fields/InputWithDefaultValueButtonField.js +0 -61
  86. package/lib/components/fields/LocalityField.d.ts +0 -22
  87. package/lib/components/fields/LocalityField.js +0 -94
  88. package/lib/components/fields/LocationChooserField.d.ts +0 -27
  89. package/lib/components/fields/LocationChooserField.js +0 -440
  90. package/lib/components/fields/MapArrayField.d.ts +0 -78
  91. package/lib/components/fields/MapArrayField.js +0 -1783
  92. package/lib/components/fields/MapField.d.ts +0 -48
  93. package/lib/components/fields/MapField.js +0 -434
  94. package/lib/components/fields/MultiAnyToBooleanField.d.ts +0 -25
  95. package/lib/components/fields/MultiAnyToBooleanField.js +0 -100
  96. package/lib/components/fields/MultiArrayField.d.ts +0 -53
  97. package/lib/components/fields/MultiArrayField.js +0 -224
  98. package/lib/components/fields/MultiLanguageField.d.ts +0 -13
  99. package/lib/components/fields/MultiLanguageField.js +0 -52
  100. package/lib/components/fields/MultiTagArrayField.d.ts +0 -36
  101. package/lib/components/fields/MultiTagArrayField.js +0 -142
  102. package/lib/components/fields/NamedPlaceChooserField.d.ts +0 -29
  103. package/lib/components/fields/NamedPlaceChooserField.js +0 -380
  104. package/lib/components/fields/NamedPlaceSaverField.d.ts +0 -29
  105. package/lib/components/fields/NamedPlaceSaverField.js +0 -237
  106. package/lib/components/fields/NestField.d.ts +0 -148
  107. package/lib/components/fields/NestField.js +0 -289
  108. package/lib/components/fields/ObjectField.d.ts +0 -2
  109. package/lib/components/fields/ObjectField.js +0 -119
  110. package/lib/components/fields/PdfArrayField.d.ts +0 -21
  111. package/lib/components/fields/PdfArrayField.js +0 -40
  112. package/lib/components/fields/PrefillingArrayField.d.ts +0 -22
  113. package/lib/components/fields/PrefillingArrayField.js +0 -65
  114. package/lib/components/fields/SchemaField.d.ts +0 -7
  115. package/lib/components/fields/SchemaField.js +0 -109
  116. package/lib/components/fields/ScopeField.d.ts +0 -85
  117. package/lib/components/fields/ScopeField.js +0 -521
  118. package/lib/components/fields/SectionArrayField.d.ts +0 -38
  119. package/lib/components/fields/SectionArrayField.js +0 -618
  120. package/lib/components/fields/SelectTreeField.d.ts +0 -39
  121. package/lib/components/fields/SelectTreeField.js +0 -143
  122. package/lib/components/fields/SingleActiveArrayField.d.ts +0 -49
  123. package/lib/components/fields/SingleActiveArrayField.js +0 -974
  124. package/lib/components/fields/SingleItemArrayField.d.ts +0 -15
  125. package/lib/components/fields/SingleItemArrayField.js +0 -60
  126. package/lib/components/fields/SortArrayField.d.ts +0 -73
  127. package/lib/components/fields/SortArrayField.js +0 -351
  128. package/lib/components/fields/SplitField.d.ts +0 -28
  129. package/lib/components/fields/SplitField.js +0 -65
  130. package/lib/components/fields/StringToArrayField.d.ts +0 -24
  131. package/lib/components/fields/StringToArrayField.js +0 -48
  132. package/lib/components/fields/SumField.d.ts +0 -35
  133. package/lib/components/fields/SumField.js +0 -83
  134. package/lib/components/fields/TableField.d.ts +0 -18
  135. package/lib/components/fields/TableField.js +0 -136
  136. package/lib/components/fields/TagArrayField.d.ts +0 -38
  137. package/lib/components/fields/TagArrayField.js +0 -128
  138. package/lib/components/fields/ToggleAdditionalArrayFieldsField.d.ts +0 -26
  139. package/lib/components/fields/ToggleAdditionalArrayFieldsField.js +0 -81
  140. package/lib/components/fields/UiFieldApplierField.d.ts +0 -30
  141. package/lib/components/fields/UiFieldApplierField.js +0 -106
  142. package/lib/components/fields/UiFieldMapperArrayField.d.ts +0 -42
  143. package/lib/components/fields/UiFieldMapperArrayField.js +0 -121
  144. package/lib/components/fields/UnitCountShorthandField.d.ts +0 -22
  145. package/lib/components/fields/UnitCountShorthandField.js +0 -149
  146. package/lib/components/fields/UnitListShorthandArrayField.d.ts +0 -26
  147. package/lib/components/fields/UnitListShorthandArrayField.js +0 -108
  148. package/lib/components/fields/UnitShorthandField.d.ts +0 -32
  149. package/lib/components/fields/UnitShorthandField.js +0 -220
  150. package/lib/components/templates/ArrayFieldTemplate.d.ts +0 -85
  151. package/lib/components/templates/ArrayFieldTemplate.js +0 -417
  152. package/lib/components/templates/BaseInputTemplate.d.ts +0 -11
  153. package/lib/components/templates/BaseInputTemplate.js +0 -80
  154. package/lib/components/templates/DescriptionField.d.ts +0 -1
  155. package/lib/components/templates/DescriptionField.js +0 -37
  156. package/lib/components/templates/ErrorListTemplate.d.ts +0 -9
  157. package/lib/components/templates/ErrorListTemplate.js +0 -95
  158. package/lib/components/templates/FieldTemplate.d.ts +0 -6
  159. package/lib/components/templates/FieldTemplate.js +0 -112
  160. package/lib/components/templates/ObjectFieldTemplate.d.ts +0 -7
  161. package/lib/components/templates/ObjectFieldTemplate.js +0 -66
  162. package/lib/components/templates/TitleField.d.ts +0 -9
  163. package/lib/components/templates/TitleField.js +0 -51
  164. package/lib/components/widgets/AnyToBooleanWidget.d.ts +0 -20
  165. package/lib/components/widgets/AnyToBooleanWidget.js +0 -49
  166. package/lib/components/widgets/AutosuggestWidget.d.ts +0 -66
  167. package/lib/components/widgets/AutosuggestWidget.js +0 -1127
  168. package/lib/components/widgets/CheckboxWidget.d.ts +0 -37
  169. package/lib/components/widgets/CheckboxWidget.js +0 -139
  170. package/lib/components/widgets/DateTimeWidget.d.ts +0 -62
  171. package/lib/components/widgets/DateTimeWidget.js +0 -251
  172. package/lib/components/widgets/DateWidget.d.ts +0 -23
  173. package/lib/components/widgets/DateWidget.js +0 -41
  174. package/lib/components/widgets/HiddenWidget.d.ts +0 -15
  175. package/lib/components/widgets/HiddenWidget.js +0 -19
  176. package/lib/components/widgets/ImageSelectWidget.d.ts +0 -14
  177. package/lib/components/widgets/ImageSelectWidget.js +0 -57
  178. package/lib/components/widgets/InformalTaxonGroupChooserWidget.d.ts +0 -43
  179. package/lib/components/widgets/InformalTaxonGroupChooserWidget.js +0 -237
  180. package/lib/components/widgets/InputGroupWidget.d.ts +0 -21
  181. package/lib/components/widgets/InputGroupWidget.js +0 -36
  182. package/lib/components/widgets/InputWithDefaultValueButtonWidget.d.ts +0 -21
  183. package/lib/components/widgets/InputWithDefaultValueButtonWidget.js +0 -47
  184. package/lib/components/widgets/NumberWidget.d.ts +0 -13
  185. package/lib/components/widgets/NumberWidget.js +0 -21
  186. package/lib/components/widgets/PlainTextWidget.d.ts +0 -12
  187. package/lib/components/widgets/PlainTextWidget.js +0 -24
  188. package/lib/components/widgets/SelectWidget.d.ts +0 -52
  189. package/lib/components/widgets/SelectWidget.js +0 -158
  190. package/lib/components/widgets/SeparatedDateTimeWidget.d.ts +0 -19
  191. package/lib/components/widgets/SeparatedDateTimeWidget.js +0 -59
  192. package/lib/components/widgets/TaxonImageWidget.d.ts +0 -13
  193. package/lib/components/widgets/TaxonImageWidget.js +0 -30
  194. package/lib/components/widgets/TextSelectWidget.d.ts +0 -25
  195. package/lib/components/widgets/TextSelectWidget.js +0 -94
  196. package/lib/components/widgets/TextareaWidget.d.ts +0 -32
  197. package/lib/components/widgets/TextareaWidget.js +0 -87
  198. package/lib/components/widgets/TimeWidget.d.ts +0 -11
  199. package/lib/components/widgets/TimeWidget.js +0 -19
  200. package/lib/components/widgets/URLWidget.d.ts +0 -14
  201. package/lib/components/widgets/URLWidget.js +0 -12
  202. package/lib/components/widgets/UpperCaseWidget.d.ts +0 -13
  203. package/lib/components/widgets/UpperCaseWidget.js +0 -21
  204. package/lib/index.d.ts +0 -20
  205. package/lib/index.js +0 -50
  206. package/lib/services/blocker-service.d.ts +0 -11
  207. package/lib/services/blocker-service.js +0 -55
  208. package/lib/services/custom-event-service.d.ts +0 -17
  209. package/lib/services/custom-event-service.js +0 -35
  210. package/lib/services/dom-id-service.d.ts +0 -8
  211. package/lib/services/dom-id-service.js +0 -30
  212. package/lib/services/focus-service.d.ts +0 -13
  213. package/lib/services/focus-service.js +0 -60
  214. package/lib/services/id-service.d.ts +0 -22
  215. package/lib/services/id-service.js +0 -130
  216. package/lib/services/key-handler-service.d.ts +0 -56
  217. package/lib/services/key-handler-service.js +0 -184
  218. package/lib/services/root-instance-service.d.ts +0 -25
  219. package/lib/services/root-instance-service.js +0 -49
  220. package/lib/services/settings-service.d.ts +0 -34
  221. package/lib/services/settings-service.js +0 -154
  222. package/lib/services/singleton-map-service.d.ts +0 -23
  223. package/lib/services/singleton-map-service.js +0 -44
  224. package/lib/services/submit-hook-service.d.ts +0 -24
  225. package/lib/services/submit-hook-service.js +0 -73
  226. package/lib/styles.d.ts +0 -1
  227. package/lib/styles.js +0 -4
  228. package/lib/themes/bs3.d.ts +0 -3
  229. package/lib/themes/bs3.js +0 -133
  230. package/lib/themes/bs5.d.ts +0 -3
  231. package/lib/themes/bs5.js +0 -111
  232. package/lib/themes/glyphicon-fa-mapping.d.ts +0 -3
  233. package/lib/themes/glyphicon-fa-mapping.js +0 -271
  234. package/lib/themes/stub.d.ts +0 -3
  235. package/lib/themes/stub.js +0 -82
  236. package/lib/themes/theme.d.ts +0 -233
  237. package/lib/themes/theme.js +0 -2
  238. package/lib/translations.json +0 -847
  239. package/lib/utils.d.ts +0 -171
  240. package/lib/utils.js +0 -1191
  241. package/lib/validation.d.ts +0 -7
  242. package/lib/validation.js +0 -141
  243. package/llol +0 -10
  244. package/llol.pdf +0 -10
  245. package/playwright-report/index.html +0 -62
  246. package/q +0 -196
  247. package/rename.sh +0 -24
  248. package/trip-report.spec.ts +0 -594
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const React = require("react");
10
- const PropTypes = require("prop-types");
11
- const immutability_helper_1 = require("immutability-helper");
12
- const VirtualSchemaField_1 = require("../VirtualSchemaField");
13
- /**
14
- * Transforms an array field to o boolean field, where each value is true/false according to another array field.
15
- * Each value is true, if formData[booleanDefiner] == formData[booleanField].
16
- * uiSchema = { "ui:options": {
17
- * booleanField: <array field name>,
18
- * booleanDefiner: <array field name>,
19
- * uiSchema: <uiSchema> (uiSchema used for each object).
20
- * }}
21
- */
22
- let DependentBooleanField = class DependentBooleanField extends React.Component {
23
- constructor() {
24
- super(...arguments);
25
- this.onChange = (formData) => {
26
- const { booleanField, booleanDefiner } = this.getUiOptions();
27
- const propsFormData = this.props.formData;
28
- let newData = this.props.formData[booleanField];
29
- // if the change happened in booleanField data, reflect the changes to all booleanField items with same data.
30
- if (JSON.stringify(propsFormData[booleanDefiner]) === JSON.stringify(formData[booleanDefiner])) {
31
- let dictionarifiedOrigData = this.getDictionarifiedFormData(propsFormData, booleanField);
32
- formData[booleanDefiner].forEach((definerItem, i) => {
33
- if (dictionarifiedOrigData[definerItem] && !formData[booleanField][i]) {
34
- newData = immutability_helper_1.default(newData, { $splice: [[newData.indexOf(definerItem), 1]] });
35
- }
36
- else if (!dictionarifiedOrigData[definerItem] && formData[booleanField][i]) {
37
- newData = newData ? [...newData, definerItem] : [definerItem];
38
- }
39
- });
40
- }
41
- if (newData)
42
- newData = newData.filter(item => formData[booleanDefiner].includes(item));
43
- formData = Object.assign(Object.assign({}, formData), { [booleanField]: newData });
44
- this.props.onChange(formData);
45
- };
46
- this.getDictionarifiedFormData = (formData, field) => {
47
- let formDataDictionarified = {};
48
- (formData[field] || []).forEach((value) => {
49
- formDataDictionarified[value] = true;
50
- });
51
- return formDataDictionarified;
52
- };
53
- this.getDictionarifiedBooleanFieldData = (formData) => {
54
- return this.getDictionarifiedFormData(formData, this.getUiOptions().booleanField);
55
- };
56
- }
57
- static getName() { return "DependentBooleanField"; }
58
- getStateFromProps(props) {
59
- let { uiSchema, formData } = props;
60
- const { booleanField, booleanDefiner } = this.getUiOptions();
61
- let schema = immutability_helper_1.default(props.schema, { properties: { [booleanField]: { items: { $merge: { type: "boolean" } } } } });
62
- let booleanFieldDataDictionarified = this.getDictionarifiedBooleanFieldData(formData);
63
- let booleanFieldData = [];
64
- (formData[booleanDefiner] || []).forEach((definerItem) => {
65
- booleanFieldData.push(!!booleanFieldDataDictionarified[definerItem]);
66
- });
67
- formData = Object.assign(Object.assign({}, props.formData), { [booleanField]: booleanFieldData });
68
- return { schema, uiSchema, formData, onChange: this.onChange };
69
- }
70
- };
71
- DependentBooleanField.propTypes = {
72
- uiSchema: PropTypes.shape({
73
- "ui:options": PropTypes.shape({
74
- booleanField: PropTypes.string.isRequired,
75
- booleanDefiner: PropTypes.string.isRequired,
76
- }).isRequired,
77
- uiSchema: PropTypes.object
78
- }).isRequired,
79
- schema: PropTypes.shape({
80
- type: PropTypes.oneOf(["object"])
81
- }).isRequired,
82
- formData: PropTypes.object.isRequired
83
- };
84
- DependentBooleanField = __decorate([
85
- VirtualSchemaField_1.default
86
- ], DependentBooleanField);
87
- exports.default = DependentBooleanField;
@@ -1,35 +0,0 @@
1
- /**
2
- * Disables object field's value according a regexp rule that is matched against another field's value.
3
- * uiSchema = { "ui:options": {
4
- * disableField: <object field name>, (field to disable if disableDefiner's value doesn't match the regexp)
5
- * disableDefiner: <object field name>, (field that the regexp is matched against)
6
- * uiSchema: <uiSchema> (uiSchema used for each object).
7
- * }}
8
- */
9
- export default class DependentDisableField extends React.Component<any, any, any> {
10
- static propTypes: {
11
- uiSchema: PropTypes.Validator<PropTypes.InferProps<{
12
- "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
13
- rules: PropTypes.Validator<(PropTypes.InferProps<{
14
- disableField: PropTypes.Validator<string>;
15
- disableDefiner: PropTypes.Validator<string>;
16
- regexp: PropTypes.Validator<string>;
17
- }> | null | undefined)[]>;
18
- }>>;
19
- uiSchema: PropTypes.Requireable<object>;
20
- }>>;
21
- schema: PropTypes.Validator<PropTypes.InferProps<{
22
- type: PropTypes.Requireable<string>;
23
- }>>;
24
- formData: PropTypes.Validator<object>;
25
- };
26
- static getName(): string;
27
- constructor(props: any);
28
- constructor(props: any, context: any);
29
- getStateFromProps(props: any): {
30
- uiSchema: any;
31
- formData: any;
32
- };
33
- }
34
- import * as React from "react";
35
- import * as PropTypes from "prop-types";
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const React = require("react");
10
- const PropTypes = require("prop-types");
11
- const immutability_helper_1 = require("immutability-helper");
12
- const utils_1 = require("../../utils");
13
- const VirtualSchemaField_1 = require("../VirtualSchemaField");
14
- /**
15
- * Disables object field's value according a regexp rule that is matched against another field's value.
16
- * uiSchema = { "ui:options": {
17
- * disableField: <object field name>, (field to disable if disableDefiner's value doesn't match the regexp)
18
- * disableDefiner: <object field name>, (field that the regexp is matched against)
19
- * uiSchema: <uiSchema> (uiSchema used for each object).
20
- * }}
21
- */
22
- let DependentDisableField = class DependentDisableField extends React.Component {
23
- static getName() { return "DependentDisableField"; }
24
- getStateFromProps(props) {
25
- let { uiSchema, formData } = props;
26
- let newFormData = formData;
27
- this.getUiOptions().rules.forEach(rule => {
28
- const { disableField, disableDefiner, regexp } = rule;
29
- const { formData } = props;
30
- const fieldToMatch = (formData && !utils_1.isNullOrUndefined(formData[disableDefiner])) ?
31
- formData[disableDefiner] : "";
32
- if (fieldToMatch.match(regexp)) {
33
- if (!uiSchema[disableField]) {
34
- uiSchema = Object.assign(Object.assign({}, uiSchema), { [disableField]: {} });
35
- }
36
- uiSchema = immutability_helper_1.default(uiSchema, {
37
- [disableField]: {
38
- $merge: {
39
- "ui:disabled": true,
40
- "ui:inlineHelp": rule.inlineHelp
41
- }
42
- }
43
- });
44
- if ("disabledValueToDisplay" in rule) {
45
- newFormData = Object.assign(Object.assign({}, formData), { [disableField]: rule.disabledValueToDisplay });
46
- }
47
- }
48
- });
49
- return { uiSchema, formData: newFormData };
50
- }
51
- };
52
- DependentDisableField.propTypes = {
53
- uiSchema: PropTypes.shape({
54
- "ui:options": PropTypes.shape({
55
- rules: PropTypes.arrayOf(PropTypes.shape({
56
- disableField: PropTypes.string.isRequired,
57
- disableDefiner: PropTypes.string.isRequired,
58
- regexp: PropTypes.string.isRequired,
59
- })).isRequired
60
- }),
61
- uiSchema: PropTypes.object
62
- }).isRequired,
63
- schema: PropTypes.shape({
64
- type: PropTypes.oneOf(["object"])
65
- }).isRequired,
66
- formData: PropTypes.object.isRequired
67
- };
68
- DependentDisableField = __decorate([
69
- VirtualSchemaField_1.default
70
- ], DependentDisableField);
71
- exports.default = DependentDisableField;
@@ -1,27 +0,0 @@
1
- export default class EnumRangeArrayField extends React.Component<any, any, any> {
2
- static propTypes: {
3
- uiSchema: PropTypes.Requireable<PropTypes.InferProps<{
4
- "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
5
- range: PropTypes.Requireable<string>;
6
- }>>;
7
- }>>;
8
- schema: PropTypes.Validator<PropTypes.InferProps<{
9
- type: PropTypes.Requireable<string>;
10
- }>>;
11
- formData: PropTypes.Requireable<any[]>;
12
- };
13
- static getName(): string;
14
- constructor(props: any);
15
- setRef: (elem: any) => void;
16
- autosuggestRef: any;
17
- onInputChange: ({ target: { value } }: {
18
- target: {
19
- value: any;
20
- };
21
- }, reason: any, callback: any) => any;
22
- onSuggestionSelected: (suggestion: any) => void;
23
- onUnsuggestedSelected: (value: any) => void;
24
- onChange: (formData: any, reason: any) => void;
25
- }
26
- import * as React from "react";
27
- import * as PropTypes from "prop-types";
@@ -1,115 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const React = require("react");
10
- const PropTypes = require("prop-types");
11
- const react_dom_1 = require("react-dom");
12
- const BaseComponent_1 = require("../BaseComponent");
13
- const utils_1 = require("../../utils");
14
- const AutosuggestWidget_1 = require("../widgets/AutosuggestWidget");
15
- const TagArrayField_1 = require("./TagArrayField");
16
- let EnumRangeArrayField = class EnumRangeArrayField extends React.Component {
17
- constructor(props) {
18
- super(props);
19
- this.setRef = (elem) => {
20
- this.autosuggestRef = elem;
21
- };
22
- this.onInputChange = ({ target: { value } }, reason, callback) => {
23
- this.setState({ value }, callback);
24
- if (reason === "click") {
25
- const tagComponent = this.autosuggestRef.autosuggestRef.inputElem;
26
- const tagComponentElem = react_dom_1.findDOMNode(tagComponent);
27
- const input = tagComponentElem.querySelector("input");
28
- if (input) {
29
- input.focus();
30
- }
31
- }
32
- return value;
33
- };
34
- this.onSuggestionSelected = (suggestion) => {
35
- this.setState({ value: "" }, () => {
36
- this.onChange([...(this.props.formData || []), suggestion.value], "suggestion selected");
37
- });
38
- };
39
- this.onUnsuggestedSelected = (value) => {
40
- this.setState({ value: "" }, () => {
41
- this.onChange([...(this.props.formData || []), value], "unsuggested selected");
42
- });
43
- };
44
- this.onChange = (formData, reason) => {
45
- function onlyUnique(value, index, self) {
46
- return self.indexOf(value) === index;
47
- }
48
- formData = formData.filter(onlyUnique);
49
- if (reason !== "remove" && reason !== "suggestion selected" && reason !== "unsuggested selected") {
50
- this.setState({ value: "" });
51
- return;
52
- }
53
- this.setState({ value: "" }, () => {
54
- this.props.onChange(formData);
55
- });
56
- };
57
- this.state = { value: "" };
58
- }
59
- static getName() { return "EnumRangeArrayField"; }
60
- render() {
61
- const { range } = utils_1.getUiOptions(this.props.uiSchema);
62
- const autosuggestOptions = {
63
- autosuggestField: range,
64
- onSuggestionSelected: this.onSuggestionSelected,
65
- onConfirmUnsuggested: this.onConfirmUnsuggested,
66
- id: this.props.idSchema.$id,
67
- value: this.state.value,
68
- controlledValue: true,
69
- minFetchLength: 0,
70
- wrapperClassName: "laji-form-enum-range",
71
- inputProps: {
72
- value: this.state.value,
73
- that: this,
74
- InputComponent: EnumRangeInputInjection,
75
- onChange: this.onInputChange,
76
- tags: this.props.formData,
77
- id: this.props.idSchema.$id
78
- },
79
- allowNonsuggestedValue: false
80
- };
81
- const { Label } = this.props.formContext;
82
- return (React.createElement(React.Fragment, null,
83
- React.createElement(Label, { label: this.props.schema.title, id: this.props.idSchema.$id }),
84
- React.createElement(AutosuggestWidget_1.Autosuggest, Object.assign({}, this.props, { onChange: undefined }, autosuggestOptions, { ref: this.setRef }))));
85
- }
86
- };
87
- EnumRangeArrayField.propTypes = {
88
- uiSchema: PropTypes.shape({
89
- "ui:options": PropTypes.shape({
90
- range: PropTypes.string
91
- })
92
- }),
93
- schema: PropTypes.shape({
94
- type: PropTypes.oneOf(["array"])
95
- }).isRequired,
96
- formData: PropTypes.array
97
- };
98
- EnumRangeArrayField = __decorate([
99
- BaseComponent_1.default
100
- ], EnumRangeArrayField);
101
- exports.default = EnumRangeArrayField;
102
- class EnumRangeInputInjection extends React.Component {
103
- constructor() {
104
- super(...arguments);
105
- this.onInputChange = e => {
106
- this.props.onChange(e);
107
- };
108
- this.onChange = (tags, reason) => {
109
- this.props.that.onChange(tags, reason);
110
- };
111
- }
112
- render() {
113
- return React.createElement(TagArrayField_1.TagInputComponent, Object.assign({}, this.props, { formContext: this.props.that.props.formContext, onChange: this.onChange, onInputChange: this.onInputChange }));
114
- }
115
- }
@@ -1,38 +0,0 @@
1
- export default class ExtraLabelRowField extends React.Component<any, any, any> {
2
- static contextType: React.Context<import("../../ReactContext").ContextProps>;
3
- static propTypes: {
4
- uiSchema: PropTypes.Validator<PropTypes.InferProps<{
5
- "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
6
- labels: PropTypes.Validator<(object | null | undefined)[]>;
7
- lg: PropTypes.Requireable<number | object>;
8
- md: PropTypes.Requireable<number | object>;
9
- sm: PropTypes.Requireable<number | object>;
10
- xs: PropTypes.Requireable<number | object>;
11
- hiddenXs: any;
12
- }>>;
13
- }>>;
14
- schema: PropTypes.Validator<PropTypes.InferProps<{
15
- type: PropTypes.Requireable<string>;
16
- }>>;
17
- formData: PropTypes.Validator<object>;
18
- };
19
- constructor(props: any);
20
- constructor(props: any, context: any);
21
- getStateFromProps(props: any): {
22
- schema: any;
23
- uiSchema: any;
24
- options: any;
25
- };
26
- setContainerRef: (elem: any) => void;
27
- containerElem: any;
28
- getContainerRef: () => any;
29
- getColContent: (label: any, i: any) => JSX.Element;
30
- getCols: (property: any) => {
31
- lg: number;
32
- md: number;
33
- sm: number;
34
- xs: number;
35
- };
36
- }
37
- import * as React from "react";
38
- import * as PropTypes from "prop-types";
@@ -1,100 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const React = require("react");
10
- const PropTypes = require("prop-types");
11
- const utils_1 = require("../../utils");
12
- const components_1 = require("../components");
13
- const BaseComponent_1 = require("../BaseComponent");
14
- const ReactContext_1 = require("../../ReactContext");
15
- const utils_2 = require("@rjsf/utils");
16
- let ExtraLabelRowField = class ExtraLabelRowField extends React.Component {
17
- constructor() {
18
- super(...arguments);
19
- this.setContainerRef = (elem) => {
20
- this.containerElem = elem;
21
- };
22
- this.getContainerRef = () => {
23
- return this.containerElem;
24
- };
25
- this.getColContent = (label, i) => {
26
- const cols = this.getCols(label.size);
27
- const { Label } = this.props.formContext;
28
- const { Col } = this.context.theme;
29
- return (React.createElement(Col, Object.assign({}, cols, { key: i }),
30
- React.createElement(Label, { label: label.label, id: this.props.idSchema.$id, uiSchema: { "ui:help": label.help } })));
31
- };
32
- this.getCols = (property) => {
33
- const cols = { lg: 12, md: 12, sm: 12, xs: 12 };
34
- const options = utils_1.getUiOptions(this.props.uiSchema);
35
- Object.keys(cols).forEach(col => {
36
- const optionCol = options[col];
37
- if (typeof optionCol === "object") {
38
- let selector = undefined;
39
- if (optionCol[property])
40
- selector = property;
41
- else if (optionCol["*"])
42
- selector = "*";
43
- cols[col] = optionCol[selector];
44
- }
45
- else {
46
- cols[col] = optionCol;
47
- }
48
- });
49
- return cols;
50
- };
51
- }
52
- getStateFromProps(props) {
53
- return {
54
- schema: Object.assign(Object.assign({}, props.schema), { title: "" }),
55
- uiSchema: utils_1.getInnerUiSchema(props.uiSchema),
56
- options: utils_1.getUiOptions(props.uiSchema)
57
- };
58
- }
59
- render() {
60
- const { SchemaField } = this.props.registry.fields;
61
- const TitleFieldTemplate = utils_2.getTemplate("TitleFieldTemplate", this.props.registry, utils_1.getUiOptions(this.props.uiSchema));
62
- const { labels, hiddenXs, affixed } = utils_1.getUiOptions(this.props.uiSchema);
63
- const cols = [];
64
- labels.forEach((label, i) => {
65
- cols.push(this.getColContent(label, i));
66
- });
67
- const title = this.props.schema.title !== undefined ? this.props.schema.title : this.props.name;
68
- const { Row } = this.context.theme;
69
- let labelRow = React.createElement(Row, { className: "laji-form-label-row" + (hiddenXs ? " hidden-xs" : "") + (affixed ? " affixed-labels" : "") }, cols);
70
- if (affixed) {
71
- labelRow = (React.createElement(components_1.Affix, { getContainer: this.getContainerRef, style: affixed ? { position: "relative", zIndex: 1 } : undefined, topOffset: this.props.formContext.topOffset, bottomOffset: this.props.formContext.bottomOffset }, labelRow));
72
- }
73
- return (React.createElement("div", { ref: this.setContainerRef },
74
- title
75
- ? (React.createElement(TitleFieldTemplate, { title: title, schema: this.props.schema, uiSchema: this.props.uiSchema, id: this.props.idSchema.$id, registry: this.props.registry })) : null,
76
- labelRow,
77
- React.createElement(SchemaField, Object.assign({}, this.props, this.state))));
78
- }
79
- };
80
- ExtraLabelRowField.contextType = ReactContext_1.default;
81
- ExtraLabelRowField.propTypes = {
82
- uiSchema: PropTypes.shape({
83
- "ui:options": PropTypes.shape({
84
- labels: PropTypes.arrayOf(PropTypes.object).isRequired,
85
- lg: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),
86
- md: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),
87
- sm: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),
88
- xs: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),
89
- hiddenXs: PropTypes.boolean
90
- })
91
- }).isRequired,
92
- schema: PropTypes.shape({
93
- type: PropTypes.oneOf(["object", "array"])
94
- }).isRequired,
95
- formData: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired
96
- };
97
- ExtraLabelRowField = __decorate([
98
- BaseComponent_1.default
99
- ], ExtraLabelRowField);
100
- exports.default = ExtraLabelRowField;
@@ -1,18 +0,0 @@
1
- export default class FakePropertyField extends React.Component<any, any, any> {
2
- static propTypes: {
3
- schema: PropTypes.Validator<PropTypes.InferProps<{
4
- type: PropTypes.Requireable<string>;
5
- }>>;
6
- formData: PropTypes.Validator<object>;
7
- };
8
- static getName(): string;
9
- constructor(props: any);
10
- constructor(props: any, context: any);
11
- getStateFromProps(props: any): {
12
- schema: any;
13
- uiSchema: any;
14
- formData: any;
15
- };
16
- }
17
- import * as React from "react";
18
- import * as PropTypes from "prop-types";
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const React = require("react");
10
- const PropTypes = require("prop-types");
11
- const VirtualSchemaField_1 = require("../VirtualSchemaField");
12
- const utils_1 = require("../../utils");
13
- const utils_2 = require("../../utils");
14
- let FakePropertyField = class FakePropertyField extends React.Component {
15
- static getName() { return "FakePropertyField"; }
16
- getStateFromProps(props) {
17
- const { fields } = this.getUiOptions();
18
- let properties = props.schema.properties;
19
- let uiSchema = props.uiSchema;
20
- let formData = props.formData;
21
- Object.keys(fields).forEach((prop) => {
22
- const { schema, uiSchema: _uiSchema, formData: _formData, skipIfEmpty = false } = fields[prop];
23
- if (skipIfEmpty && !utils_2.hasData(_formData) && !utils_2.hasData(formData[prop])) {
24
- return false;
25
- }
26
- properties = utils_1.updateSafelyWithJSONPointer(properties, schema, prop);
27
- uiSchema = utils_1.updateSafelyWithJSONPointer(uiSchema, _uiSchema, prop);
28
- formData = _formData
29
- ? utils_1.updateSafelyWithJSONPointer(formData, _formData, prop)
30
- : formData;
31
- });
32
- return {
33
- schema: Object.assign(Object.assign({}, props.schema), { properties }),
34
- uiSchema,
35
- formData
36
- };
37
- }
38
- };
39
- FakePropertyField.propTypes = {
40
- schema: PropTypes.shape({
41
- type: PropTypes.oneOf(["object"])
42
- }).isRequired,
43
- formData: PropTypes.object.isRequired
44
- };
45
- FakePropertyField = __decorate([
46
- VirtualSchemaField_1.default
47
- ], FakePropertyField);
48
- exports.default = FakePropertyField;
@@ -1,73 +0,0 @@
1
- export const arrayRulesPropType: PropTypes.Requireable<string | PropTypes.InferProps<{
2
- container: PropTypes.Requireable<string>;
3
- field: PropTypes.Validator<string>;
4
- regexp: PropTypes.Requireable<string>;
5
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
6
- valueLengthLessThan: PropTypes.Requireable<number>;
7
- complement: PropTypes.Requireable<boolean>;
8
- }> | PropTypes.InferProps<{
9
- idx: PropTypes.Requireable<number>;
10
- isLast: PropTypes.Requireable<number>;
11
- complement: PropTypes.Requireable<boolean>;
12
- }> | (string | PropTypes.InferProps<{
13
- container: PropTypes.Requireable<string>;
14
- field: PropTypes.Validator<string>;
15
- regexp: PropTypes.Requireable<string>;
16
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
17
- valueLengthLessThan: PropTypes.Requireable<number>;
18
- complement: PropTypes.Requireable<boolean>;
19
- }> | PropTypes.InferProps<{
20
- idx: PropTypes.Requireable<number>;
21
- isLast: PropTypes.Requireable<number>;
22
- complement: PropTypes.Requireable<boolean>;
23
- }> | null | undefined)[]>;
24
- export default class FilterArrayField extends React.Component<any, any, any> {
25
- static propTypes: {
26
- uiSchema: PropTypes.Requireable<PropTypes.InferProps<{
27
- "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
28
- rules: PropTypes.Requireable<string | PropTypes.InferProps<{
29
- container: PropTypes.Requireable<string>;
30
- field: PropTypes.Validator<string>;
31
- regexp: PropTypes.Requireable<string>;
32
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
33
- valueLengthLessThan: PropTypes.Requireable<number>;
34
- complement: PropTypes.Requireable<boolean>;
35
- }> | PropTypes.InferProps<{
36
- idx: PropTypes.Requireable<number>;
37
- isLast: PropTypes.Requireable<number>;
38
- complement: PropTypes.Requireable<boolean>;
39
- }> | (string | PropTypes.InferProps<{
40
- container: PropTypes.Requireable<string>;
41
- field: PropTypes.Validator<string>;
42
- regexp: PropTypes.Requireable<string>;
43
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
44
- valueLengthLessThan: PropTypes.Requireable<number>;
45
- complement: PropTypes.Requireable<boolean>;
46
- }> | PropTypes.InferProps<{
47
- idx: PropTypes.Requireable<number>;
48
- isLast: PropTypes.Requireable<number>;
49
- complement: PropTypes.Requireable<boolean>;
50
- }> | null | undefined)[]>;
51
- cache: any;
52
- }>>;
53
- }>>;
54
- schema: PropTypes.Validator<PropTypes.InferProps<{
55
- type: PropTypes.Requireable<string>;
56
- }>>;
57
- formData: PropTypes.Requireable<any[]>;
58
- };
59
- constructor(props: any);
60
- constructor(props: any, context: any);
61
- getStateFromProps(props: any): any;
62
- cache: any;
63
- filteredIdxs: {} | undefined;
64
- filteredToOffsets: {} | undefined;
65
- idxToOffsets: {} | undefined;
66
- filteredTotal: number | undefined;
67
- getActiveProps(options: any): any;
68
- cachedOnActiveChange: any;
69
- getOnActiveChange: (idx: any, prop: any, callback: any) => void;
70
- onChange: (formData: any) => void;
71
- }
72
- import * as PropTypes from "prop-types";
73
- import * as React from "react";