@iobroker/adapter-react-v5 3.1.33 → 3.1.35

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 (243) hide show
  1. package/Components/404.js +0 -23
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.js +6 -37
  4. package/Components/ColorPicker.js.map +1 -1
  5. package/Components/ComplexCron.js +10 -84
  6. package/Components/ComplexCron.js.map +1 -1
  7. package/Components/CustomModal.js +29 -54
  8. package/Components/CustomModal.js.map +1 -1
  9. package/Components/FileBrowser.js +15 -265
  10. package/Components/FileBrowser.js.map +1 -1
  11. package/Components/FileViewer.js +7 -68
  12. package/Components/FileViewer.js.map +1 -1
  13. package/Components/Icon.d.ts +1 -1
  14. package/Components/Icon.js +2 -42
  15. package/Components/Icon.js.map +1 -1
  16. package/Components/IconPicker.js +6 -28
  17. package/Components/IconPicker.js.map +1 -1
  18. package/Components/IconSelector.js +3 -55
  19. package/Components/IconSelector.js.map +1 -1
  20. package/Components/Image.js +1 -38
  21. package/Components/Image.js.map +1 -1
  22. package/Components/JsonConfigComponent/ChipInput.js +66 -197
  23. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigAlive.js +0 -31
  25. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigAutocomplete.js +6 -39
  27. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +6 -52
  29. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigCRON.js +5 -39
  31. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +4 -42
  33. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigCheckbox.js +0 -28
  35. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigChip.js +4 -33
  37. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigColor.js +0 -34
  39. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigCoordinates.js +0 -33
  41. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigCustom.js +14 -73
  43. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigDatePicker.js +0 -25
  45. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  46. package/Components/JsonConfigComponent/ConfigFile.js +0 -46
  47. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  48. package/Components/JsonConfigComponent/ConfigFileSelector.js +7 -126
  49. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  50. package/Components/JsonConfigComponent/ConfigFunc.js +0 -34
  51. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
  52. package/Components/JsonConfigComponent/ConfigGeneric.js +15 -110
  53. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  54. package/Components/JsonConfigComponent/ConfigIP.js +2 -35
  55. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  56. package/Components/JsonConfigComponent/ConfigImageUpload.js +4 -44
  57. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  58. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -59
  59. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  60. package/Components/JsonConfigComponent/ConfigJsonEditor.js +7 -40
  61. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  62. package/Components/JsonConfigComponent/ConfigLanguage.js +2 -42
  63. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  64. package/Components/JsonConfigComponent/ConfigNumber.js +2 -45
  65. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  66. package/Components/JsonConfigComponent/ConfigObjectId.js +6 -40
  67. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  68. package/Components/JsonConfigComponent/ConfigPanel.js +7 -91
  69. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  70. package/Components/JsonConfigComponent/ConfigPassword.js +0 -42
  71. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  72. package/Components/JsonConfigComponent/ConfigPattern.js +0 -25
  73. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  74. package/Components/JsonConfigComponent/ConfigRoom.js +0 -34
  75. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  76. package/Components/JsonConfigComponent/ConfigSelect.js +4 -34
  77. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  78. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +11 -67
  79. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  80. package/Components/JsonConfigComponent/ConfigSendto.js +8 -91
  81. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  82. package/Components/JsonConfigComponent/ConfigSetState.js +0 -55
  83. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  84. package/Components/JsonConfigComponent/ConfigSlider.js +0 -28
  85. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
  86. package/Components/JsonConfigComponent/ConfigStaticDivider.js +0 -21
  87. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
  88. package/Components/JsonConfigComponent/ConfigStaticHeader.js +0 -24
  89. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
  90. package/Components/JsonConfigComponent/ConfigStaticImage.js +0 -23
  91. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  92. package/Components/JsonConfigComponent/ConfigStaticText.js +0 -31
  93. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  94. package/Components/JsonConfigComponent/ConfigTable.js +13 -105
  95. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  96. package/Components/JsonConfigComponent/ConfigTabs.js +2 -35
  97. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  98. package/Components/JsonConfigComponent/ConfigText.js +0 -34
  99. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  100. package/Components/JsonConfigComponent/ConfigTextSendTo.js +0 -37
  101. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  102. package/Components/JsonConfigComponent/ConfigTimePicker.js +0 -25
  103. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  104. package/Components/JsonConfigComponent/ConfigTopic.js +0 -29
  105. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  106. package/Components/JsonConfigComponent/ConfigUser.js +2 -40
  107. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
  108. package/Components/JsonConfigComponent/index.js +5 -81
  109. package/Components/JsonConfigComponent/index.js.map +1 -1
  110. package/Components/Loader.js +2 -20
  111. package/Components/Loader.js.map +1 -1
  112. package/Components/Loaders/PT.js +2 -20
  113. package/Components/Loaders/PT.js.map +1 -1
  114. package/Components/Loaders/Vendor.js +2 -21
  115. package/Components/Loaders/Vendor.js.map +1 -1
  116. package/Components/Logo.js +6 -39
  117. package/Components/Logo.js.map +1 -1
  118. package/Components/MDUtils.js +3 -27
  119. package/Components/MDUtils.js.map +1 -1
  120. package/Components/ObjectBrowser.d.ts +1 -1
  121. package/Components/ObjectBrowser.js +206 -794
  122. package/Components/ObjectBrowser.js.map +1 -1
  123. package/Components/Router.js +7 -31
  124. package/Components/Router.js.map +1 -1
  125. package/Components/SaveCloseButtons.js +2 -32
  126. package/Components/SaveCloseButtons.js.map +1 -1
  127. package/Components/Schedule.js +29 -251
  128. package/Components/Schedule.js.map +1 -1
  129. package/Components/SelectWithIcon.d.ts +1 -1
  130. package/Components/SelectWithIcon.js +0 -48
  131. package/Components/SelectWithIcon.js.map +1 -1
  132. package/Components/SimpleCron/cron2text.js +45 -91
  133. package/Components/SimpleCron/cron2text.js.map +1 -1
  134. package/Components/SimpleCron/cronText.js +0 -6
  135. package/Components/SimpleCron/cronText.js.map +1 -1
  136. package/Components/SimpleCron/index.js +19 -102
  137. package/Components/SimpleCron/index.js.map +1 -1
  138. package/Components/SimpleCron/jquery.cron.locale.js +44 -24
  139. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
  140. package/Components/TabContainer.js +2 -23
  141. package/Components/TabContainer.js.map +1 -1
  142. package/Components/TabContent.js +2 -22
  143. package/Components/TabContent.js.map +1 -1
  144. package/Components/TabHeader.js +1 -17
  145. package/Components/TabHeader.js.map +1 -1
  146. package/Components/TableResize.js +6 -51
  147. package/Components/TableResize.js.map +1 -1
  148. package/Components/TextWithIcon.js +0 -20
  149. package/Components/TextWithIcon.js.map +1 -1
  150. package/Components/ToggleThemeMenu.js +5 -13
  151. package/Components/ToggleThemeMenu.js.map +1 -1
  152. package/Components/TreeTable.js +4 -121
  153. package/Components/TreeTable.js.map +1 -1
  154. package/Components/UploadImage.js +17 -60
  155. package/Components/UploadImage.js.map +1 -1
  156. package/Components/Utils.js +87 -263
  157. package/Components/Utils.js.map +1 -1
  158. package/Components/copy-to-clipboard.js +16 -38
  159. package/Components/copy-to-clipboard.js.map +1 -1
  160. package/Components/withWidth.js +2 -10
  161. package/Components/withWidth.js.map +1 -1
  162. package/Connection.d.ts +1 -0
  163. package/Connection.js +156 -527
  164. package/Connection.js.map +1 -1
  165. package/Dialogs/ComplexCron.js +0 -34
  166. package/Dialogs/ComplexCron.js.map +1 -1
  167. package/Dialogs/Confirm.js +1 -39
  168. package/Dialogs/Confirm.js.map +1 -1
  169. package/Dialogs/Cron.js +1 -37
  170. package/Dialogs/Cron.js.map +1 -1
  171. package/Dialogs/Error.d.ts +1 -1
  172. package/Dialogs/Error.js +2 -29
  173. package/Dialogs/Error.js.map +1 -1
  174. package/Dialogs/FileSelect.js +2 -36
  175. package/Dialogs/FileSelect.js.map +1 -1
  176. package/Dialogs/Message.js +2 -27
  177. package/Dialogs/Message.js.map +1 -1
  178. package/Dialogs/SelectID.d.ts +1 -1
  179. package/Dialogs/SelectID.js +3 -40
  180. package/Dialogs/SelectID.js.map +1 -1
  181. package/Dialogs/SimpleCron.js +1 -33
  182. package/Dialogs/SimpleCron.js.map +1 -1
  183. package/Dialogs/TextInput.js +2 -34
  184. package/Dialogs/TextInput.js.map +1 -1
  185. package/GenericApp.js +54 -150
  186. package/GenericApp.js.map +1 -1
  187. package/Prompt.js +0 -2
  188. package/Prompt.js.map +1 -1
  189. package/README.md +11 -4
  190. package/Theme.js +7 -22
  191. package/Theme.js.map +1 -1
  192. package/i18n.d.ts +2 -0
  193. package/i18n.js +14 -25
  194. package/i18n.js.map +1 -1
  195. package/icons/IconAdapter.d.ts +2 -2
  196. package/icons/IconAdapter.js +2 -6
  197. package/icons/IconAdapter.js.map +1 -1
  198. package/icons/IconAlias.d.ts +2 -2
  199. package/icons/IconAlias.js +2 -6
  200. package/icons/IconAlias.js.map +1 -1
  201. package/icons/IconChannel.d.ts +2 -2
  202. package/icons/IconChannel.js +2 -6
  203. package/icons/IconChannel.js.map +1 -1
  204. package/icons/IconClearFilter.d.ts +2 -2
  205. package/icons/IconClearFilter.js +0 -5
  206. package/icons/IconClearFilter.js.map +1 -1
  207. package/icons/IconClosed.d.ts +2 -2
  208. package/icons/IconClosed.js +0 -5
  209. package/icons/IconClosed.js.map +1 -1
  210. package/icons/IconCopy.d.ts +2 -2
  211. package/icons/IconCopy.js +0 -5
  212. package/icons/IconCopy.js.map +1 -1
  213. package/icons/IconDevice.d.ts +2 -2
  214. package/icons/IconDevice.js +0 -5
  215. package/icons/IconDevice.js.map +1 -1
  216. package/icons/IconDocument.d.ts +2 -2
  217. package/icons/IconDocument.js +0 -5
  218. package/icons/IconDocument.js.map +1 -1
  219. package/icons/IconDocumentReadOnly.d.ts +2 -2
  220. package/icons/IconDocumentReadOnly.js +0 -5
  221. package/icons/IconDocumentReadOnly.js.map +1 -1
  222. package/icons/IconExpert.d.ts +2 -2
  223. package/icons/IconExpert.js +0 -5
  224. package/icons/IconExpert.js.map +1 -1
  225. package/icons/IconFx.d.ts +2 -2
  226. package/icons/IconFx.js +0 -5
  227. package/icons/IconFx.js.map +1 -1
  228. package/icons/IconInstance.d.ts +2 -2
  229. package/icons/IconInstance.js +0 -5
  230. package/icons/IconInstance.js.map +1 -1
  231. package/icons/IconLogout.d.ts +2 -2
  232. package/icons/IconLogout.js +0 -5
  233. package/icons/IconLogout.js.map +1 -1
  234. package/icons/IconNoIcon.d.ts +2 -2
  235. package/icons/IconNoIcon.js +0 -5
  236. package/icons/IconNoIcon.js.map +1 -1
  237. package/icons/IconOpen.d.ts +2 -2
  238. package/icons/IconOpen.js +0 -5
  239. package/icons/IconOpen.js.map +1 -1
  240. package/icons/IconState.d.ts +2 -2
  241. package/icons/IconState.js +0 -6
  242. package/icons/IconState.js.map +1 -1
  243. package/package.json +15 -15
