@iobroker/adapter-react-v5 4.3.2 → 4.4.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.
- package/Components/JsonConfigComponent/ChipInput.d.ts +3 -4
- package/Components/JsonConfigComponent/ChipInput.js +57 -67
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAccordion.js +14 -17
- package/Components/JsonConfigComponent/ConfigAccordion.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js +4 -4
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js +5 -5
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +61 -64
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js +8 -8
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertCollection.js +1 -1
- package/Components/JsonConfigComponent/ConfigCertCollection.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js +18 -22
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificates.js +20 -23
- package/Components/JsonConfigComponent/ConfigCertificates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckLicense.js +224 -126
- package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js +7 -10
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigChip.js +7 -8
- package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigColor.d.ts +20 -13
- package/Components/JsonConfigComponent/ConfigColor.js +12 -16
- package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.js +13 -17
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +48 -45
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigDatePicker.js +2 -2
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js +39 -36
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js +96 -94
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js +10 -10
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.d.ts +2 -2
- package/Components/JsonConfigComponent/ConfigGeneric.js +240 -243
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js +6 -6
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageSendTo.js +2 -1
- package/Components/JsonConfigComponent/ConfigImageSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js +5 -5
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +14 -14
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +3 -3
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +7 -7
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLicense.d.ts +1 -1
- package/Components/JsonConfigComponent/ConfigLicense.js +2 -1
- package/Components/JsonConfigComponent/ConfigLicense.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js +55 -56
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js +7 -7
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js +72 -69
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPassword.js +8 -5
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPort.js +6 -7
- package/Components/JsonConfigComponent/ConfigPort.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js +10 -10
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js +12 -12
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +95 -106
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +26 -19
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js +13 -31
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSlider.js +2 -3
- package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticImage.js +5 -3
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js +12 -13
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +24 -25
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTabs.js +3 -3
- package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js +61 -64
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js +5 -5
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTimePicker.js +3 -3
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTopic.js +3 -3
- package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUUID.js +3 -1
- package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/JsonConfigComponent/index.d.ts +0 -2
- package/Components/JsonConfigComponent/index.js +39 -45
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/README.md +4 -1
- package/i18n/de.json +7 -1
- package/i18n/en.json +7 -1
- package/i18n/es.json +7 -1
- package/i18n/fr.json +7 -1
- package/i18n/it.json +7 -1
- package/i18n/nl.json +7 -1
- package/i18n/pl.json +7 -1
- package/i18n/pt.json +7 -1
- package/i18n/ru.json +7 -1
- package/i18n/uk.json +7 -1
- package/i18n/zh-cn.json +7 -1
- package/package.json +4 -4
|
@@ -29,7 +29,7 @@ var _i18n = _interopRequireDefault(require("./wrapper/i18n"));
|
|
|
29
29
|
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
30
30
|
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); }; }
|
|
31
31
|
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; } }
|
|
32
|
-
var styles = function styles(
|
|
32
|
+
var styles = function styles() {
|
|
33
33
|
return {
|
|
34
34
|
fullWidth: {
|
|
35
35
|
width: '100%'
|
|
@@ -100,7 +100,7 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
100
100
|
try {
|
|
101
101
|
data = JSON.parse(data);
|
|
102
102
|
} catch (e) {
|
|
103
|
-
console.error(
|
|
103
|
+
console.error("Cannot parse json data: ".concat(data));
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
if (data === undefined) {
|
|
@@ -146,7 +146,7 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
146
146
|
}
|
|
147
147
|
}, {
|
|
148
148
|
key: "renderItem",
|
|
149
|
-
value: function renderItem(error, disabled, defaultValue) {
|
|
149
|
+
value: function renderItem(error, disabled /* , defaultValue */) {
|
|
150
150
|
var _this3 = this;
|
|
151
151
|
if (this.props.alive) {
|
|
152
152
|
var context = this.getContext();
|
|
@@ -160,117 +160,106 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
160
160
|
if (!this.props.alive) {
|
|
161
161
|
if (this.props.schema.multiple || this.props.schema.manual === false) {
|
|
162
162
|
return _i18n["default"].t('ra_Cannot retrieve options, as instance is offline');
|
|
163
|
-
} else {
|
|
164
|
-
return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
165
|
-
variant: "standard",
|
|
166
|
-
fullWidth: true,
|
|
167
|
-
value: value,
|
|
168
|
-
error: !!error,
|
|
169
|
-
disabled: !!disabled,
|
|
170
|
-
onChange: function onChange(e) {
|
|
171
|
-
var value = e.target.value;
|
|
172
|
-
_this3.setState({
|
|
173
|
-
value: value
|
|
174
|
-
}, function () {
|
|
175
|
-
return _this3.onChange(_this3.props.attr, (value || '').trim());
|
|
176
|
-
});
|
|
177
|
-
},
|
|
178
|
-
placeholder: this.getText(this.props.schema.placeholder),
|
|
179
|
-
label: this.getText(this.props.schema.label),
|
|
180
|
-
helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
|
|
181
|
-
});
|
|
182
163
|
}
|
|
183
|
-
|
|
184
|
-
return /*#__PURE__*/_react["default"].createElement(_CircularProgress["default"], {
|
|
185
|
-
size: "small"
|
|
186
|
-
});
|
|
187
|
-
} else {
|
|
188
|
-
var selectOptions = this.state.list.filter(function (item) {
|
|
189
|
-
if (!item.hidden) {
|
|
190
|
-
return true;
|
|
191
|
-
} else if (_this3.props.custom) {
|
|
192
|
-
return !_this3.executeCustom(item.hidden, _this3.props.schema["default"], _this3.props.data, _this3.props.instanceObj, _this3.props.arrayIndex, _this3.props.globalData);
|
|
193
|
-
} else {
|
|
194
|
-
return !_this3.execute(item.hidden, _this3.props.schema["default"], _this3.props.data, _this3.props.arrayIndex, _this3.props.globalData);
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
var item = selectOptions.find(function (item) {
|
|
198
|
-
return item.value === value;
|
|
199
|
-
});
|
|
200
|
-
return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
|
|
201
|
-
variant: "standard",
|
|
202
|
-
className: this.props.classes.fullWidth
|
|
203
|
-
}, this.props.schema.label ? /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], null, this.getText(this.props.schema.label)) : null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
164
|
+
return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
204
165
|
variant: "standard",
|
|
166
|
+
fullWidth: true,
|
|
167
|
+
value: value,
|
|
205
168
|
error: !!error,
|
|
206
|
-
multiple: this.props.schema.multiple,
|
|
207
169
|
disabled: !!disabled,
|
|
208
|
-
value: value,
|
|
209
|
-
MenuProps: this.props.schema.multiple ? {
|
|
210
|
-
classes: {
|
|
211
|
-
paper: this.props.classes.menuPaper
|
|
212
|
-
}
|
|
213
|
-
} : undefined,
|
|
214
|
-
renderValue: function renderValue(val) {
|
|
215
|
-
return _this3.props.schema.multiple ? /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
216
|
-
sx: {
|
|
217
|
-
display: 'flex',
|
|
218
|
-
flexWrap: 'wrap',
|
|
219
|
-
gap: 0.5
|
|
220
|
-
}
|
|
221
|
-
}, val.map(function (v) {
|
|
222
|
-
var item = selectOptions.find(function (_item) {
|
|
223
|
-
return _item.value === v;
|
|
224
|
-
});
|
|
225
|
-
if (item || _this3.props.schema.showAllValues !== false) {
|
|
226
|
-
var label = (item === null || item === void 0 ? void 0 : item.label) || v;
|
|
227
|
-
return /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
228
|
-
key: v,
|
|
229
|
-
label: label /* onDelete={e => {
|
|
230
|
-
e.stopPropagation();
|
|
231
|
-
e.preventDefault ();
|
|
232
|
-
let _value = JSON.parse(JSON.stringify(this._getValue()));
|
|
233
|
-
const pos = value.indexOf(v);
|
|
234
|
-
if (pos !== -1) {
|
|
235
|
-
_value.splice(pos, 1);
|
|
236
|
-
this.setState({ value: _value }, () => this.onChange(this.props.attr, _value));
|
|
237
|
-
}
|
|
238
|
-
}}*/
|
|
239
|
-
});
|
|
240
|
-
} else {
|
|
241
|
-
return null;
|
|
242
|
-
}
|
|
243
|
-
})) : (item === null || item === void 0 ? void 0 : item.label) || val;
|
|
244
|
-
},
|
|
245
170
|
onChange: function onChange(e) {
|
|
246
|
-
|
|
171
|
+
var value_ = e.target.value;
|
|
172
|
+
_this3.setState({
|
|
173
|
+
value: value_
|
|
174
|
+
}, function () {
|
|
175
|
+
return _this3.onChange(_this3.props.attr, (value_ || '').trim());
|
|
176
|
+
});
|
|
177
|
+
},
|
|
178
|
+
placeholder: this.getText(this.props.schema.placeholder),
|
|
179
|
+
label: this.getText(this.props.schema.label),
|
|
180
|
+
helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
if (!this.state.list) {
|
|
184
|
+
return /*#__PURE__*/_react["default"].createElement(_CircularProgress["default"], {
|
|
185
|
+
size: "small"
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
var selectOptions = this.state.list.filter(function (item) {
|
|
189
|
+
if (!item.hidden) {
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
if (_this3.props.custom) {
|
|
193
|
+
return !_this3.executeCustom(item.hidden, _this3.props.schema["default"], _this3.props.data, _this3.props.instanceObj, _this3.props.arrayIndex, _this3.props.globalData);
|
|
194
|
+
}
|
|
195
|
+
return !_this3.execute(item.hidden, _this3.props.schema["default"], _this3.props.data, _this3.props.arrayIndex, _this3.props.globalData);
|
|
196
|
+
});
|
|
197
|
+
var item = selectOptions.find(function (it) {
|
|
198
|
+
return it.value === value;
|
|
199
|
+
});
|
|
200
|
+
return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
|
|
201
|
+
variant: "standard",
|
|
202
|
+
className: this.props.classes.fullWidth
|
|
203
|
+
}, this.props.schema.label ? /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], null, this.getText(this.props.schema.label)) : null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
204
|
+
variant: "standard",
|
|
205
|
+
error: !!error,
|
|
206
|
+
multiple: this.props.schema.multiple,
|
|
207
|
+
disabled: !!disabled,
|
|
208
|
+
value: value,
|
|
209
|
+
MenuProps: this.props.schema.multiple ? {
|
|
210
|
+
classes: {
|
|
211
|
+
paper: this.props.classes.menuPaper
|
|
247
212
|
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}, function () {
|
|
266
|
-
return _this3.onChange(_this3.props.attr, _value);
|
|
213
|
+
} : undefined,
|
|
214
|
+
renderValue: function renderValue(val) {
|
|
215
|
+
return _this3.props.schema.multiple ? /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
216
|
+
sx: {
|
|
217
|
+
display: 'flex',
|
|
218
|
+
flexWrap: 'wrap',
|
|
219
|
+
gap: 0.5
|
|
220
|
+
}
|
|
221
|
+
}, val.map(function (v) {
|
|
222
|
+
var it = selectOptions.find(function (_item) {
|
|
223
|
+
return _item.value === v;
|
|
224
|
+
});
|
|
225
|
+
if (it || _this3.props.schema.showAllValues !== false) {
|
|
226
|
+
var label = (it === null || it === void 0 ? void 0 : it.label) || v;
|
|
227
|
+
return /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
228
|
+
key: v,
|
|
229
|
+
label: label
|
|
267
230
|
});
|
|
268
231
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
232
|
+
return null;
|
|
233
|
+
})) : (item === null || item === void 0 ? void 0 : item.label) || val;
|
|
234
|
+
},
|
|
235
|
+
onChange: function onChange(e) {
|
|
236
|
+
_this3.onChange(_this3.props.attr, e.target.value);
|
|
237
|
+
}
|
|
238
|
+
}, selectOptions.map(function (it, i) {
|
|
239
|
+
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
240
|
+
key: i,
|
|
241
|
+
value: it.value
|
|
242
|
+
}, _this3.props.schema.multiple ? /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
243
|
+
checked: value.includes(it.value),
|
|
244
|
+
onClick: function onClick() {
|
|
245
|
+
var _value = JSON.parse(JSON.stringify(_this3._getValue()));
|
|
246
|
+
var pos = value.indexOf(it.value);
|
|
247
|
+
if (pos !== -1) {
|
|
248
|
+
_value.splice(pos, 1);
|
|
249
|
+
} else {
|
|
250
|
+
_value.push(it.value);
|
|
251
|
+
_value.sort();
|
|
252
|
+
}
|
|
253
|
+
_this3.setState({
|
|
254
|
+
value: _value
|
|
255
|
+
}, function () {
|
|
256
|
+
return _this3.onChange(_this3.props.attr, _value);
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}) : null, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
|
|
260
|
+
primary: it.label
|
|
261
|
+
}));
|
|
262
|
+
})), 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);
|
|
274
263
|
}
|
|
275
264
|
}]);
|
|
276
265
|
return ConfigSelectSendTo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigSelectSendTo.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_MenuItem","_FormHelperText","_FormControl","_Select","_TextField","_CircularProgress","_ListItemText","_Checkbox","_Chip","_Box","_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","theme","fullWidth","width","menuPaper","maxHeight","ConfigSelectSendTo","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_get2","askInstance","_this","props","alive","data","schema","undefined","jsonData","getPattern","JSON","parse","console","error","socket","sendTo","concat","adapterName","instance","command","then","list","setState","context","getContext","ConfigGeneric","getValue","attr","_this2","Array","isArray","alsoDependsOn","forEach","stringify","_getValue","state","multiple","renderItem","disabled","defaultValue","_this3","setTimeout","manual","I18n","t","createElement","variant","onChange","target","trim","placeholder","getText","label","helperText","renderHelp","help","helpLink","noTranslation","size","selectOptions","filter","item","hidden","custom","executeCustom","instanceObj","arrayIndex","globalData","execute","find","className","classes","MenuProps","paper","renderValue","val","sx","display","flexWrap","gap","map","v","_item","showAllValues","i","checked","includes","onClick","_value","pos","indexOf","splice","push","sort","primary","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","bool","number","onError","func","_default","withStyles","exports"],"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 './wrapper/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);\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 { this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null }\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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"}
|
|
1
|
+
{"version":3,"file":"ConfigSelectSendTo.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_MenuItem","_FormHelperText","_FormControl","_Select","_TextField","_CircularProgress","_ListItemText","_Checkbox","_Chip","_Box","_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","menuPaper","maxHeight","ConfigSelectSendTo","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_get2","askInstance","_this","props","alive","data","schema","undefined","jsonData","getPattern","JSON","parse","console","error","concat","socket","sendTo","adapterName","instance","command","then","list","setState","context","getContext","ConfigGeneric","getValue","attr","_this2","Array","isArray","alsoDependsOn","forEach","stringify","_getValue","state","multiple","renderItem","disabled","_this3","setTimeout","manual","I18n","t","createElement","variant","onChange","value_","target","trim","placeholder","getText","label","helperText","renderHelp","help","helpLink","noTranslation","size","selectOptions","filter","item","hidden","custom","executeCustom","instanceObj","arrayIndex","globalData","execute","find","it","className","classes","MenuProps","paper","renderValue","val","sx","display","flexWrap","gap","map","v","_item","showAllValues","i","checked","includes","onClick","_value","pos","indexOf","splice","push","sort","primary","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","bool","number","onError","func","_default","withStyles","exports"],"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 './wrapper/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\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);\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 const 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 }\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: 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 } if (!this.state.list) {\n return <CircularProgress size=\"small\" />;\n }\n const selectOptions = this.state.list\n .filter(item => {\n if (!item.hidden) {\n return true;\n } 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 }\n return !this.execute(item.hidden, this.props.schema.default, this.props.data, this.props.arrayIndex, this.props.globalData);\n });\n\n const item = selectOptions.find(it => it.value === value);\n\n return <FormControl variant=\"standard\" className={this.props.classes.fullWidth}>\n { this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null }\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 it = selectOptions.find(_item => _item.value === v);\n if (it || this.props.schema.showAllValues !== false) {\n const label = it?.label || v;\n return <Chip\n key={v}\n label={label}\n />;\n }\n return null;\n })}\n </Box>\n :\n (item?.label || val))}\n onChange={e => {\n this.onChange(this.props.attr, e.target.value);\n }}\n >\n {selectOptions.map((it, i) =>\n <MenuItem key={i} value={it.value}>\n { this.props.schema.multiple ? <Checkbox\n checked={value.includes(it.value)}\n onClick={() => {\n const _value = JSON.parse(JSON.stringify(this._getValue()));\n const pos = value.indexOf(it.value);\n if (pos !== -1) {\n _value.splice(pos, 1);\n } else {\n _value.push(it.value);\n _value.sort();\n }\n this.setState({ value: _value }, () => this.onChange(this.props.attr, _value));\n }}\n /> : null }\n <ListItemText primary={it.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\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":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,eAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,UAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,iBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,aAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,SAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,KAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,IAAA,GAAAd,sBAAA,CAAAC,OAAA;AAEA,IAAAc,KAAA,GAAAf,sBAAA,CAAAC,OAAA;AAEA,IAAAe,eAAA,GAAAhB,sBAAA,CAAAC,OAAA;AAA4C,SAAAgB,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,CAAC;IACDC,SAAS,EAAE;MACPC,SAAS,EAAE;IACf;EACJ,CAAC;AAAA,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnCA,IAqCMC,kBAAkB,0BAAAC,cAAA;EAAA,IAAAC,UAAA,aAAAF,kBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAA9B,YAAA,CAAA2B,kBAAA;EAAA,SAAAA,mBAAA;IAAA,IAAAI,gBAAA,mBAAAJ,kBAAA;IAAA,OAAAG,MAAA,CAAAjB,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAoB,aAAA,aAAAL,kBAAA;IAAAM,GAAA;IAAAC,KAAA,EACpB,SAAAC,kBAAA,EAAoB;MAChB,IAAAC,KAAA,iBAAA9B,gBAAA,aAAAqB,kBAAA,CAAAT,SAAA,8BAAAE,IAAA;MAEA,IAAI,CAACiB,WAAW,CAAC,CAAC;IACtB;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAG,YAAA,EAAc;MAAA,IAAAC,KAAA;MACV,IAAI,IAAI,CAACC,KAAK,CAACC,KAAK,EAAE;QAClB,IAAIC,IAAI,GAAG,IAAI,CAACF,KAAK,CAACG,MAAM,CAACD,IAAI;QACjC,IAAIA,IAAI,KAAKE,SAAS,IAAI,IAAI,CAACJ,KAAK,CAACG,MAAM,CAACE,QAAQ,EAAE;UAClDH,IAAI,GAAG,IAAI,CAACI,UAAU,CAAC,IAAI,CAACN,KAAK,CAACG,MAAM,CAACE,QAAQ,CAAC;UAClD,IAAI;YACAH,IAAI,GAAGK,IAAI,CAACC,KAAK,CAACN,IAAI,CAAC;UAC3B,CAAC,CAAC,OAAOpB,CAAC,EAAE;YACR2B,OAAO,CAACC,KAAK,4BAAAC,MAAA,CAA4BT,IAAI,CAAE,CAAC;UACpD;QACJ;QAEA,IAAIA,IAAI,KAAKE,SAAS,EAAE;UACpBF,IAAI,GAAG,IAAI;QACf;QAEA,IAAI,CAACF,KAAK,CAACY,MAAM,CAACC,MAAM,IAAAF,MAAA,CAAI,IAAI,CAACX,KAAK,CAACc,WAAW,OAAAH,MAAA,CAAI,IAAI,CAACX,KAAK,CAACe,QAAQ,GAAI,IAAI,CAACf,KAAK,CAACG,MAAM,CAACa,OAAO,IAAI,MAAM,EAAEd,IAAI,CAAC,CAClHe,IAAI,CAAC,UAAAC,IAAI;UAAA,OACNnB,KAAI,CAACoB,QAAQ,CAAC;YAAED,IAAI,EAAJA,IAAI;YAAEE,OAAO,EAAErB,KAAI,CAACsB,UAAU,CAAC;UAAE,CAAC,CAAC;QAAA,EAAC;MAChE,CAAC,MAAM;QACH,IAAM1B,KAAK,GAAG2B,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAACvB,KAAK,CAACE,IAAI,EAAE,IAAI,CAACF,KAAK,CAACwB,IAAI,CAAC;QAEtE,IAAI,CAACL,QAAQ,CAAC;UAAExB,KAAK,EAALA;QAAM,CAAC,CAAC;MAC5B;IACJ;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA0B,WAAA,EAAa;MAAA,IAAAI,MAAA;MACT,IAAML,OAAO,GAAG,CAAC,CAAC;MAElB,IAAIM,KAAK,CAACC,OAAO,CAAC,IAAI,CAAC3B,KAAK,CAACG,MAAM,CAACyB,aAAa,CAAC,EAAE;QAChD,IAAI,CAAC5B,KAAK,CAACG,MAAM,CAACyB,aAAa,CAACC,OAAO,CAAC,UAAAL,IAAI;UAAA,OACxCJ,OAAO,CAACI,IAAI,CAAC,GAAGF,0BAAa,CAACC,QAAQ,CAACE,MAAI,CAACzB,KAAK,CAACE,IAAI,EAAEsB,IAAI,CAAC;QAAA,EAAC;MACtE;MAEA,OAAOjB,IAAI,CAACuB,SAAS,CAACV,OAAO,CAAC;IAClC;EAAC;IAAA1B,GAAA;IAAAC,KAAA,EAED,SAAAoC,UAAA,EAAY;MACR,IAAIpC,KAAK,GAAG,IAAI,CAACqC,KAAK,CAACrC,KAAK,KAAK,IAAI,IAAI,IAAI,CAACqC,KAAK,CAACrC,KAAK,KAAKS,SAAS,GAAGkB,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAACvB,KAAK,CAACE,IAAI,EAAE,IAAI,CAACF,KAAK,CAACwB,IAAI,CAAC,GAAG,IAAI,CAACQ,KAAK,CAACrC,KAAK;MAErJ,IAAI,IAAI,CAACK,KAAK,CAACG,MAAM,CAAC8B,QAAQ,EAAE;QAC5B,IAAI,OAAOtC,KAAK,KAAK,QAAQ,EAAE;UAC3BA,KAAK,GAAG,CAACA,KAAK,CAAC;QACnB,CAAC,MAAM,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKS,SAAS,EAAE;UAC9CT,KAAK,GAAG,EAAE;QACd;MACJ;MAEA,OAAOA,KAAK;IAChB;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAuC,WAAWxB,KAAK,EAAEyB,QAAQ,CAAC,sBAAsB;MAAA,IAAAC,MAAA;MAC7C,IAAI,IAAI,CAACpC,KAAK,CAACC,KAAK,EAAE;QAClB,IAAMmB,OAAO,GAAG,IAAI,CAACC,UAAU,CAAC,CAAC;QACjC,IAAID,OAAO,KAAK,IAAI,CAACY,KAAK,CAACZ,OAAO,EAAE;UAChCiB,UAAU,CAAC;YAAA,OAAMD,MAAI,CAACtC,WAAW,CAAC,CAAC;UAAA,GAAE,GAAG,CAAC;QAC7C;MACJ;MAEA,IAAMH,KAAK,GAAG,IAAI,CAACoC,SAAS,CAAC,CAAC;MAE9B,IAAI,CAAC,IAAI,CAAC/B,KAAK,CAACC,KAAK,EAAE;QACnB,IAAI,IAAI,CAACD,KAAK,CAACG,MAAM,CAAC8B,QAAQ,IAAI,IAAI,CAACjC,KAAK,CAACG,MAAM,CAACmC,MAAM,KAAK,KAAK,EAAE;UAClE,OAAOC,gBAAI,CAACC,CAAC,CAAC,oDAAoD,CAAC;QACvE;QACA,oBAAOjG,MAAA,YAAAkG,aAAA,CAACxF,UAAA,WAAS;UACbyF,OAAO,EAAC,UAAU;UAClB1D,SAAS;UACTW,KAAK,EAAEA,KAAM;UACbe,KAAK,EAAE,CAAC,CAACA,KAAM;UACfyB,QAAQ,EAAE,CAAC,CAACA,QAAS;UACrBQ,QAAQ,EAAE,SAAAA,SAAA7D,CAAC,EAAI;YACX,IAAM8D,MAAM,GAAG9D,CAAC,CAAC+D,MAAM,CAAClD,KAAK;YAC7ByC,MAAI,CAACjB,QAAQ,CAAC;cAAExB,KAAK,EAAEiD;YAAO,CAAC,EAAE;cAAA,OAC7BR,MAAI,CAACO,QAAQ,CAACP,MAAI,CAACpC,KAAK,CAACwB,IAAI,EAAE,CAACoB,MAAM,IAAI,EAAE,EAAEE,IAAI,CAAC,CAAC,CAAC;YAAA,EAAC;UAC9D,CAAE;UACFC,WAAW,EAAE,IAAI,CAACC,OAAO,CAAC,IAAI,CAAChD,KAAK,CAACG,MAAM,CAAC4C,WAAW,CAAE;UACzDE,KAAK,EAAE,IAAI,CAACD,OAAO,CAAC,IAAI,CAAChD,KAAK,CAACG,MAAM,CAAC8C,KAAK,CAAE;UAC7CC,UAAU,EAAE,IAAI,CAACC,UAAU,CAAC,IAAI,CAACnD,KAAK,CAACG,MAAM,CAACiD,IAAI,EAAE,IAAI,CAACpD,KAAK,CAACG,MAAM,CAACkD,QAAQ,EAAE,IAAI,CAACrD,KAAK,CAACG,MAAM,CAACmD,aAAa;QAAE,CACpH,CAAC;MACN;MAAE,IAAI,CAAC,IAAI,CAACtB,KAAK,CAACd,IAAI,EAAE;QACpB,oBAAO3E,MAAA,YAAAkG,aAAA,CAACvF,iBAAA,WAAgB;UAACqG,IAAI,EAAC;QAAO,CAAE,CAAC;MAC5C;MACA,IAAMC,aAAa,GAAG,IAAI,CAACxB,KAAK,CAACd,IAAI,CAChCuC,MAAM,CAAC,UAAAC,IAAI,EAAI;QACZ,IAAI,CAACA,IAAI,CAACC,MAAM,EAAE;UACd,OAAO,IAAI;QACf;QAAE,IAAIvB,MAAI,CAACpC,KAAK,CAAC4D,MAAM,EAAE;UACrB,OAAO,CAACxB,MAAI,CAACyB,aAAa,CAACH,IAAI,CAACC,MAAM,EAAEvB,MAAI,CAACpC,KAAK,CAACG,MAAM,WAAQ,EAAEiC,MAAI,CAACpC,KAAK,CAACE,IAAI,EAAEkC,MAAI,CAACpC,KAAK,CAAC8D,WAAW,EAAE1B,MAAI,CAACpC,KAAK,CAAC+D,UAAU,EAAE3B,MAAI,CAACpC,KAAK,CAACgE,UAAU,CAAC;QAC7J;QACA,OAAO,CAAC5B,MAAI,CAAC6B,OAAO,CAACP,IAAI,CAACC,MAAM,EAAEvB,MAAI,CAACpC,KAAK,CAACG,MAAM,WAAQ,EAAEiC,MAAI,CAACpC,KAAK,CAACE,IAAI,EAAEkC,MAAI,CAACpC,KAAK,CAAC+D,UAAU,EAAE3B,MAAI,CAACpC,KAAK,CAACgE,UAAU,CAAC;MAC/H,CAAC,CAAC;MAEN,IAAMN,IAAI,GAAGF,aAAa,CAACU,IAAI,CAAC,UAAAC,EAAE;QAAA,OAAIA,EAAE,CAACxE,KAAK,KAAKA,KAAK;MAAA,EAAC;MAEzD,oBAAOpD,MAAA,YAAAkG,aAAA,CAAC1F,YAAA,WAAW;QAAC2F,OAAO,EAAC,UAAU;QAAC0B,SAAS,EAAE,IAAI,CAACpE,KAAK,CAACqE,OAAO,CAACrF;MAAU,GACzE,IAAI,CAACgB,KAAK,CAACG,MAAM,CAAC8C,KAAK,gBAAG1G,MAAA,YAAAkG,aAAA,CAAC7F,WAAA,WAAU,QAAE,IAAI,CAACoG,OAAO,CAAC,IAAI,CAAChD,KAAK,CAACG,MAAM,CAAC8C,KAAK,CAAc,CAAC,GAAG,IAAI,eACnG1G,MAAA,YAAAkG,aAAA,CAACzF,OAAA,WAAM;QACH0F,OAAO,EAAC,UAAU;QAClBhC,KAAK,EAAE,CAAC,CAACA,KAAM;QACfuB,QAAQ,EAAE,IAAI,CAACjC,KAAK,CAACG,MAAM,CAAC8B,QAAS;QACrCE,QAAQ,EAAE,CAAC,CAACA,QAAS;QACrBxC,KAAK,EAAEA,KAAM;QACb2E,SAAS,EAAE,IAAI,CAACtE,KAAK,CAACG,MAAM,CAAC8B,QAAQ,GAAG;UAAEoC,OAAO,EAAE;YAAEE,KAAK,EAAE,IAAI,CAACvE,KAAK,CAACqE,OAAO,CAACnF;UAAU;QAAE,CAAC,GAAGkB,SAAU;QACzGoE,WAAW,EAAE,SAAAA,YAAAC,GAAG;UAAA,OACXrC,MAAI,CAACpC,KAAK,CAACG,MAAM,CAAC8B,QAAQ,gBACvB1F,MAAA,YAAAkG,aAAA,CAACnF,IAAA,WAAG;YAACoH,EAAE,EAAE;cAAEC,OAAO,EAAE,MAAM;cAAEC,QAAQ,EAAE,MAAM;cAAEC,GAAG,EAAE;YAAI;UAAE,GACpDJ,GAAG,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;YACV,IAAMZ,EAAE,GAAGX,aAAa,CAACU,IAAI,CAAC,UAAAc,KAAK;cAAA,OAAIA,KAAK,CAACrF,KAAK,KAAKoF,CAAC;YAAA,EAAC;YACzD,IAAIZ,EAAE,IAAI/B,MAAI,CAACpC,KAAK,CAACG,MAAM,CAAC8E,aAAa,KAAK,KAAK,EAAE;cACjD,IAAMhC,KAAK,GAAG,CAAAkB,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAElB,KAAK,KAAI8B,CAAC;cAC5B,oBAAOxI,MAAA,YAAAkG,aAAA,CAACpF,KAAA,WAAI;gBACRqC,GAAG,EAAEqF,CAAE;gBACP9B,KAAK,EAAEA;cAAM,CAChB,CAAC;YACN;YACA,OAAO,IAAI;UACf,CAAC,CACA,CAAC,GAEL,CAAAS,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAET,KAAK,KAAIwB,GAAI;QAAA,CAAE;QAC9B9B,QAAQ,EAAE,SAAAA,SAAA7D,CAAC,EAAI;UACXsD,MAAI,CAACO,QAAQ,CAACP,MAAI,CAACpC,KAAK,CAACwB,IAAI,EAAE1C,CAAC,CAAC+D,MAAM,CAAClD,KAAK,CAAC;QAClD;MAAE,GAED6D,aAAa,CAACsB,GAAG,CAAC,UAACX,EAAE,EAAEe,CAAC;QAAA,oBACrB3I,MAAA,YAAAkG,aAAA,CAAC5F,SAAA,WAAQ;UAAC6C,GAAG,EAAEwF,CAAE;UAACvF,KAAK,EAAEwE,EAAE,CAACxE;QAAM,GAC5ByC,MAAI,CAACpC,KAAK,CAACG,MAAM,CAAC8B,QAAQ,gBAAG1F,MAAA,YAAAkG,aAAA,CAACrF,SAAA,WAAQ;UACpC+H,OAAO,EAAExF,KAAK,CAACyF,QAAQ,CAACjB,EAAE,CAACxE,KAAK,CAAE;UAClC0F,OAAO,EAAE,SAAAA,QAAA,EAAM;YACX,IAAMC,MAAM,GAAG/E,IAAI,CAACC,KAAK,CAACD,IAAI,CAACuB,SAAS,CAACM,MAAI,CAACL,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAMwD,GAAG,GAAG5F,KAAK,CAAC6F,OAAO,CAACrB,EAAE,CAACxE,KAAK,CAAC;YACnC,IAAI4F,GAAG,KAAK,CAAC,CAAC,EAAE;cACZD,MAAM,CAACG,MAAM,CAACF,GAAG,EAAE,CAAC,CAAC;YACzB,CAAC,MAAM;cACHD,MAAM,CAACI,IAAI,CAACvB,EAAE,CAACxE,KAAK,CAAC;cACrB2F,MAAM,CAACK,IAAI,CAAC,CAAC;YACjB;YACAvD,MAAI,CAACjB,QAAQ,CAAC;cAAExB,KAAK,EAAE2F;YAAO,CAAC,EAAE;cAAA,OAAMlD,MAAI,CAACO,QAAQ,CAACP,MAAI,CAACpC,KAAK,CAACwB,IAAI,EAAE8D,MAAM,CAAC;YAAA,EAAC;UAClF;QAAE,CACL,CAAC,GAAG,IAAI,eACT/I,MAAA,YAAAkG,aAAA,CAACtF,aAAA,WAAY;UAACyI,OAAO,EAAEzB,EAAE,CAAClB;QAAM,CAAE,CAC5B,CAAC;MAAA,EACX,CAAC,EACR,IAAI,CAACjD,KAAK,CAACG,MAAM,CAACiD,IAAI,gBAAG7G,MAAA,YAAAkG,aAAA,CAAC3F,eAAA,WAAc,QAAE,IAAI,CAACqG,UAAU,CAAC,IAAI,CAACnD,KAAK,CAACG,MAAM,CAACiD,IAAI,EAAE,IAAI,CAACpD,KAAK,CAACG,MAAM,CAACkD,QAAQ,EAAE,IAAI,CAACrD,KAAK,CAACG,MAAM,CAACmD,aAAa,CAAkB,CAAC,GAAG,IAC3J,CAAC;IAClB;EAAC;EAAA,OAAAlE,kBAAA;AAAA,EAzJ4BkC,0BAAa;AA4J9ClC,kBAAkB,CAACyG,SAAS,GAAG;EAC3BjF,MAAM,EAAEkF,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnCC,SAAS,EAAEH,qBAAS,CAACI,MAAM;EAC3BC,SAAS,EAAEL,qBAAS,CAACI,MAAM;EAC3BE,KAAK,EAAEN,qBAAS,CAACC,MAAM;EACvBjF,WAAW,EAAEgF,qBAAS,CAACI,MAAM;EAC7BjG,KAAK,EAAE6F,qBAAS,CAACO,IAAI;EACrBtF,QAAQ,EAAE+E,qBAAS,CAACQ,MAAM;EAC1BlC,SAAS,EAAE0B,qBAAS,CAACI,MAAM;EAC3BhG,IAAI,EAAE4F,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjC7F,MAAM,EAAE2F,qBAAS,CAACC,MAAM;EACxBQ,OAAO,EAAET,qBAAS,CAACU,IAAI;EACvB7D,QAAQ,EAAEmD,qBAAS,CAACU;AACxB,CAAC;AAAC,IAAAC,QAAA,GAEa,IAAAC,kBAAU,EAAC3H,MAAM,CAAC,CAACK,kBAAkB,CAAC;AAAAuH,OAAA,cAAAF,QAAA"}
|
|
@@ -49,6 +49,7 @@ var styles = function styles() {
|
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
51
|
function ip2int(ip) {
|
|
52
|
+
// eslint-disable-next-line no-bitwise
|
|
52
53
|
return ip.split('.').reduce(function (ipInt, octet) {
|
|
53
54
|
return (ipInt << 8) + parseInt(octet, 10);
|
|
54
55
|
}, 0) >>> 0;
|
|
@@ -68,9 +69,11 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
68
69
|
return networkInterfaces[inter].forEach(function (ip) {
|
|
69
70
|
if (ip.internal) {
|
|
70
71
|
return;
|
|
71
|
-
}
|
|
72
|
+
}
|
|
73
|
+
if (localIp.includes(':') && ip.family !== 'IPv6') {
|
|
72
74
|
return;
|
|
73
|
-
}
|
|
75
|
+
}
|
|
76
|
+
if (localIp.includes('.') && !localIp.match(/[^.\d]/) && ip.family !== 'IPv4') {
|
|
74
77
|
return;
|
|
75
78
|
}
|
|
76
79
|
// if ip4 and not docker or wsl
|
|
@@ -78,7 +81,9 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
78
81
|
// if DNS name
|
|
79
82
|
hostIp = ip.address;
|
|
80
83
|
} else if (!hostIp) {
|
|
81
|
-
if (ip.family === 'IPv4' && localIp.includes('.') &&
|
|
84
|
+
if (ip.family === 'IPv4' && localIp.includes('.') &&
|
|
85
|
+
// eslint-disable-next-line no-bitwise
|
|
86
|
+
(ip2int(localIp) & ip2int(ip.netmask)) === (ip2int(ip.address) & ip2int(ip.netmask))) {
|
|
82
87
|
hostIp = ip.address;
|
|
83
88
|
} else {
|
|
84
89
|
hostIp = ip.address;
|
|
@@ -93,16 +98,20 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
93
98
|
return networkInterfaces[inter].forEach(function (ip) {
|
|
94
99
|
if (ip.internal) {
|
|
95
100
|
return;
|
|
96
|
-
}
|
|
101
|
+
}
|
|
102
|
+
if (localIp.includes(':') && ip.family !== 'IPv6') {
|
|
97
103
|
return;
|
|
98
|
-
}
|
|
104
|
+
}
|
|
105
|
+
if (localIp.includes('.') && !localIp.match(/[^.\d]/) && ip.family !== 'IPv4') {
|
|
99
106
|
return;
|
|
100
107
|
}
|
|
101
108
|
if (ip.family === 'IPv6' && (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\d]/))) {
|
|
102
109
|
// if DNS name
|
|
103
110
|
hostIp = ip.address;
|
|
104
111
|
} else if (!hostIp) {
|
|
105
|
-
if (ip.family === 'IPv4' && localIp.includes('.') &&
|
|
112
|
+
if (ip.family === 'IPv4' && localIp.includes('.') &&
|
|
113
|
+
// eslint-disable-next-line no-bitwise
|
|
114
|
+
(ip2int(localIp) & ip2int(ip.netmask)) === (ip2int(ip.address) & ip2int(ip.netmask))) {
|
|
106
115
|
hostIp = ip.address;
|
|
107
116
|
} else {
|
|
108
117
|
hostIp = ip.address;
|
|
@@ -116,9 +125,11 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
116
125
|
networkInterfaces[inter].forEach(function (ip) {
|
|
117
126
|
if (ip.internal) {
|
|
118
127
|
return;
|
|
119
|
-
}
|
|
128
|
+
}
|
|
129
|
+
if (localIp.includes(':') && ip.family !== 'IPv6') {
|
|
120
130
|
return;
|
|
121
|
-
}
|
|
131
|
+
}
|
|
132
|
+
if (localIp.includes('.') && !localIp.match(/[^.\d]/) && ip.family !== 'IPv4') {
|
|
122
133
|
return;
|
|
123
134
|
}
|
|
124
135
|
if (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\d]/)) {
|
|
@@ -185,7 +196,7 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
185
196
|
break;
|
|
186
197
|
case 17:
|
|
187
198
|
console.warn("Cannot find suitable IP in host ".concat(instanceObj.common.host, " for ").concat(instanceObj._id));
|
|
188
|
-
return _context.abrupt("return"
|
|
199
|
+
return _context.abrupt("return");
|
|
189
200
|
case 19:
|
|
190
201
|
this.setState({
|
|
191
202
|
_error: '',
|
|
@@ -217,9 +228,8 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
217
228
|
});
|
|
218
229
|
}
|
|
219
230
|
});
|
|
220
|
-
} else {
|
|
221
|
-
return null;
|
|
222
231
|
}
|
|
232
|
+
return null;
|
|
223
233
|
}
|
|
224
234
|
}, {
|
|
225
235
|
key: "renderMessageDialog",
|
|
@@ -235,9 +245,8 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
235
245
|
});
|
|
236
246
|
}
|
|
237
247
|
});
|
|
238
|
-
} else {
|
|
239
|
-
return null;
|
|
240
248
|
}
|
|
249
|
+
return null;
|
|
241
250
|
}
|
|
242
251
|
}, {
|
|
243
252
|
key: "_onClick",
|
|
@@ -321,12 +330,10 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
321
330
|
setTimeout(function () {
|
|
322
331
|
return _this3.props.forceUpdate(attrs, _this3.props.data);
|
|
323
332
|
}, 300);
|
|
333
|
+
} else if (response !== null && response !== void 0 && response.result) {
|
|
334
|
+
window.alert((0, _typeof2["default"])(response.result) === 'object' ? JSON.stringify(response.result) : response.result);
|
|
324
335
|
} else {
|
|
325
|
-
|
|
326
|
-
window.alert((0, _typeof2["default"])(response.result) === 'object' ? JSON.stringify(response.result) : response.result);
|
|
327
|
-
} else {
|
|
328
|
-
window.alert(_i18n["default"].t('ra_Ok'));
|
|
329
|
-
}
|
|
336
|
+
window.alert(_i18n["default"].t('ra_Ok'));
|
|
330
337
|
}
|
|
331
338
|
if (response !== null && response !== void 0 && response.saveConfig) {
|
|
332
339
|
_this3.props.onChange(null, null, null, true);
|
|
@@ -407,7 +414,7 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
407
414
|
}
|
|
408
415
|
}, {
|
|
409
416
|
key: "renderItem",
|
|
410
|
-
value: function renderItem(error, disabled, defaultValue) {
|
|
417
|
+
value: function renderItem(error, disabled /* , defaultValue */) {
|
|
411
418
|
var _this5 = this;
|
|
412
419
|
var icon = this.getIcon();
|
|
413
420
|
return /*#__PURE__*/_react["default"].createElement("div", {
|