@iobroker/adapter-react-v5 3.1.11 → 3.1.14

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 (49) hide show
  1. package/Components/CustomModal.js +33 -13
  2. package/Components/CustomModal.js.map +1 -1
  3. package/Components/JsonConfigComponent/ChipInput.js +10 -10
  4. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  5. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +1 -1
  6. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  7. package/Components/JsonConfigComponent/ConfigFile.js +106 -12
  8. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  9. package/Components/JsonConfigComponent/ConfigFileSelector.js +11 -13
  10. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  11. package/Components/JsonConfigComponent/ConfigFunc.js +157 -0
  12. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -0
  13. package/Components/JsonConfigComponent/ConfigGeneric.js +1 -1
  14. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  15. package/Components/JsonConfigComponent/ConfigImageUpload.js +16 -14
  16. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  17. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +17 -4
  18. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  19. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  20. package/Components/JsonConfigComponent/ConfigPanel.js +9 -1
  21. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  22. package/Components/JsonConfigComponent/ConfigRoom.js +157 -0
  23. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -0
  24. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +116 -24
  25. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigSendto.js +1 -1
  27. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigSlider.js +147 -0
  29. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -0
  30. package/Components/JsonConfigComponent/ConfigTable.js +4 -4
  31. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigTextSendTo.js +1 -1
  33. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  34. package/Components/Loader.js +9 -4
  35. package/Components/Loader.js.map +1 -1
  36. package/Components/UploadImage.js +11 -10
  37. package/Components/UploadImage.js.map +1 -1
  38. package/README.md +3 -0
  39. package/i18n/de.json +5 -2
  40. package/i18n/en.json +4 -1
  41. package/i18n/es.json +4 -1
  42. package/i18n/fr.json +4 -1
  43. package/i18n/it.json +4 -1
  44. package/i18n/nl.json +4 -1
  45. package/i18n/pl.json +4 -1
  46. package/i18n/pt.json +4 -1
  47. package/i18n/ru.json +4 -1
  48. package/i18n/zh-cn.json +4 -1
  49. package/package.json +1 -1
@@ -39,6 +39,16 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
39
39
 
40
40
  var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
41
41
 
42
+ var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
43
+
44
+ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
45
+
46
+ var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
47
+
48
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
49
+
50
+ var _i18n = _interopRequireDefault(require("../../i18n"));
51
+
42
52
  var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
43
53
 
44
54
  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); }; }
@@ -49,6 +59,9 @@ var styles = function styles(theme) {
49
59
  return {
50
60
  fullWidth: {
51
61
  width: '100%'
62
+ },
63
+ menuPaper: {
64
+ maxHeight: 800
52
65
  }
53
66
  };
54
67
  };
@@ -128,7 +141,7 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
128
141
  data = null;
129
142
  }
130
143
 
