@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,606 @@
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 _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
15
+
16
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
17
+
18
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
19
+
20
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
21
+
22
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
23
+
24
+ var _AppBar = _interopRequireDefault(require("@mui/material/AppBar"));
25
+
26
+ var _Tabs = _interopRequireDefault(require("@mui/material/Tabs"));
27
+
28
+ var _Tab = _interopRequireDefault(require("@mui/material/Tab"));
29
+
30
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
31
+
32
+ var _i18n = _interopRequireDefault(require("../i18n"));
33
+
34
+ var _cronText = _interopRequireDefault(require("./SimpleCron/cronText"));
35
+
36
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
37
+
38
+ 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; }
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
+ 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); }
61
+
62
+ var styles = function styles(theme) {
63
+ return {
64
+ mainDiv: {
65
+ width: '100%',
66
+ height: '100%'
67
+ },
68
+ periodSelect: {
69
+ //margin: '0 10px 60px 10px',
70
+ display: 'block',
71
+ width: 200
72
+ },
73
+ slider: {
74
+ marginTop: 20,
75
+ display: 'block',
76
+ width: '100%'
77
+ },
78
+ tabContent: {
79
+ padding: 20,
80
+ height: 'calc(100% - 240px)',
81
+ overflow: 'auto'
82
+ },
83
+ numberButton: {
84
+ padding: 4,
85
+ minWidth: 40,
86
+ margin: 5
87
+ },
88
+ numberButtonBreak: {
89
+ display: 'block'
90
+ },
91
+ appBar: {
92
+ color: 'white'
93
+ }
94
+ };
95
+ };
96
+
97
+ var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
98
+ var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; // 5-7,9-11 => [5,6,7,9,10,11]
99
+
100
+ function convertMinusIntoArray(value, max) {
101
+ var result = [];
102
+
103
+ if (value === '*') {
104
+ if (max === 24 || max === 60 || max === 7) {
105
+ for (var i = 0; i < max; i++) {
106
+ result.push(i);
107
+ }
108
+ } else {
109
+ for (var _i = 1; _i <= max; _i++) {
110
+ result.push(_i);
111
+ }
112
+ }
113
+
114
+ return result; // array with entries max
115
+ }
116
+
117
+ var parts = (value || '').toString().split(',');
118
+
119
+ for (var p = 0; p < parts.length; p++) {
120
+ if (!parts[p].trim().length) continue;
121
+ var items = parts[p].trim().split('-');
122
+
123
+ if (items.length > 1) {
124
+ var iMax = parseInt(items[1], 10);
125
+
126
+ for (var _i2 = parseInt(items[0], 10); _i2 <= iMax; _i2++) {
127
+ result.push(_i2);
128
+ }
129
+ } else {
130
+ result.push(parseInt(parts[p], 10));
131
+ }
132
+ }
133
+
134
+ result = result.map(function (a) {
135
+ return parseInt(a, 10);
136
+ });
137
+ result.sort(); // remove double entries
138
+
139
+ for (var _p = result.length - 1; _p >= 0; _p--) {
140
+ if (result[_p] === result[_p + 1]) {
141
+ result.splice(_p + 1, 1);
142
+ }
143
+ }
144
+
145
+ return result;
146
+ } // [5,6,7,9,10,11] => 5-7,9-11
147
+
148
+
149
+ function convertArrayIntoMinus(value, max) {
150
+ if (_typeof(value) !== 'object') {
151
+ value = [value];
152
+ }
153
+
154
+ if (value.length === max) {
155
+ return '*';
156
+ }
157
+
158
+ var newParts = [];
159
+
160
+ if (!value.length) {
161
+ return '-';
162
+ }
163
+
164
+ value = value.map(function (a) {
165
+ return parseInt(a, 10);
166
+ });
167
+ value.sort(function (a, b) {
168
+ return a - b;
169
+ });
170
+ var start = value[0];
171
+ var end = value[0];
172
+
173
+ for (var p = 1; p < value.length; p++) {
174
+ if (value[p] - 1 !== parseInt(value[p - 1], 10)) {
175
+ if (start === end) {
176
+ newParts.push(start);
177
+ } else if (end - 1 === start) {
178
+ newParts.push(start + ',' + end);
179
+ } else {
180
+ newParts.push(start + '-' + end);
181
+ }
182
+
183
+ start = value[p];
184
+ end = value[p];
185
+ } else {
186
+ end = value[p];
187
+ }
188
+ }
189
+
190
+ if (start === end) {
191
+ newParts.push(start);
192
+ } else if (end - 1 === start) {
193
+ newParts.push(start + ',' + end);
194
+ } else {
195
+ newParts.push(start + '-' + end);
196
+ }
197
+
198
+ return newParts.join(',');
199
+ }
200
+
201
+ var ComplexCron = /*#__PURE__*/function (_React$Component) {
202
+ _inherits(ComplexCron, _React$Component);
203
+
204
+ var _super = _createSuper(ComplexCron);
205
+
206
+ function ComplexCron(props) {
207
+ var _this;
208
+
209
+ _classCallCheck(this, ComplexCron);
210
+
211
+ _this = _super.call(this, props);
212
+ var cron = typeof _this.props.cronExpression === 'string' ? _this.props.cronExpression.replace(/^["']/, '').replace(/["']\n?$/, '') : '';
213
+
214
+ if (cron[0] === '{') {
215
+ cron = '';
216
+ }
217
+
218
+ var state = ComplexCron.cron2state(cron || '* * * * *');
219
+ _this.state = {
220
+ extended: false,
221
+ tab: state.seconds !== false ? 1 : 0,
222
+ cron: ComplexCron.state2cron(state),
223
+ modes: {
224
+ seconds: null,
225
+ minutes: null,
226
+ hours: null,
227
+ dates: null,
228
+ months: null,
229
+ dows: null
230
+ }
231
+ };
232
+ Object.assign(_this.state, state);
233
+
234
+ if (_this.state.cron !== _this.props.cronExpression) {
235
+ setTimeout(function () {
236
+ return _this.props.onChange && _this.props.onChange(_this.state.cron);
237
+ }, 100);
238
+ }
239
+
240
+ return _this;
241
+ }
242
+
243
+ _createClass(ComplexCron, [{
244
+ key: "recalcCron",
245
+ value: function recalcCron() {
246
+ var _this2 = this;
247
+
248
+ var cron = ComplexCron.state2cron(this.state);
249
+
250
+ if (cron !== this.state.cron) {
251
+ this.setState({
252
+ cron: cron
253
+ }, function () {
254
+ _this2.props.onChange && _this2.props.onChange(_this2.state.cron);
255
+ });
256
+ }
257
+ }
258
+ }, {
259
+ key: "onChange",
260
+ value: function onChange(cron) {
261
+ if (cron !== this.state.cron) {
262
+ this.setState({
263
+ cron: cron
264
+ });
265
+ this.props.onChange && this.props.onChange(cron);
266
+ }
267
+ }
268
+ }, {
269
+ key: "onToggle",
270
+ value: function onToggle(i, type, max) {
271
+ var _this3 = this;
272
+
273
+ if (i === true) {
274
+ this.setState(_defineProperty({}, type, '*'), function () {
275
+ return _this3.recalcCron();
276
+ });
277
+ } else if (i === false) {
278
+ if (max === 60 || max === 24) {
279
+ this.setState(_defineProperty({}, type, '0'), function () {
280
+ return _this3.recalcCron();
281
+ });
282
+ } else {
283
+ this.setState(_defineProperty({}, type, '1'), function () {
284
+ return _this3.recalcCron();
285
+ });
286
+ }
287
+ } else {
288
+ var nums = convertMinusIntoArray(this.state[type], max);
289
+ var pos = nums.indexOf(i);
290
+
291
+ if (pos !== -1) {
292
+ nums.splice(pos, 1);
293
+ } else {
294
+ nums.push(i);
295
+ nums.sort();
296
+ }
297
+
298
+ this.setState(_defineProperty({}, type, convertArrayIntoMinus(nums, max)), function () {
299
+ return _this3.recalcCron();
300
+ });
301
+ }
302
+ }
303
+ }, {
304
+ key: "getDigitsSelector",
305
+ value: function getDigitsSelector(type, max) {
306
+ var _this4 = this;
307
+
308
+ var values = [];
309
+
310
+ if (max === 7) {
311
+ values = [1, 2, 3, 4, 5, 6, 0];
312
+ } else if (max === 60 || max === 24) {
313
+ for (var i = 0; i < max; i++) {
314
+ values.push(i);
315
+ }
316
+ } else {
317
+ for (var _i3 = 1; _i3 <= max; _i3++) {
318
+ values.push(_i3);
319
+ }
320
+ }
321
+
322
+ var parts = convertMinusIntoArray(this.state[type], max);
323
+ return [/*#__PURE__*/_react["default"].createElement(_Button["default"], {
324
+ key: "removeall",
325
+ variant: 'outlined',
326
+ className: this.props.classes.numberButton //style={{paddingBottom: 20}}
327
+ ,
328
+ color: 'primary',
329
+ onClick: function onClick() {
330
+ return _this4.onToggle(false, type, max);
331
+ }
332
+ }, _i18n["default"].t('ra_Deselect all')), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
333
+ key: "addall",
334
+ variant: 'contained' //style={{paddingBottom: 20}}
335
+ ,
336
+ className: this.props.classes.numberButton,
337
+ color: 'secondary',
338
+ onClick: function onClick() {
339
+ return _this4.onToggle(true, type, max);
340
+ }
341
+ }, _i18n["default"].t('ra_Select all')), /*#__PURE__*/_react["default"].createElement("div", {
342
+ key: "all"
343
+ }, values.map(function (i) {
344
+ return [max === 7 && i === 4 || max === 12 && i === 7 || max === 31 && !((i - 1) % 10) || max === 60 && i && !(i % 10) || max === 24 && i && !(i % 6) ? /*#__PURE__*/_react["default"].createElement("div", {
345
+ key: 'allInner' + i,
346
+ style: {
347
+ width: '100%'
348
+ }
349
+ }) : null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
350
+ key: '_' + i,
351
+ variant: parts.indexOf(i) !== -1 ? 'contained' : 'outlined',
352
+ className: _this4.props.classes.numberButton,
353
+ color: parts.indexOf(i) !== -1 ? 'secondary' : 'primary',
354
+ onClick: function onClick() {
355
+ return _this4.onToggle(i, type, max);
356
+ }
357
+ }, max === 7 ? _i18n["default"].t(WEEKDAYS[i]) : max === 12 ? MONTHS[i - 1] : i)];
358
+ }))];
359
+ }
360
+ }, {
361
+ key: "getPeriodsTab",
362
+ value: function getPeriodsTab(type, max) {
363
+ var _this5 = this;
364
+
365
+ var value = this.state[type];
366
+ var every = value === '*';
367
+ var everyN = value.toString().indexOf('/') !== -1;
368
+ var select;
369
+
370
+ if (this.state.modes[type] === null) {
371
+ select = every ? 'every' : everyN ? 'everyN' : 'specific';
372
+ var modes = JSON.parse(JSON.stringify(this.state.modes));
373
+ modes[type] = select;
374
+ return setTimeout(function () {
375
+ return _this5.setState({
376
+ modes: modes
377
+ }, function () {
378
+ return _this5.recalcCron();
379
+ });
380
+ }, 100);
381
+ } else {
382
+ every = this.state.modes[type] === 'every';
383
+ everyN = this.state.modes[type] === 'everyN';
384
+ select = this.state.modes[type];
385
+ }
386
+
387
+ if (everyN) {
388
+ value = parseInt(value.replace('*/', ''), 10) || 1;
389
+ }
390
+
391
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
392
+ variant: "standard",
393
+ className: this.props.classes.periodSelect,
394
+ style: {
395
+ verticalAlign: 'bottom'
396
+ },
397
+ value: select,
398
+ onChange: function onChange(e) {
399
+ var modes = JSON.parse(JSON.stringify(_this5.state.modes));
400
+ modes[type] = e.target.value;
401
+
402
+ if (e.target.value === 'every') {
403
+ var _this5$setState;
404
+
405
+ _this5.setState((_this5$setState = {}, _defineProperty(_this5$setState, type, '*'), _defineProperty(_this5$setState, "modes", modes), _this5$setState), function () {
406
+ return _this5.recalcCron();
407
+ });
408
+ } else if (e.target.value === 'everyN') {
409
+ var _this5$setState2;
410
+
411
+ var num = parseInt(_this5.state[type].toString().replace('*/', ''), 10) || 1;
412
+
413
+ _this5.setState((_this5$setState2 = {}, _defineProperty(_this5$setState2, type, '*/' + num), _defineProperty(_this5$setState2, "modes", modes), _this5$setState2), function () {
414
+ return _this5.recalcCron();
415
+ });
416
+ } else if (e.target.value === 'specific') {
417
+ var _this5$setState3;
418
+
419
+ var _num = parseInt(_this5.state[type].split(',')[0], 10) || 0;
420
+
421
+ console.log(_num);
422
+
423
+ if (!_num && (type === 'months' || type === 'dates')) {
424
+ _num = 1;
425
+ }
426
+
427
+ _this5.setState((_this5$setState3 = {}, _defineProperty(_this5$setState3, type, convertArrayIntoMinus(_num, max)), _defineProperty(_this5$setState3, "modes", modes), _this5$setState3), function () {
428
+ return _this5.recalcCron();
429
+ });
430
+ }
431
+ }
432
+ }, /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
433
+ key: "every",
434
+ value: "every"
435
+ }, _i18n["default"].t('sc_every_' + type)), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
436
+ key: "everyN",
437
+ value: "everyN"
438
+ }, _i18n["default"].t('sc_everyN_' + type)), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
439
+ key: "specific",
440
+ value: "specific"
441
+ }, _i18n["default"].t('sc_specific_' + type))), everyN && false && /*#__PURE__*/_react["default"].createElement("span", null, value), everyN && /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
442
+ variant: "standard",
443
+ key: "interval",
444
+ label: _i18n["default"].t('sc_' + type),
445
+ value: value,
446
+ min: 1,
447
+ max: max,
448
+ onChange: function onChange(e) {
449
+ _this5.setState(_defineProperty({}, type, '*/' + e.target.value), function () {
450
+ return _this5.recalcCron();
451
+ });
452
+ },
453
+ InputLabelProps: {
454
+ shrink: true
455
+ },
456
+ type: "number",
457
+ margin: "normal"
458
+ }), !every && !everyN && this.getDigitsSelector(type, max));
459
+ }
460
+ }, {
461
+ key: "convertCronToText",
462
+ value: function convertCronToText(cron, lang) {
463
+ if (cron.split(' ').indexOf('-') !== -1) {
464
+ return _i18n["default"].t('ra_Invalid CRON');
465
+ } else {
466
+ return (0, _cronText["default"])(cron, lang);
467
+ }
468
+ }
469
+ }, {
470
+ key: "render",
471
+ value: function render() {
472
+ var _this6 = this;
473
+
474
+ var tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;
475
+ return /*#__PURE__*/_react["default"].createElement("div", {
476
+ className: this.props.classes.mainDiv
477
+ }, /*#__PURE__*/_react["default"].createElement("div", {
478
+ style: {
479
+ paddingLeft: 8,
480
+ width: '100%'
481
+ }
482
+ }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
483
+ variant: "standard",
484
+ style: {
485
+ width: '100%'
486
+ },
487
+ value: this.state.cron,
488
+ disabled: true
489
+ })), /*#__PURE__*/_react["default"].createElement("div", {
490
+ style: {
491
+ paddingLeft: 8,
492
+ width: '100%',
493
+ height: 60
494
+ }
495
+ }, this.convertCronToText(this.state.cron, this.props.language || 'en')), /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
496
+ control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
497
+ checked: this.state.seconds,
498
+ onChange: function onChange(e) {
499
+ return _this6.setState({
500
+ seconds: e.target.checked ? '*' : false
501
+ }, function () {
502
+ return _this6.recalcCron();
503
+ });
504
+ }
505
+ }),
506
+ label: _i18n["default"].t('ra_use seconds')
507
+ }), /*#__PURE__*/_react["default"].createElement(_AppBar["default"], {
508
+ position: "static",
509
+ classes: {
510
+ root: this.props.classes.appBar
511
+ },
512
+ color: "secondary"
513
+ }, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
514
+ value: this.state.tab,
515
+ className: this.props.classes.appBar,
516
+ color: "secondary",
517
+ onChange: function onChange(active, tab) {
518
+ return _this6.setState({
519
+ tab: tab
520
+ });
521
+ }
522
+ }, this.state.seconds !== false && /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
523
+ id: "sc_seconds",
524
+ label: _i18n["default"].t('sc_seconds')
525
+ }), /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
526
+ id: "minutes",
527
+ label: _i18n["default"].t('sc_minutes')
528
+ }), /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
529
+ id: "hours",
530
+ label: _i18n["default"].t('sc_hours')
531
+ }), /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
532
+ id: "dates",
533
+ label: _i18n["default"].t('sc_dates')
534
+ }), /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
535
+ id: "months",
536
+ label: _i18n["default"].t('sc_months')
537
+ }), /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
538
+ id: "dows",
539
+ label: _i18n["default"].t('sc_dows')
540
+ }))), tab === 0 && /*#__PURE__*/_react["default"].createElement("div", {
541
+ className: this.props.classes.tabContent
542
+ }, this.getPeriodsTab('seconds', 60)), tab === 1 && /*#__PURE__*/_react["default"].createElement("div", {
543
+ className: this.props.classes.tabContent
544
+ }, this.getPeriodsTab('minutes', 60)), tab === 2 && /*#__PURE__*/_react["default"].createElement("div", {
545
+ className: this.props.classes.tabContent
546
+ }, this.getPeriodsTab('hours', 24)), tab === 3 && /*#__PURE__*/_react["default"].createElement("div", {
547
+ className: this.props.classes.tabContent
548
+ }, this.getPeriodsTab('dates', 31)), tab === 4 && /*#__PURE__*/_react["default"].createElement("div", {
549
+ className: this.props.classes.tabContent
550
+ }, this.getPeriodsTab('months', 12)), tab === 5 && /*#__PURE__*/_react["default"].createElement("div", {
551
+ className: this.props.classes.tabContent
552
+ }, this.getPeriodsTab('dows', 7)));
553
+ }
554
+ }], [{
555
+ key: "cron2state",
556
+ value: function cron2state(cron) {
557
+ cron = cron.replace(/['"]/g, '').trim();
558
+ var cronParts = cron.split(' ').map(function (p) {
559
+ return p.trim();
560
+ });
561
+ var options = {};
562
+
563
+ if (cronParts.length === 6) {
564
+ options.seconds = cronParts[0] || '*';
565
+ options.minutes = cronParts[1] || '*';
566
+ options.hours = cronParts[2] || '*';
567
+ options.dates = cronParts[3] || '*';
568
+ options.months = cronParts[4] || '*';
569
+ options.dows = cronParts[5] || '*';
570
+ } else {
571
+ options.seconds = false;
572
+ options.minutes = cronParts[0] || '*';
573
+ options.hours = cronParts[1] || '*';
574
+ options.dates = cronParts[2] || '*';
575
+ options.months = cronParts[3] || '*';
576
+ options.dows = cronParts[4] || '*';
577
+ }
578
+
579
+ return options;
580
+ }
581
+ }, {
582
+ key: "state2cron",
583
+ value: function state2cron(state) {
584
+ var text = "".concat(state.minutes, " ").concat(state.hours, " ").concat(state.dates, " ").concat(state.months, " ").concat(state.dows);
585
+
586
+ if (state.seconds !== false) {
587
+ text = state.seconds + ' ' + text;
588
+ }
589
+
590
+ return text;
591
+ }
592
+ }]);
593
+
594
+ return ComplexCron;
595
+ }(_react["default"].Component);
596
+
597
+ ComplexCron.propTypes = {
598
+ cronExpression: _propTypes["default"].string,
599
+ onChange: _propTypes["default"].func,
600
+ language: _propTypes["default"].string
601
+ };
602
+
603
+ var _default = (0, _withStyles["default"])(styles)(ComplexCron);
604
+
605
+ exports["default"] = _default;
606
+ //# sourceMappingURL=ComplexCron.js.map