@iobroker/adapter-react-v5 3.0.17 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/Components/FileBrowser.js +76 -57
  2. package/Components/FileBrowser.js.map +1 -1
  3. package/Components/JsonConfigComponent/ConfigAlive.js +1 -1
  4. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  5. package/Components/JsonConfigComponent/ConfigAutocomplete.js +0 -1
  6. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  7. package/Components/JsonConfigComponent/ConfigCRON.js +3 -3
  8. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  9. package/Components/JsonConfigComponent/ConfigCheckbox.js +1 -1
  10. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  11. package/Components/JsonConfigComponent/ConfigCoordinates.js +2 -2
  12. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  13. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  14. package/Components/JsonConfigComponent/ConfigGeneric.js +25 -25
  15. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  16. package/Components/JsonConfigComponent/ConfigIP.js +2 -2
  17. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  18. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -1
  19. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  20. package/Components/JsonConfigComponent/ConfigJsonEditor.js +1 -1
  21. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  22. package/Components/JsonConfigComponent/ConfigLanguage.js +1 -1
  23. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigNumber.js +94 -22
  25. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigPanel.js +4 -0
  27. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigPassword.js +4 -4
  29. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigSelect.js +2 -2
  31. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +7 -7
  33. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigSendto.js +6 -6
  35. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigSetState.js +4 -4
  37. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigTable.js +26 -13
  39. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  41. package/Components/ObjectBrowser.js +39 -16
  42. package/Components/ObjectBrowser.js.map +1 -1
  43. package/Components/ToggleThemeMenu.js.map +1 -1
  44. package/Components/Utils.js +14 -3
  45. package/Components/Utils.js.map +1 -1
  46. package/README.md +3 -0
  47. package/i18n/de.json +24 -3
  48. package/i18n/en.json +23 -2
  49. package/i18n/es.json +23 -2
  50. package/i18n/fr.json +23 -2
  51. package/i18n/it.json +23 -2
  52. package/i18n/nl.json +23 -2
  53. package/i18n/pl.json +23 -2
  54. package/i18n/pt.json +23 -2
  55. package/i18n/ru.json +23 -2
  56. package/i18n/zh-cn.json +24 -3
  57. package/package.json +1 -1
@@ -348,7 +348,10 @@ var styles = function styles(theme) {
348
348
  width: 'calc(100% - 40px)',
349
349
  height: 'calc(100% - 40px)',
350
350
  position: 'relative',
351
- color: theme.palette.mode === 'dark' ? '#222' : '#CCC'
351
+ color: theme.palette.mode === 'dark' ? '#222' : '#CCC',
352
+ display: 'flex',
353
+ alignItems: 'center',
354
+ justifyContent: 'center'
352
355
  },
353
356
  uploadCenterIcon: {
354
357
  width: '25%',
@@ -364,14 +367,7 @@ var styles = function styles(theme) {
364
367
  top: 30,
365
368
  right: 30
366
369
  },
367
- uploadCenterTextAndIcon: {
368
- position: 'absolute',
369
- top: '50%',
370
- left: '50%',
371
- height: '30%',
372
- width: '50%',
373
- margin: '-15% 0 0 -25%'
374
- },
370
+ uploadCenterTextAndIcon: {},
375
371
  menuButtonExpertActive: {
376
372
  color: '#c00000'
377
373
  },
@@ -428,6 +424,9 @@ var styles = function styles(theme) {
428
424
  textAlign: 'end',
429
425
  direction: 'rtl'
430
426
  }
427
+ },
428
+ specialFolder: {
429
+ color: theme.palette.mode === 'dark' ? '#229b0f' : '#5dd300'
431
430
  }
432
431
  };
433
432
  };
@@ -856,13 +855,20 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
856
855
  var _folders = [];
857
856
  var userData = null; // load only adapter.admin and not other meta files like hm-rpc.0.devices.blablabla
858
857
 
859
- objs = objs.filter(function (obj) {
860
- if (!_this7.state.expertMode) {
861
- return obj._id === '0_userdata.0' || obj._id === 'vis.0';
862
- } else {
863
- return obj._id.split('.').length <= 2;
864
- }
865
- }); // remember, that all folders are loaded
858
+ if (!_this7.state.expertMode) {
859
+ objs = objs.filter(function (obj) {
860
+ return !obj._id.endsWith('.admin');
861
+ });
862
+ }
863
+
864
+ var pos = objs.findIndex(function (obj) {
865
+ return obj._id === 'system.meta.uuid';
866
+ });
867
+
868
+ if (pos !== -1) {
869
+ objs.splice(pos, 1);
870
+ } // remember, that all folders are loaded
871
+
866
872
 
