Skip to content
This repository was archived by the owner on Jun 1, 2020. It is now read-only.

Commit f07e8e2

Browse files
committed
Merge branch 'master' of github.com:cybertec-postgresql/rjsf-material-ui
2 parents 983f9e8 + 8b1f9c8 commit f07e8e2

File tree

6 files changed

+145
-213
lines changed

6 files changed

+145
-213
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"react-dom": "^16.8.6",
4040
"react-jsonschema-form": "^1.6.1",
4141
"rimraf": "^3.0.0",
42-
"tsdx": "^0.10.5",
42+
"tsdx": "^0.11.0",
4343
"tslib": "^1.10.0",
4444
"typescript": "^3.5.3"
4545
},

src/EmailWidget/EmailWidget.tsx

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import React from 'react';
2+
3+
import FormControl from '@material-ui/core/FormControl';
4+
import TextField from '@material-ui/core/TextField';
5+
6+
import { WidgetProps } from 'react-jsonschema-form';
7+
8+
const EmailWidget = ({
9+
id,
10+
required,
11+
readonly,
12+
disabled,
13+
label,
14+
value,
15+
onChange,
16+
onBlur,
17+
onFocus,
18+
autofocus,
19+
options,
20+
schema,
21+
}: WidgetProps) => {
22+
const _onChange = ({
23+
target: { value },
24+
}: React.ChangeEvent<HTMLInputElement>) =>
25+
onChange(value === '' ? options.emptyValue : value);
26+
const _onBlur = ({ target: { value } }: React.FocusEvent<HTMLInputElement>) =>
27+
onBlur(id, value);
28+
const _onFocus = ({
29+
target: { value },
30+
}: React.FocusEvent<HTMLInputElement>) => onFocus(id, value);
31+
32+
return (
33+
<FormControl
34+
fullWidth={true}
35+
//error={!!rawErrors}
36+
required={required}
37+
>
38+
<TextField
39+
id={id}
40+
label={label || schema.title}
41+
autoFocus={autofocus}
42+
required={required}
43+
disabled={disabled || readonly}
44+
type="email"
45+
value={value ? value : ''}
46+
onChange={_onChange}
47+
onBlur={_onBlur}
48+
onFocus={_onFocus}
49+
/>
50+
</FormControl>
51+
);
52+
};
53+
54+
export default EmailWidget;

src/EmailWidget/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { default } from './EmailWidget';
2+
export * from './EmailWidget';

src/TextWidget/TextWidget.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const TextWidget = ({
4141
autoFocus={autofocus}
4242
required={required}
4343
disabled={disabled || readonly}
44-
type={schema.type as string}
44+
type="text"
4545
value={value ? value : ''}
4646
onChange={_onChange}
4747
onBlur={_onBlur}

src/Widgets/Widgets.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import SelectWidget from '../SelectWidget/SelectWidget';
77
import TextareaWidget from '../TextareaWidget/TextareaWidget';
88
import TextWidget from '../TextWidget/TextWidget';
99
import UpDownWidget from '../UpDownWidget/UpDownWidget';
10+
import EmailWidget from '../EmailWidget/EmailWidget';
1011

1112
export default {
1213
CheckboxWidget,
@@ -18,4 +19,5 @@ export default {
1819
TextareaWidget,
1920
TextWidget,
2021
UpDownWidget,
22+
EmailWidget,
2123
};

0 commit comments

Comments
 (0)