@scenid/react-formulator 0.1.8 → 0.1.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scenid/react-formulator",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "repository": "https://dennykoch@bitbucket.org/scenid/react-formulator.git",
@@ -47,7 +47,6 @@
47
47
  "babel-loader": "^8.2.5",
48
48
  "classnames": "^2.3.1",
49
49
  "cross-env": "^7.0.3",
50
- "deep-equal": "^2.0.5",
51
50
  "eslint": "^7.11.0",
52
51
  "eslint-config-airbnb": "^18.0.1",
53
52
  "eslint-formatter-pretty": "^2.1.1",
@@ -60,6 +59,7 @@
60
59
  "eslint-plugin-react": "^7.6.1",
61
60
  "eslint-plugin-react-hooks": "^2.3.0",
62
61
  "eventemitter3": "^4.0.7",
62
+ "fast-deep-equal": "^3.1.3",
63
63
  "micromustache": "^8.0.3",
64
64
  "prop-types": "^15.8.1",
65
65
  "react": "16.11.0",
@@ -2,7 +2,7 @@ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import cx from 'classnames'
4
4
 
5
- import isEqual from 'deep-equal'
5
+ import isEqual from 'fast-deep-equal'
6
6
 
7
7
  import {
8
8
  FormControl,
@@ -220,4 +220,4 @@ FormField.propTypes = {
220
220
  onChange: PropTypes.func.isRequired
221
221
  }
222
222
 
223
- export default React.memo(FormField, (prevProps, nextProps) => isEqual(prevProps, nextProps, { strict: true }))
223
+ export default React.memo(FormField, (prevProps, nextProps) => isEqual(prevProps, nextProps))
@@ -18,6 +18,7 @@ const FormSelect = ({ options, required, ...props }) => {
18
18
  return (
19
19
  <TextField
20
20
  select
21
+ required={required}
21
22
  {...props}
22
23
  >
23
24
  {
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types'
3
3
 
4
4
  import EventEmitter from 'eventemitter3'
5
5
  import { validate as validator } from '@scenid/formulator'
6
- import isEqual from 'deep-equal'
6
+ import isEqual from 'fast-deep-equal'
7
7
 
8
8
  import { render as mm } from 'micromustache'
9
9
 
@@ -82,6 +82,7 @@ class FormulatorFormSection extends React.Component {
82
82
  })
83
83
  } else {
84
84
  field = fieldEntry[0]
85
+ if (!fieldEntry[1]) throw new Error(`field "${field}" is defined in an array, but has no props definition`)
85
86
  specialProps = fieldEntry[1]
86
87
  }
87
88
  }
@@ -141,22 +141,24 @@ RLP.args = {
141
141
  schema: schemas.rlp.validation,
142
142
  renderSchema: schemas.rlp.render,
143
143
  inputVariant: 'filled',
144
- textAlign: 'center',
144
+ textAlign: 'left',
145
145
  translations: schemas.rlp.translations,
146
146
  errorMessages: {
147
- "required": "Pflichtfeld",
148
- "IBAN": "IBAN bitte ohne Sonder- und Trennzeichen angeben",
149
- "Int": "Bitte geben Sie ein gültige Zahl ein",
150
- "URL": "Ungültiger Link",
151
- "Email": "Ungültige E-Mail Adresse",
152
- "Date": "Ungültiges Datum",
153
- "Length": "Länge muss zwischen {{min}} und {{max}} liegen",
154
- "RegExp": "Ungültiges Format oder Zeichen",
155
- "invalid-email": "Ungültige E-Mail Adresse",
156
- "invalid-phone": "Ungültige Telefonnummer",
157
- "invalid-fax": "Ungültige Faxnummer"
147
+ required: 'Pflichtfeld',
148
+ IBAN: 'IBAN bitte ohne Sonder- und Trennzeichen angeben',
149
+ Int: 'Bitte geben Sie ein gültige Zahl ein',
150
+ URL: "Ungültiger Link",
151
+ Email: "Ungültige E-Mail Adresse",
152
+ Date: "Ungültiges Datum",
153
+ Length: "Länge muss zwischen {{min}} und {{max}} liegen",
154
+ RegExp: "Ungültiges Format oder Zeichen",
155
+ 'invalid-email': "Ungültige E-Mail Adresse",
156
+ 'invalid-phone': "Ungültige Telefonnummer",
157
+ 'invalid-fax': "Ungültige Faxnummer"
158
+ },
159
+ data: {
160
+ ouType: 'private-medical-practice'
158
161
  },
159
- data: {},
160
162
  renderComponentMap: {
161
163
  // contacts: <RoleContactsRepeater />,
162
164
  // reporterId: <FormUnique entityType="ou" />,
@@ -13,30 +13,15 @@
13
13
  "action": "copy"
14
14
  }
15
15
  ],
16
- [
17
- "legalForm",
18
- {
19
- "noPreselected": true
20
- }
21
- ]
16
+ "legalForm"
22
17
  ]
