@iobroker/adapter-react-v5 4.2.0 → 4.3.0

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 (124) hide show
  1. package/Components/ComplexCron.js +20 -28
  2. package/Components/ComplexCron.js.map +1 -1
  3. package/Components/CustomModal.js +8 -12
  4. package/Components/CustomModal.js.map +1 -1
  5. package/Components/FileViewer.js +10 -18
  6. package/Components/FileViewer.js.map +1 -1
  7. package/Components/Icon.js +10 -17
  8. package/Components/Icon.js.map +1 -1
  9. package/Components/IconPicker.js +6 -8
  10. package/Components/IconPicker.js.map +1 -1
  11. package/Components/IconSelector.js +13 -22
  12. package/Components/IconSelector.js.map +1 -1
  13. package/Components/JsonConfigComponent/ChipInput.d.ts +1 -1
  14. package/Components/JsonConfigComponent/ChipInput.js +6 -6
  15. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  16. package/Components/JsonConfigComponent/ConfigAccordion.d.ts +14 -0
  17. package/Components/JsonConfigComponent/ConfigAccordion.js +352 -0
  18. package/Components/JsonConfigComponent/ConfigAccordion.js.map +1 -0
  19. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  20. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  21. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  22. package/Components/JsonConfigComponent/ConfigCRON.js +3 -2
  23. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigCheckLicense.js +1 -1
  25. package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  27. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
  29. package/Components/JsonConfigComponent/ConfigCoordinates.js +54 -12
  30. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  31. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  33. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigGeneric.d.ts +18 -3
  35. package/Components/JsonConfigComponent/ConfigGeneric.js +76 -36
  36. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  37. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  39. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigJsonEditor.js +1 -1
  41. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigLanguage.js +3 -0
  43. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigLicense.d.ts +23 -0
  45. package/Components/JsonConfigComponent/ConfigLicense.js +183 -0
  46. package/Components/JsonConfigComponent/ConfigLicense.js.map +1 -0
  47. package/Components/JsonConfigComponent/ConfigNumber.js +2 -48
  48. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  49. package/Components/JsonConfigComponent/ConfigObjectId.js +3 -1
  50. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  51. package/Components/JsonConfigComponent/ConfigPanel.js +4 -0
  52. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  53. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  54. package/Components/JsonConfigComponent/ConfigPattern.d.ts +19 -13
  55. package/Components/JsonConfigComponent/ConfigPattern.js +1 -5
  56. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  57. package/Components/JsonConfigComponent/ConfigPort.js.map +1 -1
  58. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  59. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  60. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  61. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  62. package/Components/JsonConfigComponent/ConfigSetState.js +1 -1
  63. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  64. package/Components/JsonConfigComponent/ConfigSlider.js +3 -1
  65. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
  66. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
  67. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  68. package/Components/JsonConfigComponent/ConfigStaticText.js +9 -0
  69. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  70. package/Components/JsonConfigComponent/ConfigTable.js +358 -39
  71. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  72. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  73. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  74. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  75. package/Components/JsonConfigComponent/ConfigTopic.js +1 -1
  76. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  77. package/Components/JsonConfigComponent/index.js.map +1 -1
  78. package/Components/Loader.js +1 -1
  79. package/Components/Loader.js.map +1 -1
  80. package/Components/Logo.js +11 -13
  81. package/Components/Logo.js.map +1 -1
  82. package/Components/MDUtils.js +1 -1
  83. package/Components/MDUtils.js.map +1 -1
  84. package/Components/ObjectBrowser.d.ts +13 -1
  85. package/Components/ObjectBrowser.js +568 -568
  86. package/Components/ObjectBrowser.js.map +1 -1
  87. package/Components/Router.d.ts +1 -1
  88. package/Components/Router.js +6 -6
  89. package/Components/Router.js.map +1 -1
  90. package/Components/SaveCloseButtons.js +11 -13
  91. package/Components/SaveCloseButtons.js.map +1 -1
  92. package/Components/Schedule.js +135 -129
  93. package/Components/Schedule.js.map +1 -1
  94. package/Components/SelectWithIcon.js.map +1 -1
  95. package/Components/TabContainer.js +3 -4
  96. package/Components/TabContainer.js.map +1 -1
  97. package/Components/TabContent.js +2 -2
  98. package/Components/TabContent.js.map +1 -1
  99. package/Components/TabHeader.js +2 -2
  100. package/Components/TabHeader.js.map +1 -1
  101. package/Components/TableResize.js +6 -6
  102. package/Components/TableResize.js.map +1 -1
  103. package/Components/ToggleThemeMenu.js +5 -8
  104. package/Components/ToggleThemeMenu.js.map +1 -1
  105. package/Components/TreeTable.js +44 -64
  106. package/Components/TreeTable.js.map +1 -1
  107. package/Components/UploadImage.js +11 -12
  108. package/Components/UploadImage.js.map +1 -1
  109. package/Components/Utils.d.ts +13 -6
  110. package/Components/Utils.js +61 -41
  111. package/Components/Utils.js.map +1 -1
  112. package/README.md +10 -0
  113. package/i18n/de.json +11 -1
  114. package/i18n/en.json +11 -1
  115. package/i18n/es.json +11 -1
  116. package/i18n/fr.json +11 -1
  117. package/i18n/it.json +11 -1
  118. package/i18n/nl.json +11 -1
  119. package/i18n/pl.json +11 -1
  120. package/i18n/pt.json +11 -1
  121. package/i18n/ru.json +11 -1
  122. package/i18n/uk.json +11 -1
  123. package/i18n/zh-cn.json +11 -1
  124. package/package.json +7 -7
@@ -230,6 +230,15 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
230
230
  }
231
231
  });
232
232
  }
