@iobroker/adapter-react-v5 3.1.34 → 3.2.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/404.js +0 -23
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js +6 -37
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +10 -84
- package/Components/ComplexCron.js.map +1 -1
- package/Components/CustomModal.js +29 -54
- package/Components/CustomModal.js.map +1 -1
- package/Components/FileBrowser.js +15 -265
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js +7 -68
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.d.ts +1 -1
- package/Components/Icon.js +2 -42
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js +6 -28
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js +3 -55
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js +1 -38
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ChipInput.js +66 -197
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js +0 -31
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js +6 -39
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +6 -52
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js +5 -39
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js +4 -42
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js +0 -28
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigChip.js +4 -33
- package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigColor.js +0 -34
- package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.js +0 -33
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +14 -73
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigDatePicker.js +0 -25
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js +0 -46
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js +7 -126
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js +0 -34
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +15 -110
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js +2 -35
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js +4 -44
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -59
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +7 -40
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +2 -42
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js +2 -45
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js +6 -40
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js +7 -91
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPassword.js +0 -42
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js +0 -25
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js +0 -34
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js +4 -34
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +11 -67
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +8 -91
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js +0 -55
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSlider.js +0 -28
- package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticDivider.js +0 -21
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticHeader.js +0 -24
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticImage.js +0 -23
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js +0 -31
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +13 -105
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTabs.js +2 -35
- package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js +0 -34
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js +0 -37
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTimePicker.js +0 -25
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTopic.js +0 -29
- package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js +2 -40
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/JsonConfigComponent/index.js +5 -81
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/Loader.js +2 -20
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js +2 -20
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js +2 -21
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js +6 -39
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js +3 -27
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.d.ts +1 -1
- package/Components/ObjectBrowser.js +181 -788
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js +7 -31
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js +2 -32
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js +29 -251
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.d.ts +1 -1
- package/Components/SelectWithIcon.js +0 -48
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cron2text.js +45 -91
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/cronText.js +0 -6
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js +19 -102
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js +44 -24
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TabContainer.js +2 -23
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js +2 -22
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js +1 -17
- package/Components/TabHeader.js.map +1 -1
- package/Components/TableResize.js +6 -51
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js +0 -20
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.js +5 -13
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js +4 -121
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js +17 -60
- package/Components/UploadImage.js.map +1 -1
- package/Components/Utils.js +87 -263
- package/Components/Utils.js.map +1 -1
- package/Components/copy-to-clipboard.js +16 -38
- package/Components/copy-to-clipboard.js.map +1 -1
- package/Components/withWidth.js +2 -10
- package/Components/withWidth.js.map +1 -1
- package/Connection.d.ts +1 -0
- package/Connection.js +156 -527
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js +0 -34
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js +1 -39
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +1 -37
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.d.ts +1 -1
- package/Dialogs/Error.js +2 -29
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/FileSelect.js +2 -36
- package/Dialogs/FileSelect.js.map +1 -1
- package/Dialogs/Message.js +2 -27
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectID.d.ts +1 -1
- package/Dialogs/SelectID.js +3 -40
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +1 -33
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js +2 -34
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +55 -150
- package/GenericApp.js.map +1 -1
- package/Prompt.js +0 -2
- package/Prompt.js.map +1 -1
- package/README.md +11 -4
- package/Theme.js +7 -22
- package/Theme.js.map +1 -1
- package/i18n/uk.json +326 -0
- package/i18n.d.ts +2 -0
- package/i18n.js +9 -29
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.d.ts +2 -2
- package/icons/IconAdapter.js +2 -6
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.d.ts +2 -2
- package/icons/IconAlias.js +2 -6
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.d.ts +2 -2
- package/icons/IconChannel.js +2 -6
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.d.ts +2 -2
- package/icons/IconClearFilter.js +0 -5
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.d.ts +2 -2
- package/icons/IconClosed.js +0 -5
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.d.ts +2 -2
- package/icons/IconCopy.js +0 -5
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.d.ts +2 -2
- package/icons/IconDevice.js +0 -5
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.d.ts +2 -2
- package/icons/IconDocument.js +0 -5
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconDocumentReadOnly.d.ts +2 -2
- package/icons/IconDocumentReadOnly.js +0 -5
- package/icons/IconDocumentReadOnly.js.map +1 -1
- package/icons/IconExpert.d.ts +2 -2
- package/icons/IconExpert.js +0 -5
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.d.ts +2 -2
- package/icons/IconFx.js +0 -5
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.d.ts +2 -2
- package/icons/IconInstance.js +0 -5
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.d.ts +2 -2
- package/icons/IconLogout.js +0 -5
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconNoIcon.d.ts +2 -2
- package/icons/IconNoIcon.js +0 -5
- package/icons/IconNoIcon.js.map +1 -1
- package/icons/IconOpen.d.ts +2 -2
- package/icons/IconOpen.js +0 -5
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.d.ts +2 -2
- package/icons/IconState.js +0 -6
- package/icons/IconState.js.map +1 -1
- package/package.json +15 -15
|
@@ -1,72 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
|
|
20
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
|
|
22
14
|
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
23
|
-
|
|
24
15
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
25
|
-
|
|
26
16
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
27
|
-
|
|
28
17
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
29
|
-
|
|
30
18
|
var _react = _interopRequireDefault(require("react"));
|
|
31
|
-
|
|
32
19
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
-
|
|
34
20
|
var _styles = require("@mui/styles");
|
|
35
|
-
|
|
36
21
|
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
37
|
-
|
|
38
22
|
var _Warning = _interopRequireDefault(require("@mui/icons-material/Warning"));
|
|
39
|
-
|
|
40
23
|
var _Error = _interopRequireDefault(require("@mui/icons-material/Error"));
|
|
41
|
-
|
|
42
24
|
var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
|
|
43
|
-
|
|
44
25
|
var _Key = _interopRequireDefault(require("@mui/icons-material/Key"));
|
|
45
|
-
|
|
46
26
|
var _Send = _interopRequireDefault(require("@mui/icons-material/Send"));
|
|
47
|
-
|
|
48
27
|
var _Public = _interopRequireDefault(require("@mui/icons-material/Public"));
|
|
49
|
-
|
|
50
28
|
var _i18n = _interopRequireDefault(require("../../i18n"));
|
|
51
|
-
|
|
52
29
|
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
53
|
-
|
|
54
30
|
var _Error2 = _interopRequireDefault(require("../../Dialogs/Error"));
|
|
55
|
-
|
|
56
31
|
var _Message = _interopRequireDefault(require("../../Dialogs/Message"));
|
|
57
|
-
|
|
58
32
|
var _Confirm = _interopRequireDefault(require("../../Dialogs/Confirm"));
|
|
59
|
-
|
|
60
33
|
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
61
|
-
|
|
62
34
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
63
|
-
|
|
64
35
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
65
|
-
|
|
66
36
|
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); }; }
|
|
67
|
-
|
|
68
37
|
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; } }
|
|
69
|
-
|
|
70
38
|
var styles = function styles() {
|
|
71
39
|
return {
|
|
72
40
|
fullWidth: {
|
|
@@ -79,25 +47,22 @@ var styles = function styles() {
|
|
|
79
47
|
}
|
|
80
48
|
};
|
|
81
49
|
};
|
|
82
|
-
|
|
83
50
|
function ip2int(ip) {
|
|
84
51
|
return ip.split('.').reduce(function (ipInt, octet) {
|
|
85
52
|
return (ipInt << 8) + parseInt(octet, 10);
|
|
86
53
|
}, 0) >>> 0;
|
|
87
|
-
}
|
|
88
|
-
|
|
54
|
+
}
|
|
89
55
|
|
|
56
|
+
// copied from iobroker.admin/src-rx/src/Utils.js
|
|
90
57
|
function findNetworkAddressOfHost(obj, localIp) {
|
|
91
58
|
var _obj$native, _obj$native$hardware;
|
|
92
|
-
|
|
93
59
|
var networkInterfaces = obj === null || obj === void 0 ? void 0 : (_obj$native = obj["native"]) === null || _obj$native === void 0 ? void 0 : (_obj$native$hardware = _obj$native.hardware) === null || _obj$native$hardware === void 0 ? void 0 : _obj$native$hardware.networkInterfaces;
|
|
94
|
-
|
|
95
60
|
if (!networkInterfaces) {
|
|
96
61
|
return null;
|
|
97
62
|
}
|
|
63
|
+
var hostIp;
|
|
98
64
|
|
|
99
|
-
|
|
100
|
-
|
|
65
|
+
// check ipv4 addresses
|
|
101
66
|
Object.keys(networkInterfaces).forEach(function (inter) {
|
|
102
67
|
return networkInterfaces[inter].forEach(function (ip) {
|
|
103
68
|
if (ip.internal) {
|
|
@@ -106,9 +71,8 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
106
71
|
return;
|
|
107
72
|
} else if (localIp.includes('.') && !localIp.match(/[^.\d]/) && ip.family !== 'IPv4') {
|
|
108
73
|
return;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
74
|
+
}
|
|
75
|
+
// if ip4 and not docker or wsl
|
|
112
76
|
if (ip.family === 'IPv4' && !ip.address.startsWith('172') && (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\d]/))) {
|
|
113
77
|
// if DNS name
|
|
114
78
|
hostIp = ip.address;
|
|
@@ -120,8 +84,9 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
120
84
|
}
|
|
121
85
|
}
|
|
122
86
|
});
|
|
123
|
-
});
|
|
87
|
+
});
|
|
124
88
|
|
|
89
|
+
// check ipv6 addresses
|
|
125
90
|
if (!hostIp) {
|
|
126
91
|
Object.keys(networkInterfaces).forEach(function (inter) {
|
|
127
92
|
return networkInterfaces[inter].forEach(function (ip) {
|
|
@@ -132,7 +97,6 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
132
97
|
} else if (localIp.includes('.') && !localIp.match(/[^.\d]/) && ip.family !== 'IPv4') {
|
|
133
98
|
return;
|
|
134
99
|
}
|
|
135
|
-
|
|
136
100
|
if (ip.family === 'IPv6' && (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\d]/))) {
|
|
137
101
|
// if DNS name
|
|
138
102
|
hostIp = ip.address;
|
|
@@ -146,7 +110,6 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
146
110
|
});
|
|
147
111
|
});
|
|
148
112
|
}
|
|
149
|
-
|
|
150
113
|
if (!hostIp) {
|
|
151
114
|
Object.keys(networkInterfaces).forEach(function (inter) {
|
|
152
115
|
networkInterfaces[inter].forEach(function (ip) {
|
|
@@ -157,7 +120,6 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
157
120
|
} else if (localIp.includes('.') && !localIp.match(/[^.\d]/) && ip.family !== 'IPv4') {
|
|
158
121
|
return;
|
|
159
122
|
}
|
|
160
|
-
|
|
161
123
|
if (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\d]/)) {
|
|
162
124
|
// if DNS name
|
|
163
125
|
hostIp = ip.address;
|
|
@@ -167,32 +129,25 @@ function findNetworkAddressOfHost(obj, localIp) {
|
|
|
167
129
|
});
|
|
168
130
|
});
|
|
169
131
|
}
|
|
170
|
-
|
|
171
132
|
if (!hostIp) {
|
|
172
133
|
Object.keys(networkInterfaces).forEach(function (inter) {
|
|
173
134
|
networkInterfaces[inter].forEach(function (ip) {
|
|
174
135
|
if (ip.internal) {
|
|
175
136
|
return;
|
|
176
137
|
}
|
|
177
|
-
|
|
178
138
|
hostIp = ip.address;
|
|
179
139
|
});
|
|
180
140
|
});
|
|
181
141
|
}
|
|
182
|
-
|
|
183
142
|
return hostIp;
|
|
184
143
|
}
|
|
185
|
-
|
|
186
144
|
var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
187
145
|
(0, _inherits2["default"])(ConfigSendto, _ConfigGeneric);
|
|
188
|
-
|
|
189
146
|
var _super = _createSuper(ConfigSendto);
|
|
190
|
-
|
|
191
147
|
function ConfigSendto() {
|
|
192
148
|
(0, _classCallCheck2["default"])(this, ConfigSendto);
|
|
193
149
|
return _super.apply(this, arguments);
|
|
194
150
|
}
|
|
195
|
-
|
|
196
151
|
(0, _createClass2["default"])(ConfigSendto, [{
|
|
197
152
|
key: "componentDidMount",
|
|
198
153
|
value: function () {
|
|
@@ -204,49 +159,39 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
204
159
|
case 0:
|
|
205
160
|
(0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigSendto.prototype), "componentDidMount", this).call(this);
|
|
206
161
|
hostname = window.location.hostname;
|
|
207
|
-
|
|
208
162
|
if (!this.props.schema.openUrl) {
|
|
209
163
|
_context.next = 19;
|
|
210
164
|
break;
|
|
211
165
|
}
|
|
212
|
-
|
|
213
166
|
_context.next = 5;
|
|
214
167
|
return this.props.socket.getCurrentInstance();
|
|
215
|
-
|
|
216
168
|
case 5:
|
|
217
169
|
adminInstance = _context.sent;
|
|
218
170
|
_context.next = 8;
|
|
219
171
|
return this.props.socket.getObject("system.adapter.".concat(adminInstance));
|
|
220
|
-
|
|
221
172
|
case 8:
|
|
222
173
|
instanceObj = _context.sent;
|
|
223
174
|
_context.next = 11;
|
|
224
175
|
return this.props.socket.getObject("system.host.".concat(instanceObj.common.host));
|
|
225
|
-
|
|
226
176
|
case 11:
|
|
227
177
|
hostObj = _context.sent;
|
|
228
178
|
ip = findNetworkAddressOfHost(hostObj, window.location.hostname);
|
|
229
|
-
|
|
230
179
|
if (!ip) {
|
|
231
180
|
_context.next = 17;
|
|
232
181
|
break;
|
|
233
182
|
}
|
|
234
|
-
|
|
235
183
|
hostname = "".concat(ip, ":").concat(window.location.port);
|
|
236
184
|
_context.next = 19;
|
|
237
185
|
break;
|
|
238
|
-
|
|
239
186
|
case 17:
|
|
240
187
|
console.warn("Cannot find suitable IP in host ".concat(instanceObj.common.host, " for ").concat(instanceObj._id));
|
|
241
188
|
return _context.abrupt("return", null);
|
|
242
|
-
|
|
243
189
|
case 19:
|
|
244
190
|
this.setState({
|
|
245
191
|
_error: '',
|
|
246
192
|
_message: '',
|
|
247
193
|
hostname: hostname
|
|
248
194
|
});
|
|
249
|
-
|
|
250
195
|
case 20:
|
|
251
196
|
case "end":
|
|
252
197
|
return _context.stop();
|
|
@@ -254,18 +199,15 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
254
199
|
}
|
|
255
200
|
}, _callee, this);
|
|
256
201
|
}));
|
|
257
|
-
|
|
258
202
|
function componentDidMount() {
|
|
259
203
|
return _componentDidMount.apply(this, arguments);
|
|
260
204
|
}
|
|
261
|
-
|
|
262
205
|
return componentDidMount;
|
|
263
206
|
}()
|
|
264
207
|
}, {
|
|
265
208
|
key: "renderErrorDialog",
|
|
266
209
|
value: function renderErrorDialog() {
|
|
267
210
|
var _this = this;
|
|
268
|
-
|
|
269
211
|
if (this.state._error) {
|
|
270
212
|
return /*#__PURE__*/_react["default"].createElement(_Error2["default"], {
|
|
271
213
|
text: this.state._error,
|
|
@@ -284,7 +226,6 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
284
226
|
key: "renderMessageDialog",
|
|
285
227
|
value: function renderMessageDialog() {
|
|
286
228
|
var _this2 = this;
|
|
287
|
-
|
|
288
229
|
if (this.state._message) {
|
|
289
230
|
return /*#__PURE__*/_react["default"].createElement(_Message["default"], {
|
|
290
231
|
text: this.state._message,
|
|
@@ -303,50 +244,39 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
303
244
|
key: "_onClick",
|
|
304
245
|
value: function _onClick() {
|
|
305
246
|
var _this3 = this;
|
|
306
|
-
|
|
307
247
|
this.props.onCommandRunning(true);
|
|
308
|
-
|
|
309
248
|
var _origin = "".concat(window.location.protocol, "//").concat(window.location.host).concat(window.location.pathname.replace(/\/index\.html$/, ''));
|
|
310
|
-
|
|
311
249
|
var _originIp = "".concat(window.location.protocol, "//").concat(this.state.hostname.split(':').length > 3 ? "[".concat(this.state.hostname, "]") : this.state.hostname).concat(window.location.pathname.replace(/\/index\.html$/, ''));
|
|
312
|
-
|
|
313
250
|
var data = this.props.schema.data;
|
|
314
|
-
|
|
315
251
|
if (data === undefined && this.props.schema.jsonData) {
|
|
316
252
|
data = this.getPattern(this.props.schema.jsonData, _objectSpread({
|
|
317
253
|
_origin: _origin,
|
|
318
254
|
_originIp: _originIp
|
|
319
255
|
}, this.props.data));
|
|
320
|
-
|
|
321
256
|
try {
|
|
322
257
|
data = JSON.parse(data);
|
|
323
258
|
} catch (e) {
|
|
324
259
|
console.error('Cannot parse json data: ' + data);
|
|
325
260
|
}
|
|
326
261
|
}
|
|
327
|
-
|
|
328
262
|
if (data === undefined) {
|
|
329
263
|
data = null;
|
|
330
264
|
}
|
|
331
|
-
|
|
332
265
|
if (this.props.schema.openUrl && !data) {
|
|
333
266
|
data = {
|
|
334
267
|
_origin: _origin,
|
|
335
268
|
_originIp: _originIp
|
|
336
269
|
};
|
|
337
270
|
}
|
|
338
|
-
|
|
339
271
|
this.props.socket.sendTo("".concat(this.props.adapterName, ".").concat(this.props.instance), this.props.schema.command || 'send', data).then(function (response) {
|
|
340
272
|
if (response !== null && response !== void 0 && response.error) {
|
|
341
273
|
if (_this3.props.schema.error && _this3.props.schema.error[response.error]) {
|
|
342
274
|
var error = _this3.getText(_this3.props.schema.error[response.error]);
|
|
343
|
-
|
|
344
275
|
if (response.args) {
|
|
345
276
|
response.args.forEach(function (arg) {
|
|
346
277
|
return error = error.replace('%s', arg);
|
|
347
278
|
});
|
|
348
279
|
}
|
|
349
|
-
|
|
350
280
|
_this3.setState({
|
|
351
281
|
_error: error
|
|
352
282
|
});
|
|
@@ -360,13 +290,11 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
360
290
|
window.open(response.openUrl, response.window || _this3.props.schema.window || '_blank');
|
|
361
291
|
} else if (response !== null && response !== void 0 && response.result && _this3.props.schema.result && _this3.props.schema.result[response.result]) {
|
|
362
292
|
var text = _this3.getText(_this3.props.schema.result[response.result]);
|
|
363
|
-
|
|
364
293
|
if (response.args) {
|
|
365
294
|
response.args.forEach(function (arg) {
|
|
366
295
|
return text = text.replace('%s', arg);
|
|
367
296
|
});
|
|
368
297
|
}
|
|
369
|
-
|
|
370
298
|
window.alert(text);
|
|
371
299
|
} else {
|
|
372
300
|
if (response !== null && response !== void 0 && response.result) {
|
|
@@ -375,7 +303,6 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
375
303
|
window.alert(_i18n["default"].t('ra_Ok'));
|
|
376
304
|
}
|
|
377
305
|
}
|
|
378
|
-
|
|
379
306
|
if (response !== null && response !== void 0 && response.saveConfig) {
|
|
380
307
|
_this3.props.onChange(null, null, null, true);
|
|
381
308
|
}
|
|
@@ -398,14 +325,11 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
398
325
|
key: "renderConfirmDialog",
|
|
399
326
|
value: function renderConfirmDialog() {
|
|
400
327
|
var _this4 = this;
|
|
401
|
-
|
|
402
328
|
if (!this.state.confirmDialog) {
|
|
403
329
|
return null;
|
|
404
330
|
}
|
|
405
|
-
|
|
406
331
|
var confirm = this.state.confirmData || this.props.schema.confirm;
|
|
407
332
|
var icon = null;
|
|
408
|
-
|
|
409
333
|
if (confirm.type === 'warning') {
|
|
410
334
|
icon = /*#__PURE__*/_react["default"].createElement(_Warning["default"], null);
|
|
411
335
|
} else if (confirm.type === 'error') {
|
|
@@ -413,7 +337,6 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
413
337
|
} else if (confirm.type === 'info') {
|
|
414
338
|
icon = /*#__PURE__*/_react["default"].createElement(_Info["default"], null);
|
|
415
339
|
}
|
|
416
|
-
|
|
417
340
|
return /*#__PURE__*/_react["default"].createElement(_Confirm["default"], {
|
|
418
341
|
title: this.getText(confirm.title) || _i18n["default"].t('ra_Please confirm'),
|
|
419
342
|
text: this.getText(confirm.text),
|
|
@@ -433,7 +356,6 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
433
356
|
key: "getIcon",
|
|
434
357
|
value: function getIcon() {
|
|
435
358
|
var icon = null;
|
|
436
|
-
|
|
437
359
|
if (this.props.schema.icon === 'auth') {
|
|
438
360
|
icon = /*#__PURE__*/_react["default"].createElement(_Key["default"], null);
|
|
439
361
|
} else if (this.props.schema.icon === 'send') {
|
|
@@ -451,14 +373,12 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
451
373
|
src: this.props.schema.icon
|
|
452
374
|
});
|
|
453
375
|
}
|
|
454
|
-
|
|
455
376
|
return icon;
|
|
456
377
|
}
|
|
457
378
|
}, {
|
|
458
379
|
key: "renderItem",
|
|
459
380
|
value: function renderItem(error, disabled, defaultValue) {
|
|
460
381
|
var _this5 = this;
|
|
461
|
-
|
|
462
382
|
var icon = this.getIcon();
|
|
463
383
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
464
384
|
className: this.props.classes.fullWidth
|
|
@@ -482,7 +402,6 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
482
402
|
}]);
|
|
483
403
|
return ConfigSendto;
|
|
484
404
|
}(_ConfigGeneric2["default"]);
|
|
485
|
-
|
|
486
405
|
ConfigSendto.propTypes = {
|
|
487
406
|
socket: _propTypes["default"].object.isRequired,
|
|
488
407
|
themeType: _propTypes["default"].string,
|
|
@@ -498,8 +417,6 @@ ConfigSendto.propTypes = {
|
|
|
498
417
|
commandRunning: _propTypes["default"].bool,
|
|
499
418
|
onCommandRunning: _propTypes["default"].func
|
|
500
419
|
};
|
|
501
|
-
|
|
502
420
|
var _default = (0, _styles.withStyles)(styles)(ConfigSendto);
|
|
503
|
-
|
|
504
421
|
exports["default"] = _default;
|
|
505
422
|
//# sourceMappingURL=ConfigSendto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigSendto.js","names":["styles","fullWidth","width","icon","height","marginRight","ip2int","ip","split","reduce","ipInt","octet","parseInt","findNetworkAddressOfHost","obj","localIp","networkInterfaces","hardware","hostIp","Object","keys","forEach","inter","internal","includes","family","match","address","startsWith","netmask","ConfigSendto","hostname","window","location","props","schema","openUrl","socket","getCurrentInstance","adminInstance","getObject","instanceObj","common","host","hostObj","port","console","warn","_id","setState","_error","_message","state","undefined","onCommandRunning","_origin","protocol","pathname","replace","_originIp","length","data","jsonData","getPattern","JSON","parse","e","error","sendTo","adapterName","instance","command","then","response","getText","args","arg","I18n","t","open","result","text","alert","stringify","saveConfig","onChange","toString","confirmDialog","confirm","confirmData","type","title","ok","cancel","isOk","_onClick","disabled","defaultValue","getIcon","classes","variant","color","label","noTranslation","renderErrorDialog","renderMessageDialog","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","number","commandRunning","bool","withStyles"],"sources":["JsonConfigComponent/ConfigSendto.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconAuth from '@mui/icons-material/Key';\nimport IconSend from '@mui/icons-material/Send';\nimport IconWeb from '@mui/icons-material/Public';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\nimport DialogError from '../../Dialogs/Error';\nimport DialogMessage from '../../Dialogs/Message';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nfunction ip2int(ip) {\n return ip.split('.').reduce((ipInt, octet) => (ipInt << 8) + parseInt(octet, 10), 0) >>> 0;\n}\n\n// copied from iobroker.admin/src-rx/src/Utils.js\nfunction findNetworkAddressOfHost(obj, localIp) {\n const networkInterfaces = obj?.native?.hardware?.networkInterfaces;\n if (!networkInterfaces) {\n return null;\n }\n\n let hostIp;\n\n // check ipv4 addresses\n Object.keys(networkInterfaces).forEach(inter =>\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n } else if (localIp.includes(':') && ip.family !== 'IPv6') {\n return;\n } else if (localIp.includes('.') && !localIp.match(/[^.\\d]/) && ip.family !== 'IPv4') {\n return;\n }\n // if ip4 and not docker or wsl\n if (ip.family === 'IPv4' && !ip.address.startsWith('172') && (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\\d]/))) { // if DNS name\n hostIp = ip.address;\n } else if (!hostIp) {\n if (ip.family === 'IPv4' && localIp.includes('.') &&\n (ip2int(localIp) & ip2int(ip.netmask)) === (ip2int(ip.address) & ip2int(ip.netmask))) {\n hostIp = ip.address;\n } else {\n hostIp = ip.address;\n }\n }\n }));\n\n // check ipv6 addresses\n if (!hostIp) {\n Object.keys(networkInterfaces).forEach(inter =>\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n } else if (localIp.includes(':') && ip.family !== 'IPv6') {\n return;\n } else if (localIp.includes('.') && !localIp.match(/[^.\\d]/) && ip.family !== 'IPv4') {\n return;\n }\n if (ip.family === 'IPv6' && (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\\d]/))) { // if DNS name\n hostIp = ip.address;\n } else if (!hostIp) {\n if (ip.family === 'IPv4' && localIp.includes('.') &&\n (ip2int(localIp) & ip2int(ip.netmask)) === (ip2int(ip.address) & ip2int(ip.netmask))) {\n hostIp = ip.address;\n } else {\n hostIp = ip.address;\n }\n }\n }));\n }\n\n if (!hostIp) {\n Object.keys(networkInterfaces).forEach(inter => {\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n } else if (localIp.includes(':') && ip.family !== 'IPv6') {\n return;\n } else if (localIp.includes('.') && !localIp.match(/[^.\\d]/) && ip.family !== 'IPv4') {\n return;\n }\n if (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\\d]/)) { // if DNS name\n hostIp = ip.address;\n } else {\n hostIp = ip.address;\n }\n });\n });\n }\n\n if (!hostIp) {\n Object.keys(networkInterfaces).forEach(inter => {\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n }\n hostIp = ip.address;\n });\n });\n }\n\n return hostIp;\n}\n\n\nclass ConfigSendto extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n\n let hostname = window.location.hostname;\n if (this.props.schema.openUrl) {\n // read admin host\n const adminInstance = await this.props.socket.getCurrentInstance();\n const instanceObj = await this.props.socket.getObject(`system.adapter.${adminInstance}`);\n const hostObj = await this.props.socket.getObject(`system.host.${instanceObj.common.host}`);\n\n const ip = findNetworkAddressOfHost(hostObj, window.location.hostname);\n if (ip) {\n hostname = `${ip}:${window.location.port}`;\n } else {\n console.warn(`Cannot find suitable IP in host ${instanceObj.common.host} for ${instanceObj._id}`);\n return null;\n }\n }\n this.setState( { _error: '', _message: '', hostname });\n }\n\n renderErrorDialog() {\n if (this.state._error) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state._message) {\n return <DialogMessage text={this.state._message} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n _onClick() {\n this.props.onCommandRunning(true);\n\n const _origin = `${window.location.protocol}//${window.location.host}${window.location.pathname.replace(/\\/index\\.html$/, '')}`\n const _originIp = `${window.location.protocol}//${this.state.hostname.split(':').length > 3 ? `[${this.state.hostname}]` : this.state.hostname}${window.location.pathname.replace(/\\/index\\.html$/, '')}`\n\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {\n _origin,\n _originIp,\n ...this.props.data\n });\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n if (data === undefined) {\n data = null;\n }\n if (this.props.schema.openUrl && !data) {\n data = {\n _origin,\n _originIp,\n }\n }\n\n this.props.socket.sendTo(\n `${this.props.adapterName}.${this.props.instance}`,\n this.props.schema.command || 'send',\n data\n )\n .then(response => {\n if (response?.error) {\n if (this.props.schema.error && this.props.schema.error[response.error]) {\n let error = this.getText(this.props.schema.error[response.error]);\n if (response.args) {\n response.args.forEach(arg => error = error.replace('%s', arg));\n }\n this.setState({_error: error});\n } else {\n this.setState({_error: response.error ? I18n.t(response.error) : I18n.t('ra_Error')});\n }\n } else {\n if (response?.openUrl && this.props.schema.openUrl) {\n window.open(response.openUrl, response.window || this.props.schema.window || '_blank');\n } else\n if (response?.result && this.props.schema.result && this.props.schema.result[response.result]) {\n let text = this.getText(this.props.schema.result[response.result]);\n if (response.args) {\n response.args.forEach(arg => text = text.replace('%s', arg));\n }\n window.alert(text);\n } else {\n if (response?.result) {\n window.alert(typeof response.result === 'object' ? JSON.stringify(response.result) : response.result);\n } else {\n window.alert(I18n.t('ra_Ok'));\n }\n }\n\n if (response?.saveConfig) {\n this.props.onChange(null, null, null, true);\n }\n }\n })\n .catch(e => {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n this.setState({_error: this.getText(this.props.schema.error[e.toString()])});\n } else {\n this.setState({_error: I18n.t(e.toString()) || I18n.t('ra_Error')});\n }\n })\n .then(() => this.props.onCommandRunning(false))\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () =>\n isOk && this._onClick())\n }\n />;\n }\n\n getIcon() {\n let icon = null;\n if (this.props.schema.icon === 'auth') {\n icon = <IconAuth />;\n } else if (this.props.schema.icon === 'send') {\n icon = <IconSend />;\n } else if (this.props.schema.icon === 'web') {\n icon = <IconWeb />;\n } else if (this.props.schema.icon === 'warning') {\n icon = <IconWarning />;\n } else if (this.props.schema.icon === 'error') {\n icon = <IconError />;\n } else if (this.props.schema.icon === 'info') {\n icon = <IconInfo />;\n } else if (this.props.schema.icon) {\n icon = <Icon src={this.props.schema.icon} />;\n }\n\n return icon;\n }\n\n renderItem(error, disabled, defaultValue) {\n let icon = this.getIcon();\n\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n startIcon={icon}\n onClick={() => {\n if (this.props.schema.confirm) {\n this.setState({ confirmDialog: true });\n } else {\n this._onClick();\n }\n }}\n >\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n {this.renderErrorDialog()}\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigSendto.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSendto);"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS;EAAA,OAAO;IAClBC,SAAS,EAAE;MACPC,KAAK,EAAE;IADA,CADO;IAIlBC,IAAI,EAAE;MACFD,KAAK,EAAE,EADL;MAEFE,MAAM,EAAE,EAFN;MAGFC,WAAW,EAAE;IAHX;EAJY,CAAP;AAAA,CAAf;;AAWA,SAASC,MAAT,CAAgBC,EAAhB,EAAoB;EAChB,OAAOA,EAAE,CAACC,KAAH,CAAS,GAAT,EAAcC,MAAd,CAAqB,UAACC,KAAD,EAAQC,KAAR;IAAA,OAAkB,CAACD,KAAK,IAAI,CAAV,IAAeE,QAAQ,CAACD,KAAD,EAAQ,EAAR,CAAzC;EAAA,CAArB,EAA2E,CAA3E,MAAkF,CAAzF;AACH,C,CAED;;;AACA,SAASE,wBAAT,CAAkCC,GAAlC,EAAuCC,OAAvC,EAAgD;EAAA;;EAC5C,IAAMC,iBAAiB,GAAGF,GAAH,aAAGA,GAAH,sCAAGA,GAAG,UAAN,wEAAG,YAAaG,QAAhB,yDAAG,qBAAuBD,iBAAjD;;EACA,IAAI,CAACA,iBAAL,EAAwB;IACpB,OAAO,IAAP;EACH;;EAED,IAAIE,MAAJ,CAN4C,CAQ5C;;EACAC,MAAM,CAACC,IAAP,CAAYJ,iBAAZ,EAA+BK,OAA/B,CAAuC,UAAAC,KAAK;IAAA,OACxCN,iBAAiB,CAACM,KAAD,CAAjB,CAAyBD,OAAzB,CAAiC,UAAAd,EAAE,EAAI;MACnC,IAAIA,EAAE,CAACgB,QAAP,EAAiB;QACb;MACH,CAFD,MAEO,IAAIR,OAAO,CAACS,QAAR,CAAiB,GAAjB,KAAyBjB,EAAE,CAACkB,MAAH,KAAc,MAA3C,EAAmD;QACtD;MACH,CAFM,MAEA,IAAIV,OAAO,CAACS,QAAR,CAAiB,GAAjB,KAAyB,CAACT,OAAO,CAACW,KAAR,CAAc,QAAd,CAA1B,IAAqDnB,EAAE,CAACkB,MAAH,KAAc,MAAvE,EAA+E;QAClF;MACH,CAPkC,CAQnC;;;MACA,IAAIlB,EAAE,CAACkB,MAAH,KAAc,MAAd,IAAwB,CAAClB,EAAE,CAACoB,OAAH,CAAWC,UAAX,CAAsB,KAAtB,CAAzB,KAA0Db,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,WAAvC,IAAsDA,OAAO,CAACW,KAAR,CAAc,QAAd,CAAhH,CAAJ,EAA8I;QAAE;QAC5IR,MAAM,GAAGX,EAAE,CAACoB,OAAZ;MACH,CAFD,MAEO,IAAI,CAACT,MAAL,EAAa;QAChB,IAAIX,EAAE,CAACkB,MAAH,KAAc,MAAd,IAAwBV,OAAO,CAACS,QAAR,CAAiB,GAAjB,CAAxB,IACA,CAAClB,MAAM,CAACS,OAAD,CAAN,GAAkBT,MAAM,CAACC,EAAE,CAACsB,OAAJ,CAAzB,OAA4CvB,MAAM,CAACC,EAAE,CAACoB,OAAJ,CAAN,GAAqBrB,MAAM,CAACC,EAAE,CAACsB,OAAJ,CAAvE,CADJ,EAC0F;UACtFX,MAAM,GAAGX,EAAE,CAACoB,OAAZ;QACH,CAHD,MAGO;UACHT,MAAM,GAAGX,EAAE,CAACoB,OAAZ;QACH;MACJ;IACJ,CAnBD,CADwC;EAAA,CAA5C,EAT4C,CA+B5C;;EACA,IAAI,CAACT,MAAL,EAAa;IACTC,MAAM,CAACC,IAAP,CAAYJ,iBAAZ,EAA+BK,OAA/B,CAAuC,UAAAC,KAAK;MAAA,OACxCN,iBAAiB,CAACM,KAAD,CAAjB,CAAyBD,OAAzB,CAAiC,UAAAd,EAAE,EAAI;QACnC,IAAIA,EAAE,CAACgB,QAAP,EAAiB;UACb;QACH,CAFD,MAEO,IAAIR,OAAO,CAACS,QAAR,CAAiB,GAAjB,KAAyBjB,EAAE,CAACkB,MAAH,KAAc,MAA3C,EAAmD;UACtD;QACH,CAFM,MAEA,IAAIV,OAAO,CAACS,QAAR,CAAiB,GAAjB,KAAyB,CAACT,OAAO,CAACW,KAAR,CAAc,QAAd,CAA1B,IAAqDnB,EAAE,CAACkB,MAAH,KAAc,MAAvE,EAA+E;UAClF;QACH;;QACD,IAAIlB,EAAE,CAACkB,MAAH,KAAc,MAAd,KAAyBV,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,WAAvC,IAAsDA,OAAO,CAACW,KAAR,CAAc,QAAd,CAA/E,CAAJ,EAA6G;UAAE;UAC3GR,MAAM,GAAGX,EAAE,CAACoB,OAAZ;QACH,CAFD,MAEO,IAAI,CAACT,MAAL,EAAa;UAChB,IAAIX,EAAE,CAACkB,MAAH,KAAc,MAAd,IAAwBV,OAAO,CAACS,QAAR,CAAiB,GAAjB,CAAxB,IACA,CAAClB,MAAM,CAACS,OAAD,CAAN,GAAkBT,MAAM,CAACC,EAAE,CAACsB,OAAJ,CAAzB,OAA4CvB,MAAM,CAACC,EAAE,CAACoB,OAAJ,CAAN,GAAqBrB,MAAM,CAACC,EAAE,CAACsB,OAAJ,CAAvE,CADJ,EAC0F;YACtFX,MAAM,GAAGX,EAAE,CAACoB,OAAZ;UACH,CAHD,MAGO;YACHT,MAAM,GAAGX,EAAE,CAACoB,OAAZ;UACH;QACJ;MACJ,CAlBD,CADwC;IAAA,CAA5C;EAoBH;;EAED,IAAI,CAACT,MAAL,EAAa;IACTC,MAAM,CAACC,IAAP,CAAYJ,iBAAZ,EAA+BK,OAA/B,CAAuC,UAAAC,KAAK,EAAI;MAC5CN,iBAAiB,CAACM,KAAD,CAAjB,CAAyBD,OAAzB,CAAiC,UAAAd,EAAE,EAAI;QACnC,IAAIA,EAAE,CAACgB,QAAP,EAAiB;UACb;QACH,CAFD,MAEO,IAAIR,OAAO,CAACS,QAAR,CAAiB,GAAjB,KAAyBjB,EAAE,CAACkB,MAAH,KAAc,MAA3C,EAAmD;UACtD;QACH,CAFM,MAEA,IAAIV,OAAO,CAACS,QAAR,CAAiB,GAAjB,KAAyB,CAACT,OAAO,CAACW,KAAR,CAAc,QAAd,CAA1B,IAAqDnB,EAAE,CAACkB,MAAH,KAAc,MAAvE,EAA+E;UAClF;QACH;;QACD,IAAIV,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,WAAvC,IAAsDA,OAAO,CAACW,KAAR,CAAc,QAAd,CAA1D,EAAmF;UAAE;UACjFR,MAAM,GAAGX,EAAE,CAACoB,OAAZ;QACH,CAFD,MAEO;UACHT,MAAM,GAAGX,EAAE,CAACoB,OAAZ;QACH;MACJ,CAbD;IAcH,CAfD;EAgBH;;EAED,IAAI,CAACT,MAAL,EAAa;IACTC,MAAM,CAACC,IAAP,CAAYJ,iBAAZ,EAA+BK,OAA/B,CAAuC,UAAAC,KAAK,EAAI;MAC5CN,iBAAiB,CAACM,KAAD,CAAjB,CAAyBD,OAAzB,CAAiC,UAAAd,EAAE,EAAI;QACnC,IAAIA,EAAE,CAACgB,QAAP,EAAiB;UACb;QACH;;QACDL,MAAM,GAAGX,EAAE,CAACoB,OAAZ;MACH,CALD;IAMH,CAPD;EAQH;;EAED,OAAOT,MAAP;AACH;;IAGKY,Y;;;;;;;;;;;;;6GACF;QAAA;QAAA;UAAA;YAAA;cAAA;gBACI;gBAEIC,QAHR,GAGmBC,MAAM,CAACC,QAAP,CAAgBF,QAHnC;;gBAAA,KAIQ,KAAKG,KAAL,CAAWC,MAAX,CAAkBC,OAJ1B;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAMoC,KAAKF,KAAL,CAAWG,MAAX,CAAkBC,kBAAlB,EANpC;;cAAA;gBAMcC,aANd;gBAAA;gBAAA,OAOkC,KAAKL,KAAL,CAAWG,MAAX,CAAkBG,SAAlB,0BAA8CD,aAA9C,EAPlC;;cAAA;gBAOcE,WAPd;gBAAA;gBAAA,OAQ8B,KAAKP,KAAL,CAAWG,MAAX,CAAkBG,SAAlB,uBAA2CC,WAAW,CAACC,MAAZ,CAAmBC,IAA9D,EAR9B;;cAAA;gBAQcC,OARd;gBAUcrC,EAVd,GAUmBM,wBAAwB,CAAC+B,OAAD,EAAUZ,MAAM,CAACC,QAAP,CAAgBF,QAA1B,CAV3C;;gBAAA,KAWYxB,EAXZ;kBAAA;kBAAA;gBAAA;;gBAYYwB,QAAQ,aAAMxB,EAAN,cAAYyB,MAAM,CAACC,QAAP,CAAgBY,IAA5B,CAAR;gBAZZ;gBAAA;;cAAA;gBAcYC,OAAO,CAACC,IAAR,2CAAgDN,WAAW,CAACC,MAAZ,CAAmBC,IAAnE,kBAA+EF,WAAW,CAACO,GAA3F;gBAdZ,iCAemB,IAfnB;;cAAA;gBAkBI,KAAKC,QAAL,CAAe;kBAAEC,MAAM,EAAE,EAAV;kBAAcC,QAAQ,EAAE,EAAxB;kBAA4BpB,QAAQ,EAARA;gBAA5B,CAAf;;cAlBJ;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAqBA,6BAAoB;MAAA;;MAChB,IAAI,KAAKqB,KAAL,CAAWF,MAAf,EAAuB;QACnB,oBAAO,gCAAC,kBAAD;UAAa,IAAI,EAAE,KAAKE,KAAL,CAAWF,MAA9B;UAAsC,OAAO,EAAEG,SAA/C;UAA0D,OAAO,EAAE;YAAA,OAAM,KAAI,CAACJ,QAAL,CAAc;cAACC,MAAM,EAAE;YAAT,CAAd,CAAN;UAAA;QAAnE,EAAP;MACH,CAFD,MAEO;QACH,OAAO,IAAP;MACH;IACJ;;;WAED,+BAAsB;MAAA;;MAClB,IAAI,KAAKE,KAAL,CAAWD,QAAf,EAAyB;QACrB,oBAAO,gCAAC,mBAAD;UAAe,IAAI,EAAE,KAAKC,KAAL,CAAWD,QAAhC;UAA0C,OAAO,EAAEE,SAAnD;UAA8D,OAAO,EAAE;YAAA,OAAM,MAAI,CAACJ,QAAL,CAAc;cAACC,MAAM,EAAE;YAAT,CAAd,CAAN;UAAA;QAAvE,EAAP;MACH,CAFD,MAEO;QACH,OAAO,IAAP;MACH;IACJ;;;WAED,oBAAW;MAAA;;MACP,KAAKhB,KAAL,CAAWoB,gBAAX,CAA4B,IAA5B;;MAEA,IAAMC,OAAO,aAAMvB,MAAM,CAACC,QAAP,CAAgBuB,QAAtB,eAAmCxB,MAAM,CAACC,QAAP,CAAgBU,IAAnD,SAA0DX,MAAM,CAACC,QAAP,CAAgBwB,QAAhB,CAAyBC,OAAzB,CAAiC,gBAAjC,EAAmD,EAAnD,CAA1D,CAAb;;MACA,IAAMC,SAAS,aAAM3B,MAAM,CAACC,QAAP,CAAgBuB,QAAtB,eAAmC,KAAKJ,KAAL,CAAWrB,QAAX,CAAoBvB,KAApB,CAA0B,GAA1B,EAA+BoD,MAA/B,GAAwC,CAAxC,cAAgD,KAAKR,KAAL,CAAWrB,QAA3D,SAAyE,KAAKqB,KAAL,CAAWrB,QAAvH,SAAkIC,MAAM,CAACC,QAAP,CAAgBwB,QAAhB,CAAyBC,OAAzB,CAAiC,gBAAjC,EAAmD,EAAnD,CAAlI,CAAf;;MAEA,IAAIG,IAAI,GAAG,KAAK3B,KAAL,CAAWC,MAAX,CAAkB0B,IAA7B;;MACA,IAAIA,IAAI,KAAKR,SAAT,IAAsB,KAAKnB,KAAL,CAAWC,MAAX,CAAkB2B,QAA5C,EAAsD;QAClDD,IAAI,GAAG,KAAKE,UAAL,CAAgB,KAAK7B,KAAL,CAAWC,MAAX,CAAkB2B,QAAlC;UACHP,OAAO,EAAPA,OADG;UAEHI,SAAS,EAATA;QAFG,GAGA,KAAKzB,KAAL,CAAW2B,IAHX,EAAP;;QAKA,IAAI;UACAA,IAAI,GAAGG,IAAI,CAACC,KAAL,CAAWJ,IAAX,CAAP;QACH,CAFD,CAEE,OAAOK,CAAP,EAAU;UACRpB,OAAO,CAACqB,KAAR,CAAc,6BAA6BN,IAA3C;QACH;MACJ;;MACD,IAAIA,IAAI,KAAKR,SAAb,EAAwB;QACpBQ,IAAI,GAAG,IAAP;MACH;;MACD,IAAI,KAAK3B,KAAL,CAAWC,MAAX,CAAkBC,OAAlB,IAA6B,CAACyB,IAAlC,EAAwC;QACpCA,IAAI,GAAG;UACHN,OAAO,EAAPA,OADG;UAEHI,SAAS,EAATA;QAFG,CAAP;MAIH;;MAED,KAAKzB,KAAL,CAAWG,MAAX,CAAkB+B,MAAlB,WACO,KAAKlC,KAAL,CAAWmC,WADlB,cACiC,KAAKnC,KAAL,CAAWoC,QAD5C,GAEI,KAAKpC,KAAL,CAAWC,MAAX,CAAkBoC,OAAlB,IAA6B,MAFjC,EAGIV,IAHJ,EAKKW,IALL,CAKU,UAAAC,QAAQ,EAAI;QACd,IAAIA,QAAJ,aAAIA,QAAJ,eAAIA,QAAQ,CAAEN,KAAd,EAAqB;UACjB,IAAI,MAAI,CAACjC,KAAL,CAAWC,MAAX,CAAkBgC,KAAlB,IAA2B,MAAI,CAACjC,KAAL,CAAWC,MAAX,CAAkBgC,KAAlB,CAAwBM,QAAQ,CAACN,KAAjC,CAA/B,EAAwE;YACpE,IAAIA,KAAK,GAAG,MAAI,CAACO,OAAL,CAAa,MAAI,CAACxC,KAAL,CAAWC,MAAX,CAAkBgC,KAAlB,CAAwBM,QAAQ,CAACN,KAAjC,CAAb,CAAZ;;YACA,IAAIM,QAAQ,CAACE,IAAb,EAAmB;cACfF,QAAQ,CAACE,IAAT,CAActD,OAAd,CAAsB,UAAAuD,GAAG;gBAAA,OAAIT,KAAK,GAAGA,KAAK,CAACT,OAAN,CAAc,IAAd,EAAoBkB,GAApB,CAAZ;cAAA,CAAzB;YACH;;YACD,MAAI,CAAC3B,QAAL,CAAc;cAACC,MAAM,EAAEiB;YAAT,CAAd;UACH,CAND,MAMO;YACH,MAAI,CAAClB,QAAL,CAAc;cAACC,MAAM,EAAEuB,QAAQ,CAACN,KAAT,GAAiBU,gBAAA,CAAKC,CAAL,CAAOL,QAAQ,CAACN,KAAhB,CAAjB,GAA0CU,gBAAA,CAAKC,CAAL,CAAO,UAAP;YAAnD,CAAd;UACH;QACJ,CAVD,MAUO;UACH,IAAIL,QAAQ,SAAR,IAAAA,QAAQ,WAAR,IAAAA,QAAQ,CAAErC,OAAV,IAAqB,MAAI,CAACF,KAAL,CAAWC,MAAX,CAAkBC,OAA3C,EAAoD;YAChDJ,MAAM,CAAC+C,IAAP,CAAYN,QAAQ,CAACrC,OAArB,EAA8BqC,QAAQ,CAACzC,MAAT,IAAmB,MAAI,CAACE,KAAL,CAAWC,MAAX,CAAkBH,MAArC,IAA+C,QAA7E;UACH,CAFD,MAGA,IAAIyC,QAAQ,SAAR,IAAAA,QAAQ,WAAR,IAAAA,QAAQ,CAAEO,MAAV,IAAoB,MAAI,CAAC9C,KAAL,CAAWC,MAAX,CAAkB6C,MAAtC,IAAgD,MAAI,CAAC9C,KAAL,CAAWC,MAAX,CAAkB6C,MAAlB,CAAyBP,QAAQ,CAACO,MAAlC,CAApD,EAA+F;YAC3F,IAAIC,IAAI,GAAG,MAAI,CAACP,OAAL,CAAa,MAAI,CAACxC,KAAL,CAAWC,MAAX,CAAkB6C,MAAlB,CAAyBP,QAAQ,CAACO,MAAlC,CAAb,CAAX;;YACA,IAAIP,QAAQ,CAACE,IAAb,EAAmB;cACfF,QAAQ,CAACE,IAAT,CAActD,OAAd,CAAsB,UAAAuD,GAAG;gBAAA,OAAIK,IAAI,GAAGA,IAAI,CAACvB,OAAL,CAAa,IAAb,EAAmBkB,GAAnB,CAAX;cAAA,CAAzB;YACH;;YACD5C,MAAM,CAACkD,KAAP,CAAaD,IAAb;UACH,CAND,MAMO;YACH,IAAIR,QAAJ,aAAIA,QAAJ,eAAIA,QAAQ,CAAEO,MAAd,EAAsB;cAClBhD,MAAM,CAACkD,KAAP,CAAa,yBAAOT,QAAQ,CAACO,MAAhB,MAA2B,QAA3B,GAAsChB,IAAI,CAACmB,SAAL,CAAeV,QAAQ,CAACO,MAAxB,CAAtC,GAAwEP,QAAQ,CAACO,MAA9F;YACH,CAFD,MAEO;cACHhD,MAAM,CAACkD,KAAP,CAAaL,gBAAA,CAAKC,CAAL,CAAO,OAAP,CAAb;YACH;UACJ;;UAED,IAAIL,QAAJ,aAAIA,QAAJ,eAAIA,QAAQ,CAAEW,UAAd,EAA0B;YACtB,MAAI,CAAClD,KAAL,CAAWmD,QAAX,CAAoB,IAApB,EAA0B,IAA1B,EAAgC,IAAhC,EAAsC,IAAtC;UACH;QACJ;MACJ,CAtCL,WAuCW,UAAAnB,CAAC,EAAI;QACR,IAAI,MAAI,CAAChC,KAAL,CAAWC,MAAX,CAAkBgC,KAAlB,IAA2B,MAAI,CAACjC,KAAL,CAAWC,MAAX,CAAkBgC,KAAlB,CAAwBD,CAAC,CAACoB,QAAF,EAAxB,CAA/B,EAAsE;UAClE,MAAI,CAACrC,QAAL,CAAc;YAACC,MAAM,EAAE,MAAI,CAACwB,OAAL,CAAa,MAAI,CAACxC,KAAL,CAAWC,MAAX,CAAkBgC,KAAlB,CAAwBD,CAAC,CAACoB,QAAF,EAAxB,CAAb;UAAT,CAAd;QACH,CAFD,MAEO;UACH,MAAI,CAACrC,QAAL,CAAc;YAACC,MAAM,EAAE2B,gBAAA,CAAKC,CAAL,CAAOZ,CAAC,CAACoB,QAAF,EAAP,KAAwBT,gBAAA,CAAKC,CAAL,CAAO,UAAP;UAAjC,CAAd;QACH;MACJ,CA7CL,EA8CKN,IA9CL,CA8CU;QAAA,OAAM,MAAI,CAACtC,KAAL,CAAWoB,gBAAX,CAA4B,KAA5B,CAAN;MAAA,CA9CV;IA+CH;;;WAED,+BAAsB;MAAA;;MAClB,IAAI,CAAC,KAAKF,KAAL,CAAWmC,aAAhB,EAA+B;QAC3B,OAAO,IAAP;MACH;;MACD,IAAMC,OAAO,GAAG,KAAKpC,KAAL,CAAWqC,WAAX,IAA0B,KAAKvD,KAAL,CAAWC,MAAX,CAAkBqD,OAA5D;MACA,IAAIrF,IAAI,GAAG,IAAX;;MACA,IAAIqF,OAAO,CAACE,IAAR,KAAiB,SAArB,EAAgC;QAC5BvF,IAAI,gBAAG,gCAAC,mBAAD,OAAP;MACH,CAFD,MAEO,IAAIqF,OAAO,CAACE,IAAR,KAAiB,OAArB,EAA8B;QACjCvF,IAAI,gBAAG,gCAAC,iBAAD,OAAP;MACH,CAFM,MAEA,IAAIqF,OAAO,CAACE,IAAR,KAAiB,MAArB,EAA6B;QAChCvF,IAAI,gBAAG,gCAAC,gBAAD,OAAP;MACH;;MAED,oBAAO,gCAAC,mBAAD;QACH,KAAK,EAAG,KAAKuE,OAAL,CAAac,OAAO,CAACG,KAArB,KAA+Bd,gBAAA,CAAKC,CAAL,CAAO,mBAAP,CADpC;QAEH,IAAI,EAAG,KAAKJ,OAAL,CAAac,OAAO,CAACP,IAArB,CAFJ;QAGH,EAAE,EAAG,KAAKP,OAAL,CAAac,OAAO,CAACI,EAArB,KAA4Bf,gBAAA,CAAKC,CAAL,CAAO,OAAP,CAH9B;QAIH,MAAM,EAAG,KAAKJ,OAAL,CAAac,OAAO,CAACK,MAArB,KAAgChB,gBAAA,CAAKC,CAAL,CAAO,WAAP,CAJtC;QAKH,IAAI,EAAE3E,IALH;QAMH,OAAO,EAAE,iBAAA2F,IAAI;UAAA,OACT,MAAI,CAAC7C,QAAL,CAAc;YAAEsC,aAAa,EAAE;UAAjB,CAAd,EAAuC;YAAA,OACnCO,IAAI,IAAI,MAAI,CAACC,QAAL,EAD2B;UAAA,CAAvC,CADS;QAAA;MANV,EAAP;IAWH;;;WAED,mBAAU;MACN,IAAI5F,IAAI,GAAG,IAAX;;MACA,IAAI,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC,IAAlB,KAA2B,MAA/B,EAAuC;QACnCA,IAAI,gBAAG,gCAAC,eAAD,OAAP;MACH,CAFD,MAEO,IAAI,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC,IAAlB,KAA2B,MAA/B,EAAuC;QAC1CA,IAAI,gBAAG,gCAAC,gBAAD,OAAP;MACH,CAFM,MAEA,IAAI,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC,IAAlB,KAA2B,KAA/B,EAAsC;QACzCA,IAAI,gBAAG,gCAAC,kBAAD,OAAP;MACH,CAFM,MAEA,IAAI,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC,IAAlB,KAA2B,SAA/B,EAA0C;QAC7CA,IAAI,gBAAG,gCAAC,mBAAD,OAAP;MACH,CAFM,MAEA,IAAI,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC,IAAlB,KAA2B,OAA/B,EAAwC;QAC3CA,IAAI,gBAAG,gCAAC,iBAAD,OAAP;MACH,CAFM,MAEA,IAAI,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC,IAAlB,KAA2B,MAA/B,EAAuC;QAC1CA,IAAI,gBAAG,gCAAC,gBAAD,OAAP;MACH,CAFM,MAEA,IAAI,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC,IAAtB,EAA4B;QAC/BA,IAAI,gBAAG,gCAAC,gBAAD;UAAM,GAAG,EAAE,KAAK+B,KAAL,CAAWC,MAAX,CAAkBhC;QAA7B,EAAP;MACH;;MAED,OAAOA,IAAP;IACH;;;WAED,oBAAWgE,KAAX,EAAkB6B,QAAlB,EAA4BC,YAA5B,EAA0C;MAAA;;MACtC,IAAI9F,IAAI,GAAG,KAAK+F,OAAL,EAAX;MAEA,oBAAO;QAAK,SAAS,EAAE,KAAKhE,KAAL,CAAWiE,OAAX,CAAmBlG;MAAnC,gBACH,gCAAC,kBAAD;QACI,OAAO,EAAE,KAAKiC,KAAL,CAAWC,MAAX,CAAkBiE,OAAlB,IAA6B/C,SAD1C;QAEI,KAAK,EAAE,KAAKnB,KAAL,CAAWC,MAAX,CAAkBkE,KAAlB,IAA2B,MAFtC;QAGI,SAAS,EAAE,KAAKnE,KAAL,CAAWiE,OAAX,CAAmBlG,SAHlC;QAII,QAAQ,EAAE+F,QAJd;QAKI,SAAS,EAAE7F,IALf;QAMI,OAAO,EAAE,mBAAM;UACX,IAAI,MAAI,CAAC+B,KAAL,CAAWC,MAAX,CAAkBqD,OAAtB,EAA+B;YAC3B,MAAI,CAACvC,QAAL,CAAc;cAAEsC,aAAa,EAAE;YAAjB,CAAd;UACH,CAFD,MAEO;YACH,MAAI,CAACQ,QAAL;UACH;QACJ;MAZL,GAcK,KAAKrB,OAAL,CAAa,KAAKxC,KAAL,CAAWC,MAAX,CAAkBmE,KAA/B,EAAsC,KAAKpE,KAAL,CAAWC,MAAX,CAAkBoE,aAAxD,CAdL,CADG,EAiBF,KAAKC,iBAAL,EAjBE,EAkBF,KAAKC,mBAAL,EAlBE,CAAP;IAoBH;;;EA3LsBC,0B;;AA8L3B5E,YAAY,CAAC6E,SAAb,GAAyB;EACrBtE,MAAM,EAAEuE,qBAAA,CAAUC,MAAV,CAAiBC,UADJ;EAErBC,SAAS,EAAEH,qBAAA,CAAUI,MAFA;EAGrBC,SAAS,EAAEL,qBAAA,CAAUI,MAHA;EAIrBE,KAAK,EAAEN,qBAAA,CAAUC,MAJI;EAKrBM,SAAS,EAAEP,qBAAA,CAAUI,MALA;EAMrBnD,IAAI,EAAE+C,qBAAA,CAAUC,MAAV,CAAiBC,UANF;EAOrB3E,MAAM,EAAEyE,qBAAA,CAAUC,MAPG;EAQrBO,OAAO,EAAER,qBAAA,CAAUS,IARE;EASrBhC,QAAQ,EAAEuB,qBAAA,CAAUS,IATC;EAUrBhD,WAAW,EAAEuC,qBAAA,CAAUI,MAVF;EAWrB1C,QAAQ,EAAEsC,qBAAA,CAAUU,MAXC;EAYrBC,cAAc,EAAEX,qBAAA,CAAUY,IAZL;EAarBlE,gBAAgB,EAAEsD,qBAAA,CAAUS;AAbP,CAAzB;;eAgBe,IAAAI,kBAAA,EAAWzH,MAAX,EAAmB8B,YAAnB,C"}
|
|
1
|
+
{"version":3,"file":"ConfigSendto.js","names":["styles","fullWidth","width","icon","height","marginRight","ip2int","ip","split","reduce","ipInt","octet","parseInt","findNetworkAddressOfHost","obj","localIp","networkInterfaces","hardware","hostIp","Object","keys","forEach","inter","internal","includes","family","match","address","startsWith","netmask","ConfigSendto","hostname","window","location","props","schema","openUrl","socket","getCurrentInstance","adminInstance","getObject","instanceObj","common","host","hostObj","port","console","warn","_id","setState","_error","_message","state","undefined","onCommandRunning","_origin","protocol","pathname","replace","_originIp","length","data","jsonData","getPattern","JSON","parse","e","error","sendTo","adapterName","instance","command","then","response","getText","args","arg","I18n","t","open","result","text","alert","stringify","saveConfig","onChange","toString","confirmDialog","confirm","confirmData","type","title","ok","cancel","isOk","_onClick","disabled","defaultValue","getIcon","classes","variant","color","label","noTranslation","renderErrorDialog","renderMessageDialog","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","number","commandRunning","bool","withStyles"],"sources":["JsonConfigComponent/ConfigSendto.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconAuth from '@mui/icons-material/Key';\nimport IconSend from '@mui/icons-material/Send';\nimport IconWeb from '@mui/icons-material/Public';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\nimport DialogError from '../../Dialogs/Error';\nimport DialogMessage from '../../Dialogs/Message';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nfunction ip2int(ip) {\n return ip.split('.').reduce((ipInt, octet) => (ipInt << 8) + parseInt(octet, 10), 0) >>> 0;\n}\n\n// copied from iobroker.admin/src-rx/src/Utils.js\nfunction findNetworkAddressOfHost(obj, localIp) {\n const networkInterfaces = obj?.native?.hardware?.networkInterfaces;\n if (!networkInterfaces) {\n return null;\n }\n\n let hostIp;\n\n // check ipv4 addresses\n Object.keys(networkInterfaces).forEach(inter =>\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n } else if (localIp.includes(':') && ip.family !== 'IPv6') {\n return;\n } else if (localIp.includes('.') && !localIp.match(/[^.\\d]/) && ip.family !== 'IPv4') {\n return;\n }\n // if ip4 and not docker or wsl\n if (ip.family === 'IPv4' && !ip.address.startsWith('172') && (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\\d]/))) { // if DNS name\n hostIp = ip.address;\n } else if (!hostIp) {\n if (ip.family === 'IPv4' && localIp.includes('.') &&\n (ip2int(localIp) & ip2int(ip.netmask)) === (ip2int(ip.address) & ip2int(ip.netmask))) {\n hostIp = ip.address;\n } else {\n hostIp = ip.address;\n }\n }\n }));\n\n // check ipv6 addresses\n if (!hostIp) {\n Object.keys(networkInterfaces).forEach(inter =>\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n } else if (localIp.includes(':') && ip.family !== 'IPv6') {\n return;\n } else if (localIp.includes('.') && !localIp.match(/[^.\\d]/) && ip.family !== 'IPv4') {\n return;\n }\n if (ip.family === 'IPv6' && (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\\d]/))) { // if DNS name\n hostIp = ip.address;\n } else if (!hostIp) {\n if (ip.family === 'IPv4' && localIp.includes('.') &&\n (ip2int(localIp) & ip2int(ip.netmask)) === (ip2int(ip.address) & ip2int(ip.netmask))) {\n hostIp = ip.address;\n } else {\n hostIp = ip.address;\n }\n }\n }));\n }\n\n if (!hostIp) {\n Object.keys(networkInterfaces).forEach(inter => {\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n } else if (localIp.includes(':') && ip.family !== 'IPv6') {\n return;\n } else if (localIp.includes('.') && !localIp.match(/[^.\\d]/) && ip.family !== 'IPv4') {\n return;\n }\n if (localIp === '127.0.0.0' || localIp === 'localhost' || localIp.match(/[^.\\d]/)) { // if DNS name\n hostIp = ip.address;\n } else {\n hostIp = ip.address;\n }\n });\n });\n }\n\n if (!hostIp) {\n Object.keys(networkInterfaces).forEach(inter => {\n networkInterfaces[inter].forEach(ip => {\n if (ip.internal) {\n return;\n }\n hostIp = ip.address;\n });\n });\n }\n\n return hostIp;\n}\n\n\nclass ConfigSendto extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n\n let hostname = window.location.hostname;\n if (this.props.schema.openUrl) {\n // read admin host\n const adminInstance = await this.props.socket.getCurrentInstance();\n const instanceObj = await this.props.socket.getObject(`system.adapter.${adminInstance}`);\n const hostObj = await this.props.socket.getObject(`system.host.${instanceObj.common.host}`);\n\n const ip = findNetworkAddressOfHost(hostObj, window.location.hostname);\n if (ip) {\n hostname = `${ip}:${window.location.port}`;\n } else {\n console.warn(`Cannot find suitable IP in host ${instanceObj.common.host} for ${instanceObj._id}`);\n return null;\n }\n }\n this.setState( { _error: '', _message: '', hostname });\n }\n\n renderErrorDialog() {\n if (this.state._error) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state._message) {\n return <DialogMessage text={this.state._message} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n _onClick() {\n this.props.onCommandRunning(true);\n\n const _origin = `${window.location.protocol}//${window.location.host}${window.location.pathname.replace(/\\/index\\.html$/, '')}`\n const _originIp = `${window.location.protocol}//${this.state.hostname.split(':').length > 3 ? `[${this.state.hostname}]` : this.state.hostname}${window.location.pathname.replace(/\\/index\\.html$/, '')}`\n\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {\n _origin,\n _originIp,\n ...this.props.data\n });\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n if (data === undefined) {\n data = null;\n }\n if (this.props.schema.openUrl && !data) {\n data = {\n _origin,\n _originIp,\n }\n }\n\n this.props.socket.sendTo(\n `${this.props.adapterName}.${this.props.instance}`,\n this.props.schema.command || 'send',\n data\n )\n .then(response => {\n if (response?.error) {\n if (this.props.schema.error && this.props.schema.error[response.error]) {\n let error = this.getText(this.props.schema.error[response.error]);\n if (response.args) {\n response.args.forEach(arg => error = error.replace('%s', arg));\n }\n this.setState({_error: error});\n } else {\n this.setState({_error: response.error ? I18n.t(response.error) : I18n.t('ra_Error')});\n }\n } else {\n if (response?.openUrl && this.props.schema.openUrl) {\n window.open(response.openUrl, response.window || this.props.schema.window || '_blank');\n } else\n if (response?.result && this.props.schema.result && this.props.schema.result[response.result]) {\n let text = this.getText(this.props.schema.result[response.result]);\n if (response.args) {\n response.args.forEach(arg => text = text.replace('%s', arg));\n }\n window.alert(text);\n } else {\n if (response?.result) {\n window.alert(typeof response.result === 'object' ? JSON.stringify(response.result) : response.result);\n } else {\n window.alert(I18n.t('ra_Ok'));\n }\n }\n\n if (response?.saveConfig) {\n this.props.onChange(null, null, null, true);\n }\n }\n })\n .catch(e => {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n this.setState({_error: this.getText(this.props.schema.error[e.toString()])});\n } else {\n this.setState({_error: I18n.t(e.toString()) || I18n.t('ra_Error')});\n }\n })\n .then(() => this.props.onCommandRunning(false))\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () =>\n isOk && this._onClick())\n }\n />;\n }\n\n getIcon() {\n let icon = null;\n if (this.props.schema.icon === 'auth') {\n icon = <IconAuth />;\n } else if (this.props.schema.icon === 'send') {\n icon = <IconSend />;\n } else if (this.props.schema.icon === 'web') {\n icon = <IconWeb />;\n } else if (this.props.schema.icon === 'warning') {\n icon = <IconWarning />;\n } else if (this.props.schema.icon === 'error') {\n icon = <IconError />;\n } else if (this.props.schema.icon === 'info') {\n icon = <IconInfo />;\n } else if (this.props.schema.icon) {\n icon = <Icon src={this.props.schema.icon} />;\n }\n\n return icon;\n }\n\n renderItem(error, disabled, defaultValue) {\n let icon = this.getIcon();\n\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n startIcon={icon}\n onClick={() => {\n if (this.props.schema.confirm) {\n this.setState({ confirmDialog: true });\n } else {\n this._onClick();\n }\n }}\n >\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n {this.renderErrorDialog()}\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigSendto.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSendto);"],"mappings":"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"}
|