@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,861 @@
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 _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
17
+
18
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
19
+
20
+ var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
21
+
22
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
23
+
24
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
25
+
26
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
27
+
28
+ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
29
+
30
+ var _cronText = _interopRequireDefault(require("./cronText"));
31
+
32
+ var _i18n = _interopRequireDefault(require("../../i18n"));
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
+
36
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
+
38
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
39
+
40
+ 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); } }
41
+
42
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
43
+
44
+ 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); }
45
+
46
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
47
+
48
+ 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); }; }
49
+
50
+ 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); }
51
+
52
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
53
+
54
+ 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; } }
55
+
56
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
57
+
58
+ var styles = function styles(theme) {
59
+ return {
60
+ mainDiv: {
61
+ width: '100%',
62
+ height: '100%',
63
+ overflow: 'auto'
64
+ },
65
+ formControl: {
66
+ margin: 0,
67
+ minWidth: 120
68
+ },
69
+ formControlMarginRight: {
70
+ marginRight: 5
71
+ },
72
+ formControlPaddingTop: {
73
+ paddingTop: 6.2
74
+ }
75
+ };
76
+ };
77
+
78
+ var PERIODIC = {
79
+ once: 'once',
80
+ interval: 'interval',
81
+ intervalBetween: 'intervalBetween',
82
+ specific: 'specific'
83
+ };
84
+ var PERIODIC_TYPES = {
85
+ seconds: 'seconds',
86
+ minutes: 'minutes' //hours: 'hours',
87
+
88
+ };
89
+ var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
90
+
91
+ function padding(num) {
92
+ if (num < 10) {
93
+ return '0' + num;
94
+ } else {
95
+ return '' + num;
96
+ }
97
+ }
98
+
99
+ var DEFAULT_STATE = {
100
+ mode: PERIODIC.interval,
101
+ interval: {
102
+ period: 1,
103
+ unit: PERIODIC_TYPES.minutes
104
+ }
105
+ };
106
+
107
+ var SimpleCron = /*#__PURE__*/function (_React$Component) {
108
+ _inherits(SimpleCron, _React$Component);
109
+
110
+ var _super = _createSuper(SimpleCron);
111
+
112
+ function SimpleCron(props) {
113
+ var _this;
114
+
115
+ _classCallCheck(this, SimpleCron);
116
+
117
+ _this = _super.call(this, props);
118
+ var cron = typeof _this.props.cronExpression === 'string' ? _this.props.cronExpression.replace(/^["']/, '').replace(/["']\n?$/, '') : '';
119
+
120
+ if (cron[0] === '{') {
121
+ cron = '';
122
+ }
123
+
124
+ var state = SimpleCron.cron2state(cron || '* * * * *') || DEFAULT_STATE;
125
+ _this.state = {
126
+ extended: false,
127
+ cron: SimpleCron.state2cron(state),
128
+ mode: 'interval',
129
+ once: {
130
+ time: '00:00',
131
+ date: ''
132
+ },
133
+ interval: {
134
+ period: 1,
135
+ unit: PERIODIC_TYPES.minutes
136
+ },
137
+ intervalBetween: {
138
+ period: 1,
139
+ unit: PERIODIC_TYPES.minutes,
140
+ timeFrom: 0,
141
+ timeTo: 24,
142
+ weekdays: [0, 1, 2, 3, 4, 5, 6]
143
+ },
144
+ specific: {
145
+ time: '00:00',
146
+ weekdays: [0, 1, 2, 3, 4, 5, 6]
147
+ }
148
+ };
149
+ Object.assign(_this.state, state);
150
+
151
+ if (_this.state.cron !== _this.props.cronExpression) {
152
+ setTimeout(function () {
153
+ return _this.props.onChange && _this.props.onChange(_this.state.cron);
154
+ }, 100);
155
+ }
156
+
157
+ return _this;
158
+ }
159
+
160
+ _createClass(SimpleCron, [{
161
+ key: "recalcCron",
162
+ value: function recalcCron() {
163
+ this.onChange(SimpleCron.state2cron(this.state));
164
+ }
165
+ }, {
166
+ key: "getControlsWeekdaysElements",
167
+ value: function getControlsWeekdaysElements(type) {
168
+ var _this2 = this;
169
+
170
+ var settings = this.state[type];
171
+ return /*#__PURE__*/_react["default"].createElement("div", {
172
+ key: "weekdays",
173
+ style: {
174
+ paddingLeft: 8,
175
+ width: '100%',
176
+ maxWidth: 600
177
+ }
178
+ }, /*#__PURE__*/_react["default"].createElement("h5", null, _i18n["default"].t('ra_On weekdays')), [1, 2, 3, 4, 5, 6, 0].map(function (day) {
179
+ return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
180
+ key: WEEKDAYS[day],
181
+ control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
182
+ checked: settings.weekdays.indexOf(day) !== -1,
183
+ onChange: function onChange(e) {
184
+ var settings = JSON.parse(JSON.stringify(_this2.state[type]));
185
+ var pos = settings.weekdays.indexOf(day);
186
+ e.target.checked && pos === -1 && settings.weekdays.push(day);
187
+ !e.target.checked && pos !== -1 && settings.weekdays.splice(pos, 1);
188
+ settings.weekdays.sort();
189
+
190
+ _this2.setState(_defineProperty({}, type, settings), function () {
191
+ return _this2.recalcCron();
192
+ });
193
+ },
194
+ value: day.toString()
195
+ }),
196
+ label: _i18n["default"].t(WEEKDAYS[day])
197
+ });
198
+ }));
199
+ }
200
+ }, {
201
+ key: "getControlsPeriodElements",
202
+ value: function getControlsPeriodElements(type) {
203
+ var _this3 = this;
204
+
205
+ var settings = this.state[type];
206
+
207
+ if (this.state.extended) {
208
+ return /*#__PURE__*/_react["default"].createElement("div", {
209
+ key: "period",
210
+ style: {
211
+ paddingLeft: 8,
212
+ display: 'inline-block'
213
+ }
214
+ }, /*#__PURE__*/_react["default"].createElement("h5", {
215
+ style: {
216
+ marginBottom: 5
217
+ }
218
+ }, _i18n["default"].t('sc_period')), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
219
+ variant: "standard",
220
+ style: {
221
+ marginTop: 0,
222
+ marginBottom: 0,
223
+ verticalAlign: 'bottom'
224
+ },
225
+ key: "value",
226
+ label: _i18n["default"].t('sc_minutes'),
227
+ value: settings.minutes,
228
+ onChange: function onChange(e) {
229
+ var settings = JSON.parse(JSON.stringify(_this3.state[type]));
230
+ settings.minutes = parseInt(e.target.value, 10);
231
+ if (settings.minutes < 1) settings.minutes = 1;
232
+
233
+ _this3.setState(_defineProperty({}, type, settings), function () {
234
+ return _this3.recalcCron();
235
+ });
236
+ },
237
+ min: 1,
238
+ max: 60,
239
+ type: "number",
240
+ InputLabelProps: {
241
+ shrink: true
242
+ },
243
+ margin: "normal"
244
+ }), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
245
+ variant: "standard",
246
+ style: {
247
+ marginTop: 0,
248
+ marginBottom: 0,
249
+ verticalAlign: 'bottom'
250
+ },
251
+ key: "value",
252
+ label: _i18n["default"].t('sc_hours'),
253
+ value: settings.hours,
254
+ onChange: function onChange(e) {
255
+ var settings = JSON.parse(JSON.stringify(_this3.state[type]));
256
+ settings.hours = parseInt(e.target.value, 10);
257
+ if (settings.hours < 1) settings.hours = 1;
258
+
259
+ _this3.setState(_defineProperty({}, type, settings), function () {
260
+ return _this3.recalcCron();
261
+ });
262
+ },
263
+ min: 1,
264
+ max: 24,
265
+ type: "number",
266
+ InputLabelProps: {
267
+ shrink: true
268
+ },
269
+ margin: "normal"
270
+ }));
271
+ } else {
272
+ return /*#__PURE__*/_react["default"].createElement("div", {
273
+ key: "period",
274
+ style: {
275
+ paddingLeft: 8,
276
+ display: 'inline-block'
277
+ }
278
+ }, /*#__PURE__*/_react["default"].createElement("h5", {
279
+ style: {
280
+ marginBottom: 5
281
+ }
282
+ }, _i18n["default"].t('sc_period')), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
283
+ variant: "standard",
284
+ style: {
285
+ marginTop: 0,
286
+ marginBottom: 0,
287
+ verticalAlign: 'bottom'
288
+ },
289
+ key: "value",
290
+ label: _i18n["default"].t('sc_every'),
291
+ value: settings.period,
292
+ onChange: function onChange(e) {
293
+ var settings = JSON.parse(JSON.stringify(_this3.state[type]));
294
+ settings.period = parseInt(e.target.value, 10);
295
+ if (settings.period < 1) settings.period = 1;
296
+
297
+ _this3.setState(_defineProperty({}, type, settings), function () {
298
+ return _this3.recalcCron();
299
+ });
300
+ },
301
+ min: 1,
302
+ max: 60,
303
+ type: "number",
304
+ InputLabelProps: {
305
+ shrink: true
306
+ },
307
+ margin: "normal"
308
+ }), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
309
+ variant: "standard",
310
+ style: {
311
+ verticalAlign: 'bottom'
312
+ },
313
+ value: settings.unit,
314
+ onChange: function onChange(e) {
315
+ var settings = JSON.parse(JSON.stringify(_this3.state[type]));
316
+ settings.unit = e.target.value;
317
+
318
+ _this3.setState(_defineProperty({}, type, settings), function () {
319
+ return _this3.recalcCron();
320
+ });
321
+ }
322
+ }, Object.keys(PERIODIC_TYPES).map(function (mode) {
323
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
324
+ key: PERIODIC_TYPES[mode],
325
+ value: PERIODIC_TYPES[mode]
326
+ }, _i18n["default"].t('sc_' + PERIODIC_TYPES[mode]));
327
+ })));
328
+ }
329
+ }
330
+ }, {
331
+ key: "getControlsTime",
332
+ value: function getControlsTime(type) {
333
+ var _this4 = this;
334
+
335
+ var settings = this.state[type];
336
+ return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
337
+ variant: "standard",
338
+ className: this.props.classes.formControl,
339
+ classes: {
340
+ root: this.props.classes.formControlMarginRight
341
+ }
342
+ }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
343
+ variant: "standard",
344
+ key: "at",
345
+ label: _i18n["default"].t('sc_time'),
346
+ value: settings.time,
347
+ type: "time",
348
+ onChange: function onChange(e) {
349
+ var settings = JSON.parse(JSON.stringify(_this4.state[type]));
350
+ settings.time = e.target.value;
351
+
352
+ _this4.setState(_defineProperty({}, type, settings), function () {
353
+ return _this4.recalcCron();
354
+ });
355
+ },
356
+ InputLabelProps: {
357
+ shrink: true
358
+ },
359
+ margin: "normal"
360
+ }));
361
+ }
362
+ }, {
363
+ key: "getControlsDate",
364
+ value: function getControlsDate(type) {
365
+ var _this5 = this;
366
+
367
+ var settings = this.state[type];
368
+
369
+ if (!settings.date) {
370
+ var d = new Date();
371
+ settings.date = d.getDate() + '.' + padding(d.getMonth() + 1);
372
+ } //<InputLabel htmlFor="formatted-text-mask-input">{I18n.t('sc_at')}</InputLabel>
373
+
374
+
375
+ return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
376
+ variant: "standard",
377
+ className: this.props.classes.formControl
378
+ }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
379
+ variant: "standard",
380
+ key: "date",
381
+ label: _i18n["default"].t('sc_date'),
382
+ value: settings.date,
383
+ type: "text",
384
+ inputProps: {
385
+ className: this.props.classes.formControlPaddingTop
386
+ },
387
+ onChange: function onChange(e) {
388
+ var settings = JSON.parse(JSON.stringify(_this5.state[type]));
389
+ settings.date = e.target.value;
390
+
391
+ _this5.setState(_defineProperty({}, type, settings), function () {
392
+ return _this5.recalcCron();
393
+ });
394
+ },
395
+ InputLabelProps: {
396
+ shrink: true
397
+ },
398
+ margin: "normal"
399
+ }));
400
+ }
401
+ }, {
402
+ key: "getOnceElements",
403
+ value: function getOnceElements() {
404
+ return /*#__PURE__*/_react["default"].createElement("div", {
405
+ style: {
406
+ marginLeft: 8
407
+ }
408
+ }, this.getControlsTime('once'), this.getControlsDate('once'));
409
+ }
410
+ }, {
411
+ key: "getIntervalElements",
412
+ value: function getIntervalElements() {
413
+ return this.getControlsPeriodElements('interval');
414
+ }
415
+ }, {
416
+ key: "getIntervalBetweenElements",
417
+ value: function getIntervalBetweenElements() {
418
+ var _this6 = this;
419
+
420
+ var settings = this.state.intervalBetween;
421
+ return [this.getControlsPeriodElements('intervalBetween'), /*#__PURE__*/_react["default"].createElement("div", {
422
+ key: "between",
423
+ style: {
424
+ paddingLeft: 8,
425
+ display: 'inline-block',
426
+ verticalAlign: 'top'
427
+ }
428
+ }, /*#__PURE__*/_react["default"].createElement("h5", {
429
+ style: {
430
+ marginBottom: 5
431
+ }
432
+ }, _i18n["default"].t('sc_hours')), /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
433
+ variant: "standard",
434
+ className: this.props.classes.formControl
435
+ }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
436
+ shrink: true,
437
+ htmlFor: "age-label-placeholder"
438
+ }, _i18n["default"].t('sc_from')), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
439
+ variant: "standard",
440
+ style: {
441
+ width: 100
442
+ },
443
+ value: settings.timeFrom,
444
+ onChange: function onChange(e) {
445
+ var settings = JSON.parse(JSON.stringify(_this6.state.intervalBetween));
446
+ settings.timeFrom = parseInt(e.target.value, 10);
447
+
448
+ _this6.setState({
449
+ intervalBetween: settings
450
+ }, function () {
451
+ return _this6.recalcCron();
452
+ });
453
+ }
454
+ }, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(function (hour) {
455
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
456
+ key: 'B_' + hour,
457
+ value: hour
458
+ }, padding(hour) + ':00');
459
+ }))), /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
460
+ variant: "standard",
461
+ className: this.props.classes.formControl
462
+ }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
463
+ shrink: true,
464
+ htmlFor: "age-label-placeholder"
465
+ }, _i18n["default"].t('sc_to')), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
466
+ variant: "standard",
467
+ style: {
468
+ width: 100
469
+ },
470
+ value: settings.timeTo,
471
+ onChange: function onChange(e) {
472
+ var settings = JSON.parse(JSON.stringify(_this6.state.intervalBetween));
473
+ settings.timeTo = parseInt(e.target.value, 10);
474
+
475
+ _this6.setState({
476
+ intervalBetween: settings
477
+ }, function () {
478
+ return _this6.recalcCron();
479
+ });
480
+ }
481
+ }, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24].map(function (hour) {
482
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
483
+ key: 'A_' + hour,
484
+ value: hour
485
+ }, padding(hour) + ':00');
486
+ })))), this.getControlsWeekdaysElements('intervalBetween')];
487
+ }
488
+ }, {
489
+ key: "getSpecificTimeElements",
490
+ value: function getSpecificTimeElements() {
491
+ return [/*#__PURE__*/_react["default"].createElement("div", {
492
+ key: "time",
493
+ style: {
494
+ marginLeft: 8
495
+ }
496
+ }, this.getControlsTime('specific')), this.getControlsWeekdaysElements('specific')];
497
+ }
498
+ }, {
499
+ key: "onModeChange",
500
+ value: function onModeChange(mode) {
501
+ var _this7 = this;
502
+
503
+ if (mode !== this.state.mode) {
504
+ this.setState({
505
+ mode: mode
506
+ }, function () {
507
+ return _this7.recalcCron();
508
+ });
509
+ }
510
+ }
511
+ }, {
512
+ key: "onChange",
513
+ value: function onChange(cron) {
514
+ if (cron !== this.state.cron) {
515
+ this.setState({
516
+ cron: cron
517
+ });
518
+ this.props.onChange && this.props.onChange(cron);
519
+ }
520
+ }
521
+ }, {
522
+ key: "render",
523
+ value: function render() {
524
+ var _this8 = this;
525
+
526
+ return /*#__PURE__*/_react["default"].createElement("div", {
527
+ className: this.props.classes.mainDiv
528
+ }, /*#__PURE__*/_react["default"].createElement("div", {
529
+ style: {
530
+ paddingLeft: 8,
531
+ width: '100%'
532
+ }
533
+ }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
534
+ style: {
535
+ width: '100%'
536
+ },
537
+ value: this.state.cron,
538
+ disabled: true
539
+ })), /*#__PURE__*/_react["default"].createElement("div", {
540
+ style: {
541
+ paddingLeft: 8,
542
+ width: '100%',
543
+ height: 60
544
+ }
545
+ }, (0, _cronText["default"])(this.state.cron, this.props.language || 'en')), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
546
+ variant: "standard",
547
+ style: {
548
+ marginLeft: 8,
549
+ marginTop: 8
550
+ },
551
+ className: this.props.classes.formControl
552
+ }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], null, _i18n["default"].t('ra_Repeat')), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
553
+ variant: "standard",
554
+ value: this.state.mode,
555
+ onChange: function onChange(e) {
556
+ return _this8.onModeChange(e.target.value);
557
+ },
558
+ inputProps: {
559
+ name: 'mode',
560
+ id: 'mode'
561
+ }
562
+ }, Object.keys(PERIODIC).map(function (mode) {
563
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
564
+ key: PERIODIC[mode],
565
+ value: PERIODIC[mode]
566
+ }, _i18n["default"].t('sc_' + PERIODIC[mode]));
567
+ })))), this.state.mode === PERIODIC.once && this.getOnceElements(), this.state.mode === PERIODIC.interval && this.getIntervalElements(), this.state.mode === PERIODIC.intervalBetween && this.getIntervalBetweenElements(), this.state.mode === PERIODIC.specific && this.getSpecificTimeElements());
568
+ }
569
+ }], [{
570
+ key: "periodArray2text",
571
+ value: function periodArray2text(list, max) {
572
+ max = max || 7;
573
+
574
+ if (list.length === max) {
575
+ return '*';
576
+ } else {
577
+ var text = [];
578
+ var start = null;
579
+ var end = null;
580
+
581
+ for (var i = 0; i < list.length; i++) {
582
+ if (start === null) {
583
+ start = list[i];
584
+ end = list[i];
585
+ } else if (list[i - 1] + 1 === list[i]) {
586
+ end = list[i];
587
+ } else {
588
+ if (start !== end) {
589
+ text.push(start + '-' + end);
590
+ } else {
591
+ text.push(start);
592
+ }
593
+
594
+ start = list[i];
595
+ end = list[i];
596
+ }
597
+ }
598
+
599
+ if (start !== end) {
600
+ text.push(start + '-' + end);
601
+ } else {
602
+ text.push(start);
603
+ }
604
+
605
+ return text.join(',');
606
+ }
607
+ }
608
+ }, {
609
+ key: "text2weekdays",
610
+ value: function text2weekdays(text) {
611
+ if (text === '*') {
612
+ return [0, 1, 2, 3, 4, 5, 6];
613
+ }
614
+
615
+ var parts = text.split(',');
616
+ var list = [];
617
+ parts.forEach(function (part) {
618
+ var _parts = part.split('-');
619
+
620
+ if (_parts.length === 2) {
621
+ var start = parseInt(_parts[0], 10);
622
+ var end = parseInt(_parts[1], 10);
623
+
624
+ for (var day = start; day <= end; day++) {
625
+ if (list.indexOf(day === 7 ? 0 : day) === -1) {
626
+ list.push(day === 7 ? 0 : day);
627
+ }
628
+ }
629
+ } else {
630
+ if (part === '7') {
631
+ part = 0;
632
+ }
633
+
634
+ part = parseInt(part, 10);
635
+
636
+ if (list.indexOf(part) === -1) {
637
+ list.push(part);
638
+ }
639
+ }
640
+ });
641
+ list.sort();
642
+ return list;
643
+ }
644
+ }, {
645
+ key: "cron2state",
646
+ value: function cron2state(cron) {
647
+ cron = cron.replace(/['"]/g, '').trim();
648
+ var cronParts = cron.split(' ');
649
+ var options = {};
650
+ var state = {
651
+ mode: ''
652
+ };
653
+
654
+ if (cronParts.length === 6) {
655
+ options.seconds = cronParts[0] || '*';
656
+ options.minutes = cronParts[1] || '*';
657
+ options.hours = cronParts[2] || '*';
658
+ options.date = cronParts[3] || '*';
659
+ options.months = cronParts[4] || '*';
660
+ options.dow = cronParts[5] || '*';
661
+ } else {
662
+ options.seconds = null;
663
+ options.minutes = cronParts[0] || '*';
664
+ options.hours = cronParts[1] || '*';
665
+ options.date = cronParts[2] || '*';
666
+ options.months = cronParts[3] || '*';
667
+ options.dow = cronParts[4] || '*';
668
+ } // * * * * *
669
+
670
+
671
+ if (options.seconds === null && options.minutes === '*' && options.hours === '*' && options.date === '*' && options.months === '*') {
672
+ state.mode = PERIODIC.interval;
673
+ state.interval = {
674
+ period: 1,
675
+ unit: PERIODIC_TYPES.minutes
676
+ };
677
+ } // * * * * * *
678
+
679
+
680
+ if (options.seconds === '*' && options.minutes === '*' && options.hours === '*' && options.date === '*' && options.months === '*') {
681
+ state.mode = PERIODIC.interval;
682
+ state.interval = {
683
+ period: 1,
684
+ unit: PERIODIC_TYPES.seconds
685
+ };
686
+ } else // */n * * * *
687
+ if (options.seconds === null && options.minutes.indexOf('/') !== -1 && options.hours === '*' && options.date === '*' && options.months === '*') {
688
+ state.mode = PERIODIC.interval;
689
+ state.interval = {
690
+ period: parseInt(options.minutes.split('/')[1], 10),
691
+ unit: PERIODIC_TYPES.minutes
692
+ };
693
+ } else // */n * * * * *
694
+ if (options.seconds !== null && options.seconds.indexOf('/') !== -1 && options.minutes === '*' && options.hours === '*' && options.date === '*' && options.months === '*') {
695
+ state.mode = PERIODIC.interval;
696
+ state.interval = {
697
+ period: parseInt(options.seconds.split('/')[1], 10),
698
+ unit: PERIODIC_TYPES.seconds
699
+ };
700
+ } else // */n * 1-24 * * 1-7 or */n * 1-24 * * *
701
+ if (options.seconds !== null && options.seconds.indexOf('/') !== -1 && options.minutes === '*' && options.hours.indexOf('-') !== -1 && options.date === '*' && options.months === '*') {
702
+ state.mode = PERIODIC.intervalBetween;
703
+ state.intervalBetween = {
704
+ period: parseInt(options.seconds.split('/')[1], 10),
705
+ unit: PERIODIC_TYPES.seconds,
706
+ timeFrom: parseInt(options.hours.split('-')[0], 10),
707
+ timeTo: parseInt(options.hours.split('-')[1], 10),
708
+ weekdays: SimpleCron.text2weekdays(options.dow)
709
+ };
710
+ } else // */n 1-24 * * 1-7 or */n 1-24 * * *
711
+ if (options.seconds === null && options.minutes.indexOf('/') !== -1 && options.hours.indexOf('-') !== -1 && options.date === '*' && options.months === '*') {
712
+ state.mode = PERIODIC.intervalBetween;
713
+ state.intervalBetween = {
714
+ period: parseInt(options.minutes.split('/')[1], 10),
715
+ unit: PERIODIC_TYPES.minutes,
716
+ timeFrom: parseInt(options.hours.split('-')[0], 10),
717
+ timeTo: parseInt(options.hours.split('-')[1], 10),
718
+ weekdays: SimpleCron.text2weekdays(options.dow)
719
+ };
720
+ } else // m h * * 1-7 or m h * * *
721
+ if (options.seconds === null && parseInt(options.minutes, 10).toString() === options.minutes && parseInt(options.hours, 10).toString() === options.hours && options.date === '*' && options.months === '*') {
722
+ state.mode = PERIODIC.specific;
723
+ state.specific = {
724
+ time: padding(parseInt(options.hours, 10)) + ':' + padding(parseInt(options.minutes, 10)),
725
+ weekdays: SimpleCron.text2weekdays(options.dow)
726
+ };
727
+ } else // m h d M *
728
+ if (options.seconds === null && parseInt(options.minutes, 10).toString() === options.minutes && parseInt(options.hours, 10).toString() === options.hours && parseInt(options.date, 10).toString() === options.date && parseInt(options.months, 10).toString() === options.months && options.dow === '*') {
729
+ state.mode = PERIODIC.once;
730
+ state.once = {
731
+ time: padding(parseInt(options.hours, 10)) + ':' + padding(parseInt(options.minutes, 10)),
732
+ date: padding(parseInt(options.date, 10)) + '.' + padding(parseInt(options.months, 10)),
733
+ // ignored
734
+ weekdays: SimpleCron.text2weekdays(options.dow)
735
+ };
736
+ }
737
+
738
+ if (state.mode) {
739
+ return state;
740
+ } else {
741
+ return null;
742
+ }
743
+ }
744
+ }, {
745
+ key: "state2cron",
746
+ value: function state2cron(state) {
747
+ var cron = '* * * * *';
748
+
749
+ if (state.mode === PERIODIC.interval) {
750
+ var settings = state.interval || {};
751
+ if (settings.period > 60) settings.period = 60;
752
+ if (settings.period < 1) settings.period = 1;
753
+ if (settings.minutes > 60) settings.minutes = 60;
754
+ if (settings.minutes < 1) settings.minutes = 1;
755
+ if (settings.hours > 24) settings.hours = 24;
756
+ if (settings.hours < 1) settings.hours = 1;
757
+
758
+ if (state.extended) {
759
+ cron = "".concat(settings.minutes > 1 ? '*/' + settings.minutes : '*', " ").concat(settings.hours > 1 ? '*/' + settings.hours : '*', " * * *");
760
+ } else {
761
+ switch (settings.unit) {
762
+ case PERIODIC_TYPES.seconds:
763
+ cron = "".concat(settings.period > 1 ? '*/' + settings.period : '*', " * * * * *");
764
+ break;
765
+
766
+ case PERIODIC_TYPES.minutes:
767
+ cron = "".concat(settings.period > 1 ? '*/' + settings.period : '*', " * * * *");
768
+ break;
769
+
770
+ default:
771
+ break;
772
+ }
773
+ }
774
+ } else if (state.mode === PERIODIC.intervalBetween) {
775
+ var _settings = state.intervalBetween || {};
776
+
777
+ var hours;
778
+ _settings.timeFrom = _settings.timeFrom || 0;
779
+ _settings.timeTo = _settings.timeTo === undefined ? 24 : _settings.timeTo;
780
+
781
+ if (_settings.timeFrom === 0 && _settings.timeTo === 24) {
782
+ hours = '*';
783
+ } else {
784
+ hours = _settings.timeFrom !== _settings.timeTo ? _settings.timeFrom + '-' + _settings.timeTo : '*';
785
+ }
786
+
787
+ if (_settings.period > 60) _settings.period = 60;
788
+ if (_settings.period < 1) _settings.period = 1;
789
+ _settings.unit = _settings.unit || PERIODIC_TYPES.minutes;
790
+
791
+ switch (_settings.unit) {
792
+ case PERIODIC_TYPES.seconds:
793
+ cron = "".concat(_settings.period > 1 ? '*/' + _settings.period : '*', " * ").concat(hours, " * * ").concat(this.periodArray2text(_settings.weekdays));
794
+ break;
795
+
796
+ case PERIODIC_TYPES.minutes:
797
+ cron = "".concat(_settings.period > 1 ? '*/' + _settings.period : '*', " ").concat(hours, " * * ").concat(this.periodArray2text(_settings.weekdays));
798
+ break;
799
+
800
+ default:
801
+ break;
802
+ }
803
+ } else if (state.mode === PERIODIC.specific) {
804
+ var _settings2 = state.specific || {};
805
+
806
+ var parts = (_settings2.time || '00:00').split(':');
807
+ var minutes = parseInt(parts[1], 10) || 0;
808
+ if (minutes > 59) minutes = 59;
809
+ if (minutes < 0) minutes = 0;
810
+
811
+ var _hours = parseInt(parts[0], 10) || 0;
812
+
813
+ if (_hours > 23) _hours = 59;
814
+ if (_hours < 0) _hours = 0;
815
+ cron = "".concat(minutes, " ").concat(_hours, " * * ").concat(this.periodArray2text(_settings2.weekdays || []));
816
+ } else if (state.mode === PERIODIC.once) {
817
+ var _settings3 = state.once || {};
818
+
819
+ if (!_settings3.date) {
820
+ _settings3.date = new Date().getDate() + '.' + padding(new Date().getMonth() + 1);
821
+ }
822
+
823
+ var _parts2 = (_settings3.time || '00:00').split(':');
824
+
825
+ var partsDate = _settings3.date.split('.');
826
+
827
+ var _minutes = parseInt(_parts2[1], 10) || 0;
828
+
829
+ if (_minutes > 59) _minutes = 59;
830
+ if (_minutes < 0) _minutes = 0;
831
+
832
+ var _hours2 = parseInt(_parts2[0], 10) || 0;
833
+
834
+ if (_hours2 > 23) _hours2 = 59;
835
+ if (_hours2 < 0) _hours2 = 0;
836
+ var date = parseInt(partsDate[0], 10) || 1;
837
+ if (date > 31) date = 31;
838
+ if (date < 1) _hours2 = 1;
839
+ var month = parseInt(partsDate[1], 10) || 1;
840
+ if (month > 12) month = 12;
841
+ if (month < 1) month = 1;
842
+ cron = "".concat(_minutes, " ").concat(_hours2, " ").concat(date, " ").concat(month, " *");
843
+ }
844
+
845
+ return cron;
846
+ }
847
+ }]);
848
+
849
+ return SimpleCron;
850
+ }(_react["default"].Component);
851
+
852
+ SimpleCron.propTypes = {
853
+ cronExpression: _propTypes["default"].string,
854
+ onChange: _propTypes["default"].func,
855
+ language: _propTypes["default"].string
856
+ };
857
+
858
+ var _default = (0, _withStyles["default"])(styles)(SimpleCron);
859
+
860
+ exports["default"] = _default;
861
+ //# sourceMappingURL=index.js.map