131
- this.props.socket.sendTo(this.props.adapterName + '.' + this.props.instance, this.props.schema.command || 'send', data).then(function (list) {
144
+ this.props.socket.sendTo("".concat(this.props.adapterName, ".").concat(this.props.instance), this.props.schema.command || 'send', data).then(function (list) {
132
145
  return _this.setState({
133
146
  list: list,
134
147
  context: _this.getContext()
@@ -157,6 +170,21 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
157
170
 
158
171
  return JSON.stringify(context);
159
172
  }
173
+ }, {
174
+ key: "_getValue",
175
+ value: function _getValue() {
176
+ var value = this.state.value === null || this.state.value === undefined ? _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr) : this.state.value;
177
+
178
+ if (this.props.schema.multiple) {
179
+ if (typeof value === 'string') {
180
+ value = [value];
181
+ } else if (value === null || value === undefined) {
182
+ value = [];
183
+ }
184
+ }
185
+
186
+ return value;
187
+ }
160
188
  }, {
161
189
  key: "renderItem",
162
190
  value: function renderItem(error, disabled, defaultValue) {
@@ -172,28 +200,32 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
172
200
  }
173
201
  }
174
202
 
175
- var value = this.state.value === null || this.state.value === undefined ? _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr) : this.state.value;
203
+ var value = this._getValue();
176
204
 
177
205
  if (!this.props.alive) {
178
- return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
179
- variant: "standard",
180
- fullWidth: true,
181
- value: value,
182
- error: !!error,
183
- disabled: !!disabled,
184
- onChange: function onChange(e) {
185
- var value = e.target.value;
186
-
187
- _this3.setState({
188
- value: value
189
- }, function () {
190
- return _this3.onChange(_this3.props.attr, (value || '').trim());
191
- });
192
- },
193
- placeholder: this.getText(this.props.schema.placeholder),
194
- label: this.getText(this.props.schema.label),
195
- helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
196
- });
206
+ if (this.props.schema.multiple || this.props.schema.manual === false) {
207
+ return _i18n["default"].t('ra_Cannot retrieve options, as instance is offline');
208
+ } else {
209
+ return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
210
+ variant: "standard",
211
+ fullWidth: true,
212
+ value: value,
213
+ error: !!error,
214
+ disabled: !!disabled,
215
+ onChange: function onChange(e) {
216
+ var value = e.target.value;
217
+
218
+ _this3.setState({
219
+ value: value
220
+ }, function () {
221
+ return _this3.onChange(_this3.props.attr, (value || '').trim());
222
+ });
223
+ },
224
+ placeholder: this.getText(this.props.schema.placeholder),
225
+ label: this.getText(this.props.schema.label),
226
+ helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
227
+ });
228
+ }
197
229
  } else if (!this.state.list) {
198
230
  return /*#__PURE__*/_react["default"].createElement(_CircularProgress["default"], {
199
231
  size: "small"
@@ -217,19 +249,79 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
217
249
  }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], null, this.getText(this.props.schema.label)), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
218
250
  variant: "standard",
219
251
  error: !!error,
252
+ multiple: this.props.schema.multiple,
220
253
  disabled: !!disabled,
221
254
  value: value,
255
+ MenuProps: this.props.schema.multiple ? {
256
+ classes: {
257
+ paper: this.props.classes.menuPaper
258
+ }
259
+ } : undefined,
222
260
  renderValue: function renderValue(val) {
223
- return (item === null || item === void 0 ? void 0 : item.label) || val;
261
+ return _this3.props.schema.multiple ? /*#__PURE__*/_react["default"].createElement(_Box["default"], {
262
+ sx: {
263
+ display: 'flex',
264
+ flexWrap: 'wrap',
265
+ gap: 0.5
266
+ }
267
+ }, val.map(function (v) {
268
+ var item = selectOptions.find(function (_item) {
269
+ return _item.value === v;
270
+ });
271
+
272
+ if (item || _this3.props.schema.showAllValues !== false) {
273
+ var label = (item === null || item === void 0 ? void 0 : item.label) || v;
274
+ return /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
275
+ key: v,
276
+ label: label
277
+ /* onDelete={e => {
278
+ e.stopPropagation();
279
+ e.preventDefault ();
280
+ let _value = JSON.parse(JSON.stringify(this._getValue()));
281
+ const pos = value.indexOf(v);
282
+ if (pos !== -1) {
283
+ _value.splice(pos, 1);
284
+ this.setState({ value: _value }, () => this.onChange(this.props.attr, _value));
285
+ }
286
+ }}*/
287
+
288
+ });
289
+ } else {
290
+ return null;
291
+ }
292
+ })) : (item === null || item === void 0 ? void 0 : item.label) || val;
224
293
  },
225
294
  onChange: function onChange(e) {
226
- return _this3.onChange(_this3.props.attr, e.target.value);
295
+ _this3.onChange(_this3.props.attr, e.target.value);
227
296
  }
228
297
  }, selectOptions.map(function (item, i) {
229
298
  return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
230
299
  key: i,
231
300
  value: item.value
232
- }, item.label);
301
+ }, _this3.props.schema.multiple ? /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
302
+ checked: value.includes(item.value),
303
+ onClick: function onClick() {
304
+ var _value = JSON.parse(JSON.stringify(_this3._getValue()));
305
+
306
+ var pos = value.indexOf(item.value);
307
+
308
+ if (pos !== -1) {
309
+ _value.splice(pos, 1);
310
+ } else {
311
+ _value.push(item.value);
312
+
313
+ _value.sort();
314
+ }
315
+
316
+ _this3.setState({
317
+ value: _value
318
+ }, function () {
319
+ return _this3.onChange(_this3.props.attr, _value);
320
+ });
321
+ }
322
+ }) : null, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
323
+ primary: item.label
324
+ }));
233
325
  })), this.props.schema.help ? /*#__PURE__*/_react["default"].createElement(_FormHelperText["default"], null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null);
