@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,123 +0,0 @@
1
- export const rulePropType: 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
- }>>;
9
- export const operationPropType: PropTypes.Requireable<PropTypes.InferProps<{
10
- type: PropTypes.Requireable<string>;
11
- uiSchema: PropTypes.Validator<object>;
12
- }>>;
13
- export const rulesPropType: PropTypes.Requireable<string | PropTypes.InferProps<{
14
- container: PropTypes.Requireable<string>;
15
- field: PropTypes.Validator<string>;
16
- regexp: PropTypes.Requireable<string>;
17
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
18
- valueLengthLessThan: PropTypes.Requireable<number>;
19
- complement: PropTypes.Requireable<boolean>;
20
- }> | (string | PropTypes.InferProps<{
21
- container: PropTypes.Requireable<string>;
22
- field: PropTypes.Validator<string>;
23
- regexp: PropTypes.Requireable<string>;
24
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
25
- valueLengthLessThan: PropTypes.Requireable<number>;
26
- complement: PropTypes.Requireable<boolean>;
27
- }> | null | undefined)[]>;
28
- /**
29
- * Transforms uiSchema according to conditional cases. Cases are not mutually exclusive.
30
- * uiSchema = {"ui:options": {
31
- * cases: [
32
- * rules: [
33
- * {
34
- * regexp: The regexp that the field must match.
35
- * valueIn: An array that the field must be in.
36
- * field: The field that the rule is being checked on (can be a JSON pointer or a field name)
37
- * }
38
- * ],
39
- * operations: [ // All the operations are performed if all rules pass.
40
- * {
41
- * type: "merge" or "wrap" "replace". "merge" deeply merges the conditional uiSchema to the nested uiSchema.
42
- * "wrap" sets the nested uiSchema inside conditional uiSchema.
43
- * "replace" (default) replaces nested uiSchema with conditional uiSchema.
44
- * uiSchema: conditional uiSchema to use.
45
- * }
46
- * ],
47
- * else: [<same as operations>] // Operations performed if the rules do not pass.
48
- * cache: <boolean> true by default. If you know the cases will cache, set this to false.
49
- * There will be a performance penalty on valueIn rule, as they are not indexed without caching.
50
- * ]
51
- * }
52
- * uiSchema: nested uiSchema
53
- * }
54
- */
55
- export default class ConditionalUiSchemaField extends React.Component<any, any, any> {
56
- static propTypes: {
57
- uiSchema: PropTypes.Requireable<PropTypes.InferProps<{
58
- "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
59
- cases: PropTypes.Requireable<PropTypes.InferProps<{
60
- rules: PropTypes.Requireable<string | PropTypes.InferProps<{
61
- container: PropTypes.Requireable<string>;
62
- field: PropTypes.Validator<string>;
63
- regexp: PropTypes.Requireable<string>;
64
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
65
- valueLengthLessThan: PropTypes.Requireable<number>;
66
- complement: PropTypes.Requireable<boolean>;
67
- }> | (string | PropTypes.InferProps<{
68
- container: PropTypes.Requireable<string>;
69
- field: PropTypes.Validator<string>;
70
- regexp: PropTypes.Requireable<string>;
71
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
72
- valueLengthLessThan: PropTypes.Requireable<number>;
73
- complement: PropTypes.Requireable<boolean>;
74
- }> | null | undefined)[]>;
75
- operations: PropTypes.Requireable<PropTypes.InferProps<{
76
- type: PropTypes.Requireable<string>;
77
- uiSchema: PropTypes.Validator<object>;
78
- }> | (PropTypes.InferProps<{
79
- type: PropTypes.Requireable<string>;
80
- uiSchema: PropTypes.Validator<object>;
81
- }> | null | undefined)[]>;
82
- }> | (PropTypes.InferProps<{
83
- rules: PropTypes.Requireable<string | PropTypes.InferProps<{
84
- container: PropTypes.Requireable<string>;
85
- field: PropTypes.Validator<string>;
86
- regexp: PropTypes.Requireable<string>;
87
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
88
- valueLengthLessThan: PropTypes.Requireable<number>;
89
- complement: PropTypes.Requireable<boolean>;
90
- }> | (string | PropTypes.InferProps<{
91
- container: PropTypes.Requireable<string>;
92
- field: PropTypes.Validator<string>;
93
- regexp: PropTypes.Requireable<string>;
94
- valueIn: PropTypes.Requireable<(string | null | undefined)[]>;
95
- valueLengthLessThan: PropTypes.Requireable<number>;
96
- complement: PropTypes.Requireable<boolean>;
97
- }> | null | undefined)[]>;
98
- operations: PropTypes.Requireable<PropTypes.InferProps<{
99
- type: PropTypes.Requireable<string>;
100
- uiSchema: PropTypes.Validator<object>;
101
- }> | (PropTypes.InferProps<{
102
- type: PropTypes.Requireable<string>;
103
- uiSchema: PropTypes.Validator<object>;
104
- }> | null | undefined)[]>;
105
- }> | null | undefined)[]>;
106
- cache: any;
107
- }>>;
108
- }>>;
109
- schema: PropTypes.Validator<PropTypes.InferProps<{
110
- type: PropTypes.Requireable<string>;
111
- }>>;
112
- };
113
- static getName(): string;
114
- constructor(props: any);
115
- constructor(props: any, context: any);
116
- cache: {};
117
- getStateFromProps(props: any): {
118
- uiSchema: any;
119
- };
120
- }
121
- export function computeUiSchema(uiSchema: any, operations: any, arrayMerge?: string): any;
122
- import * as PropTypes from "prop-types";
123
- import * as React from "react";
@@ -1,143 +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
- exports.computeUiSchema = exports.rulesPropType = exports.operationPropType = exports.rulePropType = void 0;
10
- const React = require("react");
11
- const PropTypes = require("prop-types");
12
- const VirtualSchemaField_1 = require("../VirtualSchemaField");
13
- const deepmerge = require("deepmerge");
14
- const utils_1 = require("../../utils");
15
- exports.rulePropType = PropTypes.oneOfType([
16
- PropTypes.shape({
17
- container: PropTypes.string,
18
- field: PropTypes.string.isRequired,
19
- regexp: PropTypes.string,
20
- valueIn: PropTypes.arrayOf(PropTypes.string),
21
- valueLengthLessThan: PropTypes.number,
22
- complement: PropTypes.bool
23
- }),
24
- PropTypes.oneOf(["isAdmin", "isEdit"])
25
- ]);
26
- exports.operationPropType = PropTypes.shape({
27
- type: PropTypes.oneOf(["merge", "wrap"]),
28
- uiSchema: PropTypes.object.isRequired,
29
- });
30
- exports.rulesPropType = PropTypes.oneOfType([
31
- exports.rulePropType,
32
- PropTypes.arrayOf(exports.rulePropType)
33
- ]);
34
- const casePropType = PropTypes.shape({
35
- rules: exports.rulesPropType,
36
- operations: PropTypes.oneOfType([
37
- exports.operationPropType,
38
- PropTypes.arrayOf(exports.operationPropType)
39
- ])
40
- });
41
- /**
42
- * Transforms uiSchema according to conditional cases. Cases are not mutually exclusive.
43
- * uiSchema = {"ui:options": {
44
- * cases: [
45
- * rules: [
46
- * {
47
- * regexp: The regexp that the field must match.
48
- * valueIn: An array that the field must be in.
49
- * field: The field that the rule is being checked on (can be a JSON pointer or a field name)
50
- * }
51
- * ],
52
- * operations: [ // All the operations are performed if all rules pass.
53
- * {
54
- * type: "merge" or "wrap" "replace". "merge" deeply merges the conditional uiSchema to the nested uiSchema.
55
- * "wrap" sets the nested uiSchema inside conditional uiSchema.
56
- * "replace" (default) replaces nested uiSchema with conditional uiSchema.
57
- * uiSchema: conditional uiSchema to use.
58
- * }
59
- * ],
60
- * else: [<same as operations>] // Operations performed if the rules do not pass.
61
- * cache: <boolean> true by default. If you know the cases will cache, set this to false.
62
- * There will be a performance penalty on valueIn rule, as they are not indexed without caching.
63
- * ]
64
- * }
65
- * uiSchema: nested uiSchema
66
- * }
67
- */
68
- let ConditionalUiSchemaField = class ConditionalUiSchemaField extends React.Component {
69
- constructor() {
70
- super(...arguments);
71
- this.cache = {};
72
- }
73
- static getName() { return "ConditionalUiSchemaField"; }
74
- getStateFromProps(props) {
75
- const { cases = [], cache = true, arrayMerge } = this.getUiOptions();
76
- const { uiSchema } = props;
77
- let computedUiSchema = uiSchema;
78
- (Array.isArray(cases) ? cases : [cases]).forEach(({ rules = [], operations = [], else: _else, arrayMerge: _arrayMerge }, idx) => {
79
- let passes;
80
- if (cache) {
81
- if (!this.cache[idx]) {
82
- this.cache[idx] = {};
83
- }
84
- const check = utils_1.checkRules(rules, props, this.cache[idx]);
85
- const { cache } = check;
86
- passes = check.passes;
87
- this.cache = cache;
88
- }
89
- else {
90
- passes = utils_1.checkRules(rules, props);
91
- }
92
- if (passes) {
93
- computedUiSchema = exports.computeUiSchema(computedUiSchema, operations, _arrayMerge || arrayMerge);
94
- }
95
- else if (_else) {
96
- computedUiSchema = exports.computeUiSchema(computedUiSchema, _else, _arrayMerge || arrayMerge);
97
- }
98
- });
99
- return { uiSchema: computedUiSchema };
100
- }
101
- };
102
- ConditionalUiSchemaField.propTypes = {
103
- uiSchema: PropTypes.shape({
104
- "ui:options": PropTypes.shape({
105
- cases: PropTypes.oneOfType([
106
- casePropType,
107
- PropTypes.arrayOf(casePropType)
108
- ]),
109
- cache: PropTypes.boolean
110
- })
111
- }),
112
- schema: PropTypes.shape({
113
- type: PropTypes.oneOf(["array", "object", "string", "integer", "number", "boolean"])
114
- }).isRequired,
115
- };
116
- ConditionalUiSchemaField = __decorate([
117
- VirtualSchemaField_1.default
118
- ], ConditionalUiSchemaField);
119
- exports.default = ConditionalUiSchemaField;
120
- const computeUiSchema = (uiSchema, operations, arrayMerge = "replace") => {
121
- if (!operations)
122
- return uiSchema;
123
- return (Array.isArray(operations) ? operations : [operations]).reduce((_uiSchema, op) => {
124
- switch (op.type) {
125
- case "merge":
126
- uiSchema = deepmerge(uiSchema, op.uiSchema, { arrayMerge: arrayMerge === "replace"
127
- ? (a1, a2) => a2
128
- : (a1, a2) => [...a1, ...a2] });
129
- break;
130
- case "wrap":
131
- uiSchema = Object.assign(Object.assign({}, op.uiSchema), { uiSchema });
132
- break;
133
- case "jsonPointer":
134
- uiSchema = utils_1.updateSafelyWithJSONPointer(uiSchema, op.value, op.pointer);
135
- break;
136
- case "replace":
137
- default:
138
- uiSchema = op.uiSchema;
139
- }
140
- return uiSchema;
141
- }, uiSchema);
142
- };
143
- exports.computeUiSchema = computeUiSchema;
@@ -1,24 +0,0 @@
1
- export function getInjectedUiSchema(uiSchema: any, injections: any, uiSchemaContext: any): any;
2
- export default class ContextInjectionField extends React.Component<any, any, any> {
3
- static propTypes: {
4
- uiSchema: PropTypes.Validator<PropTypes.InferProps<{
5
- "ui:options": PropTypes.Validator<PropTypes.InferProps<{
6
- injections: PropTypes.Validator<object>;
7
- target: PropTypes.Requireable<string>;
8
- }>>;
9
- uiSchema: PropTypes.Requireable<object>;
10
- }>>;
11
- formData: PropTypes.Requireable<string | number | boolean | object>;
12
- schema: PropTypes.Validator<PropTypes.InferProps<{
13
- type: PropTypes.Requireable<string>;
14
- }>>;
15
- };
16
- static getName(): string;
17
- constructor(props: any);
18
- constructor(props: any, context: any);
19
- getStateFromProps(props: any): {
20
- [x: number]: any;
21
- };
22
- }
23
- import * as React from "react";
24
- import * as PropTypes from "prop-types";
@@ -1,68 +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
- exports.getInjectedUiSchema = void 0;
10
- const React = require("react");
11
- const PropTypes = require("prop-types");
12
- const immutability_helper_1 = require("immutability-helper");
13
- const utils_1 = require("../../utils");
14
- const VirtualSchemaField_1 = require("../VirtualSchemaField");
15
- let ContextInjectionField = class ContextInjectionField extends React.Component {
16
- static getName() { return "ContextInjectionField"; }
17
- getStateFromProps(props) {
18
- const { injections, target = "uiSchema" } = this.getUiOptions();
19
- const container = props[target];
20
- return { [target]: getInjectedUiSchema(container, injections, props.formContext.uiSchemaContext) };
21
- }
22
- };
23
- ContextInjectionField.propTypes = {
24
- uiSchema: PropTypes.shape({
25
- "ui:options": PropTypes.shape({
26
- injections: PropTypes.object.isRequired,
27
- target: PropTypes.oneOf(["uiSchema", "schema"]),
28
- }).isRequired,
29
- uiSchema: PropTypes.object
30
- }).isRequired,
31
- formData: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string, PropTypes.number, PropTypes.bool]),
32
- schema: PropTypes.shape({
33
- type: PropTypes.oneOf(["array", "object", "string", "integer", "number", "boolean"])
34
- }).isRequired,
35
- };
36
- ContextInjectionField = __decorate([
37
- VirtualSchemaField_1.default
38
- ], ContextInjectionField);
39
- exports.default = ContextInjectionField;
40
- function getInjectedUiSchema(uiSchema, injections, uiSchemaContext) {
41
- let injected = false;
42
- const updateObject = {};
43
- for (let injectionPath in injections) {
44
- const splitted = injectionPath.substring(1).split("/");
45
- const last = splitted.pop();
46
- const tail = splitted.reduce((pointer, path) => {
47
- if (!pointer[path])
48
- pointer[path] = {};
49
- return pointer[path];
50
- }, updateObject);
51
- let value = injections[injectionPath];
52
- if (value.match(/%{.*}/)) {
53
- while (value.match(/%{.*}/)) {
54
- const [match, innerValue] = value.match(/%{(.*)}/);
55
- value = value.replace(match, utils_1.parseJSONPointer(uiSchemaContext, innerValue));
56
- }
57
- }
58
- else {
59
- value = utils_1.parseJSONPointer(uiSchemaContext, value);
60
- }
61
- tail[last] = { $set: value };
62
- injected = true;
63
- }
64
- if (injected)
65
- uiSchema = immutability_helper_1.default(uiSchema, updateObject);
66
- return uiSchema;
67
- }
68
- exports.getInjectedUiSchema = getInjectedUiSchema;
@@ -1,40 +0,0 @@
1
- /**
2
- * Enables leaking any prop to any other prop container.
3
- *
4
- * uiSchema = {"ui:options": {
5
- * props: [
6
- * {
7
- * from: If a regular string, a property to copy from formData. If a JSON pointer, the root will be this.props.
8
- * target: Target where to copy the 'from'. If a regular string, it will be copied to /uischema/ui:options. If a JSON pointer, the root will be this.props.
9
- * }
10
- */
11
- export default class DataLeakerField extends React.Component<any, any, any> {
12
- static propTypes: {
13
- uiSchema: PropTypes.Validator<PropTypes.InferProps<{
14
- "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
15
- props: PropTypes.Requireable<PropTypes.InferProps<{
16
- from: PropTypes.Validator<string>;
17
- fromArrayKey: PropTypes.Requireable<string>;
18
- target: PropTypes.Requireable<string>;
19
- joinArray: PropTypes.Requireable<boolean>;
20
- }> | (PropTypes.InferProps<{
21
- from: PropTypes.Validator<string>;
22
- fromArrayKey: PropTypes.Requireable<string>;
23
- target: PropTypes.Requireable<string>;
24
- joinArray: PropTypes.Requireable<boolean>;
25
- }> | null | undefined)[]>;
26
- }>>;
27
- uiSchema: PropTypes.Requireable<object>;
28
- }>>;
29
- schema: PropTypes.Validator<PropTypes.InferProps<{
30
- type: PropTypes.Requireable<string>;
31
- }>>;
32
- formData: PropTypes.Requireable<object>;
33
- };
34
- static getName(): string;
35
- constructor(props: any);
36
- constructor(props: any, context: any);
37
- getStateFromProps(props: any): any;
38
- }
39
- import * as React from "react";
40
- import * as PropTypes from "prop-types";
@@ -1,68 +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 VirtualSchemaField_1 = require("../VirtualSchemaField");
13
- const propsPropType = PropTypes.shape({
14
- from: PropTypes.string.isRequired,
15
- fromArrayKey: PropTypes.string,
16
- target: PropTypes.string,
17
- joinArray: PropTypes.bool
18
- });
19
- /**
20
- * Enables leaking any prop to any other prop container.
21
- *
22
- * uiSchema = {"ui:options": {
23
- * props: [
24
- * {
25
- * from: If a regular string, a property to copy from formData. If a JSON pointer, the root will be this.props.
26
- * target: Target where to copy the 'from'. If a regular string, it will be copied to /uischema/ui:options. If a JSON pointer, the root will be this.props.
27
- * }
28
- */
29
- let DataLeakerField = class DataLeakerField extends React.Component {
30
- static getName() { return "DataLeakerField"; }
31
- getStateFromProps(props) {
32
- const { props: _props = [] } = this.getUiOptions(props.uiSchema);
33
- return (Array.isArray(_props) ? _props : [_props]).reduce((props, strOrObjProp) => {
34
- const [fromPath, fromArrayKey, targetPath, joinArray] = ["from", "fromArrayKey", "target", "joinArray"]
35
- .map(p => strOrObjProp[p]);
36
- let from = fromPath[0] === "/"
37
- ? utils_1.parseJSONPointer(props, fromPath)
38
- : utils_1.parseJSONPointer(props.formData, fromPath);
39
- if (fromArrayKey) {
40
- from = (from || []).map(obj => obj[fromArrayKey]);
41
- }
42
- if (joinArray && Array.isArray(from)) {
43
- from = from.join(",");
44
- }
45
- const _targetPath = targetPath[0] === "/"
46
- ? targetPath
47
- : `/uiSchema/ui:options/${targetPath}`;
48
- props = utils_1.updateSafelyWithJSONPointer(props, from, _targetPath);
49
- return props;
50
- }, props);
51
- }
52
- };
53
- DataLeakerField.propTypes = {
54
- uiSchema: PropTypes.shape({
55
- "ui:options": PropTypes.shape({
56
- props: PropTypes.oneOfType([PropTypes.arrayOf(propsPropType), propsPropType])
57
- }),
58
- uiSchema: PropTypes.object
59
- }).isRequired,
60
- schema: PropTypes.shape({
61
- type: PropTypes.oneOf(["array", "object"])
62
- }).isRequired,
63
- formData: PropTypes.oneOfType([PropTypes.array, PropTypes.object])
64
- };
65
- DataLeakerField = __decorate([
66
- VirtualSchemaField_1.default
67
- ], DataLeakerField);
68
- exports.default = DataLeakerField;
@@ -1,34 +0,0 @@
1
- /**
2
- * Sets given default values to target fields.
3
- * uiSchema = { "ui:options": {
4
- * "default": [
5
- * {
6
- * field1: defaultValue1,
7
- * field2: defaultValue2
8
- * }
9
- * ...
10
- * ]
11
- * }}
12
- */
13
- export default class DefaultValueArrayField extends React.Component<any, any, any> {
14
- static propTypes: {
15
- uiSchema: PropTypes.Validator<PropTypes.InferProps<{
16
- "ui:options": PropTypes.Validator<PropTypes.InferProps<{
17
- default: PropTypes.Validator<object>;
18
- }>>;
19
- }>>;
20
- schema: PropTypes.Validator<PropTypes.InferProps<{
21
- type: PropTypes.Requireable<string>;
22
- }>>;
23
- formData: PropTypes.Validator<any[]>;
24
- };
25
- static getName(): string;
26
- constructor(props: any);
27
- constructor(props: any, context: any);
28
- getStateFromProps(): {
29
- onChange: (formData: any) => void;
30
- };
31
- onChange: (formData: any) => void;
32
- }
33
- import * as React from "react";
34
- import * as PropTypes from "prop-types";
@@ -1,59 +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
- * Sets given default values to target fields.
15
- * uiSchema = { "ui:options": {
16
- * "default": [
17
- * {
18
- * field1: defaultValue1,
19
- * field2: defaultValue2
20
- * }
21
- * ...
22
- * ]
23
- * }}
24
- */
25
- let DefaultValueArrayField = class DefaultValueArrayField extends React.Component {
26
- constructor() {
27
- super(...arguments);
28
- this.onChange = (formData) => {
29
- const options = this.getUiOptions();
30
- const _default = options.default;
31
- Object.keys(_default).forEach(field => {
32
- if (formData)
33
- formData.forEach((item, i) => {
34
- formData = immutability_helper_1.default(formData, { $splice: [[i, 1, immutability_helper_1.default(item, { $merge: { [field]: _default[field] } })]] });
35
- });
36
- });
37
- this.props.onChange(formData);
38
- };
39
- }
40
- static getName() { return "DefaultValueArrayField"; }
41
- getStateFromProps() {
42
- return { onChange: this.onChange };
43
- }
44
- };
45
- DefaultValueArrayField.propTypes = {
46
- uiSchema: PropTypes.shape({
47
- "ui:options": PropTypes.shape({
48
- default: PropTypes.object.isRequired
49
- }).isRequired
50
- }).isRequired,
51
- schema: PropTypes.shape({
52
- type: PropTypes.oneOf(["array"])
53
- }).isRequired,
54
- formData: PropTypes.oneOfType([PropTypes.array]).isRequired
55
- };
56
- DefaultValueArrayField = __decorate([
57
- VirtualSchemaField_1.default
58
- ], DefaultValueArrayField);
59
- exports.default = DefaultValueArrayField;
@@ -1,38 +0,0 @@
1
- /**
2
- * Transforms an array field to o boolean field, where each value is true/false according to another array field.
3
- * Each value is true, if formData[booleanDefiner] == formData[booleanField].
4
- * uiSchema = { "ui:options": {
5
- * booleanField: <array field name>,
6
- * booleanDefiner: <array field name>,
7
- * uiSchema: <uiSchema> (uiSchema used for each object).
8
- * }}
9
- */
10
- export default class DependentBooleanField extends React.Component<any, any, any> {
11
- static propTypes: {
12
- uiSchema: PropTypes.Validator<PropTypes.InferProps<{
13
- "ui:options": PropTypes.Validator<PropTypes.InferProps<{
14
- booleanField: PropTypes.Validator<string>;
15
- booleanDefiner: PropTypes.Validator<string>;
16
- }>>;
17
- uiSchema: PropTypes.Requireable<object>;
18
- }>>;
19
- schema: PropTypes.Validator<PropTypes.InferProps<{
20
- type: PropTypes.Requireable<string>;
21
- }>>;
22
- formData: PropTypes.Validator<object>;
23
- };
24
- static getName(): string;
25
- constructor(props: any);
26
- constructor(props: any, context: any);
27
- getStateFromProps(props: any): {
28
- schema: any;
29
- uiSchema: any;
30
- formData: any;
31
- onChange: (formData: any) => void;
32
- };
33
- onChange: (formData: any) => void;
34
- getDictionarifiedFormData: (formData: any, field: any) => {};
35
- getDictionarifiedBooleanFieldData: (formData: any) => {};
36
- }
37
- import * as React from "react";
38
- import * as PropTypes from "prop-types";