@iobroker/adapter-react-v5 2.1.11 → 3.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 (84) hide show
  1. package/Components/CustomModal.js +168 -0
  2. package/Components/CustomModal.js.map +1 -0
  3. package/Components/JsonConfigComponent/ChipInput.js +926 -0
  4. package/Components/JsonConfigComponent/ChipInput.js.map +1 -0
  5. package/Components/JsonConfigComponent/ConfigAlive.js +135 -0
  6. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -0
  7. package/Components/JsonConfigComponent/ConfigAutocomplete.js +204 -0
  8. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -0
  9. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +311 -0
  10. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -0
  11. package/Components/JsonConfigComponent/ConfigCRON.js +195 -0
  12. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -0
  13. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +178 -0
  14. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -0
  15. package/Components/JsonConfigComponent/ConfigCheckbox.js +112 -0
  16. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -0
  17. package/Components/JsonConfigComponent/ConfigChip.js +149 -0
  18. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -0
  19. package/Components/JsonConfigComponent/ConfigColor.js +156 -0
  20. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -0
  21. package/Components/JsonConfigComponent/ConfigCoordinates.js +165 -0
  22. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -0
  23. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js +180 -0
  24. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js.map +1 -0
  25. package/Components/JsonConfigComponent/ConfigDatePicker.js +117 -0
  26. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -0
  27. package/Components/JsonConfigComponent/ConfigGeneric.js +660 -0
  28. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -0
  29. package/Components/JsonConfigComponent/ConfigIP.js +151 -0
  30. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -0
  31. package/Components/JsonConfigComponent/ConfigImageUpload.js +215 -0
  32. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -0
  33. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +197 -0
  34. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -0
  35. package/Components/JsonConfigComponent/ConfigJsonEditor.js +211 -0
  36. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -0
  37. package/Components/JsonConfigComponent/ConfigLanguage.js +175 -0
  38. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -0
  39. package/Components/JsonConfigComponent/ConfigNumber.js +194 -0
  40. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -0
  41. package/Components/JsonConfigComponent/ConfigObjectId.js +201 -0
  42. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -0
  43. package/Components/JsonConfigComponent/ConfigPanel.js +421 -0
  44. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -0
  45. package/Components/JsonConfigComponent/ConfigPassword.js +236 -0
  46. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -0
  47. package/Components/JsonConfigComponent/ConfigPattern.js +94 -0
  48. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -0
  49. package/Components/JsonConfigComponent/ConfigSelect.js +163 -0
  50. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -0
  51. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +258 -0
  52. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -0
  53. package/Components/JsonConfigComponent/ConfigSendto.js +282 -0
  54. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -0
  55. package/Components/JsonConfigComponent/ConfigSetState.js +266 -0
  56. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -0
  57. package/Components/JsonConfigComponent/ConfigStaticDivider.js +88 -0
  58. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -0
  59. package/Components/JsonConfigComponent/ConfigStaticHeader.js +81 -0
  60. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -0
  61. package/Components/JsonConfigComponent/ConfigStaticImage.js +88 -0
  62. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -0
  63. package/Components/JsonConfigComponent/ConfigStaticText.js +104 -0
  64. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -0
  65. package/Components/JsonConfigComponent/ConfigTable.js +651 -0
  66. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -0
  67. package/Components/JsonConfigComponent/ConfigTabs.js +166 -0
  68. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -0
  69. package/Components/JsonConfigComponent/ConfigText.js +170 -0
  70. package/Components/JsonConfigComponent/ConfigText.js.map +1 -0
  71. package/Components/JsonConfigComponent/ConfigTextSendTo.js +168 -0
  72. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -0
  73. package/Components/JsonConfigComponent/ConfigTimePicker.js +111 -0
  74. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -0
  75. package/Components/JsonConfigComponent/ConfigTopic.js +140 -0
  76. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -0
  77. package/Components/JsonConfigComponent/ConfigUser.js +176 -0
  78. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -0
  79. package/Components/JsonConfigComponent/index.js +511 -0
  80. package/Components/JsonConfigComponent/index.js.map +1 -0
  81. package/Components/UploadImage.js +357 -0
  82. package/Components/UploadImage.js.map +1 -0
  83. package/README.md +3 -0
  84. package/package.json +3 -1
