@iobroker/adapter-react-v5 4.3.3 → 4.4.1
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/LegacyConnection.d.ts +18 -0
- package/LegacyConnection.js +80 -2
- package/LegacyConnection.js.map +1 -1
- package/README.md +3 -0
- package/package.json +4 -4
|
@@ -29,7 +29,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
29
29
|
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; }
|
|
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
|
root: {
|
|
35
35
|
width: '100%',
|
|
@@ -60,24 +60,22 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
60
60
|
if (_this.props.onValueChange) {
|
|
61
61
|
_this.props.onValueChange(data, value, saveConfig);
|
|
62
62
|
cb && cb();
|
|
63
|
-
} else {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
_this.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
_this.props.onChange(null, null, saveConfig);
|
|
80
|
-
}
|
|
63
|
+
} else if (data) {
|
|
64
|
+
var newState = {
|
|
65
|
+
data: data
|
|
66
|
+
};
|
|
67
|
+
var _data = {};
|
|
68
|
+
// remove all attributes starting with "_"
|
|
69
|
+
Object.keys(data).forEach(function (attr) {
|
|
70
|
+
return !attr.startsWith('_') && (_data[attr] = data[attr]);
|
|
71
|
+
});
|
|
72
|
+
newState.changed = JSON.stringify(_data) !== _this.state.originalData;
|
|
73
|
+
_this.setState(newState, function () {
|
|
74
|
+
_this.props.onChange(_data, newState.changed, saveConfig);
|
|
75
|
+
cb && cb();
|
|
76
|
+
});
|
|
77
|
+
} else if (saveConfig) {
|
|
78
|
+
_this.props.onChange(null, null, saveConfig);
|
|
81
79
|
}
|
|
82
80
|
});
|
|
83
81
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onError", function (attr, error) {
|
|
@@ -111,10 +109,8 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
111
109
|
attr.forEach(function (a) {
|
|
112
110
|
return _this.forceUpdateHandlers[a] && _this.forceUpdateHandlers[a](data);
|
|
113
111
|
});
|
|
114
|
-
} else {
|
|
115
|
-
|
|
116
|
-
_this.forceUpdateHandlers[attr](data);
|
|
117
|
-
}
|
|
112
|
+
} else if (_this.forceUpdateHandlers[attr]) {
|
|
113
|
+
_this.forceUpdateHandlers[attr](data);
|
|
118
114
|
}
|
|
119
115
|
});
|
|
120
116
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "registerOnForceUpdate", function (attr, cb) {
|
|
@@ -126,6 +122,7 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
126
122
|
});
|
|
127
123
|
_this.state = {
|
|
128
124
|
originalData: JSON.stringify(_this.props.data),
|
|
125
|
+
// eslint-disable-next-line react/no-unused-state
|
|
129
126
|
changed: false,
|
|
130
127
|
errors: {},
|
|
131
128
|
updateData: _this.props.updateData,
|
|
@@ -145,14 +142,15 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
145
142
|
var _this2 = this;
|
|
146
143
|
if ((this.props.custom || this.props.common) && this.props.data) {
|
|
147
144
|
return Promise.resolve();
|
|
148
|
-
} else {
|
|
149
|
-
return this.props.socket.getObject("system.adapter.".concat(this.props.adapterName, ".").concat(this.props.instance)).then(function (obj) {
|
|
150
|
-
return _this2.setState({
|
|
151
|
-
common: obj.common,
|
|
152
|
-
data: _this2.props.data || obj["native"]
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
145
|
}
|
|
146
|
+
return this.props.socket.getObject("system.adapter.".concat(this.props.adapterName, ".").concat(this.props.instance))
|
|
147
|
+
// eslint-disable-next-line react/no-unused-state
|
|
148
|
+
.then(function (obj) {
|
|
149
|
+
return _this2.setState({
|
|
150
|
+
common: obj.common,
|
|
151
|
+
data: _this2.props.data || obj["native"]
|
|
152
|
+
});
|
|
153
|
+
});
|
|
156
154
|
}
|
|
157
155
|
}, {
|
|
158
156
|
key: "readData",
|
|
@@ -322,7 +320,8 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
322
320
|
return _this5.onError(attr, error);
|
|
323
321
|
}
|
|
324
322
|
});
|
|
325
|
-
}
|
|
323
|
+
}
|
|
324
|
+
if (item.type === 'panel' || !item.type) {
|
|
326
325
|
return /*#__PURE__*/_react["default"].createElement(_ConfigPanel["default"], {
|
|
327
326
|
index: 1000,
|
|
328
327
|
isParentTab: true,
|
|
@@ -356,6 +355,7 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
356
355
|
}
|
|
357
356
|
});
|
|
358
357
|
}
|
|
358
|
+
return null;
|
|
359
359
|
}
|
|
360
360
|
}, {
|
|
361
361
|
key: "render",
|
|
@@ -376,9 +376,8 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
376
376
|
originalData: JSON.stringify(props.data),
|
|
377
377
|
schema: JSON.parse(JSON.stringify(props.schema))
|
|
378
378
|
};
|
|
379
|
-
} else {
|
|
380
|
-
return null;
|
|
381
379
|
}
|
|
380
|
+
return null;
|
|
382
381
|
}
|
|
383
382
|
}, {
|
|
384
383
|
key: "loadI18n",
|
|
@@ -389,7 +388,7 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
389
388
|
while (1) switch (_context.prev = _context.next) {
|
|
390
389
|
case 0:
|
|
391
390
|
if (!(i18n === true || i18n && typeof i18n === 'string')) {
|
|
392
|
-
_context.next =
|
|
391
|
+
_context.next = 46;
|
|
393
392
|
break;
|
|
394
393
|
}
|
|
395
394
|
lang = _i18n["default"].getLanguage();
|
|
@@ -443,7 +442,7 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
443
442
|
}
|
|
444
443
|
case 29:
|
|
445
444
|
if (!fileName) {
|
|
446
|
-
_context.next =
|
|
445
|
+
_context.next = 44;
|
|
447
446
|
break;
|
|
448
447
|
}
|
|
449
448
|
_context.next = 32;
|
|
@@ -466,22 +465,19 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
466
465
|
return _context.abrupt("return", '');
|
|
467
466
|
case 43:
|
|
468
467
|
return _context.abrupt("return", fileName);
|
|
469
|
-
case
|
|
468
|
+
case 44:
|
|
470
469
|
console.warn("Cannot find i18n for ".concat(adapterName, " / ").concat(fileName));
|
|
471
470
|
return _context.abrupt("return", '');
|
|
472
|
-
case
|
|
473
|
-
_context.next = 56;
|
|
474
|
-
break;
|
|
475
|
-
case 50:
|
|
471
|
+
case 46:
|
|
476
472
|
if (!(i18n && (0, _typeof2["default"])(i18n) === 'object')) {
|
|
477
|
-
_context.next =
|
|
473
|
+
_context.next = 49;
|
|
478
474
|
break;
|
|
479
475
|
}
|
|
480
476
|
_i18n["default"].extendTranslations(i18n);
|
|
481
477
|
return _context.abrupt("return", '');
|
|
482
|
-
case
|
|
478
|
+
case 49:
|
|
483
479
|
return _context.abrupt("return", '');
|
|
484
|
-
case
|
|
480
|
+
case 50:
|
|
485
481
|
case "end":
|
|
486
482
|
return _context.stop();
|
|
487
483
|
}
|
|
@@ -514,8 +510,6 @@ JsonConfigComponent.propTypes = {
|
|
|
514
510
|
imagePrefix: _propTypes["default"].string,
|
|
515
511
|
themeType: _propTypes["default"].string,
|
|
516
512
|
themeName: _propTypes["default"].string,
|
|
517
|
-
style: _propTypes["default"].object,
|
|
518
|
-
className: _propTypes["default"].string,
|
|
519
513
|
data: _propTypes["default"].object.isRequired,
|
|
520
514
|
updateData: _propTypes["default"].number,
|
|
521
515
|
schema: _propTypes["default"].object,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_LinearProgress","_i18n","_ConfigTabs","_ConfigPanel","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","styles","theme","root","width","height","JsonConfigComponent","_Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","commandRunning","setState","id","state","val","alive","data","value","cb","saveConfig","onValueChange","newState","_data","attr","startsWith","changed","JSON","stringify","originalData","onChange","error","errorChached","parse","errors","errorTimeout","clearTimeout","setTimeout","onError","forceUpdate","Array","isArray","a","forceUpdateHandlers","updateData","systemConfig","schema","buildDependencies","readData","_createClass2","readSettings","_this2","custom","common","Promise","resolve","socket","getObject","concat","adapterName","instance","then","_this3","getCompactSystemConfig","getState","subscribeState","onAlive","flatten","_list","_this4","items","attrs","_attrs$attr$confirm","_attrs$attr$onChange","_attrs$attr$hidden","_attrs$attr$label","_attrs$attr$help","confirm","alsoDependsOn","_attrs$attr$confirm2","dep","console","warn","replace","confirmDependsOn","depObj","cancel","_attrs$attr$onChange2","onChangeDependsOn","hidden","_attrs$attr$hidden2","hiddenDependsOn","label","_attrs$attr$label2","labelDependsOn","help","_attrs$attr$help2","helpDependsOn","renderItem","item","_this5","type","createElement","onCommandRunning","themeType","themeName","customs","dateFormat","isFloatComma","multiEdit","imagePrefix","customObj","instanceObj","changeLanguage","forceAttrUpdate","registerOnForceUpdate","index","isParentTab","render","className","classes","getDerivedStateFromProps","_loadI18n","_asyncToGenerator2","_regenerator","mark","_callee","i18n","lang","path","exists","fileName","json","wrap","_callee$","_context","prev","next","I18n","getLanguage","fileExists","sent","readFile","file","undefined","extendTranslations","t0","abrupt","_typeof2","stop","loadI18n","_x","_x2","_x3","Component","propTypes","PropTypes","isRequired","string","number","bool","style","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/index.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport LinearProgress from '@mui/material/LinearProgress';\n\nimport I18n from './wrapper/i18n';\n\nimport ConfigTabs from './ConfigTabs';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n root: {\n width: '100%',\n height: '100%',\n },\n});\n\nclass JsonConfigComponent extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n originalData: JSON.stringify(this.props.data),\n changed: false,\n errors: {},\n updateData: this.props.updateData,\n systemConfig: null,\n alive: false,\n commandRunning: false,\n schema: JSON.parse(JSON.stringify(this.props.schema)),\n };\n\n this.forceUpdateHandlers = {};\n\n this.buildDependencies(this.state.schema);\n\n this.readData();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.updateData !== state.updateData) {\n return {\n updateData: props.updateData,\n originalData: JSON.stringify(props.data),\n schema: JSON.parse(JSON.stringify(props.schema)),\n };\n } else {\n return null;\n }\n }\n\n static async loadI18n(socket, i18n, adapterName) {\n if (i18n === true || (i18n && typeof i18n === 'string')) {\n const lang = I18n.getLanguage();\n const path = typeof i18n === 'string' ? i18n : 'i18n';\n let exists = await socket.fileExists(`${adapterName}.admin`, `${path}/${lang}.json`);\n let fileName;\n if (exists) {\n fileName = `${path}/${lang}.json`;\n } else {\n exists = await socket.fileExists(`${adapterName}.admin`, `${path}/${lang}/translations.json`);\n if (exists) {\n fileName = `${path}/${lang}/translations.json`;\n } else if (lang !== 'en') {\n // fallback to english\n exists = await socket.fileExists(`${adapterName}.admin`, `${path}/en.json`);\n if (exists) {\n fileName = `${path}/en.json`;\n } else {\n exists = await socket.fileExists(`${adapterName}.admin`, `${path}/en/translations.json`);\n if (exists) {\n fileName = `${path}/en/translations.json`;\n }\n }\n }\n }\n\n if (fileName) {\n let json = await socket.readFile(`${adapterName}.admin`, fileName);\n if (json.file !== undefined) {\n json = json.file;\n }\n try {\n json = JSON.parse(json);\n // apply file to I18n\n I18n.extendTranslations(json, lang);\n } catch (e) {\n console.error(`Cannot parse language file \"${adapterName}.admin/${fileName}: ${e}`);\n return '';\n }\n return fileName;\n } else {\n console.warn(`Cannot find i18n for ${adapterName} / ${fileName}`);\n return '';\n }\n } else if (i18n && typeof i18n === 'object') {\n I18n.extendTranslations(i18n);\n return '';\n } else {\n return '';\n }\n }\n\n onCommandRunning = commandRunning => this.setState( { commandRunning });\n\n readSettings() {\n if ((this.props.custom || this.props.common) && this.props.data) {\n return Promise.resolve();\n } else {\n return this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`)\n .then(obj => this.setState({ common: obj.common, data: this.props.data || obj.native }));\n }\n }\n\n readData() {\n this.readSettings()\n .then(() => this.props.socket.getCompactSystemConfig())\n .then(systemConfig =>\n this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`)\n .then(state => {\n if (this.props.custom) {\n this.setState({ systemConfig: systemConfig.common, alive: !!(state && state.val) });\n } else {\n this.setState({ systemConfig: systemConfig.common, alive: !!(state && state.val) }, () =>\n this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`, this.onAlive));\n }\n }));\n }\n\n onAlive = (id, state) => {\n if ((state?.val || false) !== this.state.alive) {\n this.setState({ alive: state?.val || false });\n }\n }\n\n onChange = (data, value, cb, saveConfig) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(data, value, saveConfig);\n cb && cb();\n } else {\n if (data) {\n const newState = { data };\n\n const _data = {};\n // remove all attributes starting with \"_\"\n Object.keys(data).forEach(attr => !attr.startsWith('_') && (_data[attr] = data[attr]));\n\n newState.changed = JSON.stringify(_data) !== this.state.originalData;\n\n this.setState(newState, () => {\n this.props.onChange(_data, newState.changed, saveConfig);\n cb && cb();\n });\n } else if (saveConfig) {\n this.props.onChange(null, null, saveConfig);\n }\n }\n }\n\n onError = (attr, error) => {\n this.errorChached = this.errorChached || JSON.parse(JSON.stringify(this.state.errors));\n const errors = this.errorChached;\n if (error) {\n errors[attr] = error;\n } else {\n delete errors[attr];\n }\n\n this.errorTimeout && clearTimeout(this.errorTimeout);\n if (JSON.stringify(errors) !== JSON.stringify(this.state.errors)) {\n this.errorTimeout = setTimeout(() =>\n this.setState({ errors: this.errorChached }, () => {\n this.errorTimeout = null;\n this.errorChached = null;\n this.props.onError(!!Object.keys(this.state.errors).length);\n }), 50);\n } else {\n this.errorChached = null;\n }\n }\n\n flatten(schema, _list) {\n _list = _list || {};\n if (schema.items) {\n Object.keys(schema.items).forEach(attr => {\n _list[attr] = schema.items[attr];\n this.flatten(schema.items[attr], _list);\n });\n }\n\n return _list;\n }\n\n buildDependencies(schema) {\n const attrs = this.flatten(schema);\n Object.keys(attrs).forEach(attr => {\n if (attrs[attr].confirm?.alsoDependsOn) {\n attrs[attr].confirm?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].confirmDependsOn = attrs[dep].confirmDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n if (depObj.confirm) {\n depObj.confirm.cancel = 'Undo';\n }\n\n attrs[dep].confirmDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].onChange?.alsoDependsOn) {\n attrs[attr].onChange?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].onChangeDependsOn = attrs[dep].onChangeDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].onChangeDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].hidden?.alsoDependsOn) {\n attrs[attr].hidden?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].hiddenDependsOn = attrs[dep].hiddenDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].hiddenDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].label?.alsoDependsOn) {\n attrs[attr].label?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].labelDependsOn = attrs[dep].labelDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].labelDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].help?.alsoDependsOn) {\n attrs[attr].help?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].helpDependsOn = attrs[dep].helpDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].helpDependsOn.push(depObj);\n }\n });\n }\n });\n }\n\n renderItem(item) {\n if (item.type === 'tabs') {\n return <ConfigTabs\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n } else if (item.type === 'panel' || !item.type) {\n return <ConfigPanel\n index={1000}\n isParentTab\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n }\n }\n\n changeLanguage = () => {\n this.forceUpdate();\n }\n\n forceAttrUpdate = (attr, data) => {\n if (Array.isArray(attr)) {\n attr.forEach(a =>\n this.forceUpdateHandlers[a] && this.forceUpdateHandlers[a](data));\n } else {\n if (this.forceUpdateHandlers[attr]) {\n this.forceUpdateHandlers[attr](data);\n }\n }\n }\n\n registerOnForceUpdate = (attr, cb) => {\n if (cb) {\n this.forceUpdateHandlers[attr] = cb;\n } else if (this.forceUpdateHandlers[attr]) {\n delete this.forceUpdateHandlers[attr];\n }\n }\n\n render() {\n if (!this.state.systemConfig) {\n return <LinearProgress />;\n }\n\n return <div className={this.props.classes.root}>\n {this.renderItem(this.state.schema)}\n </div>;\n }\n}\n\nJsonConfigComponent.propTypes = {\n socket: PropTypes.object.isRequired,\n\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n common: PropTypes.object,\n customs: PropTypes.object, // custom components\n\n custom: PropTypes.bool, // is the customs settings must be shown\n customObj: PropTypes.object,\n multiEdit: PropTypes.bool, // set if user edits more than one object simultaneously\n instanceObj: PropTypes.object,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n imagePrefix: PropTypes.string,\n\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n updateData: PropTypes.number,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onValueChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(JsonConfigComponent);"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_LinearProgress","_i18n","_ConfigTabs","_ConfigPanel","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","styles","root","width","height","JsonConfigComponent","_Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","commandRunning","setState","id","state","val","alive","data","value","cb","saveConfig","onValueChange","newState","_data","attr","startsWith","changed","JSON","stringify","originalData","onChange","error","errorChached","parse","errors","errorTimeout","clearTimeout","setTimeout","onError","forceUpdate","Array","isArray","a","forceUpdateHandlers","updateData","systemConfig","schema","buildDependencies","readData","_createClass2","readSettings","_this2","custom","common","Promise","resolve","socket","getObject","concat","adapterName","instance","then","_this3","getCompactSystemConfig","getState","subscribeState","onAlive","flatten","_list","_this4","items","attrs","_attrs$attr$confirm","_attrs$attr$onChange","_attrs$attr$hidden","_attrs$attr$label","_attrs$attr$help","confirm","alsoDependsOn","_attrs$attr$confirm2","dep","console","warn","replace","confirmDependsOn","depObj","cancel","_attrs$attr$onChange2","onChangeDependsOn","hidden","_attrs$attr$hidden2","hiddenDependsOn","label","_attrs$attr$label2","labelDependsOn","help","_attrs$attr$help2","helpDependsOn","renderItem","item","_this5","type","createElement","onCommandRunning","themeType","themeName","customs","dateFormat","isFloatComma","multiEdit","imagePrefix","customObj","instanceObj","changeLanguage","forceAttrUpdate","registerOnForceUpdate","index","isParentTab","render","className","classes","getDerivedStateFromProps","_loadI18n","_asyncToGenerator2","_regenerator","mark","_callee","i18n","lang","path","exists","fileName","json","wrap","_callee$","_context","prev","next","I18n","getLanguage","fileExists","sent","readFile","file","undefined","extendTranslations","t0","abrupt","_typeof2","stop","loadI18n","_x","_x2","_x3","Component","propTypes","PropTypes","isRequired","string","number","bool","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/index.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport LinearProgress from '@mui/material/LinearProgress';\n\nimport I18n from './wrapper/i18n';\n\nimport ConfigTabs from './ConfigTabs';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = () => ({\n root: {\n width: '100%',\n height: '100%',\n },\n});\n\nclass JsonConfigComponent extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n originalData: JSON.stringify(this.props.data),\n // eslint-disable-next-line react/no-unused-state\n changed: false,\n errors: {},\n updateData: this.props.updateData,\n systemConfig: null,\n alive: false,\n commandRunning: false,\n schema: JSON.parse(JSON.stringify(this.props.schema)),\n };\n\n this.forceUpdateHandlers = {};\n\n this.buildDependencies(this.state.schema);\n\n this.readData();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.updateData !== state.updateData) {\n return {\n updateData: props.updateData,\n originalData: JSON.stringify(props.data),\n schema: JSON.parse(JSON.stringify(props.schema)),\n };\n }\n return null;\n }\n\n static async loadI18n(socket, i18n, adapterName) {\n if (i18n === true || (i18n && typeof i18n === 'string')) {\n const lang = I18n.getLanguage();\n const path = typeof i18n === 'string' ? i18n : 'i18n';\n let exists = await socket.fileExists(`${adapterName}.admin`, `${path}/${lang}.json`);\n let fileName;\n if (exists) {\n fileName = `${path}/${lang}.json`;\n } else {\n exists = await socket.fileExists(`${adapterName}.admin`, `${path}/${lang}/translations.json`);\n if (exists) {\n fileName = `${path}/${lang}/translations.json`;\n } else if (lang !== 'en') {\n // fallback to english\n exists = await socket.fileExists(`${adapterName}.admin`, `${path}/en.json`);\n if (exists) {\n fileName = `${path}/en.json`;\n } else {\n exists = await socket.fileExists(`${adapterName}.admin`, `${path}/en/translations.json`);\n if (exists) {\n fileName = `${path}/en/translations.json`;\n }\n }\n }\n }\n\n if (fileName) {\n let json = await socket.readFile(`${adapterName}.admin`, fileName);\n if (json.file !== undefined) {\n json = json.file;\n }\n try {\n json = JSON.parse(json);\n // apply file to I18n\n I18n.extendTranslations(json, lang);\n } catch (e) {\n console.error(`Cannot parse language file \"${adapterName}.admin/${fileName}: ${e}`);\n return '';\n }\n return fileName;\n }\n console.warn(`Cannot find i18n for ${adapterName} / ${fileName}`);\n return '';\n } if (i18n && typeof i18n === 'object') {\n I18n.extendTranslations(i18n);\n return '';\n }\n return '';\n }\n\n onCommandRunning = commandRunning => this.setState({ commandRunning });\n\n readSettings() {\n if ((this.props.custom || this.props.common) && this.props.data) {\n return Promise.resolve();\n }\n return this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`)\n // eslint-disable-next-line react/no-unused-state\n .then(obj => this.setState({ common: obj.common, data: this.props.data || obj.native }));\n }\n\n readData() {\n this.readSettings()\n .then(() => this.props.socket.getCompactSystemConfig())\n .then(systemConfig =>\n this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`)\n .then(state => {\n if (this.props.custom) {\n this.setState({ systemConfig: systemConfig.common, alive: !!(state && state.val) });\n } else {\n this.setState({ systemConfig: systemConfig.common, alive: !!(state && state.val) }, () =>\n this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`, this.onAlive));\n }\n }));\n }\n\n onAlive = (id, state) => {\n if ((state?.val || false) !== this.state.alive) {\n this.setState({ alive: state?.val || false });\n }\n };\n\n onChange = (data, value, cb, saveConfig) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(data, value, saveConfig);\n cb && cb();\n } else if (data) {\n const newState = { data };\n\n const _data = {};\n // remove all attributes starting with \"_\"\n Object.keys(data).forEach(attr => !attr.startsWith('_') && (_data[attr] = data[attr]));\n\n newState.changed = JSON.stringify(_data) !== this.state.originalData;\n\n this.setState(newState, () => {\n this.props.onChange(_data, newState.changed, saveConfig);\n cb && cb();\n });\n } else if (saveConfig) {\n this.props.onChange(null, null, saveConfig);\n }\n };\n\n onError = (attr, error) => {\n this.errorChached = this.errorChached || JSON.parse(JSON.stringify(this.state.errors));\n const errors = this.errorChached;\n if (error) {\n errors[attr] = error;\n } else {\n delete errors[attr];\n }\n\n this.errorTimeout && clearTimeout(this.errorTimeout);\n if (JSON.stringify(errors) !== JSON.stringify(this.state.errors)) {\n this.errorTimeout = setTimeout(() =>\n this.setState({ errors: this.errorChached }, () => {\n this.errorTimeout = null;\n this.errorChached = null;\n this.props.onError(!!Object.keys(this.state.errors).length);\n }), 50);\n } else {\n this.errorChached = null;\n }\n };\n\n flatten(schema, _list) {\n _list = _list || {};\n if (schema.items) {\n Object.keys(schema.items).forEach(attr => {\n _list[attr] = schema.items[attr];\n this.flatten(schema.items[attr], _list);\n });\n }\n\n return _list;\n }\n\n buildDependencies(schema) {\n const attrs = this.flatten(schema);\n Object.keys(attrs).forEach(attr => {\n if (attrs[attr].confirm?.alsoDependsOn) {\n attrs[attr].confirm?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].confirmDependsOn = attrs[dep].confirmDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n if (depObj.confirm) {\n depObj.confirm.cancel = 'Undo';\n }\n\n attrs[dep].confirmDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].onChange?.alsoDependsOn) {\n attrs[attr].onChange?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].onChangeDependsOn = attrs[dep].onChangeDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].onChangeDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].hidden?.alsoDependsOn) {\n attrs[attr].hidden?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].hiddenDependsOn = attrs[dep].hiddenDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].hiddenDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].label?.alsoDependsOn) {\n attrs[attr].label?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].labelDependsOn = attrs[dep].labelDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].labelDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].help?.alsoDependsOn) {\n attrs[attr].help?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].helpDependsOn = attrs[dep].helpDependsOn || [];\n\n const depObj = { ...attrs[attr], attr };\n\n attrs[dep].helpDependsOn.push(depObj);\n }\n });\n }\n });\n }\n\n renderItem(item) {\n if (item.type === 'tabs') {\n return <ConfigTabs\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n }\n if (item.type === 'panel' || !item.type) {\n return <ConfigPanel\n index={1000}\n isParentTab\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n }\n\n return null;\n }\n\n changeLanguage = () => {\n this.forceUpdate();\n };\n\n forceAttrUpdate = (attr, data) => {\n if (Array.isArray(attr)) {\n attr.forEach(a =>\n this.forceUpdateHandlers[a] && this.forceUpdateHandlers[a](data));\n } else if (this.forceUpdateHandlers[attr]) {\n this.forceUpdateHandlers[attr](data);\n }\n };\n\n registerOnForceUpdate = (attr, cb) => {\n if (cb) {\n this.forceUpdateHandlers[attr] = cb;\n } else if (this.forceUpdateHandlers[attr]) {\n delete this.forceUpdateHandlers[attr];\n }\n };\n\n render() {\n if (!this.state.systemConfig) {\n return <LinearProgress />;\n }\n\n return <div className={this.props.classes.root}>\n {this.renderItem(this.state.schema)}\n </div>;\n }\n}\n\nJsonConfigComponent.propTypes = {\n socket: PropTypes.object.isRequired,\n\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n common: PropTypes.object,\n customs: PropTypes.object, // custom components\n\n custom: PropTypes.bool, // is the customs settings must be shown\n customObj: PropTypes.object,\n multiEdit: PropTypes.bool, // set if user edits more than one object simultaneously\n instanceObj: PropTypes.object,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n imagePrefix: PropTypes.string,\n\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n data: PropTypes.object.isRequired,\n updateData: PropTypes.number,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onValueChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(JsonConfigComponent);\n"],"mappings":"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"}
|
package/LegacyConnection.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ declare class Connection {
|
|
|
29
29
|
props: import("./types").ConnectionProps;
|
|
30
30
|
autoSubscribes: string[];
|
|
31
31
|
autoSubscribeLog: boolean;
|
|
32
|
+
_instanceSubscriptions: {};
|
|
32
33
|
doNotLoadAllObjects: boolean;
|
|
33
34
|
doNotLoadACL: boolean;
|
|
34
35
|
/** @type {Record<string, ioBroker.State>} */
|
|
@@ -801,6 +802,23 @@ declare class Connection {
|
|
|
801
802
|
* @returns {Promise<ioBroker.Object[]>}
|
|
802
803
|
*/
|
|
803
804
|
getUuid(): Promise<ioBroker.Object[]>;
|
|
805
|
+
/**
|
|
806
|
+
* Subscribe on instance message
|
|
807
|
+
* @param {string} [targetInstance] instance, like 'cameras.0'
|
|
808
|
+
* @param {string} [messageType] message type like 'startCamera/cam3'
|
|
809
|
+
* @param {object} [data] optional data object
|
|
810
|
+
* @param {function} [callback] message handler
|
|
811
|
+
* @returns {Promise<null>}
|
|
812
|
+
*/
|
|
813
|
+
subscribeOnInstance(targetInstance?: string, messageType?: string, data?: object, callback?: Function): Promise<null>;
|
|
814
|
+
/**
|
|
815
|
+
* Unsubscribe from instance message
|
|
816
|
+
* @param {string} [targetInstance] instance, like 'cameras.0'
|
|
817
|
+
* @param {string} [messageType] message type like 'startCamera/cam3'
|
|
818
|
+
* @param {function} [callback] message handler
|
|
819
|
+
* @returns {Promise<boolean>}
|
|
820
|
+
*/
|
|
821
|
+
unsubscribeFromInstance(targetInstance?: string, messageType?: string, callback?: Function): Promise<boolean>;
|
|
804
822
|
/**
|
|
805
823
|
* Send log to ioBroker log
|
|
806
824
|
* @param {string} [text] Log text
|
package/LegacyConnection.js
CHANGED
|
@@ -106,6 +106,7 @@ var Connection = /*#__PURE__*/function () {
|
|
|
106
106
|
this.props.port = this.props.port || (window.location.port === '3000' ? Connection.isWeb() ? 8082 : 8081 : window.location.port);
|
|
107
107
|
this.props.ioTimeout = Math.max(this.props.ioTimeout || 20000, 20000);
|
|
108
108
|
this.props.cmdTimeout = Math.max(this.props.cmdTimeout || 5000, 5000);
|
|
109
|
+
this._instanceSubscriptions = {};
|
|
109
110
|
|
|
110
111
|
// breaking change. Do not load all objects by default is true
|
|
111
112
|
this.doNotLoadAllObjects = this.props.doNotLoadAllObjects === undefined ? true : this.props.doNotLoadAllObjects;
|
|
@@ -3307,6 +3308,83 @@ var Connection = /*#__PURE__*/function () {
|
|
|
3307
3308
|
return this._promises.uuid;
|
|
3308
3309
|
}
|
|
3309
3310
|
|
|
3311
|
+
/**
|
|
3312
|
+
* Subscribe on instance message
|
|
3313
|
+
* @param {string} [targetInstance] instance, like 'cameras.0'
|
|
3314
|
+
* @param {string} [messageType] message type like 'startCamera/cam3'
|
|
3315
|
+
* @param {object} [data] optional data object
|
|
3316
|
+
* @param {function} [callback] message handler
|
|
3317
|
+
* @returns {Promise<null>}
|
|
3318
|
+
*/
|
|
3319
|
+
}, {
|
|
3320
|
+
key: "subscribeOnInstance",
|
|
3321
|
+
value: function subscribeOnInstance(targetInstance, messageType, data, callback) {
|
|
3322
|
+
var _this79 = this;
|
|
3323
|
+
if (!this.connected) {
|
|
3324
|
+
return Promise.reject(NOT_CONNECTED);
|
|
3325
|
+
}
|
|
3326
|
+
return new Promise(function (resolve, reject) {
|
|
3327
|
+
return _this79._socket.emit('clientSubscribe', targetInstance, messageType, data, function (err, result) {
|
|
3328
|
+
if (err) {
|
|
3329
|
+
reject(err);
|
|
3330
|
+
} else if (result && result.error) {
|
|
3331
|
+
reject(result.error);
|
|
3332
|
+
} else {
|
|
3333
|
+
// save callback
|
|
3334
|
+
_this79._instanceSubscriptions[targetInstance] = _this79._instanceSubscriptions[targetInstance] || [];
|
|
3335
|
+
if (!_this79._instanceSubscriptions[targetInstance].find(function (sub) {
|
|
3336
|
+
return sub.messageType === messageType && sub.targetInstance === targetInstance && sub.callback === callback;
|
|
3337
|
+
})) {
|
|
3338
|
+
_this79._instanceSubscriptions[targetInstance].push({
|
|
3339
|
+
messageType: messageType,
|
|
3340
|
+
targetInstance: targetInstance,
|
|
3341
|
+
callback: callback
|
|
3342
|
+
});
|
|
3343
|
+
}
|
|
3344
|
+
resolve(result);
|
|
3345
|
+
}
|
|
3346
|
+
});
|
|
3347
|
+
});
|
|
3348
|
+
}
|
|
3349
|
+
|
|
3350
|
+
/**
|
|
3351
|
+
* Unsubscribe from instance message
|
|
3352
|
+
* @param {string} [targetInstance] instance, like 'cameras.0'
|
|
3353
|
+
* @param {string} [messageType] message type like 'startCamera/cam3'
|
|
3354
|
+
* @param {function} [callback] message handler
|
|
3355
|
+
* @returns {Promise<boolean>}
|
|
3356
|
+
*/
|
|
3357
|
+
}, {
|
|
3358
|
+
key: "unsubscribeFromInstance",
|
|
3359
|
+
value: function unsubscribeFromInstance(targetInstance, messageType, callback) {
|
|
3360
|
+
var _this$_instanceSubscr,
|
|
3361
|
+
_this80 = this;
|
|
3362
|
+
var index = (_this$_instanceSubscr = this._instanceSubscriptions[targetInstance]) === null || _this$_instanceSubscr === void 0 ? void 0 : _this$_instanceSubscr.findIndex(function (sub) {
|
|
3363
|
+
return sub.messageType === messageType && sub.callback === callback;
|
|
3364
|
+
});
|
|
3365
|
+
if (index !== undefined && index !== null && index !== -1) {
|
|
3366
|
+
var _messageType = this._instanceSubscriptions[targetInstance][index].messageType;
|
|
3367
|
+
this._instanceSubscriptions[targetInstance].splice(index, 1);
|
|
3368
|
+
|
|
3369
|
+
// try to find another subscription for this instance and messageType
|
|
3370
|
+
var found = this._instanceSubscriptions[targetInstance].find(function (sub) {
|
|
3371
|
+
return sub.messageType === _messageType;
|
|
3372
|
+
});
|
|
3373
|
+
if (!found) {
|
|
3374
|
+
return new Promise(function (resolve, reject) {
|
|
3375
|
+
return _this80._socket.emit('clientUnsubscribe', targetInstance, messageType, function (err, wasSubscribed) {
|
|
3376
|
+
if (err) {
|
|
3377
|
+
reject(err);
|
|
3378
|
+
} else {
|
|
3379
|
+
resolve(wasSubscribed);
|
|
3380
|
+
}
|
|
3381
|
+
});
|
|
3382
|
+
});
|
|
3383
|
+
}
|
|
3384
|
+
}
|
|
3385
|
+
return Promise.resolve(false);
|
|
3386
|
+
}
|
|
3387
|
+
|
|
3310
3388
|
/**
|
|
3311
3389
|
* Send log to ioBroker log
|
|
3312
3390
|
* @param {string} [text] Log text
|
|
@@ -3326,12 +3404,12 @@ var Connection = /*#__PURE__*/function () {
|
|
|
3326
3404
|
}, {
|
|
3327
3405
|
key: "logout",
|
|
3328
3406
|
value: function logout() {
|
|
3329
|
-
var
|
|
3407
|
+
var _this81 = this;
|
|
3330
3408
|
if (!this.connected) {
|
|
3331
3409
|
return Promise.reject(NOT_CONNECTED);
|
|
3332
3410
|
}
|
|
3333
3411
|
return new Promise(function (resolve, reject) {
|
|
3334
|
-
return
|
|
3412
|
+
return _this81._socket.emit('logout', function (err) {
|
|
3335
3413
|
return err ? reject(err) : resolve(null);
|
|
3336
3414
|
});
|
|
3337
3415
|
});
|