@iobroker/adapter-react-v5 0.0.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 (264) hide show
  1. package/Components/404.js +155 -0
  2. package/Components/404.js.map +1 -0
  3. package/Components/ColorPicker.js +313 -0
  4. package/Components/ColorPicker.js.map +1 -0
  5. package/Components/ComplexCron.js +606 -0
  6. package/Components/ComplexCron.js.map +1 -0
  7. package/Components/FileBrowser.js +2147 -0
  8. package/Components/FileBrowser.js.map +1 -0
  9. package/Components/FileViewer.js +245 -0
  10. package/Components/FileViewer.js.map +1 -0
  11. package/Components/Icon.js +234 -0
  12. package/Components/Icon.js.map +1 -0
  13. package/Components/IconPicker.js +188 -0
  14. package/Components/IconPicker.js.map +1 -0
  15. package/Components/IconSelector.js +337 -0
  16. package/Components/IconSelector.js.map +1 -0
  17. package/Components/Image.js +215 -0
  18. package/Components/Image.js.map +1 -0
  19. package/Components/Loader.js +134 -0
  20. package/Components/Loader.js.map +1 -0
  21. package/Components/Loaders/PT.css +109 -0
  22. package/Components/Loaders/PT.js +104 -0
  23. package/Components/Loaders/PT.js.map +1 -0
  24. package/Components/Loaders/Vendor.css +13 -0
  25. package/Components/Loaders/Vendor.js +108 -0
  26. package/Components/Loaders/Vendor.js.map +1 -0
  27. package/Components/Logo.js +230 -0
  28. package/Components/Logo.js.map +1 -0
  29. package/Components/MDUtils.js +141 -0
  30. package/Components/MDUtils.js.map +1 -0
  31. package/Components/ObjectBrowser.js +6119 -0
  32. package/Components/ObjectBrowser.js.map +1 -0
  33. package/Components/Router.js +152 -0
  34. package/Components/Router.js.map +1 -0
  35. package/Components/SaveCloseButtons.js +177 -0
  36. package/Components/SaveCloseButtons.js.map +1 -0
  37. package/Components/Schedule.js +1891 -0
  38. package/Components/Schedule.js.map +1 -0
  39. package/Components/SelectWithIcon.js +235 -0
  40. package/Components/SelectWithIcon.js.map +1 -0
  41. package/Components/SimpleCron/cron2text.js +563 -0
  42. package/Components/SimpleCron/cron2text.js.map +1 -0
  43. package/Components/SimpleCron/cronText.js +60 -0
  44. package/Components/SimpleCron/cronText.js.map +1 -0
  45. package/Components/SimpleCron/index.js +861 -0
  46. package/Components/SimpleCron/index.js.map +1 -0
  47. package/Components/SimpleCron/jquery.cron.locale.js +322 -0
  48. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -0
  49. package/Components/TabContainer.js +108 -0
  50. package/Components/TabContainer.js.map +1 -0
  51. package/Components/TabContent.js +96 -0
  52. package/Components/TabContent.js.map +1 -0
  53. package/Components/TabHeader.js +72 -0
  54. package/Components/TabHeader.js.map +1 -0
  55. package/Components/TextWithIcon.js +148 -0
  56. package/Components/TextWithIcon.js.map +1 -0
  57. package/Components/ToggleThemeMenu.js +49 -0
  58. package/Components/ToggleThemeMenu.js.map +1 -0
  59. package/Components/TreeTable.js +1030 -0
  60. package/Components/TreeTable.js.map +1 -0
  61. package/Components/Utils.js +1763 -0
  62. package/Components/Utils.js.map +1 -0
  63. package/Components/copy-to-clipboard.js +183 -0
  64. package/Components/copy-to-clipboard.js.map +1 -0
  65. package/Components/loader.css +222 -0
  66. package/Components/types.d.ts +121 -0
  67. package/Connection.js +3334 -0
  68. package/Connection.js.map +1 -0
  69. package/Dialogs/ComplexCron.js +193 -0
  70. package/Dialogs/ComplexCron.js.map +1 -0
  71. package/Dialogs/Confirm.js +211 -0
  72. package/Dialogs/Confirm.js.map +1 -0
  73. package/Dialogs/Cron.js +254 -0
  74. package/Dialogs/Cron.js.map +1 -0
  75. package/Dialogs/Error.js +137 -0
  76. package/Dialogs/Error.js.map +1 -0
  77. package/Dialogs/Message.js +118 -0
  78. package/Dialogs/Message.js.map +1 -0
  79. package/Dialogs/SelectID.js +313 -0
  80. package/Dialogs/SelectID.js.map +1 -0
  81. package/Dialogs/SimpleCron.js +177 -0
  82. package/Dialogs/SimpleCron.js.map +1 -0
  83. package/Dialogs/TextInput.js +194 -0
  84. package/Dialogs/TextInput.js.map +1 -0
  85. package/GenericApp.js +1022 -0
  86. package/GenericApp.js.map +1 -0
  87. package/LICENSE +22 -0
  88. package/Prompt.js +21 -0
  89. package/Prompt.js.map +1 -0
  90. package/README.md +645 -0
  91. package/Theme.js +422 -0
  92. package/Theme.js.map +1 -0
  93. package/assets/devices/Alarm Systems.svg +19 -0
  94. package/assets/devices/Amplifier.svg +22 -0
  95. package/assets/devices/Awnings.svg +5 -0
  96. package/assets/devices/Battery Status.svg +5 -0
  97. package/assets/devices/Ceiling Spotlights.svg +16 -0
  98. package/assets/devices/Chandelier.svg +7 -0
  99. package/assets/devices/Climate.svg +12 -0
  100. package/assets/devices/Coffee Makers.svg +6 -0
  101. package/assets/devices/Cold Water.svg +31 -0
  102. package/assets/devices/Computer.svg +21 -0
  103. package/assets/devices/Consumption.svg +8 -0
  104. package/assets/devices/Curtains.svg +43 -0
  105. package/assets/devices/Dishwashers.svg +12 -0
  106. package/assets/devices/Doors.svg +6 -0
  107. package/assets/devices/Doorstep.svg +35 -0
  108. package/assets/devices/Dryer.svg +14 -0
  109. package/assets/devices/Fan.svg +20 -0
  110. package/assets/devices/Floor Lamps.svg +5 -0
  111. package/assets/devices/Garage Doors.svg +9 -0
  112. package/assets/devices/Gates.svg +32 -0
  113. package/assets/devices/Hairdryer.svg +23 -0
  114. package/assets/devices/Handle.svg +6 -0
  115. package/assets/devices/Hanging Lamps.svg +9 -0
  116. package/assets/devices/Heater.svg +44 -0
  117. package/assets/devices/Hoods.svg +12 -0
  118. package/assets/devices/Hot Water.svg +10 -0
  119. package/assets/devices/Humidity.svg +41 -0
  120. package/assets/devices/Iron.svg +5 -0
  121. package/assets/devices/Irrigation.svg +42 -0
  122. package/assets/devices/Led Strip.svg +31 -0
  123. package/assets/devices/Light.svg +30 -0
  124. package/assets/devices/Lightings.svg +46 -0
  125. package/assets/devices/Lock.svg +19 -0
  126. package/assets/devices/Louvre.svg +7 -0
  127. package/assets/devices/Mowing Machine.svg +9 -0
  128. package/assets/devices/Music.svg +13 -0
  129. package/assets/devices/Outdoor Blinds.svg +7 -0
  130. package/assets/devices/People.svg +19 -0
  131. package/assets/devices/Pool.svg +8 -0
  132. package/assets/devices/Power Consumption.svg +13 -0
  133. package/assets/devices/Printer.svg +10 -0
  134. package/assets/devices/Pump.svg +10 -0
  135. package/assets/devices/Receiver.svg +19 -0
  136. package/assets/devices/Sconces.svg +10 -0
  137. package/assets/devices/Security.svg +34 -0
  138. package/assets/devices/Shading.svg +5 -0
  139. package/assets/devices/Shutters.svg +11 -0
  140. package/assets/devices/SmokeDetector.svg +13 -0
  141. package/assets/devices/Sockets.svg +13 -0
  142. package/assets/devices/Speaker.svg +35 -0
  143. package/assets/devices/Stove.svg +12 -0
  144. package/assets/devices/Table Lamps.svg +12 -0
  145. package/assets/devices/Temperature Sensors.svg +28 -0
  146. package/assets/devices/Tv.svg +8 -0
  147. package/assets/devices/Vacuum Cleaner.svg +16 -0
  148. package/assets/devices/Ventilation.svg +12 -0
  149. package/assets/devices/Washing Machines.svg +16 -0
  150. package/assets/devices/Water Consumption.svg +6 -0
  151. package/assets/devices/Water Heater.svg +8 -0
  152. package/assets/devices/Water.svg +40 -0
  153. package/assets/devices/Weather.svg +28 -0
  154. package/assets/devices/Window.svg +8 -0
  155. package/assets/devices/list.json +994 -0
  156. package/assets/devices/names.txt +63 -0
  157. package/assets/devices/parseNames.js +34 -0
  158. package/assets/lamp_ceiling.svg +9 -0
  159. package/assets/lamp_table.svg +8 -0
  160. package/assets/no_icon.svg +9 -0
  161. package/assets/rooms/Anteroom.svg +53 -0
  162. package/assets/rooms/Attic.svg +21 -0
  163. package/assets/rooms/Balcony.svg +13 -0
  164. package/assets/rooms/Barn.svg +6 -0
  165. package/assets/rooms/Basement.svg +5 -0
  166. package/assets/rooms/Bathroom.svg +38 -0
  167. package/assets/rooms/Bedroom.svg +5 -0
  168. package/assets/rooms/Boiler Room.svg +13 -0
  169. package/assets/rooms/Carport.svg +17 -0
  170. package/assets/rooms/Cellar.svg +89 -0
  171. package/assets/rooms/Chamber.svg +9 -0
  172. package/assets/rooms/Corridor.svg +53 -0
  173. package/assets/rooms/Dining Area.svg +37 -0
  174. package/assets/rooms/Dining Room.svg +37 -0
  175. package/assets/rooms/Dining.svg +37 -0
  176. package/assets/rooms/Dressing Room.svg +5 -0
  177. package/assets/rooms/Driveway.svg +15 -0
  178. package/assets/rooms/Entrance.svg +44 -0
  179. package/assets/rooms/Equipment Room.svg +15 -0
  180. package/assets/rooms/Front Yard.svg +64 -0
  181. package/assets/rooms/Gallery.svg +14 -0
  182. package/assets/rooms/Garage.svg +20 -0
  183. package/assets/rooms/Garden.svg +13 -0
  184. package/assets/rooms/Ground Floor.svg +95 -0
  185. package/assets/rooms/Guest Bathroom.svg +33 -0
  186. package/assets/rooms/Guest Room.svg +5 -0
  187. package/assets/rooms/Gym.svg +5 -0
  188. package/assets/rooms/Hall.svg +19 -0
  189. package/assets/rooms/Home Theater.svg +8 -0
  190. package/assets/rooms/Kitchen.svg +18 -0
  191. package/assets/rooms/Laundry Room.svg +12 -0
  192. package/assets/rooms/Living Area.svg +11 -0
  193. package/assets/rooms/Living Room.svg +10 -0
  194. package/assets/rooms/Locker Room.svg +17 -0
  195. package/assets/rooms/Nursery.svg +5 -0
  196. package/assets/rooms/Office.svg +8 -0
  197. package/assets/rooms/Outdoors.svg +7 -0
  198. package/assets/rooms/Playroom.svg +6 -0
  199. package/assets/rooms/Pool.svg +8 -0
  200. package/assets/rooms/Rear Wall.svg +30 -0
  201. package/assets/rooms/Second Floor.svg +95 -0
  202. package/assets/rooms/Shed.svg +16 -0
  203. package/assets/rooms/Sleeping Area.svg +22 -0
  204. package/assets/rooms/Stairway.svg +5 -0
  205. package/assets/rooms/Stairwell.svg +15 -0
  206. package/assets/rooms/Storeroom.svg +5 -0
  207. package/assets/rooms/Summer House.svg +27 -0
  208. package/assets/rooms/Swimming Pool.svg +21 -0
  209. package/assets/rooms/Terrace.svg +7 -0
  210. package/assets/rooms/Toilet.svg +10 -0
  211. package/assets/rooms/Upstairs.svg +6 -0
  212. package/assets/rooms/Wardrobe.svg +60 -0
  213. package/assets/rooms/Washroom.svg +20 -0
  214. package/assets/rooms/Wc.svg +10 -0
  215. package/assets/rooms/Windscreen.svg +60 -0
  216. package/assets/rooms/Workshop.svg +23 -0
  217. package/assets/rooms/Workspace.svg +8 -0
  218. package/assets/rooms/list.json +946 -0
  219. package/assets/rooms/names.txt +60 -0
  220. package/assets/rooms/parseNames.js +34 -0
  221. package/gulpfile.js +113 -0
  222. package/i18n/de.json +280 -0
  223. package/i18n/en.json +280 -0
  224. package/i18n/es.json +267 -0
  225. package/i18n/fr.json +267 -0
  226. package/i18n/it.json +267 -0
  227. package/i18n/nl.json +267 -0
  228. package/i18n/pl.json +267 -0
  229. package/i18n/pt.json +267 -0
  230. package/i18n/ru.json +280 -0
  231. package/i18n/zh-cn.json +267 -0
  232. package/i18n.js +171 -0
  233. package/i18n.js.map +1 -0
  234. package/icons/IconAdapter.js +39 -0
  235. package/icons/IconAdapter.js.map +1 -0
  236. package/icons/IconAlias.js +39 -0
  237. package/icons/IconAlias.js.map +1 -0
  238. package/icons/IconChannel.js +80 -0
  239. package/icons/IconChannel.js.map +1 -0
  240. package/icons/IconClearFilter.js +41 -0
  241. package/icons/IconClearFilter.js.map +1 -0
  242. package/icons/IconClosed.js +39 -0
  243. package/icons/IconClosed.js.map +1 -0
  244. package/icons/IconCopy.js +48 -0
  245. package/icons/IconCopy.js.map +1 -0
  246. package/icons/IconDevice.js +147 -0
  247. package/icons/IconDevice.js.map +1 -0
  248. package/icons/IconDocument.js +39 -0
  249. package/icons/IconDocument.js.map +1 -0
  250. package/icons/IconExpert.js +50 -0
  251. package/icons/IconExpert.js.map +1 -0
  252. package/icons/IconFx.js +39 -0
  253. package/icons/IconFx.js.map +1 -0
  254. package/icons/IconInstance.js +39 -0
  255. package/icons/IconInstance.js.map +1 -0
  256. package/icons/IconLogout.js +50 -0
  257. package/icons/IconLogout.js.map +1 -0
  258. package/icons/IconOpen.js +39 -0
  259. package/icons/IconOpen.js.map +1 -0
  260. package/icons/IconState.js +58 -0
  261. package/icons/IconState.js.map +1 -0
  262. package/index.css +55 -0
  263. package/package.json +42 -0
  264. package/types.d.ts +84 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ComplexCron.js"],"names":["styles","theme","headerID","fontWeight","fontStyle","radio","display","dialogPaper","height","DialogComplexCron","props","cron","replace","trim","state","onClose","onOk","paper","classes","title","I18n","t","overflow","setState","getLanguage","clearButton","handleClear","clear","handleOk","ok","handleCancel","cancel","React","Component","propTypes","PropTypes","object","func","isRequired","string","simple","bool","language"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\n\nimport IconOk from '@mui/icons-material/Check';\nimport IconCancel from '@mui/icons-material/Cancel';\nimport IconClear from '@mui/icons-material/Delete';\n\nimport ComplexCron from '../Components/ComplexCron';\n\nimport I18n from '../i18n';\n\n// Generate cron expression\nconst styles = theme => ({\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic'\n },\n radio: {\n display: 'inline-block'\n },\n dialogPaper: {\n height: 'calc(100% - 96px)'\n }\n});\n\nclass DialogComplexCron extends React.Component {\n constructor(props) {\n super(props);\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n cron,\n };\n }\n\n handleCancel() {\n this.props.onClose();\n }\n\n handleOk() {\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n handleClear() {\n this.props.onOk(false);\n this.props.onClose();\n }\n\n render() {\n return <Dialog\n onClose={() => {}}\n maxWidth=\"md\"\n fullWidth={true}\n classes={{paper: this.props.classes.dialogPaper}}\n open={true}\n aria-labelledby=\"cron-dialog-title\"\n >\n <DialogTitle id=\"cron-dialog-title\">{this.props.title || I18n.t('ra_Define schedule...')}</DialogTitle>\n <DialogContent style={{height: '100%', overflow: 'hidden'}}>\n <ComplexCron\n cronExpression={this.state.cron}\n onChange={cron => this.setState({cron})}\n language={I18n.getLanguage()}\n />\n </DialogContent>\n <DialogActions>\n {!!this.props.clearButton && <Button color=\"grey\" variant=\"contained\" onClick={() => this.handleClear()} startIcon={<IconClear />}>{this.props.clear || I18n.t('ra_Clear')}</Button>}\n <Button variant=\"contained\" onClick={() => this.handleOk()} color=\"primary\" startIcon={<IconOk />}>{this.props.ok || I18n.t('ra_Ok')}</Button>\n <Button color=\"grey\" variant=\"contained\" onClick={() => this.handleCancel()} startIcon={<IconCancel />}>{this.props.cancel || I18n.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogComplexCron.propTypes = {\n classes: PropTypes.object,\n onClose: PropTypes.func,\n onOk: PropTypes.func.isRequired,\n title: PropTypes.string,\n cron: PropTypes.string,\n cancel: PropTypes.string,\n ok: PropTypes.string,\n simple: PropTypes.bool,\n language: PropTypes.string,\n clearButton: PropTypes.bool,\n};\n\nexport default withStyles(styles)(DialogComplexCron);\n"],"file":"ComplexCron.js"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
