@iobroker/adapter-react-v5 2.1.7 → 2.1.11

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 (112) hide show
  1. package/Components/404.js +17 -25
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.js +25 -35
  4. package/Components/ColorPicker.js.map +1 -1
  5. package/Components/ComplexCron.js +29 -37
  6. package/Components/ComplexCron.js.map +1 -1
  7. package/Components/FileBrowser.js +281 -276
  8. package/Components/FileBrowser.js.map +1 -1
  9. package/Components/FileViewer.js +230 -96
  10. package/Components/FileViewer.js.map +1 -1
  11. package/Components/Icon.js +15 -25
  12. package/Components/Icon.js.map +1 -1
  13. package/Components/IconPicker.js +6 -6
  14. package/Components/IconPicker.js.map +1 -1
  15. package/Components/IconSelector.js +25 -31
  16. package/Components/IconSelector.js.map +1 -1
  17. package/Components/Image.js +15 -25
  18. package/Components/Image.js.map +1 -1
  19. package/Components/Loader.js +14 -24
  20. package/Components/Loader.js.map +1 -1
  21. package/Components/Loaders/PT.js +13 -23
  22. package/Components/Loaders/PT.js.map +1 -1
  23. package/Components/Loaders/Vendor.js +14 -24
  24. package/Components/Loaders/Vendor.js.map +1 -1
  25. package/Components/Logo.js +15 -25
  26. package/Components/Logo.js.map +1 -1
  27. package/Components/MDUtils.js +14 -11
  28. package/Components/MDUtils.js.map +1 -1
  29. package/Components/ObjectBrowser.js +127 -210
  30. package/Components/ObjectBrowser.js.map +1 -1
  31. package/Components/Router.js +13 -21
  32. package/Components/Router.js.map +1 -1
  33. package/Components/SaveCloseButtons.js +15 -25
  34. package/Components/SaveCloseButtons.js.map +1 -1
  35. package/Components/Schedule.js +23 -37
  36. package/Components/Schedule.js.map +1 -1
  37. package/Components/SelectWithIcon.js +17 -25
  38. package/Components/SelectWithIcon.js.map +1 -1
  39. package/Components/SimpleCron/cronText.js +2 -2
  40. package/Components/SimpleCron/cronText.js.map +1 -1
  41. package/Components/SimpleCron/index.js +24 -34
  42. package/Components/SimpleCron/index.js.map +1 -1
  43. package/Components/TabContainer.js +18 -28
  44. package/Components/TabContainer.js.map +1 -1
  45. package/Components/TabContent.js +17 -27
  46. package/Components/TabContent.js.map +1 -1
  47. package/Components/TabHeader.js +13 -23
  48. package/Components/TabHeader.js.map +1 -1
  49. package/Components/TextWithIcon.js +5 -5
  50. package/Components/TextWithIcon.js.map +1 -1
  51. package/Components/ToggleThemeMenu.js +2 -2
  52. package/Components/ToggleThemeMenu.js.map +1 -1
  53. package/Components/TreeTable.js +21 -42
  54. package/Components/TreeTable.js.map +1 -1
  55. package/Components/Utils.js +56 -42
  56. package/Components/Utils.js.map +1 -1
  57. package/Components/withWidth.js +42 -0
  58. package/Components/withWidth.js.map +1 -0
  59. package/Connection.js +15 -22
  60. package/Connection.js.map +1 -1
  61. package/Dialogs/ComplexCron.js +15 -25
  62. package/Dialogs/ComplexCron.js.map +1 -1
  63. package/Dialogs/Confirm.js +15 -25
  64. package/Dialogs/Confirm.js.map +1 -1
  65. package/Dialogs/Cron.js +19 -27
  66. package/Dialogs/Cron.js.map +1 -1
  67. package/Dialogs/Error.js +15 -25
  68. package/Dialogs/Error.js.map +1 -1
  69. package/Dialogs/Message.js +15 -25
  70. package/Dialogs/Message.js.map +1 -1
  71. package/Dialogs/SelectID.js +19 -27
  72. package/Dialogs/SelectID.js.map +1 -1
  73. package/Dialogs/SimpleCron.js +15 -25
  74. package/Dialogs/SimpleCron.js.map +1 -1
  75. package/Dialogs/TextInput.js +18 -28
  76. package/Dialogs/TextInput.js.map +1 -1
  77. package/GenericApp.js +37 -49
  78. package/GenericApp.js.map +1 -1
  79. package/README.md +12 -1
  80. package/Theme.js +2 -2
  81. package/Theme.js.map +1 -1
  82. package/i18n.js +10 -14
  83. package/i18n.js.map +1 -1
  84. package/icons/IconAdapter.js +2 -2
  85. package/icons/IconAdapter.js.map +1 -1
  86. package/icons/IconAlias.js +2 -2
  87. package/icons/IconAlias.js.map +1 -1
  88. package/icons/IconChannel.js +2 -2
  89. package/icons/IconChannel.js.map +1 -1
  90. package/icons/IconClearFilter.js +2 -2
  91. package/icons/IconClearFilter.js.map +1 -1
  92. package/icons/IconClosed.js +2 -2
  93. package/icons/IconClosed.js.map +1 -1
  94. package/icons/IconCopy.js +2 -2
  95. package/icons/IconCopy.js.map +1 -1
  96. package/icons/IconDevice.js +2 -2
  97. package/icons/IconDevice.js.map +1 -1
  98. package/icons/IconDocument.js +2 -2
  99. package/icons/IconDocument.js.map +1 -1
  100. package/icons/IconExpert.js +2 -2
  101. package/icons/IconExpert.js.map +1 -1
  102. package/icons/IconFx.js +2 -2
  103. package/icons/IconFx.js.map +1 -1
  104. package/icons/IconInstance.js +2 -2
  105. package/icons/IconInstance.js.map +1 -1
  106. package/icons/IconLogout.js +2 -2
  107. package/icons/IconLogout.js.map +1 -1
  108. package/icons/IconOpen.js +2 -2
  109. package/icons/IconOpen.js.map +1 -1
  110. package/icons/IconState.js +6 -6
  111. package/icons/IconState.js.map +1 -1
  112. package/package.json +10 -10
@@ -1,11 +1,35 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
3
7
  Object.defineProperty(exports, "__esModule", {
4
8
  value: true
5
9
  });
6
10
  exports["default"] = void 0;
7
11
 
8
- var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
18
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
+
20
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
+
22
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
+
24
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
+
26
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
+
28
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
+
30
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
+
32
+ var _styles = require("@mui/styles");
9
33
 
10
34
  var _react = _interopRequireWildcard(require("react"));
11
35
 
@@ -91,61 +115,16 @@ var _IconClosed = _interopRequireDefault(require("../icons/IconClosed"));
91
115
 
92
116
  var _IconOpen = _interopRequireDefault(require("../icons/IconOpen"));
93
117
 
94
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
95
-
96
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
97
-
98
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
118
+ var _withWidth = _interopRequireDefault(require("./withWidth"));
99
119
 
100
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
101
-
102
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
103
-
104
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
105
-
106
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
107
-
108
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
109
-
110
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
111
-
112
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
113
-
114
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
115
-
116
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
117
-
118
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
119
-
120
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
121
-
122
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
123
-
124
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
120
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
125
121
 
126
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
122
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
127
123
 
128
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
124
+ 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); }; }
129
125
 
130
126
  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; } }
131
127
 
132
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
133
-
134
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
135
-
136
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
137
-
138
- // FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth
139
- var withWidth = function withWidth() {
140
- return function (WrappedComponent) {
141
- return function (props) {
142
- return /*#__PURE__*/_react["default"].createElement(WrappedComponent, _extends({}, props, {
143
- width: "xs"
144
- }));
145
- };
146
- };
147
- };
148
-
149
128
  var ROW_HEIGHT = 32;
150
129
  var BUTTON_WIDTH = 32;
151
130
  var TILE_HEIGHT = 120;
@@ -170,10 +149,10 @@ var styles = function styles(theme) {
170
149
  padding: theme.spacing(1)
171
150
  },
172
151
  filesDivTable: {
173
- height: "calc(100% - ".concat(48 + theme.spacing(1), "px)")
152
+ height: "calc(100% - ".concat(48 + parseInt(theme.spacing(1), 10), "px)")
174
153
  },