234
326
  }
235
327
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSelectSendTo.js","names":["styles","theme","fullWidth","width","ConfigSelectSendTo","askInstance","props","alive","data","schema","undefined","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","list","setState","context","getContext","value","ConfigGeneric","getValue","attr","Array","isArray","alsoDependsOn","forEach","stringify","disabled","defaultValue","state","setTimeout","target","onChange","trim","getText","placeholder","label","renderHelp","help","helpLink","noTranslation","selectOptions","filter","item","hidden","custom","executeCustom","instanceObj","arrayIndex","globalData","execute","find","classes","val","map","i","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","bool","number","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigSelectSendTo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport CircularProgress from '@mui/material/CircularProgress';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\n/*\nto use this option, your adapter must implement listUart message\n\nadapter.on('message', obj => {\n if (obj) {\n switch (obj.command) {\n case 'command':\n if (obj.callback) {\n try {\n const serialport = require('serialport');\n if (serialport) {\n // read all found serial ports\n serialport.list()\n .then(ports => {\n adapter.log.info('List of port: ' + JSON.stringify(ports));\n adapter.sendTo(obj.from, obj.command, ports.map(item =>\n ({label: item.path, value: item.path})), obj.callback);\n })\n .catch(e => {\n adapter.sendTo(obj.from, obj.command, [], obj.callback);\n adapter.log.error(e)\n });\n } else {\n adapter.log.warn('Module serialport is not available');\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n } catch (e) {\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n }\n\n break;\n }\n }\n});\n */\n\nclass ConfigSelectSendTo extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.askInstance();\n }\n\n askInstance(){\n if (this.props.alive) {\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(this.props.adapterName + '.' + this.props.instance, this.props.schema.command || 'send', data)\n .then(list =>\n this.setState({list, context: this.getContext()}));\n } else {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ value });\n }\n }\n\n getContext() {\n const context = {};\n\n if (Array.isArray(this.props.schema.alsoDependsOn)) {\n this.props.schema.alsoDependsOn.forEach(attr =>\n context[attr] = ConfigGeneric.getValue(this.props.data, attr));\n }\n\n return JSON.stringify(context);\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.props.alive) {\n const context = this.getContext();\n if (context !== this.state.context) {\n setTimeout(() => this.askInstance(), 300);\n }\n }\n\n const value = this.state.value === null || this.state.value === undefined ? ConfigGeneric.getValue(this.props.data, this.props.attr) : this.state.value;\n\n if (!this.props.alive) {\n return <TextField\n variant=\"standard\"\n fullWidth\n value={value}\n error={!!error}\n disabled={!!disabled}\n onChange={e => {\n const value = e.target.value;\n this.setState({ value }, () =>\n this.onChange(this.props.attr, (value || '').trim()));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />;\n } else\n if (!this.state.list) {\n return <CircularProgress size=\"small\"/>;\n } else {\n const selectOptions = (this.state.list || []).filter(item => {\n if (!item.hidden) {\n return true;\n } else if (this.props.custom) {\n return !this.executeCustom(item.hidden, this.props.schema.default, this.props.data, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);\n } else {\n return !this.execute(item.hidden, this.props.schema.default, this.props.data, this.props.arrayIndex, this.props.globalData);\n }\n });\n\n const item = selectOptions.find(item => item.value === value);\n\n return <FormControl variant=\"standard\" className={this.props.classes.fullWidth}>\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n renderValue={val => item?.label || val}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n >\n {selectOptions.map((item, i) =>\n <MenuItem key={i} value={item.value}>{item.label}</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n }\n}\n\nConfigSelectSendTo.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n adapterName: PropTypes.string,\n alive: PropTypes.bool,\n instance: PropTypes.number,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSelectSendTo);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigSelectSendTo.js","names":["styles","theme","fullWidth","width","menuPaper","maxHeight","ConfigSelectSendTo","askInstance","props","alive","data","schema","undefined","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","list","setState","context","getContext","value","ConfigGeneric","getValue","attr","Array","isArray","alsoDependsOn","forEach","stringify","state","multiple","disabled","defaultValue","setTimeout","_getValue","manual","I18n","t","target","onChange","trim","getText","placeholder","label","renderHelp","help","helpLink","noTranslation","selectOptions","filter","item","hidden","custom","executeCustom","instanceObj","arrayIndex","globalData","execute","find","classes","paper","val","display","flexWrap","gap","map","v","_item","showAllValues","i","includes","_value","pos","indexOf","splice","push","sort","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","bool","number","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigSelectSendTo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport ListItemText from '@mui/material/ListItemText';\nimport Checkbox from '@mui/material/Checkbox';\nimport Chip from '@mui/material/Chip';\nimport Box from '@mui/material/Box';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n menuPaper: {\n maxHeight: 800\n },\n});\n\n/*\nto use this option, your adapter must implement listUart message\n\nadapter.on('message', obj => {\n if (obj) {\n switch (obj.command) {\n case 'command':\n if (obj.callback) {\n try {\n const serialport = require('serialport');\n if (serialport) {\n // read all found serial ports\n serialport.list()\n .then(ports => {\n adapter.log.info('List of port: ' + JSON.stringify(ports));\n adapter.sendTo(obj.from, obj.command, ports.map(item =>\n ({label: item.path, value: item.path})), obj.callback);\n })\n .catch(e => {\n adapter.sendTo(obj.from, obj.command, [], obj.callback);\n adapter.log.error(e)\n });\n } else {\n adapter.log.warn('Module serialport is not available');\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n } catch (e) {\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n }\n\n break;\n }\n }\n});\n */\n\nclass ConfigSelectSendTo extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.askInstance();\n }\n\n askInstance(){\n if (this.props.alive) {\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`, this.props.schema.command || 'send', data)\n .then(list =>\n this.setState({list, context: this.getContext()}));\n } else {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n this.setState({ value });\n }\n }\n\n getContext() {\n const context = {};\n\n if (Array.isArray(this.props.schema.alsoDependsOn)) {\n this.props.schema.alsoDependsOn.forEach(attr =>\n context[attr] = ConfigGeneric.getValue(this.props.data, attr));\n }\n\n return JSON.stringify(context);\n }\n\n _getValue() {\n let value = this.state.value === null || this.state.value === undefined ? ConfigGeneric.getValue(this.props.data, this.props.attr) : this.state.value;\n\n if (this.props.schema.multiple) {\n if (typeof value === 'string') {\n value = [value];\n } else if (value === null || value === undefined) {\n value = [];\n }\n }\n\n return value;\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.props.alive) {\n const context = this.getContext();\n if (context !== this.state.context) {\n setTimeout(() => this.askInstance(), 300);\n }\n }\n\n let value = this._getValue();\n\n if (!this.props.alive) {\n if (this.props.schema.multiple || this.props.schema.manual === false) {\n return I18n.t('ra_Cannot retrieve options, as instance is offline');\n } else {\n return <TextField\n variant=\"standard\"\n fullWidth\n value={value}\n error={!!error}\n disabled={!!disabled}\n onChange={e => {\n const value = e.target.value;\n this.setState({ value }, () =>\n this.onChange(this.props.attr, (value || '').trim()));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />;\n }\n } else\n if (!this.state.list) {\n return <CircularProgress size=\"small\"/>;\n } else {\n const selectOptions = (this.state.list || [])\n .filter(item => {\n if (!item.hidden) {\n return true;\n } else if (this.props.custom) {\n return !this.executeCustom(item.hidden, this.props.schema.default, this.props.data, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);\n } else {\n return !this.execute(item.hidden, this.props.schema.default, this.props.data, this.props.arrayIndex, this.props.globalData);\n }\n });\n\n const item = selectOptions.find(item => item.value === value);\n\n return <FormControl variant=\"standard\" className={this.props.classes.fullWidth}>\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n multiple={this.props.schema.multiple}\n disabled={!!disabled}\n value={value}\n MenuProps={this.props.schema.multiple ? { classes: { paper: this.props.classes.menuPaper } } : undefined}\n renderValue={val =>\n this.props.schema.multiple ?\n <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 0.5 }}>\n {val.map(v => {\n const item = selectOptions.find(_item => _item.value === v);\n if (item || this.props.schema.showAllValues !== false) {\n const label = item?.label || v;\n return <Chip key={v} label={label}/* onDelete={e => {\n e.stopPropagation();\n e.preventDefault ();\n let _value = JSON.parse(JSON.stringify(this._getValue()));\n const pos = value.indexOf(v);\n if (pos !== -1) {\n _value.splice(pos, 1);\n this.setState({ value: _value }, () => this.onChange(this.props.attr, _value));\n }\n }}*/ />;\n } else {\n return null;\n }\n })}\n </Box>\n :\n (item?.label || val)\n }\n onChange={e => {\n this.onChange(this.props.attr, e.target.value);\n }}\n >\n {selectOptions.map((item, i) =>\n <MenuItem key={i} value={item.value}>\n { this.props.schema.multiple ? <Checkbox\n checked={value.includes(item.value)}\n onClick={() => {\n let _value = JSON.parse(JSON.stringify(this._getValue()));\n const pos = value.indexOf(item.value);\n if (pos !== -1) {\n _value.splice(pos, 1);\n } else {\n _value.push(item.value);\n _value.sort();\n }\n this.setState({ value: _value }, () => this.onChange(this.props.attr, _value));\n }}/> : null }\n <ListItemText primary={item.label} />\n </MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n }\n}\n\nConfigSelectSendTo.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n adapterName: PropTypes.string,\n alive: PropTypes.bool,\n instance: PropTypes.number,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSelectSendTo);\n"],"mappings":"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"}
@@ -143,7 +143,7 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
143
143
  data = null;