15
+
16
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
17
+
18
+ var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
19
+
20
+ var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
21
+
22
+ var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
23
+
24
+ var _DialogContentText = _interopRequireDefault(require("@mui/material/DialogContentText"));
25
+
26
+ var _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
27
+
28
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
29
+
30
+ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
31
+
32
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
33
+
34
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
35
+
36
+ var _i18n = _interopRequireDefault(require("../i18n"));
37
+
38
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
39
+
40
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
41
+
42
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
43
+
44
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
45
+
46
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
47
+
48
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
49
+
50
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
51
+
52
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
53
+
54
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
55
+
56
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
+
58
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
+
60
+ var styles = {
61
+ suppress: {
62
+ fontSize: 12
63
+ },
64
+ suppressRoot: {
65
+ marginTop: 16
66
+ }
67
+ };
68
+ /**
69
+ * @typedef {object} DialogConfirmProps
70
+ * @property {string} [key] The key to identify this component.
71
+ * @property {string} [title] The dialog title; default: Are you sure? (translated)
72
+ * @property {string} text The dialog text.
73
+ * @property {string} [ok] The ok button text; default: OK (translated)
74
+ * @property {string} [cancel] The cancel button text; default: Cancel (translated)
75
+ * @property {string} [suppressQuestionMinutes] interval in minutes for which the confirm dialog will be suppressed if activated.
76
+ * @property {string} [suppressText] The suppress checkbox text; default: Suppress question for next %s minutes (translated)
77
+ * @property {string} [dialogName] Name of the dialog. Used only with suppressQuestionMinutes to store the user choice
78
+ * @property {(ok: boolean) => void} [onClose] Close handler.
79
+ *
80
+ * @extends {React.Component<DialogConfirmProps>}
81
+ */
82
+
83
+ var DialogConfirm = /*#__PURE__*/function (_React$Component) {
84
+ _inherits(DialogConfirm, _React$Component);
85
+
86
+ var _super = _createSuper(DialogConfirm);
87
+
88
+ function DialogConfirm(props) {
89
+ var _this;
90
+
91
+ _classCallCheck(this, DialogConfirm);
92
+
93
+ _this = _super.call(this, props);
94
+
95
+ if (!_this.props.dialogName && _this.props.suppressQuestionMinutes) {
96
+ throw new Error('dialogName required if suppressQuestionMinutes used');
97
+ }
98
+
99
+ var suppress = false;
100
+
101
+ if (_this.props.suppressQuestionMinutes) {
102
+ suppress = parseInt(window.localStorage.getItem(_this.props.dialogName), 10) || 0;
103
+
104
+ if (!suppress) {
105
+ suppress = false;
106
+ } else if (Date.now() > suppress) {
107
+ window.localStorage.removeItem(_this.props.dialogName);
108
+ suppress = false;
109
+ }
110
+ }
111
+
112
+ _this.state = {
113
+ suppress: suppress
114
+ };
115
+ return _this;
116
+ }
117
+
118
+ _createClass(DialogConfirm, [{
119
+ key: "handleOk",
120
+ value: function handleOk() {
121
+ if (this.state.suppress) {
122
+ window.localStorage.setItem(this.props.dialogName, Date.now() + this.props.suppressQuestionMinutes * 60000);
123
+ }
124
+
125
+ this.props.onClose && this.props.onClose(true);
126
+ }
127
+ }, {
128
+ key: "handleCancel",
129
+ value: function handleCancel() {
130
+ this.props.onClose && this.props.onClose(false);
131
+ }
132
+ }, {
133
+ key: "render",
134
+ value: function render() {
135
+ var _this2 = this;
136
+
137
+ if (typeof this.state.suppress === 'number') {
138
+ setTimeout(function () {
139
+ return _this2.props.onClose && _this2.props.onClose(true);
140
+ }, 100);
141
+ return null;
142
+ }
143
+
144
+ return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
145
+ open: true,
146
+ maxWidth: "md",
147
+ fullWidth: true,
148
+ onClose: function onClose(event, reason) {
149
+ if (reason !== 'backdropClick' && reason !== 'escapeKeyDown') {
150
+ _this2.handleCancel();
151
+ }
152
+ },
153
+ "aria-labelledby": "confirmation-dialog-title",
154
+ "aria-describedby": "confirmation-dialog-description"
155
+ }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
156
+ id: "confirmation-dialog-title"
157
+ }, this.props.title || _i18n["default"].t('ra_Are you sure?')), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], {
158
+ id: "confirmation-dialog-description"
159
+ }, this.props.icon || null, this.props.text, this.props.suppressQuestionMinutes ? /*#__PURE__*/_react["default"].createElement("br", null) : null, this.props.suppressQuestionMinutes ? /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
160
+ classes: {
161
+ label: this.props.classes.suppress,
162
+ root: this.props.classes.suppressRoot
163
+ },
164
+ control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
165
+ checked: !!this.state.suppress,
166
+ onChange: function onChange() {
167
+ return _this2.setState({
168
+ suppress: !_this2.state.suppress
169
+ });
170
+ }
171
+ }),
172
+ label: this.props.suppressText || _i18n["default"].t('ra_Suppress question for next %s minutes', this.props.suppressQuestionMinutes)
173
+ }) : null)), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
174
+ variant: "contained",
175
+ onClick: function onClick() {
176
+ return _this2.handleOk();
177
+ },
178
+ color: "primary",
179
+ autoFocus: true,
180
+ startIcon: /*#__PURE__*/_react["default"].createElement(_Check["default"], null)
181
+ }, this.props.ok || _i18n["default"].t('ra_Ok')), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
182
+ variant: "contained",
183
+ onClick: function onClick() {
184
+ return _this2.handleCancel();
185
+ },
186
+ color: "grey",
187
+ startIcon: /*#__PURE__*/_react["default"].createElement(_Close["default"], null)
188
+ }, this.props.cancel || _i18n["default"].t('ra_Cancel'))));
189
+ }
190
+ }]);
191
+
192
+ return DialogConfirm;
193
+ }(_react["default"].Component);
194
+
195
+ DialogConfirm.propTypes = {
196
+ onClose: _propTypes["default"].func,
197
+ title: _propTypes["default"].string,
198
+ text: _propTypes["default"].string,
199
+ ok: _propTypes["default"].string,
200
+ cancel: _propTypes["default"].string,
201
+ icon: _propTypes["default"].object,
202
+ suppressQuestionMinutes: _propTypes["default"].number,
203
+ suppressText: _propTypes["default"].string,
204
+ dialogName: _propTypes["default"].string
205
+ };
206
+
207
+ var _export = (0, _withStyles["default"])(styles)(DialogConfirm);
208
+
209
+ var _default = _export;
210
+ exports["default"] = _default;
211
+ //# sourceMappingURL=Confirm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Confirm.js"],"names":["styles","suppress","fontSize","suppressRoot","marginTop","DialogConfirm","props","dialogName","suppressQuestionMinutes","Error","parseInt","window","localStorage","getItem","Date","now","removeItem","state","setItem","onClose","setTimeout","event","reason","handleCancel","title","I18n","t","icon","text","label","classes","root","setState","suppressText","handleOk","ok","cancel","React","Component","propTypes","PropTypes","func","string","object","number","_export"],"mappings":"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","sourcesContent":["/**\n * Copyright 2019-2021 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport IconCheck from '@mui/icons-material/Check';\nimport IconClose from '@mui/icons-material/Close';\n\nimport I18n from '../i18n';\n\nconst styles = {\n suppress: {\n fontSize: 12,\n },\n suppressRoot: {\n marginTop: 16\n }\n};\n\n/**\n * @typedef {object} DialogConfirmProps\n * @property {string} [key] The key to identify this component.\n * @property {string} [title] The dialog title; default: Are you sure? (translated)\n * @property {string} text The dialog text.\n * @property {string} [ok] The ok button text; default: OK (translated)\n * @property {string} [cancel] The cancel button text; default: Cancel (translated)\n * @property {string} [suppressQuestionMinutes] interval in minutes for which the confirm dialog will be suppressed if activated.\n * @property {string} [suppressText] The suppress checkbox text; default: Suppress question for next %s minutes (translated)\n * @property {string} [dialogName] Name of the dialog. Used only with suppressQuestionMinutes to store the user choice\n * @property {(ok: boolean) => void} [onClose] Close handler.\n *\n * @extends {React.Component<DialogConfirmProps>}\n */\nclass DialogConfirm extends React.Component {\n constructor(props) {\n super(props);\n\n if (!this.props.dialogName && this.props.suppressQuestionMinutes) {\n throw new Error('dialogName required if suppressQuestionMinutes used');\n }\n let suppress = false;\n\n if (this.props.suppressQuestionMinutes) {\n suppress = parseInt(window.localStorage.getItem(this.props.dialogName), 10) || 0;\n\n if (!suppress) {\n suppress = false;\n } else if (Date.now() > suppress) {\n window.localStorage.removeItem(this.props.dialogName);\n suppress = false;\n }\n }\n\n this.state = {\n suppress,\n };\n }\n\n handleOk() {\n if (this.state.suppress) {\n window.localStorage.setItem(this.props.dialogName, Date.now() + this.props.suppressQuestionMinutes * 60000);\n }\n this.props.onClose && this.props.onClose(true);\n };\n\n handleCancel() {\n this.props.onClose && this.props.onClose(false);\n };\n\n render() {\n if (typeof this.state.suppress === 'number') {\n setTimeout(() => this.props.onClose && this.props.onClose(true), 100);\n return null;\n }\n\n return <Dialog\n open={true}\n maxWidth=\"md\"\n fullWidth={true}\n onClose={(event, reason) => {\n if (reason !== 'backdropClick' && reason !== 'escapeKeyDown') {\n this.handleCancel()\n }\n }}\n aria-labelledby=\"confirmation-dialog-title\"\n aria-describedby=\"confirmation-dialog-description\"\n >\n <DialogTitle id=\"confirmation-dialog-title\">{this.props.title || I18n.t('ra_Are you sure?')}</DialogTitle>\n <DialogContent>\n <DialogContentText id=\"confirmation-dialog-description\">\n {this.props.icon || null}\n {this.props.text}\n {this.props.suppressQuestionMinutes ? <br/> : null}\n {this.props.suppressQuestionMinutes ?\n <FormControlLabel\n classes={{label: this.props.classes.suppress, root: this.props.classes.suppressRoot}}\n control={<Checkbox checked={!!this.state.suppress} onChange={() => this.setState({suppress: !this.state.suppress})} />}\n label={this.props.suppressText || I18n.t('ra_Suppress question for next %s minutes', this.props.suppressQuestionMinutes)}\n /> :\n null}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => this.handleOk()} color=\"primary\" autoFocus startIcon={<IconCheck />}>{this.props.ok || I18n.t('ra_Ok')}</Button>\n <Button variant=\"contained\" onClick={() => this.handleCancel()} color=\"grey\" startIcon={<IconClose />}>{this.props.cancel || I18n.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogConfirm.propTypes = {\n onClose: PropTypes.func,\n title: PropTypes.string,\n text: PropTypes.string,\n ok: PropTypes.string,\n cancel: PropTypes.string,\n icon: PropTypes.object,\n suppressQuestionMinutes: PropTypes.number,\n suppressText: PropTypes.string,\n dialogName: PropTypes.string,\n};\n\nconst _export = withStyles(styles)(DialogConfirm);\nexport default _export;"],"file":"Confirm.js"}
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
13
+
14
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
15
+
16
+ var _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
17
+
18
+ var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
19
+
20
+ var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
21
+
22
+ var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
23
+
24
+ var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
25
+
26
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
27
+
28
+ var _Cancel = _interopRequireDefault(require("@mui/icons-material/Cancel"));
29
+
30
+ var _ComplexCron = _interopRequireDefault(require("../Components/ComplexCron"));
31
+
32
+ var _SimpleCron = _interopRequireDefault(require("../Components/SimpleCron"));
33
+
34
+ var _Schedule = _interopRequireDefault(require("../Components/Schedule"));
35
+
36
+ var _i18n = _interopRequireDefault(require("../i18n"));
37
+
38
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
39
+
40
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
41
+
42
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
+
44
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
45
+
46
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
47
+
48
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
49
+
50
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
51
+
52
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
53
+
54
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
55
+
56
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
57
+
58
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
59
+
60
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
61
+
62
+ // Generate cron expression
63
+ var styles = function styles(theme) {
64
+ return {
65
+ headerID: {
66
+ fontWeight: 'bold',
67
+ fontStyle: 'italic'
68
+ },
69
+ radio: {
70
+ display: 'inline-block'
71
+ },
72
+ dialogPaper: {
73
+ height: 'calc(100% - 96px)'
74
+ },
75
+ buttonIcon: {
76
+ marginRight: theme.spacing(1)
77
+ }
78
+ };
79
+ };
80
+
81
+ var DialogCron = /*#__PURE__*/function (_React$Component) {
82
+ _inherits(DialogCron, _React$Component);
83
+
84
+ var _super = _createSuper(DialogCron);
85
+
86
+ function DialogCron(props) {
87
+ var _this;
88
+
89
+ _classCallCheck(this, DialogCron);
90
+
91
+ _this = _super.call(this, props);
92
+ var cron;
93
+
94
+ if (_this.props.cron && typeof _this.props.cron === 'string' && _this.props.cron.replace(/^["']/, '')[0] !== '{') {
95
+ cron = _this.props.cron.replace(/['"]/g, '').trim();
96
+ } else {
97
+ cron = _this.props.cron || '{}';
98
+
99
+ if (typeof cron === 'string') {
100
+ cron = cron.replace(/^["']/, '').replace(/["']\n?$/, '');
101
+ }
102
+ }
103
+
104
+ _this.state = {
105
+ cron: cron,
106
+ mode: _this.props.simple ? 'simple' : _this.props.complex ? 'complex' : _typeof(cron) === 'object' || cron[0] === '{' ? 'wizard' : _SimpleCron["default"].cron2state(_this.props.cron || '* * * * *') ? 'simple' : 'complex'
107
+ };
108
+ return _this;
109
+ }
110
+
111
+ _createClass(DialogCron, [{
112
+ key: "handleCancel",
113
+ value: function handleCancel() {
114
+ this.props.onClose();
115
+ }
116
+ }, {
117
+ key: "handleOk",
118
+ value: function handleOk() {
119
+ this.props.onOk(this.state.cron);
120
+ this.props.onClose();
121
+ }
122
+ }, {
123
+ key: "setMode",
124
+ value: function setMode(mode) {
125
+ this.setState({
126
+ mode: mode
127
+ });
128
+ }
129
+ }, {
130
+ key: "render",
131
+ value: function render() {
132
+ var _this2 = this;
133
+
134
+ return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
135
+ onClose: function onClose() {},
136
+ maxWidth: "md",
137
+ fullWidth: true,
138
+ classes: {
139
+ paper: this.props.classes.dialogPaper
140
+ },
141
+ open: true,
142
+ "aria-labelledby": "cron-dialog-title"
143
+ }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
144
+ id: "cron-dialog-title"
145
+ }, this.props.title || _i18n["default"].t('ra_Define schedule...')), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], {
146
+ style: {
147
+ height: '100%',
148
+ overflow: 'hidden'
149
+ }
150
+ }, this.props.simple && this.props.complex || !this.props.simple && !this.props.complex ? /*#__PURE__*/_react["default"].createElement("div", null, !this.props.simple && !this.props.complex && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
151
+ key: "wizard",
152
+ checked: this.state.mode === 'wizard',
153
+ onChange: function onChange(e) {
154
+ return _this2.setMode('wizard');
155
+ }
156
+ }), /*#__PURE__*/_react["default"].createElement("label", {
157
+ onClick: function onClick(e) {
158
+ return _this2.setMode('wizard');
159
+ },
160
+ style: this.state.mode !== 'wizard' ? {
161
+ color: 'lightgrey'
162
+ } : {}
163
+ }, _i18n["default"].t('sc_wizard'))), (!this.props.simple && !this.props.complex || this.props.simple) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
164
+ key: "simple",
165
+ checked: this.state.mode === 'simple',
166
+ onChange: function onChange(e) {
167
+ return _this2.setMode('simple');
168
+ }
169
+ }), /*#__PURE__*/_react["default"].createElement("label", {
170
+ onClick: function onClick(e) {
171
+ return _this2.setMode('simple');
172
+ },
173
+ style: this.state.mode !== 'simple' ? {
174
+ color: 'lightgrey'
175
+ } : {}
176
+ }, _i18n["default"].t('sc_simple'))), (!this.props.simple && !this.props.complex || this.props.complex) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
177
+ key: "complex",
178
+ checked: this.state.mode === 'complex',
179
+ onChange: function onChange(e) {
180
+ return _this2.setMode('complex');
181
+ }
182
+ }), /*#__PURE__*/_react["default"].createElement("label", {
183
+ onClick: function onClick(e) {
184
+ return _this2.setMode('complex');
185
+ },
186
+ style: this.state.mode !== 'complex' ? {
187
+ color: 'lightgrey'
188
+ } : {}
189
+ }, _i18n["default"].t('sc_cron')))) : null, this.state.mode === 'simple' && /*#__PURE__*/_react["default"].createElement(_SimpleCron["default"], {
190
+ cronExpression: this.state.cron,
191
+ onChange: function onChange(cron) {
192
+ return _this2.setState({
193
+ cron: cron
194
+ });
195
+ },
196
+ language: _i18n["default"].getLanguage()
197
+ }), this.state.mode === 'wizard' && /*#__PURE__*/_react["default"].createElement(_Schedule["default"], {
198
+ schedule: this.state.cron,
199
+ onChange: function onChange(cron) {
200
+ return _this2.setState({
201
+ cron: cron
202
+ });
203
+ },
204
+ language: _i18n["default"].getLanguage()
205
+ }), this.state.mode === 'complex' && /*#__PURE__*/_react["default"].createElement(_ComplexCron["default"], {
206
+ cronExpression: this.state.cron,
207
+ onChange: function onChange(cron) {
208
+ return _this2.setState({
209
+ cron: cron
210
+ });
211
+ },
212
+ language: _i18n["default"].getLanguage()
213
+ })), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
214
+ variant: "contained",
215
+ onClick: function onClick() {
216
+ return _this2.handleOk();
217
+ },
218
+ color: "primary"
219
+ }, /*#__PURE__*/_react["default"].createElement(_Check["default"], {
220
+ className: this.props.classes.buttonIcon
221
+ }), this.props.ok || _i18n["default"].t('ra_Ok')), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
222
+ variant: "contained",
223
+ onClick: function onClick() {
224
+ return _this2.handleCancel();
225
+ },
226
+ color: "grey"
227
+ }, /*#__PURE__*/_react["default"].createElement(_Cancel["default"], {
228
+ className: this.props.classes.buttonIcon
229
+ }), this.props.cancel || _i18n["default"].t('ra_Cancel'))));
230
+ }
231
+ }]);
232
+
233
+ return DialogCron;
234
+ }(_react["default"].Component);
235
+
236
+ DialogCron.propTypes = {
237
+ classes: _propTypes["default"].object,
238
+ onClose: _propTypes["default"].func,
239
+ onOk: _propTypes["default"].func.isRequired,
240
+ title: _propTypes["default"].string,
241
+ cron: _propTypes["default"].string,
242
+ cancel: _propTypes["default"].string,
243
+ ok: _propTypes["default"].string,
244
+ simple: _propTypes["default"].bool,
245
+ // show only simple configuration
246
+ complex: _propTypes["default"].bool,
247
+ // show only complex configuration
248
+ language: _propTypes["default"].string
249
+ };
250
+
251
+ var _default = (0, _withStyles["default"])(styles)(DialogCron);
252
+
253
+ exports["default"] = _default;
254
+ //# sourceMappingURL=Cron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Cron.js"],"names":["styles","theme","headerID","fontWeight","fontStyle","radio","display","dialogPaper","height","buttonIcon","marginRight","spacing","DialogCron","props","cron","replace","trim","state","mode","simple","complex","SimpleCron","cron2state","onClose","onOk","setState","paper","classes","title","I18n","t","overflow","e","setMode","color","getLanguage","handleOk","ok","handleCancel","cancel","React","Component","propTypes","PropTypes","object","func","isRequired","string","bool","language"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\nimport Radio from '@mui/material/Radio';\n\nimport IconOk from '@mui/icons-material/Check';\nimport IconCancel from '@mui/icons-material/Cancel';\n\nimport ComplexCron from '../Components/ComplexCron';\nimport SimpleCron from '../Components/SimpleCron';\nimport Schedule from '../Components/Schedule';\n\nimport I18n from '../i18n';\n\n// Generate cron expression\n\nconst styles = theme => ({\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic'\n },\n radio: {\n display: 'inline-block'\n },\n dialogPaper: {\n height: 'calc(100% - 96px)'\n },\n buttonIcon: {\n marginRight: theme.spacing(1),\n }\n});\n\nclass DialogCron extends React.Component {\n constructor(props) {\n super(props);\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n cron,\n mode: this.props.simple ? 'simple' :\n (this.props.complex ? 'complex' :\n (typeof cron === 'object' || cron[0] === '{' ?\n 'wizard' :\n (SimpleCron.cron2state(this.props.cron || '* * * * *') ? 'simple' : 'complex')))\n };\n }\n\n handleCancel() {\n this.props.onClose();\n }\n\n handleOk() {\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n setMode(mode) {\n this.setState({mode});\n }\n\n render() {\n return <Dialog\n onClose={() => {}}\n maxWidth=\"md\"\n fullWidth={true}\n classes={{paper: this.props.classes.dialogPaper}}\n open={true}\n aria-labelledby=\"cron-dialog-title\"\n >\n <DialogTitle id=\"cron-dialog-title\">{this.props.title || I18n.t('ra_Define schedule...')}</DialogTitle>\n <DialogContent style={{height: '100%', overflow: 'hidden'}}>\n {(this.props.simple && this.props.complex) || (!this.props.simple && !this.props.complex) ? <div>\n {!this.props.simple && !this.props.complex && <><Radio\n key=\"wizard\"\n checked={this.state.mode === 'wizard'}\n onChange={e => this.setMode('wizard')}\n /><label onClick={e => this.setMode('wizard')}\n style={this.state.mode !== 'wizard' ? {color: 'lightgrey'} : {}}>{I18n.t('sc_wizard')}</label></>}\n\n {((!this.props.simple && !this.props.complex) || this.props.simple) && <><Radio\n key=\"simple\"\n checked={this.state.mode === 'simple'}\n onChange={e => this.setMode('simple')}\n /><label onClick={e => this.setMode('simple')}\n style={this.state.mode !== 'simple' ? {color: 'lightgrey'} : {}}>{I18n.t('sc_simple')}</label></>}\n\n {((!this.props.simple && !this.props.complex) || this.props.complex) && <><Radio\n key=\"complex\"\n checked={this.state.mode === 'complex'}\n onChange={e => this.setMode('complex')}\n /><label onClick={e => this.setMode('complex')} style={this.state.mode !== 'complex' ? {color: 'lightgrey'} : {}}>{I18n.t('sc_cron')}</label></>}\n </div> : null}\n\n {this.state.mode === 'simple' && <SimpleCron\n cronExpression={this.state.cron}\n onChange={cron => this.setState({cron})}\n language={I18n.getLanguage()}\n />}\n {this.state.mode === 'wizard' && <Schedule\n schedule={this.state.cron}\n onChange={cron => this.setState({cron})}\n language={I18n.getLanguage()}\n />}\n {this.state.mode === 'complex' && <ComplexCron\n cronExpression={this.state.cron}\n onChange={cron => this.setState({cron})}\n language={I18n.getLanguage()}\n />}\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => this.handleOk()} color=\"primary\"><IconOk className={this.props.classes.buttonIcon}/>{this.props.ok || I18n.t('ra_Ok')}</Button>\n <Button variant=\"contained\" onClick={() => this.handleCancel()} color=\"grey\"><IconCancel className={this.props.classes.buttonIcon}/>{this.props.cancel || I18n.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogCron.propTypes = {\n classes: PropTypes.object,\n onClose: PropTypes.func,\n onOk: PropTypes.func.isRequired,\n title: PropTypes.string,\n cron: PropTypes.string,\n cancel: PropTypes.string,\n ok: PropTypes.string,\n simple: PropTypes.bool, // show only simple configuration\n complex: PropTypes.bool, // show only complex configuration\n language: PropTypes.string\n};\n\nexport default withStyles(styles)(DialogCron);\n"],"file":"Cron.js"}