(value, min, max, field, t)
| 9 | }; |
| 10 | |
| 11 | export function validateMinMax(value, min, max, field, t) { |
| 12 | let error; |
| 13 | |
| 14 | switch (true) { |
| 15 | case value !== '' && min !== false && max !== false && (value < min || value > max): |
| 16 | error = { |
| 17 | type: ValidationErrorTypes.RANGE, |
| 18 | message: t('editor.editorControlPane.widget.range', { |
| 19 | fieldLabel: field.get('label', field.get('name')), |
| 20 | minValue: min, |
| 21 | maxValue: max, |
| 22 | }), |
| 23 | }; |
| 24 | break; |
| 25 | case value !== '' && min !== false && value < min: |
| 26 | error = { |
| 27 | type: ValidationErrorTypes.RANGE, |
| 28 | message: t('editor.editorControlPane.widget.min', { |
| 29 | fieldLabel: field.get('label', field.get('name')), |
| 30 | minValue: min, |
| 31 | }), |
| 32 | }; |
| 33 | break; |
| 34 | case value !== '' && max !== false && value > max: |
| 35 | error = { |
| 36 | type: ValidationErrorTypes.RANGE, |
| 37 | message: t('editor.editorControlPane.widget.max', { |
| 38 | fieldLabel: field.get('label', field.get('name')), |
| 39 | maxValue: max, |
| 40 | }), |
| 41 | }; |
| 42 | break; |
| 43 | default: |
| 44 | error = null; |
| 45 | break; |
| 46 | } |
| 47 | |
| 48 | return error; |
| 49 | } |
| 50 | |
| 51 | export default class NumberControl extends React.Component { |
| 52 | static propTypes = { |
no test coverage detected