175
154
  filesDivTile: {
176
- height: "calc(100% - ".concat(48 * 2 + theme.spacing(1), "px)"),
155
+ height: "calc(100% - ".concat(48 * 2 + parseInt(theme.spacing(1), 10), "px)"),
177
156
  display: 'flex',
178
157
  alignContent: 'flex-start',
179
158
  alignItems: 'stretch',
@@ -490,7 +469,7 @@ var TILE = 'Tile';
490
469
  */
491
470
 
492
471
  var FileBrowser = /*#__PURE__*/function (_Component) {
493
- _inherits(FileBrowser, _Component);
472
+ (0, _inherits2["default"])(FileBrowser, _Component);
494
473
 
495
474
  var _super = _createSuper(FileBrowser);
496
475
 
@@ -500,11 +479,28 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
500
479
  function FileBrowser(props) {
501
480
  var _this;
502
481
 
503
- _classCallCheck(this, FileBrowser);
504
-
482
+ (0, _classCallCheck2["default"])(this, FileBrowser);
505
483
  _this = _super.call(this, props);
506
-
507
- _defineProperty(_assertThisInitialized(_this), "setStateBackgroundImage", function () {
484
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFileChange", function (id, fileName, size) {
485
+ var key = id + '/' + fileName;
486
+ var pos = key.lastIndexOf('/');
487
+ var folder = key.substring(0, pos);
488
+ console.log("File changed ".concat(key, "[").concat(size, "]"));
489
+
490
+ if (_this.state.folders[folder]) {
491
+ _this._tempTimeout[folder] && clearTimeout(_this._tempTimeout[folder]);
492
+ _this._tempTimeout[folder] = setTimeout(function () {
493
+ delete _this._tempTimeout[folder];
494
+
495
+ _this.browseFolder(folder, true).then(function (folders) {
496
+ return _this.setState({
497
+ folders: folders
498
+ });
499
+ });
500
+ }, 300);
501
+ }
502
+ });
503
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setStateBackgroundImage", function () {
508
504
  var array = ['light', 'dark', 'colored', 'delete'];
509
505
 
510
506
  _this.setState(function (_ref) {
@@ -523,8 +519,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
523
519
  }
524
520
  });
525
521
  });
526
-
527
- _defineProperty(_assertThisInitialized(_this), "getClassBackgroundImage", function () {
522
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getClassBackgroundImage", function () {
528
523
  //['light', 'dark', 'colored', 'delete']
529
524
  switch (_this.state.backgroundImage) {
530
525
  case 'light':
@@ -543,7 +538,6 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
543
538
  return null;
544
539
  }
545
540
  });
546
-
547
541
  var expanded = window.localStorage.getItem('files.expanded') || '[]';
548
542
 
549
543
  try {
@@ -600,17 +594,19 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
600
594
  _this.browseList = [];
601
595
  _this.browseListRunning = false;
602
596
  _this.initialReadFinished = false;
597
+ _this.supportSubscribes = null;
598
+ _this._tempTimeout = {};
603
599
  return _this;
604
600
  }
605
601
 