144
144
  }
145
145
 
146
- this.props.socket.sendTo(this.props.adapterName + '.' + this.props.instance, this.props.schema.command || 'send', data).then(function (response) {
146
+ this.props.socket.sendTo("".concat(this.props.adapterName, ".").concat(this.props.instance), this.props.schema.command || 'send', data).then(function (response) {
147
147
  if (response !== null && response !== void 0 && response.error) {
148
148
  if (_this3.props.schema.error && _this3.props.schema.error[response.error]) {
149
149
  var error = _this3.getText(_this3.props.schema.error[response.error]);
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSendto.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","ConfigSendto","setState","_error","_message","state","undefined","props","onCommandRunning","data","schema","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","response","getText","args","forEach","arg","replace","I18n","t","result","text","window","alert","stringify","toString","confirmDialog","confirm","confirmData","type","title","ok","cancel","isOk","_onClick","disabled","defaultValue","classes","variant","color","label","noTranslation","renderErrorDialog","renderMessageDialog","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","onChange","number","commandRunning","bool","withStyles"],"sources":["JsonConfigComponent/ConfigSendto.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\nimport DialogError from '../../Dialogs/Error';\nimport DialogMessage from '../../Dialogs/Message';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nclass ConfigSendto extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.setState( {_error: '', _message: ''});\n }\n\n renderErrorDialog() {\n if (this.state._error) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state._message) {\n return <DialogMessage text={this.state._message} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n _onClick() {\n this.props.onCommandRunning(true);\n\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(\n this.props.adapterName + '.' + this.props.instance,\n this.props.schema.command || 'send',\n data\n )\n .then(response => {\n if (response?.error) {\n if (this.props.schema.error && this.props.schema.error[response.error]) {\n let error = this.getText(this.props.schema.error[response.error]);\n if (response.args) {\n response.args.forEach(arg => error = error.replace('%s', arg));\n }\n this.setState({_error: error});\n } else {\n this.setState({_error: response.error ? I18n.t(response.error) : I18n.t('ra_Error')});\n }\n } else {\n if (response?.result && this.props.schema.result && this.props.schema.result[response.result]) {\n let text = this.getText(this.props.schema.result[response.result]);\n if (response.args) {\n response.args.forEach(arg => text = text.replace('%s', arg));\n }\n window.alert(text);\n } else {\n if (response?.result) {\n window.alert(typeof response.result === 'object' ? JSON.stringify(response.result) : response.result);\n } else {\n window.alert(I18n.t('ra_Ok'));\n }\n }\n }\n })\n .catch(e => {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n this.setState({_error: this.getText(this.props.schema.error[e.toString()])});\n } else {\n this.setState({_error: I18n.t(e.toString()) || I18n.t('ra_Error')});\n }\n })\n .then(() => this.props.onCommandRunning(false))\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () =>\n isOk && this._onClick())\n }\n />;\n }\n\n renderItem(error, disabled, defaultValue) {\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n onClick={() => {\n if (this.props.schema.confirm) {\n this.setState({confirmDialog: true});\n } else {\n this._onClick();\n }\n }}\n >\n {this.props.schema.icon ? <Icon src={this.props.schema.icon} className={this.props.classes.icon}/> : null}\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n {this.renderErrorDialog()}\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigSendto.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 schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSendto);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigSendto.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","ConfigSendto","setState","_error","_message","state","undefined","props","onCommandRunning","data","schema","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","response","getText","args","forEach","arg","replace","I18n","t","result","text","window","alert","stringify","toString","confirmDialog","confirm","confirmData","type","title","ok","cancel","isOk","_onClick","disabled","defaultValue","classes","variant","color","label","noTranslation","renderErrorDialog","renderMessageDialog","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","onChange","number","commandRunning","bool","withStyles"],"sources":["JsonConfigComponent/ConfigSendto.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\nimport DialogError from '../../Dialogs/Error';\nimport DialogMessage from '../../Dialogs/Message';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nclass ConfigSendto extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.setState( {_error: '', _message: ''});\n }\n\n renderErrorDialog() {\n if (this.state._error) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state._message) {\n return <DialogMessage text={this.state._message} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n _onClick() {\n this.props.onCommandRunning(true);\n\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(\n `${this.props.adapterName}.${this.props.instance}`,\n this.props.schema.command || 'send',\n data\n )\n .then(response => {\n if (response?.error) {\n if (this.props.schema.error && this.props.schema.error[response.error]) {\n let error = this.getText(this.props.schema.error[response.error]);\n if (response.args) {\n response.args.forEach(arg => error = error.replace('%s', arg));\n }\n this.setState({_error: error});\n } else {\n this.setState({_error: response.error ? I18n.t(response.error) : I18n.t('ra_Error')});\n }\n } else {\n if (response?.result && this.props.schema.result && this.props.schema.result[response.result]) {\n let text = this.getText(this.props.schema.result[response.result]);\n if (response.args) {\n response.args.forEach(arg => text = text.replace('%s', arg));\n }\n window.alert(text);\n } else {\n if (response?.result) {\n window.alert(typeof response.result === 'object' ? JSON.stringify(response.result) : response.result);\n } else {\n window.alert(I18n.t('ra_Ok'));\n }\n }\n }\n })\n .catch(e => {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n this.setState({_error: this.getText(this.props.schema.error[e.toString()])});\n } else {\n this.setState({_error: I18n.t(e.toString()) || I18n.t('ra_Error')});\n }\n })\n .then(() => this.props.onCommandRunning(false))\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () =>\n isOk && this._onClick())\n }\n />;\n }\n\n renderItem(error, disabled, defaultValue) {\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n onClick={() => {\n if (this.props.schema.confirm) {\n this.setState({confirmDialog: true});\n } else {\n this._onClick();\n }\n }}\n >\n {this.props.schema.icon ? <Icon src={this.props.schema.icon} className={this.props.classes.icon}/> : null}\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n {this.renderErrorDialog()}\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigSendto.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 schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSendto);"],"mappings":"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"}
@@ -0,0 +1,147 @@
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 _material = require("@mui/material");
29
+
30
+ var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
31
+
32
+ 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); }; }
33
+
34
+ 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; } }
35
+
36
+ var styles = function styles(theme) {
37
+ return {
38
+ fullWidth: {
39
+ width: '100%'
40
+ },
41
+ slider: {
42
+ marginLeft: 10,
43
+ marginRight: 10,
44
+ width: 'calc(100% - 20px)'
45
+ }
46
+ };
47
+ };
48
+
49
+ var ConfigSlider = /*#__PURE__*/function (_ConfigGeneric) {
50
+ (0, _inherits2["default"])(ConfigSlider, _ConfigGeneric);
51
+
52
+ var _super = _createSuper(ConfigSlider);
53
+
54
+ function ConfigSlider() {
55
+ (0, _classCallCheck2["default"])(this, ConfigSlider);
56
+ return _super.apply(this, arguments);
57
+ }
58
+
59
+ (0, _createClass2["default"])(ConfigSlider, [{
60
+ key: "componentDidMount",
61
+ value: function componentDidMount() {
62
+ (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigSlider.prototype), "componentDidMount", this).call(this);
63
+
64
+ var _value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
65
+
66
+ this.setState({
67
+ _value: _value
68
+ });
69
+ }
70
+ }, {
71
+ key: "renderItem",
72
+ value: function renderItem(error, disabled, defaultValue) {
73
+ var _this = this;
74
+
75
+ var min = this.props.schema.min || 0;
76
+ var max = this.props.schema.max || 100;
77
+ var unit = this.props.schema.unit || '';
78
+ var marks = [{
79
+ value: min,
80
+ label: min + unit
81
+ }, {
82
+ value: max,
83
+ label: max + unit
84
+ }];
85
+ return /*#__PURE__*/_react["default"].createElement(_material.Box, {
86
+ className: this.props.classes.fullWidth
87
+ }, this.props.schema.label ? /*#__PURE__*/_react["default"].createElement(_material.Typography, {
88
+ gutterBottom: true
89
+ }, this.getText(this.props.schema.label)) : null, /*#__PURE__*/_react["default"].createElement(_material.Slider, {
90
+ className: this.props.classes.slider,
91
+ value: this.state._value,
92
+ getAriaValueText: function getAriaValueText(value) {
93
+ return value + unit;
94
+ },
95
+ step: this.props.schema.step || (max - min) / 100,
96
+ valueLabelDisplay: "auto",
97
+ marks: marks,
98
+ disabled: !!disabled,
99
+ error: error || '',
100
+ onChange: function onChange(e) {
101
+ var _value = e.target.value;
102
+
103
+ _this.setState({
104
+ _value: _value
105
+ }, function () {
106
+ return _this.onChange(_this.props.attr, _value);
107
+ });
108
+ }
109
+ }), this.props.schema.help ? /*#__PURE__*/_react["default"].createElement(_material.Typography, null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null);
110
+ }
111
+ }], [{
112
+ key: "getDerivedStateFromProps",
113
+ value: function getDerivedStateFromProps(props, state) {
114
+ if (props.schema.min !== undefined && props.schema.min < 0 || props.schema.max !== undefined && props.schema.max < 0) {
115
+ return null;
116
+ }
117
+
118
+ var _value = _ConfigGeneric2["default"].getValue(props.data, props.attr);
119
+
120
+ if (_value === null || _value === undefined || _value.toString() !== parseFloat(state._value).toString()) {
121
+ return {
122
+ _value: _value
123
+ };
124
+ } else {
125
+ return null;
126
+ }
127
+ }
128
+ }]);
129
+ return ConfigSlider;
130
+ }(_ConfigGeneric2["default"]);
131
+
132
+ ConfigSlider.propTypes = {
133
+ socket: _propTypes["default"].object.isRequired,
134
+ themeType: _propTypes["default"].string,
135
+ themeName: _propTypes["default"].string,
136
+ style: _propTypes["default"].object,
137
+ className: _propTypes["default"].string,
138
+ data: _propTypes["default"].object.isRequired,
139
+ schema: _propTypes["default"].object,
140
+ onError: _propTypes["default"].func,
141
+ onChange: _propTypes["default"].func
142
+ };
143
+
144
+ var _default = (0, _styles.withStyles)(styles)(ConfigSlider);
145
+
146
+ exports["default"] = _default;
147
+ //# sourceMappingURL=ConfigSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigSlider.js","names":["styles","theme","fullWidth","width","slider","marginLeft","marginRight","ConfigSlider","_value","ConfigGeneric","getValue","props","data","attr","setState","error","disabled","defaultValue","min","schema","max","unit","marks","value","label","classes","getText","state","step","e","target","onChange","help","renderHelp","helpLink","noTranslation","undefined","toString","parseFloat","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigSlider.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport { Box, Typography, Slider } from '@mui/material';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n },\n slider: {\n marginLeft: 10,\n marginRight: 10,\n width: 'calc(100% - 20px)',\n }\n});\n\nclass ConfigSlider extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const _value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ _value });\n }\n\n static getDerivedStateFromProps(props, state) {\n if ((props.schema.min !== undefined && props.schema.min < 0) ||\n (props.schema.max !== undefined && props.schema.max < 0)\n ) {\n return null;\n }\n const _value = ConfigGeneric.getValue(props.data, props.attr);\n if (_value === null || _value === undefined || _value.toString() !== parseFloat(state._value).toString()) {\n return { _value };\n } else {\n return null;\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n const min = this.props.schema.min || 0;\n const max = this.props.schema.max || 100;\n const unit = this.props.schema.unit || '';\n\n const marks = [\n { value: min, label: min + unit},\n { value: max, label: max + unit}\n ];\n\n return <Box className={this.props.classes.fullWidth}>\n {this.props.schema.label ? <Typography gutterBottom>\n {this.getText(this.props.schema.label)}\n </Typography> : null}\n <Slider\n className={this.props.classes.slider}\n value={this.state._value}\n getAriaValueText={value => value + unit}\n step={this.props.schema.step || ((max - min) / 100)}\n valueLabelDisplay=\"auto\"\n marks={marks}\n disabled={!!disabled}\n error={error || ''}\n onChange={e => {\n const _value = e.target.value;\n this.setState({ _value }, () =>\n this.onChange(this.props.attr, _value));\n }}\n />\n {this.props.schema.help ? <Typography>\n {this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n </Typography> : null}\n </Box>;\n }\n}\n\nConfigSlider.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 schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSlider);"],"mappings":"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"}
@@ -276,7 +276,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
276
276
  var schema = _this.props.schema;
