@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,177 @@
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 _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
19
+
20
+ var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
21
+
22
+ var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
23
+
24
+ var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
25
+
26
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
27
+
28
+ var _Cancel = _interopRequireDefault(require("@mui/icons-material/Cancel"));
29
+
30
+ var _SimpleCron = _interopRequireDefault(require("../Components/SimpleCron"));
31
+
32
+ var _i18n = _interopRequireDefault(require("../i18n"));
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
+
36
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
37
+
38
+ 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); } }
39
+
40
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
41
+
42
+ 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); }
43
+
44
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
45
+
46
+ 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); }; }
47
+
48
+ 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); }
49
+
50
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
51
+
52
+ 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; } }
53
+
54
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
55
+
56
+ // Generate cron expression
57
+ var styles = function styles(theme) {
58
+ return {
59
+ headerID: {
60
+ fontWeight: 'bold',
61
+ fontStyle: 'italic'
62
+ },
63
+ radio: {
64
+ display: 'inline-block'
65
+ },
66
+ dialogPaper: {
67
+ height: 'calc(100% - 96px)'
68
+ }
69
+ };
70
+ };
71
+
72
+ var DialogSimpleCron = /*#__PURE__*/function (_React$Component) {
73
+ _inherits(DialogSimpleCron, _React$Component);
74
+
75
+ var _super = _createSuper(DialogSimpleCron);
76
+
77
+ function DialogSimpleCron(props) {
78
+ var _this;
79
+
80
+ _classCallCheck(this, DialogSimpleCron);
81
+
82
+ _this = _super.call(this, props);
83
+ var cron;
84
+
85
+ if (_this.props.cron && typeof _this.props.cron === 'string' && _this.props.cron.replace(/^["']/, '')[0] !== '{') {
86
+ cron = _this.props.cron.replace(/['"]/g, '').trim();
87
+ } else {
88
+ cron = _this.props.cron || '{}';
89
+
90
+ if (typeof cron === 'string') {
91
+ cron = cron.replace(/^["']/, '').replace(/["']\n?$/, '');
92
+ }
93
+ }
94
+
95
+ _this.state = {
96
+ cron: cron
97
+ };
98
+ return _this;
99
+ }
100
+
101
+ _createClass(DialogSimpleCron, [{
102
+ key: "handleCancel",
103
+ value: function handleCancel() {
104
+ this.props.onClose();
105
+ }
106
+ }, {
107
+ key: "handleOk",
108
+ value: function handleOk() {
109
+ this.props.onOk(this.state.cron);
110
+ this.props.onClose();
111
+ }
112
+ }, {
113
+ key: "render",
114
+ value: function render() {
115
+ var _this2 = this;
116
+
117
+ return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
118
+ onClose: function onClose() {},
119
+ maxWidth: "md",
120
+ fullWidth: true,
121
+ classes: {
122
+ paper: this.props.classes.dialogPaper
123
+ },
124
+ open: true,
125
+ "aria-labelledby": "cron-dialog-title"
126
+ }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
127
+ id: "cron-dialog-title"
128
+ }, this.props.title || _i18n["default"].t('ra_Define CRON...')), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], {
129
+ style: {
130
+ height: '100%',
131
+ overflow: 'hidden'
132
+ }
133
+ }, /*#__PURE__*/_react["default"].createElement(_SimpleCron["default"], {
134
+ cronExpression: this.state.cron,
135
+ onChange: function onChange(cron) {
136
+ return _this2.setState({
137
+ cron: cron
138
+ });
139
+ },
140
+ language: _i18n["default"].getLanguage()
141
+ })), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
142
+ variant: "contained",
143
+ onClick: function onClick() {
144
+ return _this2.handleOk();
145
+ },
146
+ color: "primary",
147
+ startIcon: /*#__PURE__*/_react["default"].createElement(_Check["default"], null)
148
+ }, this.props.ok || _i18n["default"].t('ra_Ok')), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
149
+ variant: "contained",
150
+ onClick: function onClick() {
151
+ return _this2.handleCancel();
152
+ },
153
+ color: "grey",
154
+ startIcon: /*#__PURE__*/_react["default"].createElement(_Cancel["default"], null)
155
+ }, this.props.cancel || _i18n["default"].t('ra_Cancel'))));
156
+ }
157
+ }]);
158
+
159
+ return DialogSimpleCron;
160
+ }(_react["default"].Component);
161
+
162
+ DialogSimpleCron.propTypes = {
163
+ classes: _propTypes["default"].object,
164
+ onClose: _propTypes["default"].func,
165
+ onOk: _propTypes["default"].func.isRequired,
166
+ title: _propTypes["default"].string,
167
+ cron: _propTypes["default"].string,
168
+ cancel: _propTypes["default"].string,
169
+ ok: _propTypes["default"].string,
170
+ simple: _propTypes["default"].bool,
171
+ language: _propTypes["default"].string
172
+ };
173
+
174
+ var _default = (0, _withStyles["default"])(styles)(DialogSimpleCron);
175
+
176
+ exports["default"] = _default;
177
+ //# sourceMappingURL=SimpleCron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SimpleCron.js"],"names":["styles","theme","headerID","fontWeight","fontStyle","radio","display","dialogPaper","height","DialogSimpleCron","props","cron","replace","trim","state","onClose","onOk","paper","classes","title","I18n","t","overflow","setState","getLanguage","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';\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';\n\nimport SimpleCron from '../Components/SimpleCron';\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});\n\nclass DialogSimpleCron extends React.Component {\n constructor(props) {\n super(props);\n\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 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 CRON...')}</DialogTitle>\n <DialogContent style={{height: '100%', overflow: 'hidden'}}>\n <SimpleCron\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\" startIcon={<IconOk />}>{this.props.ok || I18n.t('ra_Ok')}</Button>\n <Button variant=\"contained\" onClick={() => this.handleCancel()} color=\"grey\" startIcon={<IconCancel />}>{this.props.cancel || I18n.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogSimpleCron.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\n};\n\nexport default withStyles(styles)(DialogSimpleCron);\n"],"file":"SimpleCron.js"}
@@ -0,0 +1,194 @@
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 _TextField = _interopRequireDefault(require("@mui/material/TextField"));
19
+
20
+ var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
21
+
22
+ var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
23
+
24
+ var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
25
+
26
+ var _DialogContentText = _interopRequireDefault(require("@mui/material/DialogContentText"));
27
+
28
+ var _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
29
+
30
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
31
+
32
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
+
36
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
37
+
38
+ 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); } }
39
+
40
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
41
+
42
+ 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); }
43
+
44
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
45
+
46
+ 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); }; }
47
+
48
+ 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); }
49
+
50
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
51
+
52
+ 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; } }
53
+
54
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
55
+
56
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
57
+
58
+ // FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth
59
+ var withWidth = function withWidth() {
60
+ return function (WrappedComponent) {
61
+ return function (props) {
62
+ return /*#__PURE__*/_react["default"].createElement(WrappedComponent, _extends({}, props, {
63
+ width: "xs"
64
+ }));
65
+ };
66
+ };
67
+ };
68
+
69
+ var styles = {};
70
+ /**
71
+ * @typedef {object} TextInputProps
72
+ * @property {string} [key] The key to identify this component.
73
+ * @property {(text: string | null) => void} onClose The dialog close callback.
74
+ * @property {string} titleText The title text.
75
+ * @property {string} [promptText] Prompt text (default: empty).
76
+ * @property {string} [labelText] Label text (default: empty).
77
+ * @property {string} cancelText The text of the cancel button.
78
+ * @property {string} applyText The text of the apply button.
79
+ * @property {(text: string) => string} [verify] The verification callback. Return a non-empty string if there was an error.
80
+ * @property {(text: string) => string} [rule] The text replacement callback.
81
+ * @property {'text' | 'number' | 'password' | 'email'} [type] The type of the textbox (default: text).
82
+ * @property {string} [input] The input when opening the dialog.
83
+ *
84
+ * @extends {React.Component<TextInputProps>}
85
+ */
86
+
87
+ var TextInput = /*#__PURE__*/function (_React$Component) {
88
+ _inherits(TextInput, _React$Component);
89
+
90
+ var _super = _createSuper(TextInput);
91
+
92
+ /**
93
+ * @param {Readonly<TextInputProps>} props
94
+ */
95
+ function TextInput(props) {
96
+ var _this;
97
+
98
+ _classCallCheck(this, TextInput);
99
+
100
+ _this = _super.call(this, props);
101
+ _this.state = {
102
+ text: _this.props.input || '',
103
+ error: ''
104
+ };
105
+ return _this;
106
+ }
107
+
108
+ _createClass(TextInput, [{
109
+ key: "render",
110
+ value: function render() {
111
+ var _this2 = this;
112
+
113
+ return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
114
+ open: true,
115
+ onClose: function onClose() {
116
+ return _this2.props.onClose(null);
117
+ },
118
+ "aria-labelledby": "form-dialog-title"
119
+ }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
120
+ id: "form-dialog-title"
121
+ }, this.props.titleText), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, this.props.promptText), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
122
+ variant: "standard",
123
+ autoFocus: true,
124
+ margin: "dense",
125
+ error: !!this.state.error,
126
+ title: this.state.error,
127
+ value: this.state.text,
128
+ label: this.props.labelText || '',
129
+ type: this.props.type || 'text',
130
+ onKeyPress: function onKeyPress(e) {
131
+ return e.charCode === 13 && _this2.state.text && _this2.props.onClose(_this2.state.text);
132
+ },
133
+ onChange: function onChange(e) {
134
+ var error = '';
135
+
136
+ if (_this2.props.verify) {
137
+ error = !_this2.props.verify(e.target.value);
138
+ }
139
+
140
+ if (_this2.props.rule) {
141
+ _this2.setState({
142
+ text: _this2.props.rule(e.target.value),
143
+ error: error
144
+ });
145
+ } else {
146
+ _this2.setState({
147
+ text: e.target.value,
148
+ error: error
149
+ });
150
+ }
151
+ },
152
+ fullWidth: true
153
+ })), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
154
+ variant: "contained",
155
+ disabled: !this.state.text || this.state.error,
156
+ onClick: function onClick() {
157
+ return _this2.props.onClose(_this2.state.text);
158
+ },
159
+ color: "primary",
160
+ startIcon: /*#__PURE__*/_react["default"].createElement(_Check["default"], null)
161
+ }, this.props.applyText), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
162
+ color: "grey",
163
+ variant: "contained",
164
+ onClick: function onClick() {
165
+ return _this2.props.onClose(null);
166
+ },
167
+ startIcon: /*#__PURE__*/_react["default"].createElement(_Close["default"], null)
168
+ }, this.props.cancelText)));
169
+ }
170
+ }]);
171
+
172
+ return TextInput;
173
+ }(_react["default"].Component);
174
+
175
+ TextInput.propTypes = {
176
+ onClose: _propTypes["default"].func.isRequired,
177
+ titleText: _propTypes["default"].string.isRequired,
178
+ promptText: _propTypes["default"].string,
179
+ labelText: _propTypes["default"].string,
180
+ cancelText: _propTypes["default"].string.isRequired,
181
+ applyText: _propTypes["default"].string.isRequired,
182
+ verify: _propTypes["default"].func,
183
+ replace: _propTypes["default"].func,
184
+ type: _propTypes["default"].string,
185
+ // text, number, password, email
186
+ input: _propTypes["default"].string
187
+ };
188
+ /** @type {typeof TextInput} */
189
+
190
+ var _export = withWidth()((0, _withStyles["default"])(styles)(TextInput));
191
+
192
+ var _default = _export;
193
+ exports["default"] = _default;
194
+ //# sourceMappingURL=TextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TextInput.js"],"names":["withWidth","WrappedComponent","props","styles","TextInput","state","text","input","error","onClose","titleText","promptText","labelText","type","e","charCode","verify","target","value","rule","setState","applyText","cancelText","React","Component","propTypes","PropTypes","func","isRequired","string","replace","_export"],"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 TextField from '@mui/material/TextField';\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';\n\nimport IconClose from '@mui/icons-material/Close';\nimport IconCheck from '@mui/icons-material/Check';\n\n// FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth\nconst withWidth = () => (WrappedComponent) => (props) => <WrappedComponent {...props} width=\"xs\" />;\n\nconst styles = {\n\n};\n\n/**\n * @typedef {object} TextInputProps\n * @property {string} [key] The key to identify this component.\n * @property {(text: string | null) => void} onClose The dialog close callback.\n * @property {string} titleText The title text.\n * @property {string} [promptText] Prompt text (default: empty).\n * @property {string} [labelText] Label text (default: empty).\n * @property {string} cancelText The text of the cancel button.\n * @property {string} applyText The text of the apply button.\n * @property {(text: string) => string} [verify] The verification callback. Return a non-empty string if there was an error.\n * @property {(text: string) => string} [rule] The text replacement callback.\n * @property {'text' | 'number' | 'password' | 'email'} [type] The type of the textbox (default: text).\n * @property {string} [input] The input when opening the dialog.\n *\n * @extends {React.Component<TextInputProps>}\n */\nclass TextInput extends React.Component {\n /**\n * @param {Readonly<TextInputProps>} props\n */\n constructor(props) {\n super(props);\n\n this.state = {\n text: this.props.input || '',\n error: ''\n }\n }\n render() {\n return <Dialog open={true} onClose={() => this.props.onClose(null)} aria-labelledby=\"form-dialog-title\">\n <DialogTitle id=\"form-dialog-title\">{this.props.titleText}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {this.props.promptText}\n </DialogContentText>\n <TextField\n variant=\"standard\" \n autoFocus\n margin=\"dense\"\n error={!!this.state.error}\n title={this.state.error}\n value={this.state.text}\n label={this.props.labelText || ''}\n type={this.props.type || 'text'}\n onKeyPress={e => e.charCode === 13 && this.state.text && this.props.onClose(this.state.text)}\n onChange={e => {\n let error = '';\n if (this.props.verify) {\n error = !this.props.verify(e.target.value);\n }\n\n if (this.props.rule) {\n this.setState({text: this.props.rule(e.target.value), error});\n } else {\n this.setState({text: e.target.value, error});\n }\n }}\n fullWidth\n />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" disabled={!this.state.text || this.state.error} onClick={() => this.props.onClose(this.state.text)}\n color=\"primary\" startIcon={<IconCheck />}>{this.props.applyText}</Button>\n <Button color=\"grey\" variant=\"contained\" onClick={() => this.props.onClose(null)} startIcon={<IconClose />}>{this.props.cancelText}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nTextInput.propTypes = {\n onClose: PropTypes.func.isRequired,\n titleText: PropTypes.string.isRequired,\n promptText: PropTypes.string,\n labelText: PropTypes.string,\n cancelText: PropTypes.string.isRequired,\n applyText: PropTypes.string.isRequired,\n verify: PropTypes.func,\n replace: PropTypes.func,\n type: PropTypes.string, // text, number, password, email\n input: PropTypes.string,\n};\n\n/** @type {typeof TextInput} */\nconst _export = withWidth()(withStyles(styles)(TextInput));\nexport default _export;"],"file":"TextInput.js"}