606
- _createClass(FileBrowser, [{
602
+ (0, _createClass2["default"])(FileBrowser, [{
607
603
  key: "loadFolders",
608
604
  value: function loadFolders() {
609
605
  var _this2 = this;
610
606
 
611
607
  this.initialReadFinished = false;
612
608
  return this.browseFolder('/').then(function (folders) {
613
- return _this2.state.viewType === TABLE ? _this2.browseFolders(_toConsumableArray(_this2.state.expanded), folders) : _this2.state.currentDir && _this2.state.currentDir !== '/' ? _this2.browseFolder(_this2.state.currentDir, folders) : Promise.resolve(folders);
609
+ return _this2.state.viewType === TABLE ? _this2.browseFolders((0, _toConsumableArray2["default"])(_this2.state.expanded), folders) : _this2.state.currentDir && _this2.state.currentDir !== '/' ? _this2.browseFolder(_this2.state.currentDir, folders) : Promise.resolve(folders);
614
610
  }).then(function (folders) {
615
611
  return _this2.setState({
616
612
  folders: folders
@@ -656,31 +652,42 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
656
652
  }, {
657
653
  key: "componentDidMount",
658
654
  value: function componentDidMount() {
655
+ var _this3 = this;
656
+
659
657
  this.mounted = true;
660
658
  this.loadFolders();
659
+ return this.props.socket.checkFeatureSupported('BINARY_STATE_EVENT').then(function (result) {
660
+ _this3.supportSubscribes = result;
661
+ _this3.supportSubscribes && _this3.props.socket.subscribeFiles('*', '*', _this3.onFileChange);
662
+ });
661
663
  }
662
664
  }, {
663
665
  key: "componentWillUnmount",
664
666
  value: function componentWillUnmount() {
667
+ this.supportSubscribes && this.props.socket.unsubscribeFiles('*', '*', this.onFileChange);
665
668
  this.mounted = false;
666
669
  this.browseList = null;
667
670
  this.browseListRunning = false;
671
+ Object.values(this._tempTimeout).forEach(function (timer) {
672
+ return timer && clearTimeout(timer);
673
+ });
674
+ this._tempTimeout = {};
668
675
  }
669
676
  }, {
670
677
  key: "browseFolders",
671
678
  value: function browseFolders(foldersList, _newFolders, _resolve) {
672
- var _this3 = this;
679
+ var _this4 = this;
673
680
 
674
681
  if (!_newFolders) {
675
682
  _newFolders = {};
676
683
  Object.keys(this.state.folders).forEach(function (folder) {
677
- return _newFolders[folder] = _this3.state.folders[folder];
684
+ return _newFolders[folder] = _this4.state.folders[folder];
678
685
  });
679
686
  }
680
687
 
681
688
  if (!_resolve) {
682
689
  return new Promise(function (resolve) {
683
- return _this3.browseFolders(foldersList, _newFolders, resolve);
690
+ return _this4.browseFolders(foldersList, _newFolders, resolve);
684
691
  });
685
692
  }
686
693
 
@@ -689,11 +696,11 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
689
696
  } else {
690
697
  this.browseFolder(foldersList.shift(), _newFolders).then(function () {
691
698
  return setTimeout(function () {
692
- return _this3.browseFolders(foldersList, _newFolders, _resolve);
699
+ return _this4.browseFolders(foldersList, _newFolders, _resolve);
693
700
  }, 0);
694
701
  })["catch"](function () {
695
702
  return setTimeout(function () {
696
- return _this3.browseFolders(foldersList, _newFolders, _resolve);
703
+ return _this4.browseFolders(foldersList, _newFolders, _resolve);
697
704
  }, 0);
698
705
  });
699
706
  }
@@ -701,26 +708,26 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
701
708
  }, {
702
709
  key: "readDirSerial",
703
710
  value: function readDirSerial(adapter, relPath) {
704
- var _this4 = this;
711
+ var _this5 = this;
705
712
 
706
713
  return new Promise(function (resolve, reject) {
707
- if (_this4.browseList) {
714
+ if (_this5.browseList) {
708
715
  // if component still mounted
709
- _this4.browseList.push({
716
+ _this5.browseList.push({
710
717
  resolve: resolve,
711
718
  reject: reject,
712
719
  adapter: adapter,
713
720
  relPath: relPath
714
721
  });
715
722
 
716
- !_this4.browseListRunning && _this4.processBrowseList();
723
+ !_this5.browseListRunning && _this5.processBrowseList();
717
724
  }
718
725
  });
719
726
  }
720
727
  }, {
721
728
  key: "processBrowseList",
722
729
  value: function processBrowseList(level) {
723
- var _this5 = this;
730
+ var _this6 = this;
724
731
 
725
732
  if (!this.browseListRunning && this.browseList && this.browseList.length) {
726
733
  this.browseListRunning = true;
@@ -740,9 +747,9 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
740
747
 
741
748
  this.browseList[0].processing = true;
742
749
  this.props.socket.readDir(this.browseList[0].adapter, this.browseList[0].relPath).then(function (files) {
743
- if (_this5.browseList) {
750
+ if (_this6.browseList) {
744
751
  // if component still mounted
745
- var item = _this5.browseList.shift();
752
+ var item = _this6.browseList.shift();
746
753
 
747
754
  if (item) {
748
755
  var resolve = item.resolve;
@@ -751,31 +758,31 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
751
758
  item.adapter = null;
752
759
  item.relPath = null;
753
760
  resolve(files);
754
- _this5.browseListRunning = false;
761
+ _this6.browseListRunning = false;
755
762
 
756
- if (_this5.browseList.length) {
763
+ if (_this6.browseList.length) {
757
764
  if (level < 5) {
758
- _this5.processBrowseList(level + 1);
765
+ _this6.processBrowseList(level + 1);
759
766
  } else {
760
767
  setTimeout(function () {
761
- return _this5.processBrowseList(0);
768
+ return _this6.processBrowseList(0);
762
769
  }, 0);
763
770
  }
764
771
  } else {
765
- _this5.setState({
772
+ _this6.setState({
766
773
  queueLength: 0
767
774
  });
768
775
  }
769
776
  } else {
770
- _this5.setState({
777
+ _this6.setState({
771
778
  queueLength: 0
772
779
  });
773
780
  }
774
781
  }
775
782
  })["catch"](function (e) {
776
- if (_this5.browseList) {
783
+ if (_this6.browseList) {
777
784
  // if component still mounted
778
- var item = _this5.browseList.shift();
785
+ var item = _this6.browseList.shift();
779
786
 
780
787
  if (item) {
781
788
  var reject = item.reject;
@@ -784,23 +791,23 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
784
791
  item.adapter = null;
785
792
  item.relPath = null;
786
793
  reject(e);
787
- _this5.browseListRunning = false;
794
+ _this6.browseListRunning = false;
788
795
 
789
- if (_this5.browseList.length) {
796
+ if (_this6.browseList.length) {
790
797
  if (level < 5) {
791
- _this5.processBrowseList(level + 1);
798
+ _this6.processBrowseList(level + 1);
792
799
  } else {
793
800
  setTimeout(function () {
794
- return _this5.processBrowseList(0);
801
+ return _this6.processBrowseList(0);
795
802
  }, 0);
796
803
  }
797
804
  } else {
798
- _this5.setState({
805
+ _this6.setState({
799
806
  queueLength: 0
800
807
  });
801
808
  }
802
809
  } else {
803
- _this5.setState({
810
+ _this6.setState({
804
811
  queueLength: 0
805
812
  });
806
813
  }
@@ -810,23 +817,28 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
810
817
  }
811
818
  }, {
812
819
  key: "browseFolder",
813
- value: function browseFolder(folderId, _newFolders, _checkEmpty) {
814
- var _this6 = this;
820
+ value: function browseFolder(folderId, _newFolders, _checkEmpty, force) {
821
+ var _this7 = this;
822
+
823
+ if (typeof _newFolders === 'boolean') {
824
+ force = _newFolders;
825
+ _newFolders = null;
826
+ }
815
827
 
816
828
  if (!_newFolders) {
817
829
  _newFolders = {};
818
830
  Object.keys(this.state.folders).forEach(function (folder) {
819
- return _newFolders[folder] = _this6.state.folders[folder];
831
+ return _newFolders[folder] = _this7.state.folders[folder];
820
832
  });
821
833
  }
822
834
 
823
- if (_newFolders[folderId]) {
835
+ if (_newFolders[folderId] && !force) {
824
836
  if (!_checkEmpty) {
825
837
  return new Promise(function (resolve, reject) {
826
838
  return Promise.all(_newFolders[folderId].filter(function (item) {
827
839
  return item.folder;
828
840
  }).map(function (item) {
829
- return _this6.browseFolder(item.id, _newFolders, true)["catch"](function (error) {});
841
+ return _this7.browseFolder(item.id, _newFolders, true)["catch"](function (error) {});
830
842
  })).then(function () {
831
843
  return resolve(_newFolders);
832
844
  })["catch"](function (error) {
@@ -844,15 +856,15 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
844
856
  var userData = null; // load only adapter.admin and not other meta files like hm-rpc.0.devices.blablabla
845
857
 
846
858
  objs = objs.filter(function (obj) {
847
- if (!_this6.state.expertMode) {
859
+ if (!_this7.state.expertMode) {
848
860
  return obj._id === '0_userdata.0' || obj._id === 'vis.0';
849
861
  } else {
850
862
  return obj._id.split('.').length <= 2;
851
863
  }
852
864
  }); // remember, that all folders are loaded
853
865
 
854
- if (_this6.state.expertMode) {
855
- _this6.setState({
866
+ if (_this7.state.expertMode) {
867
+ _this7.setState({
856
868
  allFoldersLoaded: true,
857
869
  loadFolders: false
858
870
  });
@@ -893,7 +905,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
893
905
  return Promise.all(_folders.filter(function (item) {
894
906
  return item.folder;
895
907
  }).map(function (item) {
896
- return _this6.browseFolder(item.id, _newFolders, true)["catch"](function (error) {});
908
+ return _this7.browseFolder(item.id, _newFolders, true)["catch"](function (error) {});
897
909
  })).then(function () {
898
910
  return _newFolders;
899
911
  });
@@ -901,7 +913,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
901
913
  return _newFolders;
902
914
  }
903
915
  })["catch"](function (e) {
904
- return _this6.initialReadFinished && window.alert('Cannot read meta items: ' + e);
916
+ return _this7.initialReadFinished && window.alert('Cannot read meta items: ' + e);
905
917
  });
906
918
  } else {
907
919
  var parts = folderId.split('/');
@@ -913,7 +925,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
913
925
  var _folders = [];
914
926
  files.forEach(function (file) {
915
927
  var item = {
916
- id: folderId + '/' + file.file,
928
+ id: "".concat(folderId, "/").concat(file.file),
917
929
  ext: _Utils["default"].getFileExtension(file.file),
918
930
  folder: file.isDir,
919
931
  name: file.file,
@@ -934,7 +946,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
934
946
  return Promise.all(_folders.filter(function (item) {
935
947
  return item.folder;
936
948
  }).map(function (item) {
937
- return _this6.browseFolder(item.id, _newFolders, true);
949
+ return _this7.browseFolder(item.id, _newFolders, true);
938
950
  })).then(function () {
939
951
  return _newFolders;
940
952
  });
@@ -942,7 +954,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
942
954
  return _newFolders;
943
955
  }
944
956
  })["catch"](function (e) {
945
- _this6.initialReadFinished && window.alert("Cannot read ".concat(adapter).concat(relPath ? '/' + relPath : '', ": ").concat(e));
957
+ _this7.initialReadFinished && window.alert("Cannot read ".concat(adapter).concat(relPath ? '/' + relPath : '', ": ").concat(e));
946
958
  _newFolders[folderId] = [];
947
959
  return _newFolders;
948
960
  });
@@ -951,12 +963,10 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
951
963
  }, {
952
964
  key: "toggleFolder",
953
965
  value: function toggleFolder(item, e) {
954
- var _this7 = this;
966
+ var _this8 = this;
955
967
 
956
968
  e && e.stopPropagation();
957
-
958
- var expanded = _toConsumableArray(this.state.expanded);
959
-
969
+ var expanded = (0, _toConsumableArray2["default"])(this.state.expanded);
960
970
  var pos = expanded.indexOf(item.id);
961
971
 
962
972
  if (pos === -1) {
@@ -966,12 +976,12 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
966
976
 
967
977
  if (!item.temp) {
968
978
  return this.browseFolder(item.id).then(function (folders) {
969
- return _this7.setState({
979
+ return _this8.setState({
970
980
  expanded: expanded,
971
981
  folders: folders
972
982
  });
973
983
  })["catch"](function (err) {
974
- return window.alert(err === NOT_FOUND ? _this7.props.t('ra_Cannot find "%s"', item.id) : _this7.props.t('ra_Cannot read "%s"', item.id));
984
+ return window.alert(err === NOT_FOUND ? _this8.props.t('ra_Cannot find "%s"', item.id) : _this8.props.t('ra_Cannot read "%s"', item.id));
975
985
  });
976
986
  } else {
977
987
  this.setState({
@@ -989,7 +999,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
989
999
  }, {
990
1000
  key: "changeFolder",
991
1001
  value: function changeFolder(e, folder) {
992
- var _this8 = this;
1002
+ var _this9 = this;
993
1003
 
994
1004
  e && e.stopPropagation();
995
1005
  this.lastSelect = Date.now();
@@ -1003,14 +1013,14 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1003
1013
 
1004
1014
  if (folder && !this.state.folders[folder]) {
1005
1015
  return this.browseFolder(folder).then(function (folders) {
1006
- return _this8.setState({
1016
+ return _this9.setState({
1007
1017
  folders: folders,
1008
1018
  path: folder,
1009
1019
  currentDir: folder,
1010
1020
  selected: folder,
1011
1021
  pathFocus: false
1012
1022
  }, function () {
1013
- return _this8.props.onSelect && _this8.props.onSelect('');
1023
+ return _this9.props.onSelect && _this9.props.onSelect('');
1014
1024
  });
1015
1025
  });
1016
1026
  } else {
@@ -1020,14 +1030,14 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1020
1030
  path: folder,
1021
1031
  pathFocus: false
1022
1032
  }, function () {
1023
- return _this8.props.onSelect && _this8.props.onSelect('');
1033
+ return _this9.props.onSelect && _this9.props.onSelect('');
1024
1034
  });
1025
1035
  }
1026
1036
  }
1027
1037
  }, {
1028
1038
  key: "select",
1029
1039
  value: function select(id, e, cb) {
1030
- var _this9 = this;
1040
+ var _this10 = this;
1031
1041
 
1032
1042
  if (typeof e === 'function') {
1033
1043
  cb = e;
@@ -1042,13 +1052,13 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1042
1052
  path: id,
1043
1053
  pathFocus: false
1044
1054
  }, function () {
1045
- if (_this9.props.onSelect) {
1055
+ if (_this10.props.onSelect) {
1046
1056
  var ext = _Utils["default"].getFileExtension(id);
1047
1057
 
1048
- if ((!_this9.props.filterFiles || _this9.props.filterFiles.includes(ext)) && (!_this9.props.filterByType || _FileViewer.EXTENSIONS[_this9.props.filterByType].includes(ext))) {
1049
- _this9.props.onSelect(id);
1058
+ if ((!_this10.props.filterFiles || _this10.props.filterFiles.includes(ext)) && (!_this10.props.filterByType || _FileViewer.EXTENSIONS[_this10.props.filterByType].includes(ext))) {
1059
+ _this10.props.onSelect(id);
1050
1060
  } else {
1051
- _this9.props.onSelect('');
1061
+ _this10.props.onSelect('');
1052
1062
  }
1053
1063
  }
1054
1064
 
@@ -1058,7 +1068,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1058
1068
  }, {
1059
1069
  key: "renderFolder",
1060
1070
  value: function renderFolder(item, expanded) {
1061
- var _this10 = this;
1071
+ var _this11 = this;
1062
1072
 
1063
1073
  if (this.state.filterEmpty && (!this.state.folders[item.id] || !this.state.folders[item.id].length) && item.id !== USER_DATA && !item.temp) {
1064
1074
  return null;
@@ -1074,17 +1084,17 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1074
1084
  width: 'calc(100% - ' + padding + 'px'
1075
1085
  } : {},
1076
1086
  onClick: function onClick(e) {
1077
- return _this10.state.viewType === TABLE ? _this10.select(item.id, e) : _this10.changeFolder(e, item.id);
1087
+ return _this11.state.viewType === TABLE ? _this11.select(item.id, e) : _this11.changeFolder(e, item.id);
1078
1088
  },
1079
1089
  onDoubleClick: function onDoubleClick(e) {
1080
- return _this10.state.viewType === TABLE && _this10.toggleFolder(item, e);
1090
+ return _this11.state.viewType === TABLE && _this11.toggleFolder(item, e);
1081
1091
  },
1082
- title: item.title && _typeof(item.title) === 'object' ? item.title[this.props.lang] || item.title.end || '' : item.title || null,
1092
+ title: item.title && (0, _typeof2["default"])(item.title) === 'object' ? item.title[this.props.lang] || item.title.end || '' : item.title || null,
1083
1093
  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'])
1084
1094
  }, /*#__PURE__*/_react["default"].createElement(Icon, {
1085
1095
  className: this.props.classes['itemFolderIcon' + this.state.viewType],
1086
1096
  onClick: this.state.viewType === TABLE ? function (e) {
1087
- return _this10.toggleFolder(item, e);
1097
+ return _this11.toggleFolder(item, e);
1088
1098
  } : undefined
1089
1099
  }), /*#__PURE__*/_react["default"].createElement("div", {
1090
1100
  className: _Utils["default"].clsx(this.props.classes['itemName' + this.state.viewType], this.props.classes['itemNameFolder' + this.state.viewType])
@@ -1101,20 +1111,20 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1101
1111
  }) : null), this.state.viewType === TABLE && this.props.allowDownload ? /*#__PURE__*/_react["default"].createElement("div", {
1102
1112
  className: this.props.classes['itemDownloadButton' + this.state.viewType]
1103
1113
  }) : null, this.state.viewType === TABLE && this.props.allowDelete && this.state.folders[item.id] && this.state.folders[item.id].length && (this.state.expertMode || item.id.startsWith(USER_DATA) || item.id.startsWith('vis.0/')) ? /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
1114
+ size: "large",
1104
1115
  "aria-label": "delete",
1105
1116
  onClick: function onClick(e) {
1106
1117
  e.stopPropagation();
1107
1118
 
1108
- if (_this10.suppressDeleteConfirm > Date.now()) {
1109
- _this10.deleteItem(item.id);
1119
+ if (_this11.suppressDeleteConfirm > Date.now()) {
1120
+ _this11.deleteItem(item.id);
1110
1121
  } else {
1111
- _this10.setState({
1122
+ _this11.setState({
1112
1123
  deleteItem: item.id
1113
1124
  });
1114
1125
  }
1115
1126
  },
1116
- className: this.props.classes['itemDeleteButton' + this.state.viewType],
1117
- size: "large"
1127
+ className: this.props.classes['itemDeleteButton' + this.state.viewType]
1118
1128
  }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], {
1119
1129
  fontSize: "small"
1120
1130
  })) : this.state.viewType === TABLE && this.props.allowDelete ? /*#__PURE__*/_react["default"].createElement("div", {
@@ -1124,13 +1134,13 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1124
1134
  }, {
1125
1135
  key: "renderBackFolder",
1126
1136
  value: function renderBackFolder() {
1127
- var _this11 = this;
1137
+ var _this12 = this;
1128
1138
 
1129
1139
  return /*#__PURE__*/_react["default"].createElement("div", {
1130
1140
  key: this.state.currentDir,
1131
1141
  id: this.state.currentDir,
1132
1142
  onClick: function onClick(e) {
1133
- return _this11.changeFolder(e);
1143
+ return _this12.changeFolder(e);
1134
1144
  },
1135
1145
  title: this.props.t('ra_Back to %s', getParentDir(this.state.currentDir)),
1136
1146
  className: _Utils["default"].clsx('browserItem', this.props.classes['item' + this.state.viewType], this.props.classes['itemFolder' + this.state.viewType])
@@ -1152,7 +1162,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1152
1162
  }, {
1153
1163
  key: "formatAcl",
1154
1164
  value: function formatAcl(acl) {
1155
- var _this12 = this;
1165
+ var _this13 = this;
1156
1166
 
1157
1167
  var access = acl && (acl.permissions || acl.file);
1158
1168
 
@@ -1162,14 +1172,14 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1162
1172
 
1163
1173
  return /*#__PURE__*/_react["default"].createElement("div", {
1164
1174
  className: this.props.classes['itemAccess' + this.state.viewType]
1165
- }, " ", /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
1175
+ }, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
1176
+ size: "large",
1166
1177
  onClick: function onClick() {
1167
- return _this12.setState({
1178
+ return _this13.setState({
1168
1179
  modalEditOfAccess: true
1169
1180
  });
1170
1181
  },
1171
- className: this.props.classes['itemAclButton' + this.state.viewType],
1172
- size: "large"
1182
+ className: this.props.classes['itemAclButton' + this.state.viewType]
1173
1183
  }, access || '---'));
1174
1184
  }
1175
1185
  }, {
@@ -1231,7 +1241,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1231
1241
  }, {
1232
1242
  key: "renderFile",
1233
1243
  value: function renderFile(item) {
1234
- var _this13 = this;
1244
+ var _this14 = this;
1235
1245
 
1236
1246
  var padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;
1237
1247
 
@@ -1241,16 +1251,16 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1241
1251
  key: item.id,
1242
1252
  id: item.id,
1243
1253
  onDoubleClick: function onDoubleClick() {
1244
- if (!_this13.props.onSelect) {
1245
- _this13.setState({
1246
- viewer: _this13.imagePrefix + item.id
1254
+ if (!_this14.props.onSelect) {
1255
+ _this14.setState({
1256
+ viewer: _this14.imagePrefix + item.id
1247
1257
  });
1248
- } else if ((!_this13.props.filterFiles || _this13.props.filterFiles.includes(item.ext)) && (!_this13.props.filterByType || _FileViewer.EXTENSIONS[_this13.props.filterByType].includes(item.ext))) {
1249
- _this13.props.onSelect(item.id, true);
1258
+ } else if ((!_this14.props.filterFiles || _this14.props.filterFiles.includes(item.ext)) && (!_this14.props.filterByType || _FileViewer.EXTENSIONS[_this14.props.filterByType].includes(item.ext))) {
1259
+ _this14.props.onSelect(item.id, true);
1250
1260
  }
1251
1261
  },
1252
1262
  onClick: function onClick(e) {
1253
- return _this13.select(item.id, e);
1263
+ return _this14.select(item.id, e);
1254
1264
  },
1255
1265
  style: this.state.viewType === TABLE ? {
1256
1266
  marginLeft: padding,
@@ -1278,13 +1288,13 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1278
1288
  onClick: function onClick(e) {
1279
1289
  e.stopPropagation();
1280
1290
 
1281
- if (!_this13.props.onSelect) {
1282
- _this13.setState({
1283
- viewer: _this13.imagePrefix + item.id,
1291
+ if (!_this14.props.onSelect) {
1292
+ _this14.setState({
1293
+ viewer: _this14.imagePrefix + item.id,
1284
1294
  formatEditFile: ext
1285
1295
  });
1286
- } else if ((!_this13.props.filterFiles || _this13.props.filterFiles.includes(item.ext)) && (!_this13.props.filterByType || _FileViewer.EXTENSIONS[_this13.props.filterByType].includes(item.ext))) {
1287
- _this13.props.onSelect(item.id, true);
1296
+ } else if ((!_this14.props.filterFiles || _this14.props.filterFiles.includes(item.ext)) && (!_this14.props.filterByType || _FileViewer.EXTENSIONS[_this14.props.filterByType].includes(item.ext))) {
1297
+ _this14.props.onSelect(item.id, true);
1288
1298
  }
1289
1299
  },
1290
1300
  className: this.props.classes['itemDeleteButton' + this.state.viewType],
@@ -1302,20 +1312,20 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1302
1312
  },
1303
1313
  size: "large"
1304
1314
  }, /*#__PURE__*/_react["default"].createElement(_SaveAlt["default"], null)) : null, this.state.viewType === TABLE && this.props.allowDelete && item.id !== 'vis.0/' && item.id !== USER_DATA && (this.state.expertMode || item.id.startsWith(USER_DATA) || item.id.startsWith('vis.0/')) ? /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
1315
+ size: "large",
1305
1316
  "aria-label": "delete",
1306
1317
  onClick: function onClick(e) {
1307
1318
  e.stopPropagation();
1308
1319
 
1309
- if (_this13.suppressDeleteConfirm > Date.now()) {
1310
- _this13.deleteItem(item.id);
1320
+ if (_this14.suppressDeleteConfirm > Date.now()) {
1321
+ _this14.deleteItem(item.id);
1311
1322
  } else {
1312
- _this13.setState({
1323
+ _this14.setState({
1313
1324
  deleteItem: item.id
1314
1325
  });
1315
1326
  }
1316
1327
  },
1317
- className: this.props.classes['itemDeleteButton' + this.state.viewType],
1318
- size: "large"
1328
+ className: this.props.classes['itemDeleteButton' + this.state.viewType]
1319
1329
  }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], {
1320
1330
  fontSize: "small"
1321
1331
  })) : this.state.viewType === TABLE && this.props.allowDelete ? /*#__PURE__*/_react["default"].createElement("div", {
@@ -1325,7 +1335,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1325
1335
  }, {
1326
1336
  key: "renderItems",
1327
1337
  value: function renderItems(folderId) {
1328
- var _this14 = this;
1338
+ var _this15 = this;
1329
1339
 
1330
1340
  if (folderId && folderId !== '/' && !this.state.expertMode && folderId !== USER_DATA && !folderId.startsWith(USER_DATA) && folderId !== 'vis.0' && !folderId.startsWith('vis.0/')) {
1331
1341
  return null;
@@ -1341,14 +1351,14 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1341
1351
  }
1342
1352
 
1343
1353
  this.state.folders[folderId].forEach(function (item) {
1344
- if (!_this14.state.expertMode && item.id !== USER_DATA && !item.id.startsWith(USER_DATA) && item.id !== 'vis.0' && !item.id.startsWith('vis.0/')) {
1354
+ if (!_this15.state.expertMode && item.id !== USER_DATA && !item.id.startsWith(USER_DATA) && item.id !== 'vis.0' && !item.id.startsWith('vis.0/')) {
1345
1355
  return;
1346
1356
  }
1347
1357
 
1348
1358
  if (item.folder) {
1349
- res.push(_this14.renderFolder(item));
1350
- } else if ((!_this14.props.filterFiles || _this14.props.filterFiles.includes(item.ext)) && (!_this14.props.filterByType || _FileViewer.EXTENSIONS[_this14.props.filterByType].includes(item.ext))) {
1351
- res.push(_this14.renderFile(item));
1359
+ res.push(_this15.renderFolder(item));
1360
+ } else if ((!_this15.props.filterFiles || _this15.props.filterFiles.includes(item.ext)) && (!_this15.props.filterByType || _FileViewer.EXTENSIONS[_this15.props.filterByType].includes(item.ext))) {
1361
+ res.push(_this15.renderFile(item));
1352
1362
  }
1353
1363
  });
1354
1364
  return res;
@@ -1356,20 +1366,20 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1356
1366
  return this.state.folders[folderId].map(function (item) {
1357
1367
  var res = [];
1358
1368
 
1359
- if (item.id && item.id !== '/' && !_this14.state.expertMode && item.id !== USER_DATA && !item.id.startsWith(USER_DATA) && item.id !== 'vis.0' && !item.id.startsWith('vis.0/')) {
1369
+ 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/')) {
1360
1370
  return null;
1361
1371
  }
1362
1372
 
1363
1373
  if (item.folder) {
1364
- var expanded = _this14.state.expanded.includes(item.id);
1374
+ var expanded = _this15.state.expanded.includes(item.id);
1365
1375
 
1366
- res.push(_this14.renderFolder(item, expanded));
1376
+ res.push(_this15.renderFolder(item, expanded));
1367
1377
 
1368
- if (_this14.state.folders[item.id] && expanded) {
1369
- res.push(_this14.renderItems(item.id));
1378
+ if (_this15.state.folders[item.id] && expanded) {
1379
+ res.push(_this15.renderItems(item.id));
1370
1380
  }
1371
- } else if ((!_this14.props.filterFiles || _this14.props.filterFiles.includes(item.ext)) && (!_this14.props.filterByType || _FileViewer.EXTENSIONS[_this14.props.filterByType].includes(item.ext))) {
1372
- res.push(_this14.renderFile(item));
1381
+ } else if ((!_this15.props.filterFiles || _this15.props.filterFiles.includes(item.ext)) && (!_this15.props.filterByType || _FileViewer.EXTENSIONS[_this15.props.filterByType].includes(item.ext))) {
1382
+ res.push(_this15.renderFile(item));
1373
1383
  } else {
1374
1384
  return null;
1375
1385
  }
@@ -1400,7 +1410,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1400
1410
  }, {
1401
1411
  key: "renderToolbar",
1402
1412
  value: function renderToolbar() {
1403
- var _this15 = this;
1413
+ var _this16 = this;
1404
1414
 
1405
1415
  return /*#__PURE__*/_react["default"].createElement(_Toolbar["default"], {
1406
1416
  key: "toolbar",
@@ -1411,8 +1421,8 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1411
1421
  className: _Utils["default"].clsx(this.props.classes.menuButton, this.state.expertMode && this.props.classes.menuButtonExpertActive),
1412
1422
  "aria-label": "expert mode",
1413
1423
  onClick: function onClick() {
1414
- return _this15.setState({
1415
- expertMode: !_this15.state.expertMode
1424
+ return _this16.setState({
1425
+ expertMode: !_this16.state.expertMode
1416
1426
  });
1417
1427
  },
1418
1428
  size: "large"
@@ -1422,20 +1432,20 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1422
1432
  className: this.props.classes.menuButton,
1423
1433
  "aria-label": "view mode",
1424
1434
  onClick: function onClick() {
1425
- var viewType = _this15.state.viewType === TABLE ? TILE : TABLE;
1435
+ var viewType = _this16.state.viewType === TABLE ? TILE : TABLE;
1426
1436
  window.localStorage.setItem('files.viewType', viewType);
1427
- var currentDir = _this15.state.selected;
1437
+ var currentDir = _this16.state.selected;
1428
1438
 
1429
1439
  if (isFile(currentDir)) {
1430
1440
  currentDir = getParentDir(currentDir);
1431
1441
  }
1432
1442
 
1433
- _this15.setState({
1443
+ _this16.setState({
1434
1444
  viewType: viewType,
1435
1445
  currentDir: currentDir
1436
1446
  }, function () {
1437
- if (_this15.state.viewType === TABLE) {
1438
- _this15.scrollToSelected();
1447
+ if (_this16.state.viewType === TABLE) {
1448
+ _this16.scrollToSelected();
1439
1449
  }
1440
1450
  });
1441
1451
  },
@@ -1447,10 +1457,10 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1447
1457
  color: this.state.filterEmpty ? 'secondary' : 'inherit',
1448
1458
  "aria-label": "filter empty",
1449
1459
  onClick: function onClick() {
1450
- window.localStorage.setItem('file.empty', !_this15.state.filterEmpty);
1460
+ window.localStorage.setItem('file.empty', !_this16.state.filterEmpty);
1451
1461
 
1452
- _this15.setState({
1453
- filterEmpty: !_this15.state.filterEmpty
1462
+ _this16.setState({
1463
+ filterEmpty: !_this16.state.filterEmpty
1454
1464
  });
1455
1465
  },
1456
1466
  size: "large"
@@ -1461,10 +1471,10 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1461
1471
  color: 'inherit',
1462
1472
  "aria-label": "reload files",
1463
1473
  onClick: function onClick() {
1464
- return _this15.setState({
1474
+ return _this16.setState({
1465
1475
  folders: {}
1466
1476
  }, function () {
1467
- return _this15.loadFolders();
1477
+ return _this16.loadFolders();
1468
1478
  });
1469
1479
  },
1470
1480
  size: "large"
@@ -1476,7 +1486,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1476
1486
  color: 'inherit',
1477
1487
  "aria-label": "add folder",
1478
1488
  onClick: function onClick() {
1479
- return _this15.setState({
1489
+ return _this16.setState({
1480
1490
  addFolder: true
1481
1491
  });
1482
1492
  },
@@ -1489,7 +1499,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1489
1499
  color: 'inherit',
1490
1500
  "aria-label": "upload file",
1491
1501
  onClick: function onClick() {
1492
- return _this15.setState({
1502
+ return _this16.setState({
1493
1503
  uploadFile: true
1494
1504
  });
1495
1505
  },
@@ -1528,7 +1538,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1528
1538
  }, {
1529
1539
  key: "renderInputDialog",
1530
1540
  value: function renderInputDialog() {
1531
- var _this16 = this;
1541
+ var _this17 = this;
1532
1542
 
1533
1543
  if (this.state.addFolder) {
1534
1544
  var parentFolder = this.findFirstFolder(this.state.selected);
@@ -1545,18 +1555,18 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1545
1555
  promptText: this.props.t('ra_If no file will be created in the folder, it will disappear after the browser closed'),
1546
1556
  labelText: this.props.t('ra_Folder name'),
1547
1557
  verify: function verify(text) {
1548
- return _this16.state.folders[parentFolder].find(function (item) {
1558
+ return _this17.state.folders[parentFolder].find(function (item) {
1549
1559
  return item.name === text;
1550
- }) ? '' : _this16.props.t('ra_Duplicate name');
1560
+ }) ? '' : _this17.props.t('ra_Duplicate name');
1551
1561
  },
1552
1562
  onClose: function onClose(name) {
1553
1563
  if (name) {
1554
1564
  var folders = {};
1555
- Object.keys(_this16.state.folders).forEach(function (folder) {
1556
- return folders[folder] = _this16.state.folders[folder];
1565
+ Object.keys(_this17.state.folders).forEach(function (folder) {
1566
+ return folders[folder] = _this17.state.folders[folder];
1557
1567
  });
1558
1568
 
1559
- var parent = _this16.findItem(parentFolder);
1569
+ var parent = _this17.findItem(parentFolder);
1560
1570
 
1561
1571
  var id = parentFolder + '/' + name;
1562
1572
  folders[parentFolder].push({
@@ -1568,8 +1578,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1568
1578
  });
1569
1579
  folders[parentFolder].sort(sortFolders);
1570
1580
  folders[id] = [];
1571
-
1572
- var expanded = _toConsumableArray(_this16.state.expanded);
1581
+ var expanded = (0, _toConsumableArray2["default"])(_this17.state.expanded);
1573
1582
 
1574
1583
  if (!expanded.includes(parentFolder)) {
1575
1584
  expanded.push(parentFolder);
@@ -1578,15 +1587,15 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1578
1587
 
1579
1588
  window.localStorage.setItem('files.expanded', JSON.stringify(expanded));
1580
1589
 
1581
- _this16.setState({
1590
+ _this17.setState({
1582
1591
  addFolder: false,
1583
1592
  folders: folders,
1584
1593
  expanded: expanded
1585
1594
  }, function () {
1586
- return _this16.select(id);
1595
+ return _this17.select(id);
1587
1596
  });
1588
1597
  } else {
1589
- _this16.setState({
1598
+ _this17.setState({
1590
1599
  addFolder: false
1591
1600
  });
1592
1601
  }
@@ -1602,11 +1611,11 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1602
1611
  }, {
1603
1612
  key: "componentDidUpdate",
1604
1613
  value: function componentDidUpdate(prevProps, prevState, snapshot) {
1605
- var _this17 = this;
1614
+ var _this18 = this;
1606
1615
 
1607
1616
  this.setOpacityTimer && clearTimeout(this.setOpacityTimer);
1608
1617
  this.setOpacityTimer = setTimeout(function () {
1609
- _this17.setOpacityTimer = null;
1618
+ _this18.setOpacityTimer = null;
1610
1619
  var items = window.document.getElementsByClassName('browserItem');
1611
1620
 
1612
1621
  for (var i = 0; i < items.length; i++) {
@@ -1649,7 +1658,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1649
1658
  }, {
1650
1659
  key: "renderUpload",
1651
1660
  value: function renderUpload() {
1652
- var _this18 = this;
1661
+ var _this19 = this;
1653
1662
 
1654
1663
  if (this.state.uploadFile) {
1655
1664
  return [/*#__PURE__*/_react["default"].createElement(_Fab["default"], {
@@ -1658,19 +1667,19 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1658
1667
  "aria-label": "close",
1659
1668
  className: this.props.classes.uploadCloseButton,
1660
1669
  onClick: function onClick() {
1661
- return _this18.setState({
1670
+ return _this19.setState({
1662
1671
  uploadFile: false
1663
1672
  });
1664
1673
  }
1665
1674
  }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null)), /*#__PURE__*/_react["default"].createElement(_reactDropzone["default"], {
1666
1675
  key: "dropzone",
1667
1676
  onDragEnter: function onDragEnter() {
1668
- return _this18.setState({
1677
+ return _this19.setState({
1669
1678
  uploadFile: 'dragging'
1670
1679
  });
1671
1680
  },
1672
1681
  onDragLeave: function onDragLeave() {
1673
- return _this18.setState({
1682
+ return _this19.setState({
1674
1683
  uploadFile: true
1675
1684
  });
1676
1685
  },
@@ -1688,30 +1697,30 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1688
1697
  };
1689
1698
 
1690
1699
  reader.onload = function () {
1691
- var parentFolder = _this18.findFirstFolder(_this18.state.selected);
1700
+ var parentFolder = _this19.findFirstFolder(_this19.state.selected);
1692
1701
 
1693
1702
  if (!parentFolder) {
1694
- return window.alert(_this18.props.t('ra_Invalid parent folder!'));
1703
+ return window.alert(_this19.props.t('ra_Invalid parent folder!'));
1695
1704
  }
1696
1705
 
1697
1706
  var id = parentFolder + '/' + file.name;
1698
1707
 
1699
- _this18.uploadFile(id, reader.result).then(function () {
1708
+ _this19.uploadFile(id, reader.result).then(function () {
1700
1709
  if (! --count) {
1701
1710
  var folders = {};
1702
- Object.keys(_this18.state.folders).forEach(function (name) {
1711
+ Object.keys(_this19.state.folders).forEach(function (name) {
1703
1712
  if (name !== parentFolder && !name.startsWith(parentFolder + '/')) {
1704
- folders[name] = _this18.state.folders[name];
1713
+ folders[name] = _this19.state.folders[name];
1705
1714
  }
1706
1715
  });
1707
1716
 
1708
- _this18.setState({
1717
+ _this19.setState({
1709
1718
  uploadFile: false,
1710
1719
  folders: folders
1711
1720
  }, function () {
1712
- return _this18.browseFolders(_toConsumableArray(_this18.state.expanded), folders).then(function (folders) {
1721
+ return _this19.browseFolders((0, _toConsumableArray2["default"])(_this19.state.expanded), folders).then(function (folders) {
1713
1722
  // open current folder
1714
- var expanded = _toConsumableArray(_this18.state.expanded);
1723
+ var expanded = (0, _toConsumableArray2["default"])(_this19.state.expanded);
1715
1724
 
1716
1725
  if (!expanded.includes(parentFolder)) {
1717
1726
  expanded.push(parentFolder);
@@ -1719,11 +1728,11 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1719
1728
  window.localStorage.setItem('files.expanded', JSON.stringify(expanded));
1720
1729
  }
1721
1730
 
1722
- _this18.setState({
1731
+ _this19.setState({
1723
1732
  folders: folders,
1724
1733
  expanded: expanded
1725
1734
  }, function () {
1726
- return _this18.select(id);
1735
+ return _this19.select(id);
1727
1736
  });
1728
1737
  });
1729
1738
  });
@@ -1737,17 +1746,17 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1737
1746
  }, function (_ref2) {
1738
1747
  var getRootProps = _ref2.getRootProps,
1739
1748
  getInputProps = _ref2.getInputProps;
1740
- return /*#__PURE__*/_react["default"].createElement("div", _extends({
1741
- className: _Utils["default"].clsx(_this18.props.classes.uploadDiv, _this18.state.uploadFile === 'dragging' && _this18.props.classes.uploadDivDragging)
1749
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
1750
+ className: _Utils["default"].clsx(_this19.props.classes.uploadDiv, _this19.state.uploadFile === 'dragging' && _this19.props.classes.uploadDivDragging)
1742
1751
  }, getRootProps()), /*#__PURE__*/_react["default"].createElement("input", getInputProps()), /*#__PURE__*/_react["default"].createElement("div", {
1743
- className: _this18.props.classes.uploadCenterDiv
1752
+ className: _this19.props.classes.uploadCenterDiv
1744
1753
  }, /*#__PURE__*/_react["default"].createElement("div", {
1745
- className: _this18.props.classes.uploadCenterTextAndIcon
1754
+ className: _this19.props.classes.uploadCenterTextAndIcon
1746
1755
  }, /*#__PURE__*/_react["default"].createElement(_Publish["default"], {
1747
- className: _this18.props.classes.uploadCenterIcon
1756
+ className: _this19.props.classes.uploadCenterIcon
1748
1757
  }), /*#__PURE__*/_react["default"].createElement("div", {
1749
- className: _this18.props.classes.uploadCenterText
1750
- }, _this18.state.uploadFile === 'dragging' ? _this18.props.t('ra_Drop file here') : _this18.props.t('ra_Place your files here or click here to open the browse dialog')))));
1758
+ className: _this19.props.classes.uploadCenterText
1759
+ }, _this19.state.uploadFile === 'dragging' ? _this19.props.t('ra_Drop file here') : _this19.props.t('ra_Place your files here or click here to open the browse dialog')))));
1751
1760
  })];
1752
1761
  } else {
1753
1762
  return null;
@@ -1756,22 +1765,22 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1756
1765
  }, {
1757
1766
  key: "deleteRecursive",
1758
1767
  value: function deleteRecursive(id) {
1759
- var _this19 = this;
1768
+ var _this20 = this;
1760
1769
 
1761
1770
  var item = this.findItem(id);
1762
1771
 
1763
1772
  if (item.folder) {
1764
1773
  return (this.state.folders[id] ? Promise.all(this.state.folders[id].map(function (item) {
1765
- return _this19.deleteRecursive(item.id);
1774
+ return _this20.deleteRecursive(item.id);
1766
1775
  })) : Promise.resolve()).then(function () {
1767
1776
  // If it is folder of second level
1768
1777
  if (item.level >= 1) {
1769
1778
  var parts = id.split('/');
1770
1779
  var adapter = parts.shift();
1771
1780
 
1772
- _this19.props.socket.deleteFolder(adapter, parts.join('/')).then(function () {
1781
+ _this20.props.socket.deleteFolder(adapter, parts.join('/')).then(function () {
1773
1782
  // remove this folder
1774
- var folders = JSON.parse(JSON.stringify(_this19.state.folders));
1783
+ var folders = JSON.parse(JSON.stringify(_this20.state.folders));
1775
1784
  delete folders[item.id]; // delete folder from parent item
1776
1785
 
1777
1786
  var parentId = getParentDir(item.id);
@@ -1786,8 +1795,8 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1786
1795
  parentFolder.splice(pos, 1);
1787
1796
  }
1788
1797
 
1789
- _this19.select(parentId, function () {
1790
- return _this19.setState({
1798
+ _this20.select(parentId, function () {
1799
+ return _this20.setState({
1791
1800
  folders: folders
1792
1801
  });
1793
1802
  });
@@ -1811,22 +1820,21 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1811
1820
  }, {
1812
1821
  key: "deleteItem",
1813
1822
  value: function deleteItem(_deleteItem) {
1814
- var _this20 = this;
1823
+ var _this21 = this;
1815
1824
 
1816
1825
  _deleteItem = _deleteItem || this.state.deleteItem;
1817
1826
  this.setState({
1818
1827
  deleteItem: ''
1819
1828
  }, function () {
1820
- return _this20.deleteRecursive(_deleteItem).then(function () {
1821
- var pos = _this20.state.expanded.indexOf(_deleteItem);
1829
+ return _this21.deleteRecursive(_deleteItem).then(function () {
1830
+ var pos = _this21.state.expanded.indexOf(_deleteItem);
1822
1831
 
1823
1832
  if (pos !== -1) {
1824
- var expanded = _toConsumableArray(_this20.state.expanded);
1825
-
1833
+ var expanded = (0, _toConsumableArray2["default"])(_this21.state.expanded);
1826
1834
  expanded.splice(pos, 1);
1827
1835
  window.localStorage.setItem('files.expanded', JSON.stringify(expanded));
1828
1836
 
1829
- _this20.setState({
1837
+ _this21.setState({
1830
1838
  expanded: expanded
1831
1839
  });
1832
1840
  }
@@ -1847,14 +1855,14 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1847
1855
  }, {
1848
1856
  key: "renderDeleteDialog",
1849
1857
  value: function renderDeleteDialog() {
1850
- var _this21 = this;
1858
+ var _this22 = this;
1851
1859
 
1852
1860
  if (this.state.deleteItem) {
1853
1861
  return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
1854
1862
  key: "deleteDialog",
1855
1863
  open: true,
1856
1864
  onClose: function onClose() {
1857
- return _this21.setState({
1865
+ return _this22.setState({
1858
1866
  deleteItem: ''
1859
1867
  });
1860
1868
  },
@@ -1862,28 +1870,28 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1862
1870
  }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
1863
1871
  id: "form-dialog-title"
1864
1872
  }, this.props.t('ra_Confirm deletion of %s', this.state.deleteItem.split('/').pop())), /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement(_DialogContentText["default"], null, this.props.t('ra_Are you sure?'))), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
1865
- color: "grey",
1866
1873
  variant: "contained",
1867
1874
  onClick: function onClick() {
1868
- _this21.suppressDeleteConfirm = Date.now() + 60000 * 5;
1875
+ _this22.suppressDeleteConfirm = Date.now() + 60000 * 5;
1869
1876
 
1870
- _this21.deleteItem();
1871
- }
1877
+ _this22.deleteItem();
1878
+ },
1879
+ color: "grey"
1872
1880
  }, this.props.t('ra_Delete (no confirm for 5 mins)')), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
1873
1881
  variant: "contained",
1874
1882
  onClick: function onClick() {
1875
- return _this21.deleteItem();
1883
+ return _this22.deleteItem();
1876
1884
  },
1877
1885
  color: "primary",
1878
1886
  autoFocus: true
1879
1887
  }, this.props.t('ra_Delete')), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
1880
- color: "grey",
1881
1888
  variant: "contained",
1882
1889
  onClick: function onClick() {
1883
- return _this21.setState({
1890
+ return _this22.setState({
1884
1891
  deleteItem: ''
1885
1892
  });
1886
- }
1893
+ },
1894
+ color: "grey"
1887
1895
  }, this.props.t('ra_Cancel'))));
1888
1896
  } else {
1889
1897
  return false;
@@ -1892,7 +1900,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1892
1900
  }, {
1893
1901
  key: "renderViewDialog",
1894
1902
  value: function renderViewDialog() {
1895
- var _this22 = this;
1903
+ var _this23 = this;
1896
1904
 
1897
1905
  return this.state.viewer ? /*#__PURE__*/_react["default"].createElement(_FileViewer["default"], {
1898
1906
  key: this.state.viewer,
@@ -1906,7 +1914,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1906
1914
  lang: this.props.lang,
1907
1915
  expertMode: this.state.expertMode,
1908
1916
  onClose: function onClose() {
1909
- return _this22.setState({
1917
+ return _this23.setState({
1910
1918
  viewer: '',
1911
1919
  formatEditFile: ''
1912
1920
  });
@@ -1916,14 +1924,14 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1916
1924
  }, {
1917
1925
  key: "renderError",
1918
1926
  value: function renderError() {
1919
- var _this23 = this;
1927
+ var _this24 = this;
1920
1928
 
1921
1929
  if (this.state.errorText) {
1922
1930
  return /*#__PURE__*/_react["default"].createElement(_Error["default"], {
1923
1931
  key: "errorDialog",
1924
1932
  text: this.state.errorText,
1925
1933
  onClose: function onClose() {
1926
- return _this23.setState({
1934
+ return _this24.setState({
1927
1935
  errorText: ''
1928
1936
  });
1929
1937
  }
@@ -1935,12 +1943,12 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1935
1943
  }, {
1936
1944
  key: "updateItemsAcl",
1937
1945
  value: function updateItemsAcl(info) {
1938
- var _this24 = this;
1946
+ var _this25 = this;
1939
1947
 
1940
1948
  var folders = JSON.parse(JSON.stringify(this.state.folders));
1941
1949
  var changed;
1942
1950
  info.forEach(function (it) {
1943
- var item = _this24.findItem(it.id, folders);
1951
+ var item = _this25.findItem(it.id, folders);
1944
1952
 
1945
1953
  if (item && JSON.stringify(item.acl) !== JSON.stringify(it.acl)) {
1946
1954
  item.acl = it.acl;
@@ -1954,41 +1962,41 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1954
1962
  }, {
1955
1963
  key: "changeToPath",
1956
1964
  value: function changeToPath() {
1957
- var _this25 = this;
1965
+ var _this26 = this;
1958
1966
 
1959
1967
  setTimeout(function () {
1960
- if (_this25.state.path !== _this25.state.selected && (!_this25.lastSelect || Date.now() - _this25.lastSelect > 100)) {
1961
- var folder = _this25.state.path;
1968
+ if (_this26.state.path !== _this26.state.selected && (!_this26.lastSelect || Date.now() - _this26.lastSelect > 100)) {
1969
+ var folder = _this26.state.path;
1962
1970
 
1963
- if (isFile(_this25.state.path)) {
1964
- folder = getParentDir(_this25.state.path);
1971
+ if (isFile(_this26.state.path)) {
1972
+ folder = getParentDir(_this26.state.path);
1965
1973
  }
1966
1974
 
1967
1975
  return new Promise(function (resolve) {
1968
- if (!_this25.state.folders[folder]) {
1969
- return _this25.browseFolder(folder).then(function (folders) {
1970
- return _this25.setState({
1976
+ if (!_this26.state.folders[folder]) {
1977
+ return _this26.browseFolder(folder).then(function (folders) {
1978
+ return _this26.setState({
1971
1979
  folders: folders
1972
1980
  }, function () {
1973
1981
  return resolve(true);
1974
1982
  });
1975
1983
  })["catch"](function (err) {
1976
- return _this25.setState({
1977
- errorText: err === NOT_FOUND ? _this25.props.t('ra_Cannot find "%s"', folder) : _this25.props.t('ra_Cannot read "%s"', folder)
1984
+ return _this26.setState({
1985
+ errorText: err === NOT_FOUND ? _this26.props.t('ra_Cannot find "%s"', folder) : _this26.props.t('ra_Cannot read "%s"', folder)
1978
1986
  });
1979
1987
  });
1980
1988
  } else {
1981
1989
  return resolve(true);
1982
1990
  }
1983
1991
  }).then(function (result) {
1984
- return result && _this25.setState({
1985
- selected: _this25.state.path,
1992
+ return result && _this26.setState({
1993
+ selected: _this26.state.path,
1986
1994
  currentDir: folder,
1987
1995
  pathFocus: false
1988
1996
  });
1989
1997
  });
1990
- } else if (!_this25.lastSelect || Date.now() - _this25.lastSelect > 100) {
1991
- _this25.setState({
1998
+ } else if (!_this26.lastSelect || Date.now() - _this26.lastSelect > 100) {
1999
+ _this26.setState({
1992
2000
  pathFocus: false
1993
2001
  });
1994
2002
  }
@@ -1997,7 +2005,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1997
2005
  }, {
1998
2006
  key: "renderBreadcrumb",
1999
2007
  value: function renderBreadcrumb() {
2000
- var _this26 = this;
2008
+ var _this27 = this;
2001
2009
 
2002
2010
  var parts = this.state.selected.startsWith('/') ? this.state.selected.split('/') : ('/' + this.state.selected).split('/');
2003
2011
  var p = [];
@@ -2007,21 +2015,21 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
2007
2015
 
2008
2016
  if (i < parts.length - 1) {
2009
2017
  return [/*#__PURE__*/_react["default"].createElement("div", {
2010
- key: _this26.state.selected + '_' + i,
2011
- className: _this26.props.classes.pathDivBreadcrumbDir,
2018
+ key: _this27.state.selected + '_' + i,
2019
+ className: _this27.props.classes.pathDivBreadcrumbDir,
2012
2020
  onClick: function onClick(e) {
2013
- return _this26.changeFolder(e, path || '/');
2021
+ return _this27.changeFolder(e, path || '/');
2014
2022
  }
2015
- }, part || _this26.props.t('ra_Root')), /*#__PURE__*/_react["default"].createElement("span", {
2016
- key: _this26.state.selected + '_s_' + i,
2017
- className: _this26.props.classes.pathDivBreadcrumbSlash
2023
+ }, part || _this27.props.t('ra_Root')), /*#__PURE__*/_react["default"].createElement("span", {
2024
+ key: _this27.state.selected + '_s_' + i,
2025
+ className: _this27.props.classes.pathDivBreadcrumbSlash
2018
2026
  }, '>')];
2019
2027
  } else {
2020
2028
  return /*#__PURE__*/_react["default"].createElement("div", {
2021
- key: _this26.state.selected + '_' + i,
2022
- className: _this26.props.classes.pathDivBreadcrumbFile,
2029
+ key: _this27.state.selected + '_' + i,
2030
+ className: _this27.props.classes.pathDivBreadcrumbFile,
2023
2031
  onClick: function onClick() {
2024
- return _this26.setState({
2032
+ return _this27.setState({
2025
2033
  pathFocus: true
2026
2034
  });
2027
2035
  }
@@ -2032,7 +2040,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
2032
2040
  }, {
2033
2041
  key: "renderPath",
2034
2042
  value: function renderPath() {
2035
- var _this27 = this;
2043
+ var _this28 = this;
2036
2044
 
2037
2045
  return /*#__PURE__*/_react["default"].createElement("div", {
2038
2046
  key: "path",
@@ -2040,13 +2048,13 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
2040
2048
  }, this.state.pathFocus ? /*#__PURE__*/_react["default"].createElement(_Input["default"], {
2041
2049
  value: this.state.path,
2042
2050
  onKeyDown: function onKeyDown(e) {
2043
- return e.keyCode === 13 && _this27.changeToPath();
2051
+ return e.keyCode === 13 && _this28.changeToPath();
2044
2052
  },
2045
2053
  onBlur: function onBlur(e) {
2046
- return _this27.changeToPath();
2054
+ return _this28.changeToPath();
2047
2055
  },
2048
2056
  onChange: function onChange(e) {
2049
- return _this27.setState({
2057
+ return _this28.setState({
2050
2058
  path: e.target.value
2051
2059
  });
2052
2060
  },
@@ -2056,24 +2064,22 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
2056
2064
  }, {
2057
2065
  key: "render",
2058
2066
  value: function render() {
2059
- var _this28 = this;
2067
+ var _this29 = this;
2060
2068
 
2061
2069
  if (!this.props.ready) {
2062
- return /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
2063
- key: this.props.key ? this.props.key + '_c' : 'c'
2064
- });
2070
+ return /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], null);
2065
2071
  }
2066
2072
 
2067
2073
  if (this.state.loadAllFolders && !this.foldersLoading) {
2068
2074
  this.foldersLoading = true;
2069
2075
  setTimeout(function () {
2070
- _this28.setState({
2076
+ _this29.setState({
2071
2077
  loadAllFolders: false,
2072
2078
  folders: {}
2073
2079
  }, function () {
2074
- _this28.foldersLoading = false;
2080
+ _this29.foldersLoading = false;
2075
2081
 
2076
- _this28.loadFolders();
2082
+ _this29.loadFolders();
2077
2083
  });
2078
2084
  }, 300);
2079
2085
  }
@@ -2098,7 +2104,6 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
2098
2104
  }
2099
2105
  }
2100
2106
  }]);
2101
-
2102
2107
  return FileBrowser;
2103
2108
  }(_react.Component);
2104
2109
 
@@ -2140,7 +2145,7 @@ FileBrowser.propTypes = {
2140
2145
  };
2141
2146
  /** @type {typeof FileBrowser} */
2142
2147
 
2143
- var _export = withWidth()((0, _withStyles["default"])(styles)(FileBrowser));
2148
+ var _export = (0, _withWidth["default"])()((0, _styles.withStyles)(styles)(FileBrowser));
2144
2149
 
2145
2150
  var _default = _export;
2146
2151
  exports["default"] = _default;