867
873
  if (_this7.state.expertMode) {
868
874
  _this7.setState({
@@ -1077,12 +1083,14 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1077
1083
 
1078
1084
  var Icon = expanded ? _IconOpen["default"] : _IconClosed["default"];
1079
1085
  var padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;
1086
+ var isUserData = item.name === USER_DATA;
1087
+ var isSpecialData = isUserData || item.name === 'vis.0';
1080
1088
  return /*#__PURE__*/_react["default"].createElement("div", {
1081
1089
  key: item.id,
1082
1090
  id: item.id,
1083
1091
  style: this.state.viewType === TABLE ? {
1084
1092
  marginLeft: padding,
1085
- width: 'calc(100% - ' + padding + 'px'
1093
+ width: "calc(100% - ".concat(padding, "px")
1086
1094
  } : {},
1087
1095
  onClick: function onClick(e) {
1088
1096
  return _this11.state.viewType === TABLE ? _this11.select(item.id, e) : _this11.changeFolder(e, item.id);
@@ -1093,13 +1101,13 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1093
1101
  title: item.title && (0, _typeof2["default"])(item.title) === 'object' ? item.title[this.props.lang] || item.title.end || '' : item.title || null,
1094
1102
  className: _Utils["default"].clsx('browserItem', this.props.classes['item' + this.state.viewType], this.props.classes['itemFolder' + this.state.viewType], this.state.selected === item.id && this.props.classes.itemSelected, item.temp && this.props.classes['itemFolderTemp'])
1095
1103
  }, /*#__PURE__*/_react["default"].createElement(Icon, {
1096
- className: this.props.classes['itemFolderIcon' + this.state.viewType],
1104
+ className: _Utils["default"].clsx(this.props.classes['itemFolderIcon' + this.state.viewType], isSpecialData && this.props.classes.specialFolder),
1097
1105
  onClick: this.state.viewType === TABLE ? function (e) {
1098
1106
  return _this11.toggleFolder(item, e);
1099
1107
  } : undefined
1100
1108
  }), /*#__PURE__*/_react["default"].createElement("div", {
1101
1109
  className: _Utils["default"].clsx(this.props.classes['itemName' + this.state.viewType], this.props.classes['itemNameFolder' + this.state.viewType])
1102
- }, item.name === USER_DATA ? this.props.t('ra_User files') : item.name), /*#__PURE__*/_react["default"].createElement(_material.Hidden, {
1110
+ }, isUserData ? this.props.t('ra_User files') : item.name), /*#__PURE__*/_react["default"].createElement(_material.Hidden, {
1103
1111
  smDown: true
1104
1112
  }, /*#__PURE__*/_react["default"].createElement("div", {
1105
1113
  className: this.props.classes['itemSize' + this.state.viewType]
@@ -1265,7 +1273,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1265
1273
  },
1266
1274
  style: this.state.viewType === TABLE ? {
1267
1275
  marginLeft: padding,
1268
- width: 'calc(100% - ' + padding + 'px)'
1276
+ width: "calc(100% - ".concat(padding, "px)")
1269
1277
  } : {},
1270
1278
  className: _Utils["default"].clsx('browserItem', this.props.classes['item' + this.state.viewType], this.props.classes['itemFile' + this.state.viewType], this.state.selected === item.id && this.props.classes.itemSelected)
1271
1279
  }, _FileViewer.EXTENSIONS.images.includes(ext) ? this.state.fileErrors.includes(item.id) ? /*#__PURE__*/_react["default"].createElement(_IconNoIcon["default"], {
@@ -1348,12 +1356,8 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1348
1356
  value: function renderItems(folderId) {
1349
1357
  var _this15 = this;
1350
1358
 
1351
- if (folderId && folderId !== '/' && !this.state.expertMode && folderId !== USER_DATA && !folderId.startsWith(USER_DATA) && folderId !== 'vis.0' && !folderId.startsWith('vis.0/')) {
1352
- return null;
1353
- } // tile
1354
-
1355
-
1356
1359
  if (this.state.folders && this.state.folders[folderId]) {
1360
+ // tile
1357
1361
  if (this.state.viewType === TILE) {
1358
1362
  var res = [];
1359
1363
 
@@ -1362,10 +1366,6 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1362
1366
  }
1363
1367
 
1364
1368
  this.state.folders[folderId].forEach(function (item) {
1365
- if (!_this15.state.expertMode && item.id !== USER_DATA && !item.id.startsWith(USER_DATA) && item.id !== 'vis.0' && !item.id.startsWith('vis.0/')) {
1366
- return;
1367
- }
1368
-
1369
1369
  if (item.folder) {
1370
1370
  res.push(_this15.renderFolder(item));
1371
1371
  } else if ((!_this15.props.filterFiles || _this15.props.filterFiles.includes(item.ext)) && (!_this15.props.filterByType || _FileViewer.EXTENSIONS[_this15.props.filterByType].includes(item.ext))) {
@@ -1377,10 +1377,6 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1377
1377
  return this.state.folders[folderId].map(function (item) {
1378
1378
  var res = [];
1379
1379
 
1380
- if (item.id && item.id !== '/' && !_this15.state.expertMode && item.id !== USER_DATA && !item.id.startsWith(USER_DATA) && item.id !== 'vis.0' && !item.id.startsWith('vis.0/')) {
1381
- return null;
1382
- }
1383
-
1384
1380
  if (item.folder) {
1385
1381
  var expanded = _this15.state.expanded.includes(item.id);
1386
1382
 
@@ -1718,18 +1714,10 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1718
1714
 
1719
1715
  _this19.uploadFile(id, reader.result).then(function () {
1720
1716
  if (! --count) {
1721
- var folders = {};
1722
- Object.keys(_this19.state.folders).forEach(function (name) {
1723
- if (name !== parentFolder && !name.startsWith(parentFolder + '/')) {
1724
- folders[name] = _this19.state.folders[name];
1725
- }
1726
- });
1727
-
1728
1717
  _this19.setState({
1729
- uploadFile: false,
1730
- folders: folders
1718
+ uploadFile: false
1731
1719
  }, function () {
1732
- return _this19.browseFolders((0, _toConsumableArray2["default"])(_this19.state.expanded), folders).then(function (folders) {
1720
+ if (_this19.supportSubscribes) {
1733
1721
  // open current folder
1734
1722
  var expanded = (0, _toConsumableArray2["default"])(_this19.state.expanded);
1735
1723
 
@@ -1740,12 +1728,31 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1740
1728
  }
1741
1729
 
1742
1730
  _this19.setState({
1743
- folders: folders,
1744
1731
  expanded: expanded
1745
1732
  }, function () {
1746
1733
  return _this19.select(id);
1747
1734
  });
1748
- });
1735
+ } else {
1736
+ setTimeout(function () {
1737
+ return _this19.browseFolder(parentFolder, true).then(function (folders) {
1738
+ // open current folder
1739
+ var expanded = (0, _toConsumableArray2["default"])(_this19.state.expanded);
1740
+
1741
+ if (!expanded.includes(parentFolder)) {
1742
+ expanded.push(parentFolder);
1743
+ expanded.sort();
1744
+ window.localStorage.setItem('files.expanded', JSON.stringify(expanded));
1745
+ }
1746
+
1747
+ _this19.setState({
1748
+ folders: folders,
1749
+ expanded: expanded
1750
+ }, function () {
1751
+ return _this19.select(id);
1752
+ });
1753
+ });
1754
+ }, 500);
1755
+ }
1749
1756
  });
1750
1757
  }
1751
1758
  });
@@ -1838,28 +1845,40 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1838
1845
  deleteItem: ''
1839
1846
  }, function () {
1840
1847
  return _this21.deleteRecursive(_deleteItem).then(function () {
1848
+ var newState = {};
1849
+
1841
1850
  var pos = _this21.state.expanded.indexOf(_deleteItem);
1842
1851
 
1843
1852
  if (pos !== -1) {
1844
1853
  var expanded = (0, _toConsumableArray2["default"])(_this21.state.expanded);
1845
1854
  expanded.splice(pos, 1);
1846
1855
  window.localStorage.setItem('files.expanded', JSON.stringify(expanded));
1847
-
1848
- _this21.setState({
1849
- expanded: expanded
1850
- });
1856
+ newState.expanded = expanded;
1851
1857
  }
1852
- /*let parentFolder = this.findFirstFolder(deleteItem);
1853
- const folders = {};
1854
- Object.keys(this.state.folders).forEach(name => {
1858
+
1859
+ if (!_this21.supportSubscribes) {
1860
+ var parentFolder = _this21.findFirstFolder(_deleteItem);
1861
+
1862
+ var folders = {};
1863
+ Object.keys(_this21.state.folders).forEach(function (name) {
1855
1864
  if (name !== parentFolder && !name.startsWith(parentFolder + '/')) {
1856
- folders[name] = this.state.folders[name];
1865
+ folders[name] = _this21.state.folders[name];
1857
1866
  }
1858
- });
1859
- this.setState({ folders }, () =>
1860
- this.browseFolders([...this.state.expanded], folders)
1861
- .then(folders => this.setState({ folders })));*/
1867
+ });
1868
+ newState.folders = folders;
1862
1869
 
1870
+ _this21.setState(newState, function () {
1871
+ return setTimeout(function () {
1872
+ return _this21.browseFolders((0, _toConsumableArray2["default"])(_this21.state.expanded), folders).then(function (folders) {
1873
+ return _this21.setState({
1874
+ folders: folders
1875
+ });
1876
+ });
1877
+ }, 200);
1878
+ });
1879
+ } else {
1880
+ _this21.setState(newState);
1881
+ }
1863
1882
  });
1864
1883
  });
1865
1884
  }