@@ -1,58 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
23
-
24
15
  var _react = _interopRequireDefault(require("react"));
25
-
26
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
17
  var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
29
-
30
18
  var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
31
-
32
19
  var _Button = _interopRequireDefault(require("@mui/material/Button"));
33
-
34
20
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
35
-
36
21
  var _Select = _interopRequireDefault(require("@mui/material/Select"));
37
-
38
22
  var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
39
-
40
23
  var _AppBar = _interopRequireDefault(require("@mui/material/AppBar"));
41
-
42
24
  var _Tabs = _interopRequireDefault(require("@mui/material/Tabs"));
43
-
44
25
  var _Tab = _interopRequireDefault(require("@mui/material/Tab"));
45
-
46
26
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
47
-
48
27
  var _i18n = _interopRequireDefault(require("../i18n"));
49
-
50
28
  var _cronText = _interopRequireDefault(require("./SimpleCron/cronText"));
51
-
52
29
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
53
-
54
30
  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
31
  var styles = function styles(theme) {
57
32
  return {
58
33
  mainDiv: {
@@ -87,13 +62,12 @@ var styles = function styles(theme) {
87
62
  }
88
63
  };
89
64
  };
90
-
91
65
  var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
92
- var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; // 5-7,9-11 => [5,6,7,9,10,11]
66
+ var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
93
67
 
68
+ // 5-7,9-11 => [5,6,7,9,10,11]
94
69
  function convertMinusIntoArray(value, max) {
95
70
  var result = [];
96
-
97
71
  if (value === '*') {
98
72
  if (max === 24 || max === 60 || max === 7) {
99
73
  for (var i = 0; i < max; i++) {
@@ -104,19 +78,15 @@ function convertMinusIntoArray(value, max) {
104
78
  result.push(_i);
105
79
  }
106
80
  }
107
-
108
81
  return result; // array with entries max
109
82
  }
110
83
 
111
84
  var parts = (value || '').toString().split(',');
112
-
113
85
  for (var p = 0; p < parts.length; p++) {
114
86
  if (!parts[p].trim().length) continue;
115
87
  var items = parts[p].trim().split('-');
116
-
117
88
  if (items.length > 1) {
118
89
  var iMax = parseInt(items[1], 10);
119
-
120
90
  for (var _i2 = parseInt(items[0], 10); _i2 <= iMax; _i2++) {
121
91
  result.push(_i2);
122
92
  }
@@ -124,37 +94,32 @@ function convertMinusIntoArray(value, max) {
124
94
  result.push(parseInt(parts[p], 10));
125
95
  }
126
96
  }
127
-
128
97
  result = result.map(function (a) {
129
98
  return parseInt(a, 10);
130
99
  });
131
- result.sort(); // remove double entries
100
+ result.sort();
132
101
 
102
+ // remove double entries
133
103
  for (var _p = result.length - 1; _p >= 0; _p--) {
134
104
  if (result[_p] === result[_p + 1]) {
135
105
  result.splice(_p + 1, 1);
136
106
  }
137
107
  }
138
-
139
108
  return result;
140
- } // [5,6,7,9,10,11] => 5-7,9-11
141
-
109
+ }
142
110
 
111
+ // [5,6,7,9,10,11] => 5-7,9-11
143
112
  function convertArrayIntoMinus(value, max) {
144
113
  if ((0, _typeof2["default"])(value) !== 'object') {
145
114
  value = [value];
146
115
  }
147
-
148
116
  if (value.length === max) {
149
117
  return '*';
150
118
  }
151
-
152
119
  var newParts = [];
153
-
154
120
  if (!value.length) {
155
121
  return '-';
156
122
  }
157
-
158
123
  value = value.map(function (a) {
159
124
  return parseInt(a, 10);
160
125
  });
@@ -163,7 +128,6 @@ function convertArrayIntoMinus(value, max) {
163
128
  });
164
129
  var start = value[0];
165
130
  var end = value[0];
166
-
167
131
  for (var p = 1; p < value.length; p++) {
168
132
  if (value[p] - 1 !== parseInt(value[p - 1], 10)) {
169
133
  if (start === end) {
@@ -173,14 +137,12 @@ function convertArrayIntoMinus(value, max) {
173
137
  } else {
174
138
  newParts.push(start + '-' + end);
175
139
  }
176
-
177
140
  start = value[p];
178
141
  end = value[p];
179
142
  } else {
180
143
  end = value[p];
181
144
  }
182
145
  }
183
-
184
146
  if (start === end) {
185
147
  newParts.push(start);
186
148
  } else if (end - 1 === start) {
@@ -188,26 +150,19 @@ function convertArrayIntoMinus(value, max) {
188
150
  } else {
189
151
  newParts.push(start + '-' + end);
190
152
  }
191
-
192
153
  return newParts.join(',');
193
154
  }
194
-
195
155
  var ComplexCron = /*#__PURE__*/function (_React$Component) {
196
156
  (0, _inherits2["default"])(ComplexCron, _React$Component);
197
-
198
157
  var _super = _createSuper(ComplexCron);
199
-
200
158
  function ComplexCron(props) {
201
159
  var _this;
202
-
203
160
  (0, _classCallCheck2["default"])(this, ComplexCron);
204
161
  _this = _super.call(this, props);
205
162
  var cron = typeof _this.props.cronExpression === 'string' ? _this.props.cronExpression.replace(/^["']/, '').replace(/["']\n?$/, '') : '';
206
-
207
163
  if (cron[0] === '{') {
208
164
  cron = '';
209
165
  }
210
-
211
166
  var state = ComplexCron.cron2state(cron || '* * * * *');
212
167
  _this.state = {
213
168
  extended: false,
@@ -223,23 +178,18 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
223
178
  }
224
179
  };
225
180
  Object.assign(_this.state, state);
226
-
227
181
  if (_this.state.cron !== _this.props.cronExpression) {
228
182
  setTimeout(function () {
229
183
  return _this.props.onChange && _this.props.onChange(_this.state.cron);
230
184
  }, 100);
231
185
  }
232
-
233
186
  return _this;
234
187
  }
235
-
236
188
  (0, _createClass2["default"])(ComplexCron, [{
237
189
  key: "recalcCron",
238
190
  value: function recalcCron() {
239
191
  var _this2 = this;
240
-
241
192
  var cron = ComplexCron.state2cron(this.state);
242
-
243
193
  if (cron !== this.state.cron) {
244
194
  this.setState({
245
195
  cron: cron
@@ -262,7 +212,6 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
262
212
  key: "onToggle",
263
213
  value: function onToggle(i, type, max) {
264
214
  var _this3 = this;
265
-
266
215
  if (i === true) {
267
216
  this.setState((0, _defineProperty2["default"])({}, type, '*'), function () {
268
217
  return _this3.recalcCron();
@@ -280,14 +229,12 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
280
229
  } else {
281
230
  var nums = convertMinusIntoArray(this.state[type], max);
282
231
  var pos = nums.indexOf(i);
283
-
284
232
  if (pos !== -1) {
285
233
  nums.splice(pos, 1);
286
234
  } else {
287
235
  nums.push(i);
288
236
  nums.sort();
289
237
  }
290
-
291
238
  this.setState((0, _defineProperty2["default"])({}, type, convertArrayIntoMinus(nums, max)), function () {
292
239
  return _this3.recalcCron();
293
240
  });
@@ -297,9 +244,7 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
297
244
  key: "getDigitsSelector",
298
245
  value: function getDigitsSelector(type, max) {
299
246
  var _this4 = this;
300
-
301
247
  var values = [];
302
-
303
248
  if (max === 7) {
304
249
  values = [1, 2, 3, 4, 5, 6, 0];
305
250
  } else if (max === 60 || max === 24) {
@@ -311,12 +256,12 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
311
256
  values.push(_i3);
312
257
  }
313
258
  }
314
-
315
259
  var parts = convertMinusIntoArray(this.state[type], max);
316
260
  return [/*#__PURE__*/_react["default"].createElement(_Button["default"], {
317
261
  key: "removeall",
318
262
  variant: 'outlined',
319
- className: this.props.classes.numberButton //style={{paddingBottom: 20}}
263
+ className: this.props.classes.numberButton
264
+ //style={{paddingBottom: 20}}
320
265
  ,
321
266
  color: 'primary',
322
267
  onClick: function onClick() {
@@ -324,7 +269,8 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
324
269
  }
325
270
  }, _i18n["default"].t('ra_Deselect all')), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
326
271
  key: "addall",
327
- variant: 'contained' //style={{paddingBottom: 20}}
272
+ variant: 'contained'
273
+ //style={{paddingBottom: 20}}
328
274
  ,
329
275
  className: this.props.classes.numberButton,
330
276
  color: 'secondary',
@@ -354,12 +300,10 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
354
300
  key: "getPeriodsTab",
355
301
  value: function getPeriodsTab(type, max) {
356
302
  var _this5 = this;
357
-
358
303
  var value = this.state[type];
359
304
  var every = value === '*';
360
305
  var everyN = value.toString().indexOf('/') !== -1;
361
306
  var select;
362
-
363
307
  if (this.state.modes[type] === null) {
364
308
  select = every ? 'every' : everyN ? 'everyN' : 'specific';
365
309
  var modes = JSON.parse(JSON.stringify(this.state.modes));
@@ -376,11 +320,9 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
376
320
  everyN = this.state.modes[type] === 'everyN';
377
321
  select = this.state.modes[type];
378
322
  }
379
-
380
323
  if (everyN) {
381
324
  value = parseInt(value.replace('*/', ''), 10) || 1;
382
325
  }
383
-
384
326
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
385
327
  variant: "standard",
386
328
  className: this.props.classes.periodSelect,
@@ -391,32 +333,24 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
391
333
  onChange: function onChange(e) {
392
334
  var modes = JSON.parse(JSON.stringify(_this5.state.modes));
393
335
  modes[type] = e.target.value;
394
-
395
336
  if (e.target.value === 'every') {
396
337
  var _this5$setState;
397
-
398
338
  _this5.setState((_this5$setState = {}, (0, _defineProperty2["default"])(_this5$setState, type, '*'), (0, _defineProperty2["default"])(_this5$setState, "modes", modes), _this5$setState), function () {
399
339
  return _this5.recalcCron();
400
340
  });
401
341
  } else if (e.target.value === 'everyN') {
402
342
  var _this5$setState2;
403
-
404
343
  var num = parseInt(_this5.state[type].toString().replace('*/', ''), 10) || 1;
405
-
406
344
  _this5.setState((_this5$setState2 = {}, (0, _defineProperty2["default"])(_this5$setState2, type, '*/' + num), (0, _defineProperty2["default"])(_this5$setState2, "modes", modes), _this5$setState2), function () {
407
345
  return _this5.recalcCron();
408
346
  });
409
347
  } else if (e.target.value === 'specific') {
410
348
  var _this5$setState3;
411
-
412
349
  var _num = parseInt(_this5.state[type].split(',')[0], 10) || 0;
413
-
414
350
  console.log(_num);
415
-
416
351
  if (!_num && (type === 'months' || type === 'dates')) {
417
352
  _num = 1;
418
353
  }
419
-
420
354
  _this5.setState((_this5$setState3 = {}, (0, _defineProperty2["default"])(_this5$setState3, type, convertArrayIntoMinus(_num, max)), (0, _defineProperty2["default"])(_this5$setState3, "modes", modes), _this5$setState3), function () {
421
355
  return _this5.recalcCron();
422
356
  });
@@ -463,7 +397,6 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
463
397
  key: "render",
464
398
  value: function render() {
465
399
  var _this6 = this;
466
-
467
400
  var tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;
468
401
  return /*#__PURE__*/_react["default"].createElement("div", {
469
402
  className: this.props.classes.mainDiv
@@ -552,7 +485,6 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
552
485
  return p.trim();
553
486
  });
554
487
  var options = {};
555
-
556
488
  if (cronParts.length === 6) {
557
489
  options.seconds = cronParts[0] || '*';
558
490
  options.minutes = cronParts[1] || '*';
@@ -568,31 +500,25 @@ var ComplexCron = /*#__PURE__*/function (_React$Component) {
568
500
  options.months = cronParts[3] || '*';
569
501
  options.dows = cronParts[4] || '*';
570
502
  }
571
-
572
503
  return options;
573
504
  }
574
505
  }, {
575
506
  key: "state2cron",
576
507
  value: function state2cron(state) {
577
508
  var text = "".concat(state.minutes, " ").concat(state.hours, " ").concat(state.dates, " ").concat(state.months, " ").concat(state.dows);
578
-
579
509
  if (state.seconds !== false) {
580
510
  text = state.seconds + ' ' + text;
581
511
  }
582
-
583
512
  return text;
584
513
  }
585
514
  }]);
586
515
  return ComplexCron;
587
516
  }(_react["default"].Component);
588
-
589
517
  ComplexCron.propTypes = {
590
518
  cronExpression: _propTypes["default"].string,
591
519
  onChange: _propTypes["default"].func.isRequired,
592
520
  language: _propTypes["default"].string
593
521
  };
594
-
595
522
  var _default = (0, _withStyles["default"])(styles)(ComplexCron);
596
-
597
523
  exports["default"] = _default;
598
524
  //# sourceMappingURL=ComplexCron.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComplexCron.js","names":["styles","theme","mainDiv","width","height","periodSelect","display","slider","marginTop","tabContent","padding","overflow","numberButton","minWidth","margin","numberButtonBreak","appBar","color","WEEKDAYS","MONTHS","convertMinusIntoArray","value","max","result","i","push","parts","toString","split","p","length","trim","items","iMax","parseInt","map","a","sort","splice","convertArrayIntoMinus","newParts","b","start","end","join","ComplexCron","props","cron","cronExpression","replace","state","cron2state","extended","tab","seconds","state2cron","modes","minutes","hours","dates","months","dows","Object","assign","setTimeout","onChange","setState","type","recalcCron","nums","pos","indexOf","values","classes","onToggle","I18n","t","every","everyN","select","JSON","parse","stringify","verticalAlign","e","target","num","console","log","shrink","getDigitsSelector","lang","convertCronToText","paddingLeft","language","checked","root","active","getPeriodsTab","cronParts","options","text","React","Component","propTypes","PropTypes","string","func","isRequired","withStyles"],"sources":["ComplexCron.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Checkbox from '@mui/material/Checkbox';\nimport Button from '@mui/material/Button';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport AppBar from '@mui/material/AppBar';\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\nimport convertCronToText from './SimpleCron/cronText';\n\nconst styles = theme => ({\n mainDiv: {\n width: '100%',\n height: '100%'\n },\n periodSelect: {\n //margin: '0 10px 60px 10px',\n display: 'block',\n width: 200\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%'\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5\n },\n numberButtonBreak: {\n display: 'block'\n },\n appBar: {\n color: 'white'\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value, max) {\n let result = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (! parts[p].trim().length) continue;\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n let iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n result = result.map(a => parseInt(a, 10));\n\n result.sort();\n\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value, max) {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a, 10));\n\n value.sort((a, b) => a -b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1], 10)) {\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n start = value[p];\n end = value[p];\n } else {\n end = value[p];\n }\n }\n\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n\n return newParts.join(',');\n}\n\nclass ComplexCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = (typeof this.props.cronExpression === 'string') ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dows: null\n }\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n const options = {};\n\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.dates = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dows = cronParts[5] || '*';\n } else {\n options.seconds = false;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.dates = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dows = cronParts[4] || '*';\n }\n return options;\n }\n static state2cron(state) {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dows}`;\n if (state.seconds !== false) {\n text = state.seconds + ' ' + text;\n }\n return text;\n }\n\n recalcCron() {\n let cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({cron}, () => {\n this.props.onChange && this.props.onChange(this.state.cron);\n });\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({cron});\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n onToggle(i, type, max) {\n if (i === true) {\n this.setState({[type]: '*'}, () => this.recalcCron());\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setState({[type]: '0'}, () => this.recalcCron());\n } else {\n this.setState({[type]: '1'}, () => this.recalcCron());\n }\n } else {\n let nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setState({[type]: convertArrayIntoMinus(nums, max)}, () => this.recalcCron());\n }\n }\n\n getDigitsSelector(type, max) {\n let values = [];\n if (max === 7) {\n values = [1,2,3,4,5,6,0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n <Button\n key=\"removeall\"\n variant={'outlined'}\n className={this.props.classes.numberButton}\n //style={{paddingBottom: 20}}\n color={'primary'}\n onClick={() => this.onToggle(false, type, max)}>{I18n.t('ra_Deselect all')}</Button>,\n <Button\n key=\"addall\"\n variant={'contained'}\n //style={{paddingBottom: 20}}\n className={this.props.classes.numberButton}\n color={'secondary'}\n onClick={() => this.onToggle(true, type, max)}>{I18n.t('ra_Select all')}</Button>,\n <div key=\"all\">\n {values.map(i =>\n [((max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6))) ?\n (<div key={'allInner' + i} style={{width: '100%'}}/>) : null,\n (<Button\n key={'_' + i}\n variant={parts.indexOf(i) !== -1 ? 'contained' : 'outlined'}\n className={this.props.classes.numberButton}\n color={parts.indexOf(i) !== -1 ? 'secondary' : 'primary'}\n onClick={() => this.onToggle(i, type, max)}>{max === 7 ? I18n.t(WEEKDAYS[i]) : (max === 12 ? MONTHS[i - 1] : i)}</Button>\n )])}\n </div>\n ];\n }\n\n getPeriodsTab(type, max) {\n let value = this.state[type];\n let every = value === '*';\n let everyN = value.toString().indexOf('/') !== -1;\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : (everyN ? 'everyN' : 'specific');\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n return setTimeout(() => this.setState({modes}, () => this.recalcCron()), 100);\n } else {\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n }\n\n if (everyN) {\n value = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return <div>\n <Select\n variant=\"standard\"\n className={this.props.classes.periodSelect}\n style={{verticalAlign: 'bottom'}}\n value={select}\n onChange={e => {\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value;\n if (e.target.value === 'every') {\n this.setState({[type]: '*', modes}, () => this.recalcCron());\n } else if (e.target.value === 'everyN') {\n const num = parseInt(this.state[type].toString().replace('*/', ''), 10) || 1;\n this.setState({[type]: '*/' + num, modes}, () => this.recalcCron());\n } else if (e.target.value === 'specific') {\n let num = parseInt(this.state[type].split(',')[0], 10) || 0;\n console.log(num);\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setState({[type]: convertArrayIntoMinus(num, max), modes}, () => this.recalcCron());\n }\n }}>\n <MenuItem key='every' value='every'>{I18n.t('sc_every_' + type)}</MenuItem>\n <MenuItem key='everyN' value='everyN'>{I18n.t('sc_everyN_' + type)}</MenuItem>\n <MenuItem key='specific' value='specific'>{I18n.t('sc_specific_' + type)}</MenuItem>\n </Select>\n {everyN && false && <span>{value}</span>}\n {everyN && <TextField\n variant=\"standard\"\n key=\"interval\"\n label={I18n.t('sc_' + type)}\n value={value}\n min={1}\n max={max}\n onChange={e => {\n this.setState({[type]: '*/' + e.target.value}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n type=\"number\"\n margin=\"normal\"\n />}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n </div>;\n }\n\n convertCronToText(cron, lang) {\n if (cron.split(' ').indexOf('-') !== -1) {\n return I18n.t('ra_Invalid CRON');\n } else {\n return convertCronToText(cron, lang);\n }\n }\n\n render() {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n return <div className={this.props.classes.mainDiv}>\n <div style={{paddingLeft: 8, width: '100%'}}><TextField variant=\"standard\" style={{width: '100%'}} value={this.state.cron} disabled={true}/></div>\n <div style={{paddingLeft: 8, width: '100%', height: 60}}>{this.convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <FormControlLabel\n control={<Checkbox checked={this.state.seconds}\n onChange={e => this.setState({seconds: e.target.checked ? '*' : false}, () => this.recalcCron())}/>}\n label={I18n.t('ra_use seconds')}\n />\n <AppBar position=\"static\" classes={{root: this.props.classes.appBar}} color=\"secondary\">\n <Tabs value={this.state.tab} className={this.props.classes.appBar} color=\"secondary\" onChange={(active, tab) =>\n this.setState({tab})}>\n {this.state.seconds !== false && <Tab id=\"sc_seconds\" label={I18n.t('sc_seconds')}/>}\n <Tab id=\"minutes\" label={I18n.t('sc_minutes')}/>\n <Tab id=\"hours\" label={I18n.t('sc_hours')}/>\n <Tab id=\"dates\" label={I18n.t('sc_dates')}/>\n <Tab id=\"months\" label={I18n.t('sc_months')}/>\n <Tab id=\"dows\" label={I18n.t('sc_dows')}/>\n </Tabs>\n </AppBar>\n {tab === 0 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('seconds', 60)}</div>}\n {tab === 1 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('minutes', 60)}</div>}\n {tab === 2 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('hours', 24)}</div>}\n {tab === 3 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dates', 31)}</div>}\n {tab === 4 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('months', 12)}</div>}\n {tab === 5 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dows', 7)}</div>}\n </div>;\n }\n}\n\nComplexCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(ComplexCron);\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComplexCron.js","names":["styles","theme","mainDiv","width","height","periodSelect","display","slider","marginTop","tabContent","padding","overflow","numberButton","minWidth","margin","numberButtonBreak","appBar","color","WEEKDAYS","MONTHS","convertMinusIntoArray","value","max","result","i","push","parts","toString","split","p","length","trim","items","iMax","parseInt","map","a","sort","splice","convertArrayIntoMinus","newParts","b","start","end","join","ComplexCron","props","cron","cronExpression","replace","state","cron2state","extended","tab","seconds","state2cron","modes","minutes","hours","dates","months","dows","Object","assign","setTimeout","onChange","setState","type","recalcCron","nums","pos","indexOf","values","classes","onToggle","I18n","t","every","everyN","select","JSON","parse","stringify","verticalAlign","e","target","num","console","log","shrink","getDigitsSelector","lang","convertCronToText","paddingLeft","language","checked","root","active","getPeriodsTab","cronParts","options","text","React","Component","propTypes","PropTypes","string","func","isRequired","withStyles"],"sources":["ComplexCron.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Checkbox from '@mui/material/Checkbox';\nimport Button from '@mui/material/Button';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport AppBar from '@mui/material/AppBar';\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\nimport convertCronToText from './SimpleCron/cronText';\n\nconst styles = theme => ({\n mainDiv: {\n width: '100%',\n height: '100%'\n },\n periodSelect: {\n //margin: '0 10px 60px 10px',\n display: 'block',\n width: 200\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%'\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5\n },\n numberButtonBreak: {\n display: 'block'\n },\n appBar: {\n color: 'white'\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value, max) {\n let result = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (! parts[p].trim().length) continue;\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n let iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n result = result.map(a => parseInt(a, 10));\n\n result.sort();\n\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value, max) {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a, 10));\n\n value.sort((a, b) => a -b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1], 10)) {\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n start = value[p];\n end = value[p];\n } else {\n end = value[p];\n }\n }\n\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n\n return newParts.join(',');\n}\n\nclass ComplexCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = (typeof this.props.cronExpression === 'string') ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dows: null\n }\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n const options = {};\n\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.dates = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dows = cronParts[5] || '*';\n } else {\n options.seconds = false;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.dates = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dows = cronParts[4] || '*';\n }\n return options;\n }\n static state2cron(state) {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dows}`;\n if (state.seconds !== false) {\n text = state.seconds + ' ' + text;\n }\n return text;\n }\n\n recalcCron() {\n let cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({cron}, () => {\n this.props.onChange && this.props.onChange(this.state.cron);\n });\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({cron});\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n onToggle(i, type, max) {\n if (i === true) {\n this.setState({[type]: '*'}, () => this.recalcCron());\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setState({[type]: '0'}, () => this.recalcCron());\n } else {\n this.setState({[type]: '1'}, () => this.recalcCron());\n }\n } else {\n let nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setState({[type]: convertArrayIntoMinus(nums, max)}, () => this.recalcCron());\n }\n }\n\n getDigitsSelector(type, max) {\n let values = [];\n if (max === 7) {\n values = [1,2,3,4,5,6,0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n <Button\n key=\"removeall\"\n variant={'outlined'}\n className={this.props.classes.numberButton}\n //style={{paddingBottom: 20}}\n color={'primary'}\n onClick={() => this.onToggle(false, type, max)}>{I18n.t('ra_Deselect all')}</Button>,\n <Button\n key=\"addall\"\n variant={'contained'}\n //style={{paddingBottom: 20}}\n className={this.props.classes.numberButton}\n color={'secondary'}\n onClick={() => this.onToggle(true, type, max)}>{I18n.t('ra_Select all')}</Button>,\n <div key=\"all\">\n {values.map(i =>\n [((max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6))) ?\n (<div key={'allInner' + i} style={{width: '100%'}}/>) : null,\n (<Button\n key={'_' + i}\n variant={parts.indexOf(i) !== -1 ? 'contained' : 'outlined'}\n className={this.props.classes.numberButton}\n color={parts.indexOf(i) !== -1 ? 'secondary' : 'primary'}\n onClick={() => this.onToggle(i, type, max)}>{max === 7 ? I18n.t(WEEKDAYS[i]) : (max === 12 ? MONTHS[i - 1] : i)}</Button>\n )])}\n </div>\n ];\n }\n\n getPeriodsTab(type, max) {\n let value = this.state[type];\n let every = value === '*';\n let everyN = value.toString().indexOf('/') !== -1;\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : (everyN ? 'everyN' : 'specific');\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n return setTimeout(() => this.setState({modes}, () => this.recalcCron()), 100);\n } else {\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n }\n\n if (everyN) {\n value = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return <div>\n <Select\n variant=\"standard\"\n className={this.props.classes.periodSelect}\n style={{verticalAlign: 'bottom'}}\n value={select}\n onChange={e => {\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value;\n if (e.target.value === 'every') {\n this.setState({[type]: '*', modes}, () => this.recalcCron());\n } else if (e.target.value === 'everyN') {\n const num = parseInt(this.state[type].toString().replace('*/', ''), 10) || 1;\n this.setState({[type]: '*/' + num, modes}, () => this.recalcCron());\n } else if (e.target.value === 'specific') {\n let num = parseInt(this.state[type].split(',')[0], 10) || 0;\n console.log(num);\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setState({[type]: convertArrayIntoMinus(num, max), modes}, () => this.recalcCron());\n }\n }}>\n <MenuItem key='every' value='every'>{I18n.t('sc_every_' + type)}</MenuItem>\n <MenuItem key='everyN' value='everyN'>{I18n.t('sc_everyN_' + type)}</MenuItem>\n <MenuItem key='specific' value='specific'>{I18n.t('sc_specific_' + type)}</MenuItem>\n </Select>\n {everyN && false && <span>{value}</span>}\n {everyN && <TextField\n variant=\"standard\"\n key=\"interval\"\n label={I18n.t('sc_' + type)}\n value={value}\n min={1}\n max={max}\n onChange={e => {\n this.setState({[type]: '*/' + e.target.value}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n type=\"number\"\n margin=\"normal\"\n />}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n </div>;\n }\n\n convertCronToText(cron, lang) {\n if (cron.split(' ').indexOf('-') !== -1) {\n return I18n.t('ra_Invalid CRON');\n } else {\n return convertCronToText(cron, lang);\n }\n }\n\n render() {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n return <div className={this.props.classes.mainDiv}>\n <div style={{paddingLeft: 8, width: '100%'}}><TextField variant=\"standard\" style={{width: '100%'}} value={this.state.cron} disabled={true}/></div>\n <div style={{paddingLeft: 8, width: '100%', height: 60}}>{this.convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <FormControlLabel\n control={<Checkbox checked={this.state.seconds}\n onChange={e => this.setState({seconds: e.target.checked ? '*' : false}, () => this.recalcCron())}/>}\n label={I18n.t('ra_use seconds')}\n />\n <AppBar position=\"static\" classes={{root: this.props.classes.appBar}} color=\"secondary\">\n <Tabs value={this.state.tab} className={this.props.classes.appBar} color=\"secondary\" onChange={(active, tab) =>\n this.setState({tab})}>\n {this.state.seconds !== false && <Tab id=\"sc_seconds\" label={I18n.t('sc_seconds')}/>}\n <Tab id=\"minutes\" label={I18n.t('sc_minutes')}/>\n <Tab id=\"hours\" label={I18n.t('sc_hours')}/>\n <Tab id=\"dates\" label={I18n.t('sc_dates')}/>\n <Tab id=\"months\" label={I18n.t('sc_months')}/>\n <Tab id=\"dows\" label={I18n.t('sc_dows')}/>\n </Tabs>\n </AppBar>\n {tab === 0 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('seconds', 60)}</div>}\n {tab === 1 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('minutes', 60)}</div>}\n {tab === 2 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('hours', 24)}</div>}\n {tab === 3 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dates', 31)}</div>}\n {tab === 4 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('months', 12)}</div>}\n {tab === 5 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dows', 7)}</div>}\n </div>;\n }\n}\n\nComplexCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(ComplexCron);\n\n"],"mappings":"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"}