233
+
234
+ /**
235
+ * Trigger onChange, to activate save button on change
236
+ *
237
+ * @param attr the changed attribute
238
+ * @param newValue new value of the attribute
239
+ * @param {(() => void)?} cb optional callback function, else returns a Promise
240
+ * @return {Promise<void>}
241
+ */
233
242
  }, {
234
243
  key: "onChange",
235
244
  value: function onChange(attr, newValue, cb) {
@@ -237,73 +246,95 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
237
246
  var data = JSON.parse(JSON.stringify(this.props.data));
238
247
  ConfigGeneric.setValue(data, attr, newValue);
239
248
  if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {
240
- return this.setState({
241
- confirmDialog: true,
242
- confirmNewValue: newValue,
243
- confirmAttr: attr,
244
- confirmData: null
249
+ return new Promise(function (resolve) {
250
+ _this5.setState({
251
+ confirmDialog: true,
252
+ confirmNewValue: newValue,
253
+ confirmAttr: attr,
254
+ confirmData: null
255
+ }, function () {
256
+ if (typeof cb === 'function') {
257
+ cb();
258
+ } else {
259
+ resolve();
260
+ }
261
+ });
245
262
  });
246
263
  } else {
247
264
  // find any inputs with confirmation
248
265
  if (this.props.schema.confirmDependsOn) {
249
- for (var z = 0; z < this.props.schema.confirmDependsOn.length; z++) {
250
- var dep = this.props.schema.confirmDependsOn[z];
266
+ var _loop = function _loop() {
267
+ var dep = _this5.props.schema.confirmDependsOn[z];
251
268
  if (dep.confirm) {
252
269
  var val = ConfigGeneric.getValue(data, dep.attr);
253
- if (this.execute(dep.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {
254
- return this.setState({
255
- confirmDialog: true,
256
- confirmNewValue: newValue,
257
- confirmAttr: attr,
258
- confirmDepNewValue: val,
259
- confirmDepAttr: dep.attr,
260
- confirmData: dep.confirm
261
- });
270
+ if (_this5.execute(dep.confirm.condition, false, data, _this5.props.arrayIndex, _this5.props.globalData)) {
271
+ return {
272
+ v: new Promise(function (resolve) {
273
+ _this5.setState({
274
+ confirmDialog: true,
275
+ confirmNewValue: newValue,
276
+ confirmAttr: attr,
277
+ confirmDepNewValue: val,
278
+ confirmDepAttr: dep.attr,
279
+ confirmData: dep.confirm
280
+ }, function () {
281
+ if (typeof cb === 'function') {
282
+ cb();
283
+ } else {
284
+ resolve();
285
+ }
286
+ });
287
+ })
288
+ };
262
289
  }
263
290
  }
291
+ };
292
+ for (var z = 0; z < this.props.schema.confirmDependsOn.length; z++) {
293
+ var _ret = _loop();
294
+ if ((0, _typeof2["default"])(_ret) === "object") return _ret.v;
264
295
  }
265
296
  }
266
297
  var changed = [];
267
298
  if (this.props.schema.onChangeDependsOn) {
268
299
  for (var _z = 0; _z < this.props.schema.onChangeDependsOn.length; _z++) {
269
- var _dep = this.props.schema.onChangeDependsOn[_z];
270
- if (_dep.onChange) {
271
- var _val = ConfigGeneric.getValue(data, _dep.attr);
300
+ var dep = this.props.schema.onChangeDependsOn[_z];
301
+ if (dep.onChange) {
302
+ var val = ConfigGeneric.getValue(data, dep.attr);
272
303
  var _newValue = void 0;
273
304
  if (this.props.custom) {
274
- _newValue = this.executeCustom(_dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);
305
+ _newValue = this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);
275
306
  } else {
276
- _newValue = this.execute(_dep.onChange.calculateFunc, _val, data, this.props.arrayIndex, this.props.globalData);
307
+ _newValue = this.execute(dep.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);
277
308
  }
278
- if (_newValue !== _val) {
279
- ConfigGeneric.setValue(data, _dep.attr, _newValue);
280
- changed.push(_dep.attr);
309
+ if (_newValue !== val) {
310
+ ConfigGeneric.setValue(data, dep.attr, _newValue);
311
+ changed.push(dep.attr);
281
312
  }
282
313
  }
283
314
  }
284
315
  }
285
316
  if (this.props.schema.hiddenDependsOn) {
286
317
  for (var _z2 = 0; _z2 < this.props.schema.hiddenDependsOn.length; _z2++) {
287
- var _dep2 = this.props.schema.hiddenDependsOn[_z2];
288
- _dep2.hidden && changed.push(_dep2.attr);
318
+ var _dep = this.props.schema.hiddenDependsOn[_z2];
319
+ _dep.hidden && changed.push(_dep.attr);
289
320
  }
290
321
  }
291
322
  if (this.props.schema.labelDependsOn) {
292
323
  for (var _z3 = 0; _z3 < this.props.schema.labelDependsOn.length; _z3++) {
293
- var _dep3 = this.props.schema.labelDependsOn[_z3];
294
- _dep3.hidden && changed.push(_dep3.attr);
324
+ var _dep2 = this.props.schema.labelDependsOn[_z3];
325
+ _dep2.hidden && changed.push(_dep2.attr);
295
326
  }
296
327
  }
297
328
  if (this.props.schema.helpDependsOn) {
298
329
  for (var _z4 = 0; _z4 < this.props.schema.helpDependsOn.length; _z4++) {
299
- var _dep4 = this.props.schema.helpDependsOn[_z4];
300
- _dep4.hidden && changed.push(_dep4.attr);
330
+ var _dep3 = this.props.schema.helpDependsOn[_z4];
331
+ _dep3.hidden && changed.push(_dep3.attr);
301
332
  }
302
333
  }
303
334
  if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {
304
- var _val2 = ConfigGeneric.getValue(data, this.props.attr);
305
- var _newValue2 = this.props.custom ? this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : this.execute(this.props.schema.onChange.calculateFunc, _val2, data, this.props.arrayIndex, this.props.globalData);
306
- if (_newValue2 !== _val2) {
335
+ var _val = ConfigGeneric.getValue(data, this.props.attr);
336
+ var _newValue2 = this.props.custom ? this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : this.execute(this.props.schema.onChange.calculateFunc, _val, data, this.props.arrayIndex, this.props.globalData);
337
+ if (_newValue2 !== _val) {
307
338
  ConfigGeneric.setValue(data, this.props.attr, _newValue2);
308
339
  }
309
340
  }
@@ -337,7 +368,6 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
337
368
  // eslint-disable-next-line no-new-func
338
369
  var f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);
339
370
  var result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance, arrayIndex, globalData);
340
- // console.log(result);
341
371
  return result;
342
372
  } catch (e) {
343
373
  console.error("Cannot execute ".concat(func, ": ").concat(e));
@@ -358,7 +388,6 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
358
388
  // eslint-disable-next-line no-new-func
359
389
  var f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);
360
390
  var result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket, arrayIndex, globalData);
361
- console.log(result);
362
391
  return result;
363
392
  } catch (e) {
364
393
  console.error("Cannot execute ".concat(func, ": ").concat(e));
@@ -533,6 +562,9 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
533
562
  }
534
563
  }
535
564
  var renderedItem = this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue);
565
+ if (this.noPlaceRequired) {
566
+ return renderedItem;
567
+ }
536
568
  var _item = /*#__PURE__*/_react["default"].createElement(_material.Grid, {
537
569
  item: true,
538
570
  title: this.getText(schema.tooltip),
@@ -581,7 +613,15 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
581
613
  }
582
614
  }], [{
583
615
  key: "getValue",
584
- value: function getValue(data, attr) {
616
+ value:
617
+ /**
618
+ * Extract attribute out of data
619
+ *
620
+ * @param {Record<string, any>} data
621
+ * @param {string|string[]} attr
622
+ * @return {*|null}
623
+ */
624
+ function getValue(data, attr) {
585
625
  if (typeof attr === 'string') {
586
626
  return ConfigGeneric.getValue(data, attr.split('.'));
587
627
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigGeneric.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_material","_Info","_Warning","_Error","_i18n","_Utils","_Confirm","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","ConfigGeneric","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","arrayIndex","globalData","execute","lang","I18n","getLanguage","_createClass2","componentDidMount","_this2","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","defaultSendTo","sendTo","_this3","alive","defaultSendToDone","jsonData","getPattern","JSON","parse","console","error","socket","concat","adapterName","instance","then","onError","t","componentWillUnmount","sendToTimeout","clearTimeout","getText","text","noTranslation","_typeof2","func","en","renderConfirmDialog","_this4","confirm","icon","createElement","title","ok","cancel","onClose","isOk","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","cb","_this5","condition","confirmDependsOn","z","length","dep","val","changed","onChangeDependsOn","_newValue","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","originalData","systemConfig","common","log","calculate","disabled","validator","renderItem","label","renderHelp","link","Utils","renderTextWithA","href","target","rel","style","color","themeType","textDecoration","pattern","replace","render","_this6","_this$calculate","keys","hideOnlyControl","item","Grid","xs","lg","md","sm","assign","marginBottom","textAlign","darkStyle","newLine","Fragment","flexBasis","height","validatorNoSaveOnError","validatorErrorText","renderedItem","commandRunning","tooltip","width","button","container","flex","Button","variant","onClick","buttonTooltip","buttonTooltipNoTranslation","split","part","shift","Component","getPrototypeOf","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","stop","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","number","dateFormat","isFloatComma","_default","exports"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n Grid,\n Button,\n} from '@mui/material';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from './wrapper/i18n';\nimport Utils from './wrapper/Components/Utils';\nimport ConfirmDialog from './wrapper/Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = 'ra___different__';\n static NONE_VALUE = '';\n static NONE_LABEL = 'ra_none';\n static AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (props.schema) {\n if (props.custom) {\n this.defaultValue = props.schema.defaultFunc ? this.executeCustom(props.schema.defaultFunc, props.schema.default, props.data, props.instanceObj, props.arrayIndex, props.globalData) : props.schema.default;\n } else {\n this.defaultValue = props.schema.defaultFunc ? this.execute(props.schema.defaultFunc, props.schema.default, props.data, props.arrayIndex, props.globalData) : props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (value === undefined || (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n setTimeout(() => this.props.forceUpdate([this.props.attr], this.props.data), 100));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }, 100);\n }\n } else if (this.props.schema.defaultSendTo) {\n this.sendTo();\n }\n }\n\n sendTo() {\n if (this.props.alive) {\n this.defaultSendToDone = true;\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n } else {\n data = {\n attr: this.props.attr,\n value: ConfigGeneric.getValue(this.props.data, this.props.attr),\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.defaultSendTo, data)\n .then(value => {\n if (value !== null && value !== undefined) {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, value, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, value);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }\n });\n } else {\n this.defaultSendToDone = false;\n // show error, that instance does not started\n this.onError(this.props.attr, I18n.t('ra_Instance %s is not alive', this.props.instance));\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr)\n if (this.sendToTimeout) {\n clearTimeout(this.sendToTimeout);\n this.sendToTimeout = null;\n }\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n }\n\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\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 if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState({\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n }, () =>\n this.props.onChange(data));\n } else {\n this.setState({\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n });\n }\n })\n }\n />;\n }\n\n onChange(attr, newValue, cb) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (this.execute(dep.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n let _newValue;\n if (this.props.custom) {\n _newValue = this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);\n } else {\n _newValue = this.execute(dep.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n }\n\n if (_newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, _newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData)\n :\n this.execute(this.props.schema.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue, () => cb && cb());\n\n changed && changed.length && changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, ConfigGeneric.getValue(data, _attr)), i * 50));\n } else {\n this.props.onChange(data, undefined, () => {\n changed.length && this.props.forceUpdate(changed, data);\n cb && cb();\n });\n }\n }\n }\n\n execute(func, defaultValue, data, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance, arrayIndex, globalData);\n // console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket, arrayIndex, globalData);\n console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator ? !this.executeCustom(schema.validator, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.executeCustom(schema.disabled, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.executeCustom(schema.hidden, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.executeCustom(schema.defaultFunc, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : schema.default;\n } else {\n error = schema.validator ? !this.execute(schema.validator, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.execute(schema.disabled, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.execute(schema.hidden, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.execute(schema.defaultFunc, schema.default, this.props.data, this.props.arrayIndex, this.props.globalData) : schema.default;\n }\n\n return { error, disabled, hidden, defaultValue };\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text)\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (text && (text.includes('<a ') || text.includes('<br') || text.includes('<b>') || text.includes('<i>'))) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{ color: this.props.themeType === 'dark' ? '#a147ff' : '#5b238f', textDecoration: 'underline' }}\n >{this.getText(text, noTranslation)}</a>;\n }\n }\n\n getPattern(pattern, data) {\n data = data || this.props.data;\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n if (pattern.func) {\n pattern = pattern.func;\n } else {\n console.log(`Object must be stringified: ${JSON.stringify(pattern)}`);\n pattern = JSON.stringify(pattern);\n }\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket, this.props.arrayIndex, this.props.globalData);\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n if (this.props.alive && this.defaultSendToDone === false) {\n this.sendToTimeout = setTimeout(() => {this.sendToTimeout = null; this.sendTo();}, 200);\n }\n\n const { error, disabled, hidden, defaultValue } = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n\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.themeType === '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 // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {[this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true};\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100, JSON.parse(JSON.stringify(this.isError)));\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n }\n\n const renderedItem = this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue);\n\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({}, {\n marginBottom: 0,\n // marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n {this.props.schema.defaultSendTo && this.props.schema.button ? <Grid container style={{ width: '100%' }}>\n <Grid item flex={1}>{renderedItem}</Grid>\n <Grid item><Button\n variant=\"outlined\"\n onClick={() => this.sendTo()}\n title={this.props.schema.buttonTooltip ? this.getText(this.props.schema.buttonTooltip, this.props.schema.buttonTooltipNoTranslation) : I18n.t('ra_Request data by instance')}\n >{this.getText(this.props.schema.button)}</Button></Grid>\n </Grid>\n :\n renderedItem}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigGeneric.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_material","_Info","_Warning","_Error","_i18n","_Utils","_Confirm","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","ConfigGeneric","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","arrayIndex","globalData","execute","lang","I18n","getLanguage","_createClass2","componentDidMount","_this2","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","defaultSendTo","sendTo","_this3","alive","defaultSendToDone","jsonData","getPattern","JSON","parse","console","error","socket","concat","adapterName","instance","then","onError","t","componentWillUnmount","sendToTimeout","clearTimeout","getText","text","noTranslation","_typeof2","func","en","renderConfirmDialog","_this4","confirm","icon","createElement","title","ok","cancel","onClose","isOk","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","cb","_this5","condition","Promise","resolve","confirmDependsOn","_loop","dep","z","val","v","length","_ret","changed","onChangeDependsOn","_newValue","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","originalData","systemConfig","common","calculate","disabled","validator","renderItem","label","renderHelp","link","Utils","renderTextWithA","href","target","rel","style","color","themeType","textDecoration","pattern","log","replace","render","_this6","_this$calculate","keys","hideOnlyControl","item","Grid","xs","lg","md","sm","assign","marginBottom","textAlign","darkStyle","newLine","Fragment","flexBasis","height","validatorNoSaveOnError","validatorErrorText","renderedItem","commandRunning","noPlaceRequired","tooltip","width","button","container","flex","Button","variant","onClick","buttonTooltip","buttonTooltipNoTranslation","split","part","shift","Component","getPrototypeOf","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","stop","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","number","dateFormat","isFloatComma","_default","exports"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Grid, Button } from '@mui/material';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from './wrapper/i18n';\nimport Utils from './wrapper/Components/Utils';\nimport ConfirmDialog from './wrapper/Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = 'ra___different__';\n static NONE_VALUE = '';\n static NONE_LABEL = 'ra_none';\n static AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (props.schema) {\n if (props.custom) {\n this.defaultValue = props.schema.defaultFunc\n ? this.executeCustom(\n props.schema.defaultFunc,\n props.schema.default,\n props.data,\n props.instanceObj,\n props.arrayIndex,\n props.globalData,\n )\n : props.schema.default;\n } else {\n this.defaultValue = props.schema.defaultFunc\n ? this.execute(\n props.schema.defaultFunc,\n props.schema.default,\n props.data,\n props.arrayIndex,\n props.globalData,\n )\n : props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (\n value === undefined ||\n (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))\n ) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n setTimeout(() => this.props.forceUpdate([this.props.attr], this.props.data), 100)\n );\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data)\n );\n }\n }, 100);\n }\n } else if (this.props.schema.defaultSendTo) {\n this.sendTo();\n }\n }\n\n sendTo() {\n if (this.props.alive) {\n this.defaultSendToDone = true;\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n } else {\n data = {\n attr: this.props.attr,\n value: ConfigGeneric.getValue(this.props.data, this.props.attr),\n };\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket\n .sendTo(`${this.props.adapterName}.${this.props.instance}`, this.props.schema.defaultSendTo, data)\n .then(value => {\n if (value !== null && value !== undefined) {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, value, () =>\n this.props.forceUpdate([this.props.attr], this.props.data)\n );\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, value);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data)\n );\n }\n }\n });\n } else {\n this.defaultSendToDone = false;\n // show error, that instance does not started\n this.onError(this.props.attr, I18n.t('ra_Instance %s is not alive', this.props.instance));\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr);\n if (this.sendToTimeout) {\n clearTimeout(this.sendToTimeout);\n this.sendToTimeout = null;\n }\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n };\n\n /**\n * Extract attribute out of data\n *\n * @param {Record<string, any>} data\n * @param {string|string[]} attr\n * @return {*|null}\n */\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\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 (\n <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 if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState(\n {\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n },\n () => this.props.onChange(data)\n );\n } else {\n this.setState({\n confirmDialog: false,\n confirmDepAttr: null,\n confirmDepNewValue: null,\n confirmNewValue: null,\n confirmAttr: null,\n confirmOldValue: null,\n confirmData: null,\n });\n }\n })\n }\n />\n );\n }\n\n /**\n * Trigger onChange, to activate save button on change\n *\n * @param attr the changed attribute\n * @param newValue new value of the attribute\n * @param {(() => void)?} cb optional callback function, else returns a Promise\n * @return {Promise<void>}\n */\n onChange(attr, newValue, cb) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (\n this.props.schema.confirm &&\n this.execute(this.props.schema.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)\n ) {\n return new Promise(resolve => {\n this.setState(\n {\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n },\n () => {\n if (typeof cb === 'function') {\n cb();\n } else {\n resolve();\n }\n }\n );\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (\n this.execute(\n dep.confirm.condition,\n false,\n data,\n this.props.arrayIndex,\n this.props.globalData\n )\n ) {\n return new Promise(resolve => {\n this.setState(\n {\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n },\n () => {\n if (typeof cb === 'function') {\n cb();\n } else {\n resolve();\n }\n }\n );\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n let _newValue;\n if (this.props.custom) {\n _newValue = this.executeCustom(\n dep.onChange.calculateFunc,\n data,\n this.props.customObj,\n this.props.instanceObj,\n this.props.arrayIndex,\n this.props.globalData\n );\n } else {\n _newValue = this.execute(\n dep.onChange.calculateFunc,\n val,\n data,\n this.props.arrayIndex,\n this.props.globalData\n );\n }\n\n if (_newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, _newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom\n ? this.executeCustom(\n this.props.schema.onChange.calculateFunc,\n data,\n this.props.customObj,\n this.props.instanceObj,\n this.props.arrayIndex,\n this.props.globalData\n )\n : this.execute(\n this.props.schema.onChange.calculateFunc,\n val,\n data,\n this.props.arrayIndex,\n this.props.globalData\n );\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue, () => cb && cb());\n\n changed &&\n changed.length &&\n changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, ConfigGeneric.getValue(data, _attr)), i * 50)\n );\n } else {\n this.props.onChange(data, undefined, () => {\n changed.length && this.props.forceUpdate(changed, data);\n cb && cb();\n });\n }\n }\n }\n\n execute(func, defaultValue, data, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function(\n 'data',\n 'originalData',\n '_system',\n '_alive',\n '_common',\n '_socket',\n '_instance',\n 'arrayIndex',\n 'globalData',\n func.includes('return') ? func : 'return ' + func\n );\n const result = f(\n data || this.props.data,\n this.props.originalData,\n this.props.systemConfig,\n this.props.alive,\n this.props.common,\n this.props.socket,\n this.props.instance,\n arrayIndex,\n globalData\n );\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function(\n 'data',\n 'originalData',\n '_system',\n 'instanceObj',\n 'customObj',\n '_socket',\n 'arrayIndex',\n 'globalData',\n func.includes('return') ? func : 'return ' + func\n );\n const result = f(\n data || this.props.data,\n this.props.originalData,\n this.props.systemConfig,\n instanceObj,\n customObj,\n this.props.socket,\n arrayIndex,\n globalData\n );\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator\n ? !this.executeCustom(\n schema.validator,\n this.props.data,\n this.props.customObj,\n this.props.instanceObj,\n this.props.arrayIndex,\n this.props.globalData\n )\n : false;\n disabled = schema.disabled\n ? this.executeCustom(\n schema.disabled,\n this.props.data,\n this.props.customObj,\n this.props.instanceObj,\n this.props.arrayIndex,\n this.props.globalData\n )\n : false;\n hidden = schema.hidden\n ? this.executeCustom(\n schema.hidden,\n this.props.data,\n this.props.customObj,\n this.props.instanceObj,\n this.props.arrayIndex,\n this.props.globalData\n )\n : false;\n defaultValue = schema.defaultFunc\n ? this.executeCustom(\n schema.defaultFunc,\n this.props.data,\n this.props.customObj,\n this.props.instanceObj,\n this.props.arrayIndex,\n this.props.globalData\n )\n : schema.default;\n } else {\n error = schema.validator\n ? !this.execute(schema.validator, false, this.props.data, this.props.arrayIndex, this.props.globalData)\n : false;\n disabled = schema.disabled\n ? this.execute(schema.disabled, false, this.props.data, this.props.arrayIndex, this.props.globalData)\n : false;\n hidden = schema.hidden\n ? this.execute(schema.hidden, false, this.props.data, this.props.arrayIndex, this.props.globalData)\n : false;\n defaultValue = schema.defaultFunc\n ? this.execute(\n schema.defaultFunc,\n schema.default,\n this.props.data,\n this.props.arrayIndex,\n this.props.globalData\n )\n : schema.default;\n }\n\n return { error, disabled, hidden, defaultValue };\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text);\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (\n text &&\n (text.includes('<a ') || text.includes('<br') || text.includes('<b>') || text.includes('<i>'))\n ) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return (\n <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n color: this.props.themeType === 'dark' ? '#a147ff' : '#5b238f',\n textDecoration: 'underline',\n }}\n >\n {this.getText(text, noTranslation)}\n </a>\n );\n }\n }\n\n getPattern(pattern, data) {\n data = data || this.props.data;\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n if (pattern.func) {\n pattern = pattern.func;\n } else {\n console.log(`Object must be stringified: ${JSON.stringify(pattern)}`);\n pattern = JSON.stringify(pattern);\n }\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function(\n 'data',\n 'originalData',\n 'arrayIndex',\n 'globalData',\n '_system',\n 'instanceObj',\n 'customObj',\n '_socket',\n 'return `' + pattern.replace(/`/g, '\\\\`') + '`'\n );\n return f(\n data,\n this.props.originalData,\n this.props.arrayIndex,\n this.props.globalData,\n this.props.systemConfig,\n this.props.instanceObj,\n this.props.customObj,\n this.props.socket,\n this.props.arrayIndex,\n this.props.globalData\n );\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function(\n 'data',\n 'originalData',\n 'arrayIndex',\n 'globalData',\n '_system',\n '_alive',\n '_common',\n '_socket',\n 'return `' + pattern.replace(/`/g, '\\\\`') + '`'\n );\n return f(\n data,\n this.props.originalData,\n this.props.arrayIndex,\n this.props.globalData,\n this.props.systemConfig,\n this.props.alive,\n this.props.common,\n this.props.socket\n );\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n if (this.props.alive && this.defaultSendToDone === false) {\n this.sendToTimeout = setTimeout(() => {\n this.sendToTimeout = null;\n this.sendTo();\n }, 200);\n }\n\n const { error, disabled, hidden, defaultValue } = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(\n isError => Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100,\n JSON.parse(JSON.stringify(this.isError))\n );\n this.isError = {};\n }\n\n if (schema.hideOnlyControl) {\n const item = (\n <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.themeType === 'dark' ? schema.darkStyle : {}\n )}\n />\n );\n\n if (schema.newLine) {\n return (\n <>\n <div style={{ flexBasis: '100%', height: 0 }} />\n {item}\n </>\n );\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else {\n // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {\n [this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true,\n };\n setTimeout(\n isError => Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100,\n JSON.parse(JSON.stringify(this.isError))\n );\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(\n isError => Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100,\n JSON.parse(JSON.stringify(this.isError))\n );\n this.isError = {};\n }\n }\n\n const renderedItem = this.renderItem(\n error,\n disabled || this.props.commandRunning || this.props.disabled,\n defaultValue,\n );\n\n if (this.noPlaceRequired) {\n return renderedItem;\n }\n\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(\n {},\n {\n marginBottom: 0,\n // marginRight: 8,\n textAlign: 'left',\n width:\n schema.type === 'divider' || schema.type === 'header'\n ? schema.width || '100%'\n : undefined,\n },\n schema.style,\n this.props.themeType === 'dark' ? schema.darkStyle : {}\n )}\n >\n {this.props.schema.defaultSendTo && this.props.schema.button ?\n <Grid container style={{ width: '100%' }}>\n <Grid item flex={1}>\n {renderedItem}\n </Grid>\n <Grid item>\n <Button\n variant=\"outlined\"\n onClick={() => this.sendTo()}\n title={\n this.props.schema.buttonTooltip\n ? this.getText(\n this.props.schema.buttonTooltip,\n this.props.schema.buttonTooltipNoTranslation\n )\n : I18n.t('ra_Request data by instance')\n }\n >\n {this.getText(this.props.schema.button)}\n </Button>\n </Grid>\n </Grid> : renderedItem}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{ flexBasis: '100%', height: 0 }} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigIP.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_material","_i18n","_ConfigGeneric2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","fullWidth","width","ConfigIP","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_this","_get2","props","socket","getHostByIp","common","host","then","ips","schema","listenOnAllPorts","filter","item","address","onlyIp4","family","onlyIp6","forEach","name","concat","I18n","t","setState","renderItem","error","disabled","defaultValue","_this$state$ips","_this2","_this$state$ips2","ConfigGeneric","getValue","data","attr","state","find","createElement","FormControl","className","classes","variant","label","InputLabel","getText","TextField","onChange","target","Select","renderValue","val","map","i","MenuItem","help","FormHelperText","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigIP.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport {\n InputLabel,\n TextField,\n FormHelperText,\n MenuItem,\n FormControl,\n Select,\n} from '@mui/material';\n\nimport I18n from './wrapper/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%',\n },\n});\n\nclass ConfigIP extends ConfigGeneric {\n\n componentDidMount() {\n super.componentDidMount();\n this.props.socket.getHostByIp(this.props.common.host)\n .then(ips => {\n // [{name, address, family}]\n if (!this.props.schema.listenOnAllPorts) {\n ips = ips.filter(item => item.address !== '0.0.0.0' && item.address !== '::');\n }\n if (this.props.schema.onlyIp4) {\n ips = ips.filter(item => item.family === 'ipv4');\n } else\n if (this.props.schema.onlyIp6) {\n ips = ips.filter(item => item.family === 'ipv6');\n }\n ips.forEach(item => {\n if (item.address === '0.0.0.0') {\n item.name = `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`;\n } else\n if (item.address === '::') {\n item.name = `[IPv6] :: - ${I18n.t('ra_Listen on all IPs')}`;\n }\n });\n this.setState({ ips });\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n const item = this.state.ips?.find(item => item.address === value);\n\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\n {this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null}\n {!this.state.ips ?\n <TextField\n fullWidth\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n /> :\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n renderValue={val => item?.name || val}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n >\n {this.state.ips?.map((item, i) =>\n <MenuItem key={i} value={item.address}>{item.name}</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\nConfigIP.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)(ConfigIP);"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AASA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,eAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA4C,SAAAM,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAE5C,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAA;EAAA,OAAU;IAClBC,SAAS,EAAE;MACPC,KAAK,EAAE;IACX;EACJ,CAAC;AAAA,CAAC;AAAC,IAEGC,QAAQ,0BAAAC,cAAA;EAAA,IAAAC,UAAA,aAAAF,QAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAA5B,YAAA,CAAAyB,QAAA;EAAA,SAAAA,SAAA;IAAA,IAAAI,gBAAA,mBAAAJ,QAAA;IAAA,OAAAG,MAAA,CAAAf,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAkB,aAAA,aAAAL,QAAA;IAAAM,GAAA;IAAAC,KAAA,EAEV,SAAAC,kBAAA,EAAoB;MAAA,IAAAC,KAAA;MAChB,IAAAC,KAAA,iBAAA7B,gBAAA,aAAAmB,QAAA,CAAAP,SAAA,8BAAAE,IAAA;MACA,IAAI,CAACgB,KAAK,CAACC,MAAM,CAACC,WAAW,CAAC,IAAI,CAACF,KAAK,CAACG,MAAM,CAACC,IAAI,CAAC,CAChDC,IAAI,CAAC,UAAAC,GAAG,EAAI;QACT;QACA,IAAI,CAACR,KAAI,CAACE,KAAK,CAACO,MAAM,CAACC,gBAAgB,EAAE;UACrCF,GAAG,GAAGA,GAAG,CAACG,MAAM,CAAC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACC,OAAO,KAAK,SAAS,IAAID,IAAI,CAACC,OAAO,KAAK,IAAI;UAAA,EAAC;QACjF;QACA,IAAIb,KAAI,CAACE,KAAK,CAACO,MAAM,CAACK,OAAO,EAAE;UAC3BN,GAAG,GAAGA,GAAG,CAACG,MAAM,CAAC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACG,MAAM,KAAK,MAAM;UAAA,EAAC;QACpD,CAAC,MACD,IAAIf,KAAI,CAACE,KAAK,CAACO,MAAM,CAACO,OAAO,EAAE;UAC3BR,GAAG,GAAGA,GAAG,CAACG,MAAM,CAAC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACG,MAAM,KAAK,MAAM;UAAA,EAAC;QACpD;QACAP,GAAG,CAACS,OAAO,CAAC,UAAAL,IAAI,EAAI;UAChB,IAAIA,IAAI,CAACC,OAAO,KAAK,SAAS,EAAE;YAC5BD,IAAI,CAACM,IAAI,uBAAAC,MAAA,CAAuBC,gBAAI,CAACC,CAAC,CAAC,sBAAsB,CAAC,CAAE;UACpE,CAAC,MACD,IAAIT,IAAI,CAACC,OAAO,KAAK,IAAI,EAAE;YACvBD,IAAI,CAACM,IAAI,kBAAAC,MAAA,CAAkBC,gBAAI,CAACC,CAAC,CAAC,sBAAsB,CAAC,CAAE;UAC/D;QACJ,CAAC,CAAC;QACFrB,KAAI,CAACsB,QAAQ,CAAC;UAAEd,GAAG,EAAHA;QAAI,CAAC,CAAC;MAC1B,CAAC,CAAC;IACV;EAAC;IAAAX,GAAA;IAAAC,KAAA,EAED,SAAAyB,WAAWC,KAAK,EAAEC,QAAQ,EAAEC,YAAY,EAAE;MAAA,IAAAC,eAAA;QAAAC,MAAA;QAAAC,gBAAA;MACtC,IAAM/B,KAAK,GAAGgC,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAAC7B,KAAK,CAAC8B,IAAI,EAAE,IAAI,CAAC9B,KAAK,CAAC+B,IAAI,CAAC;MACtE,IAAMrB,IAAI,IAAAe,eAAA,GAAG,IAAI,CAACO,KAAK,CAAC1B,GAAG,cAAAmB,eAAA,uBAAdA,eAAA,CAAgBQ,IAAI,CAAC,UAAAvB,IAAI;QAAA,OAAIA,IAAI,CAACC,OAAO,KAAKf,KAAK;MAAA,EAAC;MAEjE,oBAAOxC,MAAA,YAAA8E,aAAA,CAACzE,SAAA,CAAA0E,WAAW;QAACC,SAAS,EAAE,IAAI,CAACpC,KAAK,CAACqC,OAAO,CAAClD,SAAU;QAACmD,OAAO,EAAC;MAAU,GAC1E,IAAI,CAACtC,KAAK,CAACO,MAAM,CAACgC,KAAK,gBAAGnF,MAAA,YAAA8E,aAAA,CAACzE,SAAA,CAAA+E,UAAU,QAAE,IAAI,CAACC,OAAO,CAAC,IAAI,CAACzC,KAAK,CAACO,MAAM,CAACgC,KAAK,CAAc,CAAC,GAAG,IAAI,EACjG,CAAC,IAAI,CAACP,KAAK,CAAC1B,GAAG,gBACZlD,MAAA,YAAA8E,aAAA,CAACzE,SAAA,CAAAiF,SAAS;QACNvD,SAAS;QACTmD,OAAO,EAAC,UAAU;QAClBhB,KAAK,EAAE,CAAC,CAACA,KAAM;QACfC,QAAQ,EAAE,CAAC,CAACA,QAAS;QACrB3B,KAAK,EAAEA,KAAM;QACb+C,QAAQ,EAAE,SAAAA,SAAA1D,CAAC;UAAA,OAAIyC,MAAI,CAACiB,QAAQ,CAACjB,MAAI,CAAC1B,KAAK,CAAC+B,IAAI,EAAE9C,CAAC,CAAC2D,MAAM,CAAChD,KAAK,CAAC;QAAA;MAAC,CACjE,CAAC,gBACFxC,MAAA,YAAA8E,aAAA,CAACzE,SAAA,CAAAoF,MAAM;QACHP,OAAO,EAAC,UAAU;QAClBhB,KAAK,EAAE,CAAC,CAACA,KAAM;QACfC,QAAQ,EAAE,CAAC,CAACA,QAAS;QACrB3B,KAAK,EAAEA,KAAM;QACbkD,WAAW,EAAE,SAAAA,YAAAC,GAAG;UAAA,OAAI,CAAArC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,IAAI,KAAI+B,GAAG;QAAA,CAAC;QACtCJ,QAAQ,EAAE,SAAAA,SAAA1D,CAAC;UAAA,OAAIyC,MAAI,CAACiB,QAAQ,CAACjB,MAAI,CAAC1B,KAAK,CAAC+B,IAAI,EAAE9C,CAAC,CAAC2D,MAAM,CAAChD,KAAK,CAAC;QAAA;MAAC,IAAA+B,gBAAA,GAE7D,IAAI,CAACK,KAAK,CAAC1B,GAAG,cAAAqB,gBAAA,uBAAdA,gBAAA,CAAgBqB,GAAG,CAAC,UAACtC,IAAI,EAAEuC,CAAC;QAAA,oBACzB7F,MAAA,YAAA8E,aAAA,CAACzE,SAAA,CAAAyF,QAAQ;UAACvD,GAAG,EAAEsD,CAAE;UAACrD,KAAK,EAAEc,IAAI,CAACC;QAAQ,GAAED,IAAI,CAACM,IAAe,CAAC;MAAA,EAC7D,CAAC,EACZ,IAAI,CAAChB,KAAK,CAACO,MAAM,CAAC4C,IAAI,gBAAG/F,MAAA,YAAA8E,aAAA,CAACzE,SAAA,CAAA2F,cAAc,QAAE,IAAI,CAACC,UAAU,CAAC,IAAI,CAACrD,KAAK,CAACO,MAAM,CAAC4C,IAAI,EAAE,IAAI,CAACnD,KAAK,CAACO,MAAM,CAAC+C,QAAQ,EAAE,IAAI,CAACtD,KAAK,CAACO,MAAM,CAACgD,aAAa,CAAkB,CAAC,GAAG,IAC3J,CAAC;IAClB;EAAC;EAAA,OAAAlE,QAAA;AAAA,EAxDkBuC,0BAAa;AA2DpCvC,QAAQ,CAACmE,SAAS,GAAG;EACjBvD,MAAM,EAAEwD,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnCC,SAAS,EAAEH,qBAAS,CAACI,MAAM;EAC3BC,SAAS,EAAEL,qBAAS,CAACI,MAAM;EAC3BE,KAAK,EAAEN,qBAAS,CAACC,MAAM;EACvBtB,SAAS,EAAEqB,qBAAS,CAACI,MAAM;EAC3B/B,IAAI,EAAE2B,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjCpD,MAAM,EAAEkD,qBAAS,CAACC,MAAM;EACxBM,OAAO,EAAEP,qBAAS,CAACQ,IAAI;EACvBtB,QAAQ,EAAEc,qBAAS,CAACQ;AACxB,CAAC;AAAC,IAAAC,QAAA,GAEa,IAAAC,kBAAU,EAACjF,MAAM,CAAC,CAACG,QAAQ,CAAC;AAAA+E,OAAA,cAAAF,QAAA"}
1
+ {"version":3,"file":"ConfigIP.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_material","_i18n","_ConfigGeneric2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","fullWidth","width","ConfigIP","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_this","_get2","props","socket","getHostByIp","common","host","then","ips","schema","listenOnAllPorts","filter","item","address","onlyIp4","family","onlyIp6","forEach","name","concat","I18n","t","setState","renderItem","error","disabled","defaultValue","_this$state$ips","_this2","_this$state$ips2","ConfigGeneric","getValue","data","attr","state","find","createElement","FormControl","className","classes","variant","label","InputLabel","getText","TextField","onChange","target","Select","renderValue","val","map","i","MenuItem","help","FormHelperText","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigIP.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport {\n InputLabel,\n TextField,\n FormHelperText,\n MenuItem,\n FormControl,\n Select,\n} from '@mui/material';\n\nimport I18n from './wrapper/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%',\n },\n});\n\nclass ConfigIP extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n this.props.socket.getHostByIp(this.props.common.host)\n .then(ips => {\n // [{name, address, family}]\n if (!this.props.schema.listenOnAllPorts) {\n ips = ips.filter(item => item.address !== '0.0.0.0' && item.address !== '::');\n }\n if (this.props.schema.onlyIp4) {\n ips = ips.filter(item => item.family === 'ipv4');\n } else\n if (this.props.schema.onlyIp6) {\n ips = ips.filter(item => item.family === 'ipv6');\n }\n ips.forEach(item => {\n if (item.address === '0.0.0.0') {\n item.name = `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`;\n } else\n if (item.address === '::') {\n item.name = `[IPv6] :: - ${I18n.t('ra_Listen on all IPs')}`;\n }\n });\n this.setState({ ips });\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n const item = this.state.ips?.find(item => item.address === value);\n\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\n {this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null}\n {!this.state.ips ?\n <TextField\n fullWidth\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n /> :\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n renderValue={val => item?.name || val}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n >\n {this.state.ips?.map((item, i) =>\n <MenuItem key={i} value={item.address}>{item.name}</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\nConfigIP.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)(ConfigIP);"],"mappings":"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"}