@iobroker/adapter-react-v5 7.0.2 → 7.1.0

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 (307) hide show
  1. package/Components/404.d.ts +3 -2
  2. package/Components/404.js +3 -2
  3. package/Components/ColorPicker.d.ts +22 -8
  4. package/Components/ColorPicker.js +34 -17
  5. package/Components/ComplexCron.js +24 -24
  6. package/Components/CopyToClipboard.d.ts +10 -1
  7. package/Components/CopyToClipboard.js +17 -8
  8. package/Components/CustomModal.d.ts +1 -1
  9. package/Components/CustomModal.js +8 -8
  10. package/Components/FileBrowser.d.ts +11 -11
  11. package/Components/FileBrowser.js +135 -152
  12. package/Components/FileViewer.js +34 -23
  13. package/Components/Icon.d.ts +16 -2
  14. package/Components/Icon.js +19 -8
  15. package/Components/IconPicker.js +10 -14
  16. package/Components/IconSelector.d.ts +1 -1
  17. package/Components/IconSelector.js +64 -74
  18. package/Components/Image.d.ts +8 -4
  19. package/Components/Image.js +13 -32
  20. package/Components/Loader.d.ts +2 -2
  21. package/Components/Loader.js +21 -18
  22. package/Components/Loaders/MV.d.ts +6 -1
  23. package/Components/Loaders/MV.js +23 -7
  24. package/Components/Loaders/PT.d.ts +7 -2
  25. package/Components/Loaders/PT.js +20 -7
  26. package/Components/Loaders/Vendor.d.ts +2 -2
  27. package/Components/Loaders/Vendor.js +15 -7
  28. package/Components/Logo.js +16 -18
  29. package/Components/MDUtils.d.ts +1 -1
  30. package/Components/MDUtils.js +8 -4
  31. package/Components/ObjectBrowser.d.ts +40 -39
  32. package/Components/ObjectBrowser.js +550 -435
  33. package/Components/Router.d.ts +1 -3
  34. package/Components/Router.js +3 -1
  35. package/Components/SaveCloseButtons.d.ts +3 -3
  36. package/Components/SaveCloseButtons.js +3 -3
  37. package/Components/Schedule.d.ts +15 -15
  38. package/Components/Schedule.js +177 -154
  39. package/Components/SelectWithIcon.d.ts +2 -2
  40. package/Components/SelectWithIcon.js +45 -34
  41. package/Components/SimpleCron/index.js +83 -43
  42. package/Components/TabContainer.js +2 -2
  43. package/Components/TabContent.js +1 -1
  44. package/Components/TabHeader.js +1 -1
  45. package/Components/TableResize.d.ts +2 -2
  46. package/Components/TableResize.js +5 -5
  47. package/Components/TextWithIcon.d.ts +1 -1
  48. package/Components/TextWithIcon.js +10 -8
  49. package/Components/ToggleThemeMenu.d.ts +2 -2
  50. package/Components/ToggleThemeMenu.js +3 -3
  51. package/Components/TreeTable.d.ts +18 -18
  52. package/Components/TreeTable.js +76 -72
  53. package/Components/UploadImage.d.ts +2 -2
  54. package/Components/UploadImage.js +25 -21
  55. package/Components/Utils.d.ts +42 -22
  56. package/Components/Utils.js +66 -65
  57. package/Components/withWidth.d.ts +2 -2
  58. package/Components/withWidth.js +10 -6
  59. package/Dialogs/ComplexCron.d.ts +2 -2
  60. package/Dialogs/ComplexCron.js +3 -3
  61. package/Dialogs/Confirm.d.ts +4 -4
  62. package/Dialogs/Confirm.js +18 -8
  63. package/Dialogs/Cron.d.ts +3 -3
  64. package/Dialogs/Cron.js +21 -17
  65. package/Dialogs/Error.d.ts +3 -3
  66. package/Dialogs/Error.js +6 -4
  67. package/Dialogs/Message.d.ts +3 -3
  68. package/Dialogs/Message.js +6 -4
  69. package/Dialogs/SelectFile.d.ts +4 -4
  70. package/Dialogs/SelectFile.js +6 -4
  71. package/Dialogs/SelectID.d.ts +12 -10
  72. package/Dialogs/SelectID.js +12 -8
  73. package/Dialogs/SimpleCron.d.ts +2 -2
  74. package/Dialogs/SimpleCron.js +2 -2
  75. package/Dialogs/TextInput.d.ts +2 -2
  76. package/Dialogs/TextInput.js +3 -3
  77. package/GenericApp.d.ts +19 -13
  78. package/GenericApp.js +128 -85
  79. package/LegacyConnection.d.ts +240 -248
  80. package/LegacyConnection.js +500 -525
  81. package/README.md +1234 -1170
  82. package/Theme.d.ts +1 -1
  83. package/Theme.js +9 -12
  84. package/assets/devices.json +1 -0
  85. package/assets/rooms.json +1 -0
  86. package/craco-module-federation.js +3 -12
  87. package/i18n/de.json +434 -434
  88. package/i18n/en.json +434 -434
  89. package/i18n/es.json +434 -434
  90. package/i18n/fr.json +434 -434
  91. package/i18n/it.json +434 -434
  92. package/i18n/nl.json +434 -434
  93. package/i18n/pl.json +434 -434
  94. package/i18n/pt.json +434 -434
  95. package/i18n/ru.json +434 -434
  96. package/i18n/uk.json +434 -434
  97. package/i18n/zh-cn.json +434 -434
  98. package/i18n.d.ts +26 -19
  99. package/i18n.js +28 -22
  100. package/icons/IconAdapter.js +2 -2
  101. package/icons/IconAlias.js +2 -2
  102. package/icons/IconChannel.js +2 -2
  103. package/icons/IconClearFilter.js +2 -2
  104. package/icons/IconClosed.js +2 -2
  105. package/icons/IconCopy.js +2 -2
  106. package/icons/IconDevice.js +2 -2
  107. package/icons/IconDocument.js +2 -2
  108. package/icons/IconDocumentReadOnly.js +2 -2
  109. package/icons/IconExpert.js +2 -2
  110. package/icons/IconFx.js +2 -2
  111. package/icons/IconInstance.js +2 -2
  112. package/icons/IconLogout.js +2 -2
  113. package/icons/IconNoIcon.js +2 -2
  114. package/icons/IconOpen.d.ts +2 -2
  115. package/icons/IconOpen.js +2 -2
  116. package/icons/IconProps.d.ts +4 -3
  117. package/icons/IconState.d.ts +2 -2
  118. package/icons/IconState.js +2 -2
  119. package/index.css +3 -2
  120. package/package.json +1 -1
  121. package/src/Components/404.tsx +32 -31
  122. package/src/Components/ColorPicker.tsx +142 -114
  123. package/src/Components/ComplexCron.tsx +174 -137
  124. package/src/Components/CopyToClipboard.tsx +22 -9
  125. package/src/Components/CustomModal.tsx +76 -69
  126. package/src/Components/FileBrowser.tsx +959 -852
  127. package/src/Components/FileViewer.tsx +146 -127
  128. package/src/Components/Icon.tsx +80 -52
  129. package/src/Components/IconPicker.tsx +83 -67
  130. package/src/Components/IconSelector.tsx +159 -141
  131. package/src/Components/Image.tsx +43 -26
  132. package/src/Components/Loader.tsx +56 -32
  133. package/src/Components/Logo.tsx +62 -52
  134. package/src/Components/MDUtils.tsx +10 -6
  135. package/src/Components/ObjectBrowser.tsx +3198 -2478
  136. package/src/Components/Router.tsx +11 -11
  137. package/src/Components/SaveCloseButtons.tsx +43 -39
  138. package/src/Components/Schedule.tsx +1091 -853
  139. package/src/Components/SelectWithIcon.tsx +135 -93
  140. package/src/Components/TabContainer.tsx +21 -19
  141. package/src/Components/TabContent.tsx +13 -12
  142. package/src/Components/TabHeader.tsx +10 -9
  143. package/src/Components/TableResize.tsx +52 -37
  144. package/src/Components/TextWithIcon.tsx +30 -19
  145. package/src/Components/ToggleThemeMenu.tsx +31 -13
  146. package/src/Components/TreeTable.tsx +468 -385
  147. package/src/Components/UploadImage.tsx +153 -121
  148. package/src/Components/Utils.tsx +135 -127
  149. package/src/Components/loader.css +40 -31
  150. package/src/Components/withWidth.tsx +23 -12
  151. package/src/Connection.tsx +1 -3
  152. package/src/Dialogs/ComplexCron.tsx +55 -61
  153. package/src/Dialogs/Confirm.tsx +88 -65
  154. package/src/Dialogs/Cron.tsx +122 -112
  155. package/src/Dialogs/Error.tsx +37 -42
  156. package/src/Dialogs/Message.tsx +39 -37
  157. package/src/Dialogs/SelectFile.tsx +95 -85
  158. package/src/Dialogs/SelectID.tsx +141 -129
  159. package/src/Dialogs/SimpleCron.tsx +44 -44
  160. package/src/Dialogs/TextInput.tsx +60 -68
  161. package/src/GenericApp.tsx +342 -242
  162. package/src/LegacyConnection.tsx +972 -842
  163. package/src/Prompt.tsx +3 -1
  164. package/src/Theme.tsx +19 -26
  165. package/src/icons/IconAdapter.tsx +16 -14
  166. package/src/icons/IconAlias.tsx +16 -14
  167. package/src/icons/IconChannel.tsx +55 -16
  168. package/src/icons/IconClearFilter.tsx +17 -15
  169. package/src/icons/IconClosed.tsx +16 -11
  170. package/src/icons/IconCopy.tsx +16 -11
  171. package/src/icons/IconDevice.tsx +121 -22
  172. package/src/icons/IconDocument.tsx +16 -11
  173. package/src/icons/IconDocumentReadOnly.tsx +21 -12
  174. package/src/icons/IconExpert.tsx +20 -12
  175. package/src/icons/IconFx.tsx +16 -14
  176. package/src/icons/IconInstance.tsx +16 -14
  177. package/src/icons/IconLogout.tsx +20 -18
  178. package/src/icons/IconNoIcon.tsx +16 -14
  179. package/src/icons/IconOpen.tsx +17 -12
  180. package/src/icons/IconProps.tsx +4 -3
  181. package/src/icons/IconState.tsx +34 -13
  182. package/src/index.css +3 -2
  183. package/tasks.js +91 -0
  184. package/types.d.ts +141 -0
  185. package/Components/Loaders/PT.css +0 -109
  186. package/Components/Loaders/Vendor.css +0 -13
  187. package/Components/loader.css +0 -222
  188. package/Components/types.d.ts +0 -82
  189. package/assets/devices/Alarm Systems.svg +0 -19
  190. package/assets/devices/Amplifier.svg +0 -22
  191. package/assets/devices/Awnings.svg +0 -5
  192. package/assets/devices/Battery Status.svg +0 -5
  193. package/assets/devices/Ceiling Spotlights.svg +0 -16
  194. package/assets/devices/Chandelier.svg +0 -7
  195. package/assets/devices/Climate.svg +0 -12
  196. package/assets/devices/Coffee Makers.svg +0 -6
  197. package/assets/devices/Cold Water.svg +0 -31
  198. package/assets/devices/Computer.svg +0 -21
  199. package/assets/devices/Consumption.svg +0 -8
  200. package/assets/devices/Curtains.svg +0 -43
  201. package/assets/devices/Dishwashers.svg +0 -12
  202. package/assets/devices/Doors.svg +0 -6
  203. package/assets/devices/Doorstep.svg +0 -35
  204. package/assets/devices/Dryer.svg +0 -14
  205. package/assets/devices/Fan.svg +0 -20
  206. package/assets/devices/Floor Lamps.svg +0 -5
  207. package/assets/devices/Garage Doors.svg +0 -9
  208. package/assets/devices/Gates.svg +0 -32
  209. package/assets/devices/Hairdryer.svg +0 -23
  210. package/assets/devices/Handle.svg +0 -6
  211. package/assets/devices/Hanging Lamps.svg +0 -9
  212. package/assets/devices/Heater.svg +0 -44
  213. package/assets/devices/Hoods.svg +0 -12
  214. package/assets/devices/Hot Water.svg +0 -10
  215. package/assets/devices/Humidity.svg +0 -41
  216. package/assets/devices/Iron.svg +0 -5
  217. package/assets/devices/Irrigation.svg +0 -23
  218. package/assets/devices/Led Strip.svg +0 -31
  219. package/assets/devices/Light.svg +0 -30
  220. package/assets/devices/Lightings.svg +0 -46
  221. package/assets/devices/Lock.svg +0 -19
  222. package/assets/devices/Louvre.svg +0 -7
  223. package/assets/devices/Mowing Machine.svg +0 -9
  224. package/assets/devices/Music.svg +0 -13
  225. package/assets/devices/Outdoor Blinds.svg +0 -7
  226. package/assets/devices/People.svg +0 -19
  227. package/assets/devices/Pool.svg +0 -8
  228. package/assets/devices/Power Consumption.svg +0 -13
  229. package/assets/devices/Printer.svg +0 -10
  230. package/assets/devices/Pump.svg +0 -10
  231. package/assets/devices/Receiver.svg +0 -19
  232. package/assets/devices/Sconces.svg +0 -10
  233. package/assets/devices/Security.svg +0 -34
  234. package/assets/devices/Shading.svg +0 -5
  235. package/assets/devices/Shutters.svg +0 -11
  236. package/assets/devices/SmokeDetector.svg +0 -13
  237. package/assets/devices/Sockets.svg +0 -13
  238. package/assets/devices/Speaker.svg +0 -35
  239. package/assets/devices/Stove.svg +0 -12
  240. package/assets/devices/Table Lamps.svg +0 -12
  241. package/assets/devices/Temperature Sensors.svg +0 -28
  242. package/assets/devices/Tv.svg +0 -8
  243. package/assets/devices/Vacuum Cleaner.svg +0 -16
  244. package/assets/devices/Ventilation.svg +0 -12
  245. package/assets/devices/Washing Machines.svg +0 -16
  246. package/assets/devices/Water Consumption.svg +0 -6
  247. package/assets/devices/Water Heater.svg +0 -8
  248. package/assets/devices/Water.svg +0 -40
  249. package/assets/devices/Weather.svg +0 -28
  250. package/assets/devices/Window.svg +0 -8
  251. package/assets/rooms/Anteroom.svg +0 -53
  252. package/assets/rooms/Attic.svg +0 -21
  253. package/assets/rooms/Balcony.svg +0 -13
  254. package/assets/rooms/Barn.svg +0 -6
  255. package/assets/rooms/Basement.svg +0 -5
  256. package/assets/rooms/Bathroom.svg +0 -38
  257. package/assets/rooms/Bedroom.svg +0 -5
  258. package/assets/rooms/Boiler Room.svg +0 -13
  259. package/assets/rooms/Carport.svg +0 -17
  260. package/assets/rooms/Cellar.svg +0 -89
  261. package/assets/rooms/Chamber.svg +0 -9
  262. package/assets/rooms/Corridor.svg +0 -53
  263. package/assets/rooms/Dining Area.svg +0 -37
  264. package/assets/rooms/Dining Room.svg +0 -37
  265. package/assets/rooms/Dining.svg +0 -37
  266. package/assets/rooms/Dressing Room.svg +0 -5
  267. package/assets/rooms/Driveway.svg +0 -15
  268. package/assets/rooms/Entrance.svg +0 -44
  269. package/assets/rooms/Equipment Room.svg +0 -15
  270. package/assets/rooms/Front Yard.svg +0 -64
  271. package/assets/rooms/Gallery.svg +0 -14
  272. package/assets/rooms/Garage.svg +0 -20
  273. package/assets/rooms/Garden.svg +0 -13
  274. package/assets/rooms/Ground Floor.svg +0 -95
  275. package/assets/rooms/Guest Bathroom.svg +0 -33
  276. package/assets/rooms/Guest Room.svg +0 -5
  277. package/assets/rooms/Gym.svg +0 -5
  278. package/assets/rooms/Hall.svg +0 -19
  279. package/assets/rooms/Home Theater.svg +0 -8
  280. package/assets/rooms/Kitchen.svg +0 -18
  281. package/assets/rooms/Laundry Room.svg +0 -12
  282. package/assets/rooms/Living Area.svg +0 -11
  283. package/assets/rooms/Living Room.svg +0 -10
  284. package/assets/rooms/Locker Room.svg +0 -17
  285. package/assets/rooms/Nursery.svg +0 -5
  286. package/assets/rooms/Office.svg +0 -8
  287. package/assets/rooms/Outdoors.svg +0 -7
  288. package/assets/rooms/Playroom.svg +0 -6
  289. package/assets/rooms/Pool.svg +0 -8
  290. package/assets/rooms/Rear Wall.svg +0 -30
  291. package/assets/rooms/Second Floor.svg +0 -95
  292. package/assets/rooms/Shed.svg +0 -16
  293. package/assets/rooms/Sleeping Area.svg +0 -22
  294. package/assets/rooms/Stairway.svg +0 -5
  295. package/assets/rooms/Stairwell.svg +0 -15
  296. package/assets/rooms/Storeroom.svg +0 -5
  297. package/assets/rooms/Summer House.svg +0 -27
  298. package/assets/rooms/Swimming Pool.svg +0 -21
  299. package/assets/rooms/Terrace.svg +0 -7
  300. package/assets/rooms/Toilet.svg +0 -10
  301. package/assets/rooms/Upstairs.svg +0 -6
  302. package/assets/rooms/Wardrobe.svg +0 -60
  303. package/assets/rooms/Washroom.svg +0 -20
  304. package/assets/rooms/Wc.svg +0 -10
  305. package/assets/rooms/Windscreen.svg +0 -60
  306. package/assets/rooms/Workshop.svg +0 -23
  307. package/assets/rooms/Workspace.svg +0 -8