@@ -0,0 +1,421 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _styles = require("@mui/styles");
27
+
28
+ var _clsx = _interopRequireDefault(require("clsx"));
29
+
30
+ var _Grid = _interopRequireDefault(require("@mui/material/Grid"));
31
+
32
+ var _Accordion = _interopRequireDefault(require("@mui/material/Accordion"));
33
+
34
+ var _AccordionSummary = _interopRequireDefault(require("@mui/material/AccordionSummary"));
35
+
36
+ var _AccordionDetails = _interopRequireDefault(require("@mui/material/AccordionDetails"));
37
+
38
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
39
+
40
+ var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
41
+
42
+ var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
43
+
44
+ var _ConfigText = _interopRequireDefault(require("./ConfigText"));
45
+
46
+ var _ConfigCheckbox = _interopRequireDefault(require("./ConfigCheckbox"));
47
+
48
+ var _ConfigStaticImage = _interopRequireDefault(require("./ConfigStaticImage"));
49
+
50
+ var _ConfigNumber = _interopRequireDefault(require("./ConfigNumber"));
51
+
52
+ var _ConfigColor = _interopRequireDefault(require("./ConfigColor"));
53
+
54
+ var _ConfigIP = _interopRequireDefault(require("./ConfigIP"));
55
+
56
+ var _ConfigSelect = _interopRequireDefault(require("./ConfigSelect"));
57
+
58
+ var _ConfigUser = _interopRequireDefault(require("./ConfigUser"));
59
+
60
+ var _ConfigStaticText = _interopRequireDefault(require("./ConfigStaticText"));
61
+
62
+ var _ConfigPattern = _interopRequireDefault(require("./ConfigPattern"));
63
+
64
+ var _ConfigCertificateSelect = _interopRequireDefault(require("./ConfigCertificateSelect"));
65
+
66
+ var _ConfigImageUpload = _interopRequireDefault(require("./ConfigImageUpload"));
67
+
68
+ var _ConfigInstanceSelect = _interopRequireDefault(require("./ConfigInstanceSelect"));
69
+
70
+ var _ConfigTable = _interopRequireDefault(require("./ConfigTable"));
71
+
72
+ var _ConfigSendto = _interopRequireDefault(require("./ConfigSendto"));
73
+
74
+ var _ConfigObjectId = _interopRequireDefault(require("./ConfigObjectId"));
75
+
76
+ var _ConfigLanguage = _interopRequireDefault(require("./ConfigLanguage"));
77
+
78
+ var _ConfigChip = _interopRequireDefault(require("./ConfigChip"));
79
+
80
+ var _ConfigPassword = _interopRequireDefault(require("./ConfigPassword"));
81
+
82
+ var _ConfigStaticHeader = _interopRequireDefault(require("./ConfigStaticHeader"));
83
+
84
+ var _ConfigStaticDivider = _interopRequireDefault(require("./ConfigStaticDivider"));
85
+
86
+ var _ConfigSetState = _interopRequireDefault(require("./ConfigSetState"));
87
+
88
+ var _ConfigJsonEditor = _interopRequireDefault(require("./ConfigJsonEditor"));
89
+
90
+ var _ConfigSelectSendTo = _interopRequireDefault(require("./ConfigSelectSendTo"));
91
+
92
+ var _ConfigTopic = _interopRequireDefault(require("./ConfigTopic"));
93
+
94
+ var _ConfigAutocomplete = _interopRequireDefault(require("./ConfigAutocomplete"));
95
+
96
+ var _ConfigAutocompleteSendTo = _interopRequireDefault(require("./ConfigAutocompleteSendTo"));
97
+
98
+ var _ConfigTimePicker = _interopRequireDefault(require("./ConfigTimePicker"));
99
+
100
+ var _ConfigDatePicker = _interopRequireDefault(require("./ConfigDatePicker"));
101
+
102
+ var _ConfigCRON = _interopRequireDefault(require("./ConfigCRON"));
103
+
104
+ var _ConfigAlive = _interopRequireDefault(require("./ConfigAlive"));
105
+
106
+ var _ConfigTextSendTo = _interopRequireDefault(require("./ConfigTextSendTo"));
107
+
108
+ var _ConfigCoordinates = _interopRequireDefault(require("./ConfigCoordinates"));
109
+
110
+ 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); }; }
111
+
112
+ 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; } }
113
+
114
+ var components = {
115
+ alive: _ConfigAlive["default"],
116
+ autocomplete: _ConfigAutocomplete["default"],
117
+ autocompleteSendTo: _ConfigAutocompleteSendTo["default"],
118
+ certificate: _ConfigCertificateSelect["default"],
119
+ checkbox: _ConfigCheckbox["default"],
120
+ chips: _ConfigChip["default"],
121
+ chip: _ConfigChip["default"],
122
+ // deprecated. Use "chips"
123
+ color: _ConfigColor["default"],
124
+ coordinates: _ConfigCoordinates["default"],
125
+ cron: _ConfigCRON["default"],
126
+ datePicker: _ConfigDatePicker["default"],
127
+ divider: _ConfigStaticDivider["default"],
128
+ header: _ConfigStaticHeader["default"],
129
+ image: _ConfigImageUpload["default"],
130
+ instance: _ConfigInstanceSelect["default"],
131
+ ip: _ConfigIP["default"],
132
+ jsonEditor: _ConfigJsonEditor["default"],
133
+ language: _ConfigLanguage["default"],
134
+ number: _ConfigNumber["default"],
135
+ objectId: _ConfigObjectId["default"],
136
+ password: _ConfigPassword["default"],
137
+ pattern: _ConfigPattern["default"],
138
+ select: _ConfigSelect["default"],
139
+ selectSendTo: _ConfigSelectSendTo["default"],
140
+ sendTo: _ConfigSendto["default"],
141
+ sendto: _ConfigSendto["default"],
142
+ setState: _ConfigSetState["default"],
143
+ staticImage: _ConfigStaticImage["default"],
144
+ staticLink: _ConfigStaticText["default"],
145
+ staticText: _ConfigStaticText["default"],
146
+ table: _ConfigTable["default"],
147
+ text: _ConfigText["default"],
148
+ textSendTo: _ConfigTextSendTo["default"],
149
+ timePicker: _ConfigTimePicker["default"],
150
+ topic: _ConfigTopic["default"],
151
+ user: _ConfigUser["default"]
152
+ };
153
+
154
+ var styles = function styles(theme) {
155
+ return {
156
+ fullWidth: {
157
+ width: '100%' //height: '100%',
158
+
159
+ },
160
+ paper: {
161
+ margin: 10,
162
+ height: 'calc(100vh - 235px) !important',
163
+ width: 'auto !important',
164
+ overflowY: 'auto',
165
+ paddingBottom: theme.spacing(1)
166
+ },
167
+ padding: {
168
+ padding: 10
169
+ },
170
+ heading: {},
171
+ primary: {
172
+ backgroundColor: theme.palette.primary.main,
173
+ color: theme.palette.mode === 'dark' ? 'inherit' : '#FFF'
174
+ },
175
+ secondary: {
176
+ backgroundColor: theme.palette.secondary.main
177
+ }
178
+ };
179
+ };
180
+
181
+ var ConfigPanel = /*#__PURE__*/function (_ConfigGeneric) {
182
+ (0, _inherits2["default"])(ConfigPanel, _ConfigGeneric);
183
+
184
+ var _super = _createSuper(ConfigPanel);
185
+
186
+ function ConfigPanel() {
187
+ (0, _classCallCheck2["default"])(this, ConfigPanel);
188
+ return _super.apply(this, arguments);
189
+ }
190
+
191
+ (0, _createClass2["default"])(ConfigPanel, [{
192
+ key: "componentDidMount",
193
+ value: function componentDidMount() {
194
+ (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigPanel.prototype), "componentDidMount", this).call(this);
195
+
196
+ if (this.props.schema && this.props.schema.collapsable) {
197
+ this.setState({
198
+ expanded: window.localStorage.getItem(this.props.adapterName + '.' + this.props.attr) === 'true'
199
+ });
200
+ }
201
+ }
202
+ }, {
203
+ key: "renderItems",
204
+ value: function renderItems(items, disabled) {
205
+ var _this = this;
206
+
207
+ var classes = this.props.classes || {};
208
+ return items ? Object.keys(items).map(function (attr) {
209
+ if (_this.props.multiEdit && items[attr].noMultiEdit) {
210
+ return null;
211
+ }
212
+
213
+ var type = items[attr].type || 'panel';
214
+ var ItemComponent;
215
+
216
+ if (type === 'custom') {
217
+ if (_this.props.customs && _this.props.customs[items[attr].component]) {
218
+ ItemComponent = _this.props.customs[items[attr].component];
219
+ } else {
220
+ console.error('Cannot find custom component: ' + items[attr].component);
221
+ ItemComponent = _ConfigGeneric2["default"];
222
+ }
223
+ } else if (type === 'panel') {
224
+ ItemComponent = ConfigPanelStyled;
225
+ } else {
226
+ ItemComponent = components[type] || _ConfigGeneric2["default"];
227
+ }
228
+
229
+ return /*#__PURE__*/_react["default"].createElement(ItemComponent, {
230
+ key: attr + '_' + _this.props.index,
231
+ index: _this.props.index,
232
+ onCommandRunning: _this.props.onCommandRunning,
233
+ commandRunning: _this.props.commandRunning,
234
+ className: classes.panel,
235
+ socket: _this.props.socket,
236
+ adapterName: _this.props.adapterName,
237
+ instance: _this.props.instance,
238
+ common: _this.props.common,
239
+ alive: _this.props.alive,
240
+ themeType: _this.props.themeType,
241
+ themeName: _this.props.themeName,
242
+ data: _this.props.data,
243
+ originalData: _this.props.originalData,
244
+ systemConfig: _this.props.systemConfig,
245
+ onError: _this.props.onError,
246
+ onChange: _this.props.onChange,
247
+ customs: _this.props.customs,
248
+ dateFormat: _this.props.dateFormat,
249
+ isFloatComma: _this.props.isFloatComma,
250
+ disabled: disabled,
251
+ registerOnForceUpdate: _this.props.registerOnForceUpdate,
252
+ forceUpdate: _this.props.forceUpdate,
253
+ customObj: _this.props.customObj,
254
+ instanceObj: _this.props.instanceObj,
255
+ custom: _this.props.custom,
256
+ attr: attr,
257
+ schema: items[attr]
258
+ });
259
+ }) : null;
260
+ }
261
+ }, {
262
+ key: "render",
263
+ value: function render() {
264
+ var _this2 = this;
265
+
266
+ var schema = this.props.schema;
267
+
268
+ if (!schema) {
269
+ return null;
270
+ }
271
+
272
+ var _this$calculate = this.calculate(schema),
273
+ disabled = _this$calculate.disabled,
274
+ hidden = _this$calculate.hidden;
275
+
276
+ var items = this.props.schema.items;
277
+ var classes = this.props.classes || {};
278
+
279
+ if (hidden) {
280
+ if (schema.hideOnlyControl) {
281
+ var item = /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
282
+ item: true,
283
+ xs: schema.xs || undefined,
284
+ lg: schema.lg || undefined,
285
+ md: schema.md || undefined,
286
+ sm: schema.sm || undefined,
287
+ style: Object.assign({}, {
288
+ marginBottom: 0,
289
+
290
+ /*marginRight: 8, */
291
+ textAlign: 'left'
292
+ }, schema.style, this.props.themaType === 'dark' ? schema.darkStyle : {})
293
+ });
294
+
295
+ if (schema.newLine) {
296
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
297
+ style: {
298
+ flexBasis: '100%',
299
+ height: 0
300
+ }
301
+ }), item);
302
+ } else {
303
+ return item;
304
+ }
305
+ } else {
306
+ return null;
307
+ }
308
+ } else if (this.props.table) {
309
+ return this.renderItems(items, disabled);
310
+ } else if (this.props.custom) {
311
+ return /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
312
+ key: this.props.attr + '_' + this.props.index,
313
+ container: true,
314
+ className: classes.fullWidth,
315
+ spacing: 2
316
+ }, this.renderItems(items, disabled));
317
+ } else {
318
+ var content;
319
+
320
+ if (schema.collapsable) {
321
+ content = /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
322
+ key: this.props.attr + '_' + this.props.index,
323
+ className: classes.fullWidth,
324
+ expanded: !!this.state.expanded,
325
+ onChange: function onChange() {
326
+ window.localStorage.setItem(_this2.props.adapterName + '.' + _this2.props.attr, _this2.state.expanded ? 'false' : 'true');
327
+
328
+ _this2.setState({
329
+ expanded: !_this2.state.expanded
330
+ });
331
+ }
332
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionSummary["default"], {
333
+ expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null),
334
+ style: Object.assign({}, schema.style, this.props.themeType ? schema.darkStyle : {}),
335
+ className: (0, _clsx["default"])(classes.fullWidth, schema.color === 'primary' && classes.primary, schema.color === 'secondary' && classes.secondary)
336
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
337
+ className: classes.heading
338
+ }, this.getText(schema.label))), /*#__PURE__*/_react["default"].createElement(_AccordionDetails["default"], null, /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
339
+ container: true,
340
+ className: classes.fullWidth + ' ' + classes.padding,
341
+ spacing: 2
342
+ }, this.renderItems(items, disabled))));
343
+ } else {
344
+ content = /*#__PURE__*/_react["default"].createElement("div", {
345
+ key: this.props.attr + '_' + this.props.index,
346
+ className: (0, _clsx["default"])(this.props.className, this.props.isParentTab && classes.paper, classes.fullWidth)
347
+ }, /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
348
+ container: true,
349
+ className: (0, _clsx["default"])(classes.fullWidth, this.props.isParentTab && classes.padding),
350
+ spacing: 2
351
+ }, this.renderItems(items, disabled)));
352
+ }
353
+
354
+ if (!this.props.isParentTab) {
355
+ var _item = /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
356
+ item: true,
357
+ title: this.getText(schema.tooltip),
358
+ xs: schema.xs || undefined,
359
+ lg: schema.lg || undefined,
360
+ md: schema.md || undefined,
361
+ sm: schema.sm || undefined,
362
+ style: Object.assign({}, {
363
+ marginBottom: 0,
364
+
365
+ /*marginRight: 8, */
366
+ textAlign: 'left'
367
+ }, schema.style)
368
+ }, content);
369
+
370
+ if (schema.newLine) {
371
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
372
+ style: {
373
+ flexBasis: '100%',
374
+ height: 0
375
+ }
376
+ }), _item);
377
+ } else {
378
+ return _item;
379
+ }
380
+ } else {
381
+ return content;
382
+ }
383
+ }
384
+ }
385
+ }]);
386
+ return ConfigPanel;
387
+ }(_ConfigGeneric2["default"]);
388
+
389
+ ConfigPanel.propTypes = {
390
+ socket: _propTypes["default"].object.isRequired,
391
+ themeType: _propTypes["default"].string,
392
+ themeName: _propTypes["default"].string,
393
+ style: _propTypes["default"].object,
394
+ className: _propTypes["default"].string,
395
+ data: _propTypes["default"].object.isRequired,
396
+ originalData: _propTypes["default"].object,
397
+ schema: _propTypes["default"].object,
398
+ index: _propTypes["default"].number,
399
+ customs: _propTypes["default"].object,
400
+ alive: _propTypes["default"].bool,
401
+ systemConfig: _propTypes["default"].object,
402
+ adapterName: _propTypes["default"].string,
403
+ instance: _propTypes["default"].number,
404
+ commandRunning: _propTypes["default"].bool,
405
+ onCommandRunning: _propTypes["default"].func,
406
+ dateFormat: _propTypes["default"].string,
407
+ isFloatComma: _propTypes["default"].bool,
408
+ multiEdit: _propTypes["default"].bool,
409
+ isParentTab: _propTypes["default"].bool,
410
+ customObj: _propTypes["default"].object,
411
+ instanceObj: _propTypes["default"].object,
412
+ custom: _propTypes["default"].bool,
413
+ onError: _propTypes["default"].func,
414
+ onChange: _propTypes["default"].func,
415
+ onForceUpdate: _propTypes["default"].func,
416
+ registerOnForceUpdate: _propTypes["default"].func
417
+ };
418
+ var ConfigPanelStyled = (0, _styles.withStyles)(styles)(ConfigPanel);
419
+ var _default = ConfigPanelStyled;
420
+ exports["default"] = _default;
421
+ //# sourceMappingURL=ConfigPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigPanel.js","names":["components","alive","ConfigAlive","autocomplete","ConfigAutocomplete","autocompleteSendTo","ConfigAutocompleteSendTo","certificate","ConfigCertificateSelect","checkbox","ConfigCheckbox","chips","ConfigChip","chip","color","ConfigColor","coordinates","ConfigCoordinates","cron","ConfigCRON","datePicker","ConfigDatePicker","divider","ConfigStaticDivider","header","ConfigStaticHeader","image","ConfigImageUpload","instance","ConfigInstanceSelect","ip","ConfigIP","jsonEditor","ConfigJsonEditor","language","ConfigLanguage","number","ConfigNumber","objectId","ConfigObjectId","password","ConfigPassword","pattern","ConfigPattern","select","ConfigSelect","selectSendTo","ConfigSelectSendTo","sendTo","ConfigSendto","sendto","setState","ConfigSetState","staticImage","ConfigStaticImage","staticLink","ConfigStaticText","staticText","table","ConfigTable","text","ConfigText","textSendTo","ConfigTextSendTo","timePicker","ConfigTimePicker","topic","ConfigTopic","user","ConfigUser","styles","theme","fullWidth","width","paper","margin","height","overflowY","paddingBottom","spacing","padding","heading","primary","backgroundColor","palette","main","mode","secondary","ConfigPanel","props","schema","collapsable","expanded","window","localStorage","getItem","adapterName","attr","items","disabled","classes","Object","keys","map","multiEdit","noMultiEdit","type","ItemComponent","customs","component","console","error","ConfigGeneric","ConfigPanelStyled","index","onCommandRunning","commandRunning","panel","socket","common","themeType","themeName","data","originalData","systemConfig","onError","onChange","dateFormat","isFloatComma","registerOnForceUpdate","forceUpdate","customObj","instanceObj","custom","calculate","hidden","hideOnlyControl","item","xs","undefined","lg","md","sm","assign","marginBottom","textAlign","style","themaType","darkStyle","newLine","flexBasis","renderItems","content","state","setItem","clsx","getText","label","className","isParentTab","tooltip","propTypes","PropTypes","object","isRequired","string","bool","func","onForceUpdate","withStyles"],"sources":["JsonConfigComponent/ConfigPanel.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport Grid from '@mui/material/Grid';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport Typography from '@mui/material/Typography';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigText from './ConfigText';\nimport ConfigCheckbox from './ConfigCheckbox';\nimport ConfigStaticImage from './ConfigStaticImage';\nimport ConfigNumber from './ConfigNumber';\nimport ConfigColor from './ConfigColor';\nimport ConfigIP from './ConfigIP';\nimport ConfigSelect from './ConfigSelect';\nimport ConfigUser from './ConfigUser';\nimport ConfigStaticText from './ConfigStaticText';\nimport ConfigPattern from './ConfigPattern';\nimport ConfigCertificateSelect from './ConfigCertificateSelect';\nimport ConfigImageUpload from './ConfigImageUpload';\nimport ConfigInstanceSelect from './ConfigInstanceSelect';\nimport ConfigTable from './ConfigTable';\nimport ConfigSendto from './ConfigSendto';\nimport ConfigObjectId from './ConfigObjectId';\nimport ConfigLanguage from './ConfigLanguage';\nimport ConfigChip from './ConfigChip';\nimport ConfigPassword from './ConfigPassword';\nimport ConfigStaticHeader from './ConfigStaticHeader';\nimport ConfigStaticDivider from './ConfigStaticDivider';\nimport ConfigSetState from './ConfigSetState';\nimport ConfigJsonEditor from './ConfigJsonEditor';\nimport ConfigSelectSendTo from './ConfigSelectSendTo';\nimport ConfigTopic from './ConfigTopic';\nimport ConfigAutocomplete from './ConfigAutocomplete';\nimport ConfigAutocompleteSendTo from './ConfigAutocompleteSendTo';\nimport ConfigTimePicker from './ConfigTimePicker';\nimport ConfigDatePicker from './ConfigDatePicker';\nimport ConfigCRON from './ConfigCRON';\nimport ConfigAlive from './ConfigAlive';\nimport ConfigTextSendTo from './ConfigTextSendTo';\nimport ConfigCoordinates from './ConfigCoordinates';\n\nconst components = {\n alive: ConfigAlive,\n autocomplete: ConfigAutocomplete,\n autocompleteSendTo: ConfigAutocompleteSendTo,\n certificate: ConfigCertificateSelect,\n checkbox: ConfigCheckbox,\n chips: ConfigChip,\n chip: ConfigChip, // deprecated. Use \"chips\"\n color: ConfigColor,\n coordinates: ConfigCoordinates,\n cron: ConfigCRON,\n datePicker: ConfigDatePicker,\n divider: ConfigStaticDivider,\n header: ConfigStaticHeader,\n image: ConfigImageUpload,\n instance: ConfigInstanceSelect,\n ip: ConfigIP,\n jsonEditor: ConfigJsonEditor,\n language: ConfigLanguage,\n number: ConfigNumber,\n objectId: ConfigObjectId,\n password: ConfigPassword,\n pattern: ConfigPattern,\n select: ConfigSelect,\n selectSendTo: ConfigSelectSendTo,\n sendTo: ConfigSendto,\n sendto: ConfigSendto,\n setState: ConfigSetState,\n staticImage: ConfigStaticImage,\n staticLink: ConfigStaticText,\n staticText: ConfigStaticText,\n table: ConfigTable,\n text: ConfigText,\n textSendTo: ConfigTextSendTo,\n timePicker: ConfigTimePicker,\n topic: ConfigTopic,\n user: ConfigUser,\n};\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n //height: '100%',\n },\n paper: {\n margin: 10,\n height: 'calc(100vh - 235px) !important',\n width: 'auto !important',\n overflowY: 'auto',\n paddingBottom: theme.spacing(1)\n },\n padding: {\n padding: 10,\n },\n heading: {\n\n },\n primary: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.mode === 'dark' ? 'inherit' : '#FFF'\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n }\n});\n\nclass ConfigPanel extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n if (this.props.schema && this.props.schema.collapsable) {\n this.setState({expanded: window.localStorage.getItem(this.props.adapterName + '.' + this.props.attr) === 'true'});\n }\n }\n\n renderItems(items, disabled) {\n const classes = this.props.classes || {};\n\n return items ? Object.keys(items).map(attr => {\n if (this.props.multiEdit && items[attr].noMultiEdit) {\n return null;\n }\n\n const type = items[attr].type || 'panel';\n let ItemComponent;\n if (type === 'custom') {\n if (this.props.customs && this.props.customs[items[attr].component]) {\n ItemComponent = this.props.customs[items[attr].component];\n } else {\n console.error('Cannot find custom component: ' + items[attr].component);\n ItemComponent = ConfigGeneric;\n }\n } else if (type === 'panel') {\n ItemComponent = ConfigPanelStyled;\n } else {\n ItemComponent = components[type] || ConfigGeneric;\n }\n\n return <ItemComponent\n key={attr + '_' + this.props.index}\n index={this.props.index}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={classes.panel}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.props.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={this.props.originalData}\n systemConfig={this.props.systemConfig}\n onError={this.props.onError}\n onChange={this.props.onChange}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n disabled={disabled}\n\n registerOnForceUpdate={this.props.registerOnForceUpdate}\n forceUpdate={this.props.forceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n attr={attr}\n schema={items[attr]}\n />;\n }) : null;\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n const {disabled, hidden} = this.calculate(schema);\n\n const items = this.props.schema.items;\n const classes = this.props.classes || {};\n\n if (hidden) {\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themaType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else\n if (this.props.table) {\n return this.renderItems(items, disabled);\n } else\n if (this.props.custom) {\n return <Grid\n key={this.props.attr + '_' + this.props.index}\n container\n className={classes.fullWidth}\n spacing={2}\n >\n {this.renderItems(items, disabled)}\n </Grid>;\n } else {\n let content;\n if (schema.collapsable) {\n content = <Accordion\n key={this.props.attr + '_' + this.props.index}\n className={classes.fullWidth}\n expanded={!!this.state.expanded}\n onChange={() => {\n window.localStorage.setItem(this.props.adapterName + '.' + this.props.attr, this.state.expanded ? 'false' : 'true');\n this.setState({expanded: !this.state.expanded});\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n style={Object.assign({}, schema.style, this.props.themeType ? schema.darkStyle : {})}\n className={clsx(classes.fullWidth, schema.color === 'primary' && classes.primary, schema.color === 'secondary' && classes.secondary)}\n >\n <Typography className={classes.heading}>{this.getText(schema.label)}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Grid container className={classes.fullWidth + ' ' + classes.padding} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </AccordionDetails>\n </Accordion>\n } else {\n content = <div\n key={this.props.attr + '_' + this.props.index}\n className={clsx(this.props.className, this.props.isParentTab && classes.paper, classes.fullWidth)}\n >\n <Grid container className={clsx(classes.fullWidth, this.props.isParentTab && classes.padding)} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </div>;\n }\n\n if (!this.props.isParentTab) {\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'}, schema.style)}>\n {content}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return content;\n }\n }\n }\n}\n\nConfigPanel.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n index: PropTypes.number,\n customs: PropTypes.object,\n alive: PropTypes.bool,\n systemConfig: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n multiEdit: PropTypes.bool,\n isParentTab: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onForceUpdate: PropTypes.func,\n registerOnForceUpdate: PropTypes.func,\n};\n\nconst ConfigPanelStyled = withStyles(styles)(ConfigPanel);\n\nexport default ConfigPanelStyled;"],"mappings":"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"}