23
18
  },
24
19
  {
25
20
  "label": "Einrichtungsdetails",
26
21
  "id": "miscData",
27
22
  "fields": [
28
- [
29
- "medicalField",
30
- {
31
- "noPreselected": true
32
- }
33
- ],
34
- [
35
- "typeOfPractice",
36
- {
37
- "noPreselected": true
38
- }
39
- ],
23
+ "medicalField",
24
+ "typeOfPractice",
40
25
  "numTumorPatients",
41
26
  "openingHours",
42
27
  "website"
@@ -66,12 +51,7 @@
66
51
  "@@render",
67
52
  "bsnr"
68
53
  ],
69
- [
70
- "locationType",
71
- {
72
- "noPreselected": true
73
- }
74
- ],
54
+ "locationType",
75
55
  "creditorNumber"
76
56
  ]
77
57
  },
@@ -88,50 +68,15 @@
88
68
  "reportingPin",
89
69
  "reportingAuthCode",
90
70
  "hasPortalAccessTest",
91
- [
92
- "hasPortalTestGroup",
93
- {
94
- "noPreselected": true
95
- }
96
- ],
97
- [
98
- "hasPortalTestVersion",
99
- {
100
- "noPreselected": true
101
- }
102
- ],
71
+ "hasPortalTestGroup",
72
+ "hasPortalTestVersion",
103
73
  "hasPortalAccessProd",
104
- [
105
- "hasPortalProdGroup",
106
- {
107
- "noPreselected": true
108
- }
109
- ],
110
- [
111
- "hasPortalProdVersion",
112
- {
113
- "noPreselected": true
114
- }
115
- ],
116
- [
117
- "reportingChannel",
118
- {
119
- "noPreselected": true
120
- }
121
- ],
122
- [
123
- "reportingSoftware",
124
- {
125
- "noPreselected": true
126
- }
127
- ],
74
+ "hasPortalProdGroup",
75
+ "hasPortalProdVersion",
76
+ "reportingChannel",
77
+ "reportingSoftware",
128
78
  "reporterCertified",
129
- [
130
- "certifiedVersion",
131
- {
132
- "noPreselected": true
133
- }
134
- ]
79
+ "certifiedVersion"
135
80
  ]
136
81
  },
137
82
  {
@@ -139,19 +84,11 @@
139
84
  "id": "oncologyCenterData",
140
85
  "fields": [
141
86
  [
142
- "oncologyCenterType",
143
- {
144
- "noPreselected": true
145
- }
87
+ "oncologyCenterType"
146
88
  ],
147
89
  "oncologyCenterId",
148
90
  "isCertifiedOncologyCenter",
149
- [
150
- "oncologyCenterCertificate",
151
- {
152
- "noPreselected": true
153
- }
154
- ],
91
+ "oncologyCenterCertificate",
155
92
  "oncologyCenterDateCertified"
156
93
  ]
157
94
  },
@@ -175,12 +112,7 @@
175
112
  "id": "developerData",
176
113
  "fields": [
177
114
  "certified",
178
- [
179
- "products",
180
- {
181
- "noPreselected": true
182
- }
183
- ],
115
+ "products",
184
116
  "version"
185
117
  ]
186
118
  },
@@ -188,12 +120,7 @@
188
120
  "label": "Kostenträger",
189
121
  "id": "healthInsuranceData",
190
122
  "fields": [
191
- [
192
- "typeOfInsuranceCompany",
193
- {
194
- "noPreselected": true
195
- }
196
- ],
123
+ "typeOfInsuranceCompany",
197
124
  "debitNumber"
198
125
  ]
199
126
  },