277
277
  var newValue = JSON.parse(JSON.stringify(_this.state.value));
278
278
  var visibleValue = JSON.parse(JSON.stringify(_this.state.visibleValue));
279
- var newItem = schema.items.reduce(function (accumulator, currentValue) {
279
+ var newItem = schema.items && schema.items.reduce(function (accumulator, currentValue) {
280
280
  var defaultValue;
281
281
 
282
282
  if (currentValue.defaultFunc) {
@@ -405,7 +405,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
405
405
  value = _this$state2.value,
406
406
  systemConfig = _this$state2.systemConfig;
407
407
  var schema = this.props.schema;
408
- var schemaForAttribute = schema.items.find(function (el) {
408
+ var schemaForAttribute = schema.items && schema.items.find(function (el) {
409
409
  return el.attr === attrItem;
410
410
  });
411
411
 
@@ -459,7 +459,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
459
459
  var _this$state3 = this.state,
460
460
  order = _this$state3.order,
461
461
  orderBy = _this$state3.orderBy;
462
- return /*#__PURE__*/_react["default"].createElement(_material.TableHead, null, /*#__PURE__*/_react["default"].createElement(_material.TableRow, null, schema.items.map(function (headCell) {
462
+ return /*#__PURE__*/_react["default"].createElement(_material.TableHead, null, /*#__PURE__*/_react["default"].createElement(_material.TableRow, null, schema.items && schema.items.map(function (headCell) {
463
463
  var _this3$filterRefs$hea, _this3$filterRefs$hea2, _this3$filterRefs$hea3, _this3$filterRefs$hea4;
464
464
 
465
465
  return /*#__PURE__*/_react["default"].createElement(_material.TableCell, {
@@ -623,7 +623,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
623
623
  return /*#__PURE__*/_react["default"].createElement(_material.TableRow, {
624
624
  hover: true,
625
625
  key: idx
626
- }, schema.items.map(function (headCell) {
626
+ }, schema.items && schema.items.map(function (headCell) {
627
627
  return /*#__PURE__*/_react["default"].createElement(_material.TableCell, {
628
628
  key: headCell.attr + '_' + idx,
629
629
  align: "left"