@@ -1,16 +1,7 @@
1
- import React from 'react';
2
- import {
3
- Button,
4
- DialogTitle,
5
- DialogContent,
6
- DialogActions,
7
- Dialog,
8
- } from '@mui/material';
1
+ import React, { type JSX } from 'react';
2
+ import { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';
9
3
 
10
- import {
11
- Check as IconOk,
12
- Cancel as IconCancel,
13
- } from '@mui/icons-material';
4
+ import { Check as IconOk, Cancel as IconCancel } from '@mui/icons-material';
14
5
 
15
6
  import SimpleCron from '../Components/SimpleCron';
16
7
 
@@ -51,49 +42,58 @@ class DialogSimpleCron extends React.Component<DialogCronProps, DialogCronState>
51
42
  }
52
43
  }
53
44
 
54
- this.state = {
45
+ this.state = {
55
46
  cron,
56
47
  };
57
48
  }
58
49
 
59
- handleCancel() {
50
+ handleCancel(): void {
60
51
  this.props.onClose();
61
52
  }
62
53
 
63
- handleOk() {
54
+ handleOk(): void {
64
55
  this.props.onOk(this.state.cron);
65
56
  this.props.onClose();
66
57
  }
67
58
 
68
- render() {
69
- return <Dialog
70
- onClose={() => {}}
71
- maxWidth="md"
72
- fullWidth
73
- sx={{ '& .MuiDialog-paper': styles.dialogPaper }}
74
- open={!0}
75
- aria-labelledby="cron-dialog-title"
76
- >
77
- <DialogTitle id="cron-dialog-title">{this.props.title || I18n.t('ra_Define CRON...')}</DialogTitle>
78
- <DialogContent style={{ height: '100%', overflow: 'hidden' }}>
79
- <SimpleCron
80
- cronExpression={this.state.cron}
81
- onChange={cron => this.setState({ cron })}
82
- language={I18n.getLanguage()}
83
- />
84
- </DialogContent>
85
- <DialogActions>
86
- <Button variant="contained" onClick={() => this.handleOk()} color="primary" startIcon={<IconOk />}>{this.props.ok || I18n.t('ra_Ok')}</Button>
87
- <Button
88
- variant="contained"
89
- onClick={() => this.handleCancel()}
90
- color="grey"
91
- startIcon={<IconCancel />}
92
- >
93
- {this.props.cancel || I18n.t('ra_Cancel')}
94
- </Button>
95
- </DialogActions>
96
- </Dialog>;
59
+ render(): JSX.Element {
60
+ return (
61
+ <Dialog
62
+ onClose={() => {}}
63
+ maxWidth="md"
64
+ fullWidth
65
+ sx={{ '& .MuiDialog-paper': styles.dialogPaper }}
66
+ open={!0}
67
+ aria-labelledby="cron-dialog-title"
68
+ >
69
+ <DialogTitle id="cron-dialog-title">{this.props.title || I18n.t('ra_Define CRON...')}</DialogTitle>
70
+ <DialogContent style={{ height: '100%', overflow: 'hidden' }}>
71
+ <SimpleCron
72
+ cronExpression={this.state.cron}
73
+ onChange={cron => this.setState({ cron })}
74
+ language={I18n.getLanguage()}
75
+ />
76
+ </DialogContent>
77
+ <DialogActions>
78
+ <Button
79
+ variant="contained"
80
+ onClick={() => this.handleOk()}
81
+ color="primary"
82
+ startIcon={<IconOk />}
83
+ >
84
+ {this.props.ok || I18n.t('ra_Ok')}
85
+ </Button>
86
+ <Button
87
+ variant="contained"
88
+ onClick={() => this.handleCancel()}
89
+ color="grey"
90
+ startIcon={<IconCancel />}
91
+ >
92
+ {this.props.cancel || I18n.t('ra_Cancel')}
93
+ </Button>
94
+ </DialogActions>
95
+ </Dialog>
96
+ );
97
97
  }
98
98
  }
99
99
 
@@ -1,14 +1,6 @@
1
- import React from 'react';
1
+ import React, { type JSX } from 'react';
2
2
 
3
- import {
4
- Button,
5
- TextField,
6
- Dialog,
7
- DialogActions,
8
- DialogContent,
9
- DialogContentText,
10
- DialogTitle,
11
- } from '@mui/material';
3
+ import { Button, TextField, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';
12
4
 
13
5
  import { Close as IconClose, Check as IconCheck } from '@mui/icons-material';
14
6
 
@@ -35,73 +27,73 @@ interface TextInputProps {
35
27
  rule?: (text: string) => string;
36
28
  /** The type of the textbox (default: text) */
37
29
  type?: 'text' | 'number' | 'password' | 'email';
38
- /** The intial input value when opening the dialog */
30
+ /** The initial input value when opening the dialog */
39
31
  value?: string;
40
32
  /** @deprecated Use value. The input when opening the dialog */
41
33
  input?: string;
42
34
  /** If true, the dialog will be full width */
43
35
  fullWidth?: boolean;
44
36
  }
45
- function TextInput(props: TextInputProps) {
37
+ function TextInput(props: TextInputProps): JSX.Element {
46
38
  const [text, setText] = React.useState<string>(props.input || props.value || '');
47
39
  const [error, setError] = React.useState<string | boolean>('');
48
- return <Dialog
49
- open={!0}
50
- onClose={() => props.onClose(null)}
51
- aria-labelledby="form-dialog-title"
52
- fullWidth={props.fullWidth !== undefined ? props.fullWidth : false}
53
- >
54
- <DialogTitle id="form-dialog-title">{props.titleText}</DialogTitle>
55
- <DialogContent>
56
- <DialogContentText>
57
- {props.promptText}
58
- </DialogContentText>
59
- <TextField
60
- variant="standard"
61
- autoFocus
62
- margin="dense"
63
- error={!!error}
64
- helperText={error === true || !error ? '' : error}
65
- value={text}
66
- label={props.labelText || ''}
67
- type={props.type || 'text'}
68
- onKeyUp={e => e.charCode === 13 && text && props.onClose(text)}
69
- onChange={e => {
70
- let _error: string | boolean = '';
71
- if (props.verify) {
72
- _error = !props.verify(e.target.value);
73
- }
40
+ return (
41
+ <Dialog
42
+ open={!0}
43
+ onClose={() => props.onClose(null)}
44
+ aria-labelledby="form-dialog-title"
45
+ fullWidth={props.fullWidth !== undefined ? props.fullWidth : false}
46
+ >
47
+ <DialogTitle id="form-dialog-title">{props.titleText}</DialogTitle>
48
+ <DialogContent>
49
+ <DialogContentText>{props.promptText}</DialogContentText>
50
+ <TextField
51
+ variant="standard"
52
+ autoFocus
53
+ margin="dense"
54
+ error={!!error}
55
+ helperText={error === true || !error ? '' : error}
56
+ value={text}
57
+ label={props.labelText || ''}
58
+ type={props.type || 'text'}
59
+ onKeyUp={e => e.code === 'Enter' && text && props.onClose(text)}
60
+ onChange={e => {
61
+ let _error: string | boolean = '';
62
+ if (props.verify) {
63
+ _error = !props.verify(e.target.value);
64
+ }
74
65
 
75
- if (props.rule) {
76
- setText(props.rule(e.target.value));
77
- } else {
78
- setText(e.target.value);
79
- }
80
- setError(_error);
81
- }}
82
- fullWidth
83
- />
84
- </DialogContent>
85
- <DialogActions>
86
- <Button
87
- variant="contained"
88
- disabled={!text || !!error}
89
- onClick={() => props.onClose(text)}
90
- color="primary"
91
- startIcon={<IconCheck />}
92
- >
93
- {props.applyText || I18n.t('ra_Ok')}
94
- </Button>
95
- <Button
96
- color="grey"
97
- variant="contained"
98
- onClick={() => props.onClose(null)}
99
- startIcon={<IconClose />}
100
- >
101
- {props.cancelText || I18n.t('ra_Cancel')}
102
- </Button>
103
- </DialogActions>
104
- </Dialog>;
66
+ if (props.rule) {
67
+ setText(props.rule(e.target.value));
68
+ } else {
69
+ setText(e.target.value);
70
+ }
71
+ setError(_error);
72
+ }}
73
+ fullWidth
74
+ />
75
+ </DialogContent>
76
+ <DialogActions>
77
+ <Button
78
+ variant="contained"
79
+ disabled={!text || !!error}
80
+ onClick={() => props.onClose(text)}
81
+ color="primary"
82
+ startIcon={<IconCheck />}
83
+ >
84
+ {props.applyText || I18n.t('ra_Ok')}
85
+ </Button>
86
+ <Button
87
+ color="grey"
88
+ variant="contained"
89
+ onClick={() => props.onClose(null)}
90
+ startIcon={<IconClose />}
91
+ >
92
+ {props.cancelText || I18n.t('ra_Cancel')}
93
+ </Button>
94
+ </DialogActions>
95
+ </Dialog>
96
+ );
105
97
  }
106
98
 
107
99
  export default withWidth()(TextInput);