@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.
- package/Components/404.js +17 -25
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js +25 -35
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +29 -37
- package/Components/ComplexCron.js.map +1 -1
- package/Components/FileBrowser.js +281 -276
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js +230 -96
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.js +15 -25
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js +6 -6
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js +25 -31
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js +15 -25
- package/Components/Image.js.map +1 -1
- package/Components/Loader.js +14 -24
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js +13 -23
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js +14 -24
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js +15 -25
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js +14 -11
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +127 -210
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js +13 -21
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js +15 -25
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js +23 -37
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.js +17 -25
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cronText.js +2 -2
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js +24 -34
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/TabContainer.js +18 -28
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js +17 -27
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js +13 -23
- package/Components/TabHeader.js.map +1 -1
- package/Components/TextWithIcon.js +5 -5
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.js +2 -2
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js +21 -42
- package/Components/TreeTable.js.map +1 -1
- package/Components/Utils.js +56 -42
- package/Components/Utils.js.map +1 -1
- package/Components/withWidth.js +42 -0
- package/Components/withWidth.js.map +1 -0
- package/Connection.js +15 -22
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js +15 -25
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js +15 -25
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +19 -27
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js +15 -25
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js +15 -25
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectID.js +19 -27
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +15 -25
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js +18 -28
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +37 -49
- package/GenericApp.js.map +1 -1
- package/README.md +12 -1
- package/Theme.js +2 -2
- package/Theme.js.map +1 -1
- package/i18n.js +10 -14
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.js +2 -2
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js +2 -2
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js +2 -2
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js +2 -2
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js +2 -2
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js +2 -2
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js +2 -2
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js +2 -2
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconExpert.js +2 -2
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.js +2 -2
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js +2 -2
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js +2 -2
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconOpen.js +2 -2
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js +6 -6
- package/icons/IconState.js.map +1 -1
- 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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
504
|
-
|
|
482
|
+
(0, _classCallCheck2["default"])(this, FileBrowser);
|
|
505
483
|
_this = _super.call(this, props);
|
|
506
|
-
|
|
507
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
|
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] =
|
|
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
|
|
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
|
|
699
|
+
return _this4.browseFolders(foldersList, _newFolders, _resolve);
|
|
693
700
|
}, 0);
|
|
694
701
|
})["catch"](function () {
|
|
695
702
|
return setTimeout(function () {
|
|
696
|
-
return
|
|
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
|
|
711
|
+
var _this5 = this;
|
|
705
712
|
|
|
706
713
|
return new Promise(function (resolve, reject) {
|
|
707
|
-
if (
|
|
714
|
+
if (_this5.browseList) {
|
|
708
715
|
// if component still mounted
|
|
709
|
-
|
|
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
|
-
!
|
|
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
|
|
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 (
|
|
750
|
+
if (_this6.browseList) {
|
|
744
751
|
// if component still mounted
|
|
745
|
-
var item =
|
|
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
|
-
|
|
761
|
+
_this6.browseListRunning = false;
|
|
755
762
|
|
|
756
|
-
if (
|
|
763
|
+
if (_this6.browseList.length) {
|
|
757
764
|
if (level < 5) {
|
|
758
|
-
|
|
765
|
+
_this6.processBrowseList(level + 1);
|
|
759
766
|
} else {
|
|
760
767
|
setTimeout(function () {
|
|
761
|
-
return
|
|
768
|
+
return _this6.processBrowseList(0);
|
|
762
769
|
}, 0);
|
|
763
770
|
}
|
|
764
771
|
} else {
|
|
765
|
-
|
|
772
|
+
_this6.setState({
|
|
766
773
|
queueLength: 0
|
|
767
774
|
});
|
|
768
775
|
}
|
|
769
776
|
} else {
|
|
770
|
-
|
|
777
|
+
_this6.setState({
|
|
771
778
|
queueLength: 0
|
|
772
779
|
});
|
|
773
780
|
}
|
|
774
781
|
}
|
|
775
782
|
})["catch"](function (e) {
|
|
776
|
-
if (
|
|
783
|
+
if (_this6.browseList) {
|
|
777
784
|
// if component still mounted
|
|
778
|
-
var item =
|
|
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
|
-
|
|
794
|
+
_this6.browseListRunning = false;
|
|
788
795
|
|
|
789
|
-
if (
|
|
796
|
+
if (_this6.browseList.length) {
|
|
790
797
|
if (level < 5) {
|
|
791
|
-
|
|
798
|
+
_this6.processBrowseList(level + 1);
|
|
792
799
|
} else {
|
|
793
800
|
setTimeout(function () {
|
|
794
|
-
return
|
|
801
|
+
return _this6.processBrowseList(0);
|
|
795
802
|
}, 0);
|
|
796
803
|
}
|
|
797
804
|
} else {
|
|
798
|
-
|
|
805
|
+
_this6.setState({
|
|
799
806
|
queueLength: 0
|
|
800
807
|
});
|
|
801
808
|
}
|
|
802
809
|
} else {
|
|
803
|
-
|
|
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
|
|
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] =
|
|
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
|
|
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 (!
|
|
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 (
|
|
855
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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 ?
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 (
|
|
1055
|
+
if (_this10.props.onSelect) {
|
|
1046
1056
|
var ext = _Utils["default"].getFileExtension(id);
|
|
1047
1057
|
|
|
1048
|
-
if ((!
|
|
1049
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
1090
|
+
return _this11.state.viewType === TABLE && _this11.toggleFolder(item, e);
|
|
1081
1091
|
},
|
|
1082
|
-
title: item.title &&
|
|
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
|
|
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 (
|
|
1109
|
-
|
|
1119
|
+
if (_this11.suppressDeleteConfirm > Date.now()) {
|
|
1120
|
+
_this11.deleteItem(item.id);
|
|
1110
1121
|
} else {
|
|
1111
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
},
|
|
1175
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
1176
|
+
size: "large",
|
|
1166
1177
|
onClick: function onClick() {
|
|
1167
|
-
return
|
|
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
|
|
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 (!
|
|
1245
|
-
|
|
1246
|
-
viewer:
|
|
1254
|
+
if (!_this14.props.onSelect) {
|
|
1255
|
+
_this14.setState({
|
|
1256
|
+
viewer: _this14.imagePrefix + item.id
|
|
1247
1257
|
});
|
|
1248
|
-
} else if ((!
|
|
1249
|
-
|
|
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
|
|
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 (!
|
|
1282
|
-
|
|
1283
|
-
viewer:
|
|
1291
|
+
if (!_this14.props.onSelect) {
|
|
1292
|
+
_this14.setState({
|
|
1293
|
+
viewer: _this14.imagePrefix + item.id,
|
|
1284
1294
|
formatEditFile: ext
|
|
1285
1295
|
});
|
|
1286
|
-
} else if ((!
|
|
1287
|
-
|
|
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 (
|
|
1310
|
-
|
|
1320
|
+
if (_this14.suppressDeleteConfirm > Date.now()) {
|
|
1321
|
+
_this14.deleteItem(item.id);
|
|
1311
1322
|
} else {
|
|
1312
|
-
|
|
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
|
|
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 (!
|
|
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(
|
|
1350
|
-
} else if ((!
|
|
1351
|
-
res.push(
|
|
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 !== '/' && !
|
|
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 =
|
|
1374
|
+
var expanded = _this15.state.expanded.includes(item.id);
|
|
1365
1375
|
|
|
1366
|
-
res.push(
|
|
1376
|
+
res.push(_this15.renderFolder(item, expanded));
|
|
1367
1377
|
|
|
1368
|
-
if (
|
|
1369
|
-
res.push(
|
|
1378
|
+
if (_this15.state.folders[item.id] && expanded) {
|
|
1379
|
+
res.push(_this15.renderItems(item.id));
|
|
1370
1380
|
}
|
|
1371
|
-
} else if ((!
|
|
1372
|
-
res.push(
|
|
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
|
|
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
|
|
1415
|
-
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 =
|
|
1435
|
+
var viewType = _this16.state.viewType === TABLE ? TILE : TABLE;
|
|
1426
1436
|
window.localStorage.setItem('files.viewType', viewType);
|
|
1427
|
-
var currentDir =
|
|
1437
|
+
var currentDir = _this16.state.selected;
|
|
1428
1438
|
|
|
1429
1439
|
if (isFile(currentDir)) {
|
|
1430
1440
|
currentDir = getParentDir(currentDir);
|
|
1431
1441
|
}
|
|
1432
1442
|
|
|
1433
|
-
|
|
1443
|
+
_this16.setState({
|
|
1434
1444
|
viewType: viewType,
|
|
1435
1445
|
currentDir: currentDir
|
|
1436
1446
|
}, function () {
|
|
1437
|
-
if (
|
|
1438
|
-
|
|
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', !
|
|
1460
|
+
window.localStorage.setItem('file.empty', !_this16.state.filterEmpty);
|
|
1451
1461
|
|
|
1452
|
-
|
|
1453
|
-
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
|
|
1474
|
+
return _this16.setState({
|
|
1465
1475
|
folders: {}
|
|
1466
1476
|
}, function () {
|
|
1467
|
-
return
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1558
|
+
return _this17.state.folders[parentFolder].find(function (item) {
|
|
1549
1559
|
return item.name === text;
|
|
1550
|
-
}) ? '' :
|
|
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(
|
|
1556
|
-
return 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 =
|
|
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
|
-
|
|
1590
|
+
_this17.setState({
|
|
1582
1591
|
addFolder: false,
|
|
1583
1592
|
folders: folders,
|
|
1584
1593
|
expanded: expanded
|
|
1585
1594
|
}, function () {
|
|
1586
|
-
return
|
|
1595
|
+
return _this17.select(id);
|
|
1587
1596
|
});
|
|
1588
1597
|
} else {
|
|
1589
|
-
|
|
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
|
|
1614
|
+
var _this18 = this;
|
|
1606
1615
|
|
|
1607
1616
|
this.setOpacityTimer && clearTimeout(this.setOpacityTimer);
|
|
1608
1617
|
this.setOpacityTimer = setTimeout(function () {
|
|
1609
|
-
|
|
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
|
|
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
|
|
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
|
|
1677
|
+
return _this19.setState({
|
|
1669
1678
|
uploadFile: 'dragging'
|
|
1670
1679
|
});
|
|
1671
1680
|
},
|
|
1672
1681
|
onDragLeave: function onDragLeave() {
|
|
1673
|
-
return
|
|
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 =
|
|
1700
|
+
var parentFolder = _this19.findFirstFolder(_this19.state.selected);
|
|
1692
1701
|
|
|
1693
1702
|
if (!parentFolder) {
|
|
1694
|
-
return window.alert(
|
|
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
|
-
|
|
1708
|
+
_this19.uploadFile(id, reader.result).then(function () {
|
|
1700
1709
|
if (! --count) {
|
|
1701
1710
|
var folders = {};
|
|
1702
|
-
Object.keys(
|
|
1711
|
+
Object.keys(_this19.state.folders).forEach(function (name) {
|
|
1703
1712
|
if (name !== parentFolder && !name.startsWith(parentFolder + '/')) {
|
|
1704
|
-
folders[name] =
|
|
1713
|
+
folders[name] = _this19.state.folders[name];
|
|
1705
1714
|
}
|
|
1706
1715
|
});
|
|
1707
1716
|
|
|
1708
|
-
|
|
1717
|
+
_this19.setState({
|
|
1709
1718
|
uploadFile: false,
|
|
1710
1719
|
folders: folders
|
|
1711
1720
|
}, function () {
|
|
1712
|
-
return
|
|
1721
|
+
return _this19.browseFolders((0, _toConsumableArray2["default"])(_this19.state.expanded), folders).then(function (folders) {
|
|
1713
1722
|
// open current folder
|
|
1714
|
-
var 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
|
-
|
|
1731
|
+
_this19.setState({
|
|
1723
1732
|
folders: folders,
|
|
1724
1733
|
expanded: expanded
|
|
1725
1734
|
}, function () {
|
|
1726
|
-
return
|
|
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",
|
|
1741
|
-
className: _Utils["default"].clsx(
|
|
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:
|
|
1752
|
+
className: _this19.props.classes.uploadCenterDiv
|
|
1744
1753
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
1745
|
-
className:
|
|
1754
|
+
className: _this19.props.classes.uploadCenterTextAndIcon
|
|
1746
1755
|
}, /*#__PURE__*/_react["default"].createElement(_Publish["default"], {
|
|
1747
|
-
className:
|
|
1756
|
+
className: _this19.props.classes.uploadCenterIcon
|
|
1748
1757
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
1749
|
-
className:
|
|
1750
|
-
},
|
|
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
|
|
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
|
|
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
|
-
|
|
1781
|
+
_this20.props.socket.deleteFolder(adapter, parts.join('/')).then(function () {
|
|
1773
1782
|
// remove this folder
|
|
1774
|
-
var folders = JSON.parse(JSON.stringify(
|
|
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
|
-
|
|
1790
|
-
return
|
|
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
|
|
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
|
|
1821
|
-
var pos =
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
1875
|
+
_this22.suppressDeleteConfirm = Date.now() + 60000 * 5;
|
|
1869
1876
|
|
|
1870
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
1965
|
+
var _this26 = this;
|
|
1958
1966
|
|
|
1959
1967
|
setTimeout(function () {
|
|
1960
|
-
if (
|
|
1961
|
-
var folder =
|
|
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(
|
|
1964
|
-
folder = getParentDir(
|
|
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 (!
|
|
1969
|
-
return
|
|
1970
|
-
return
|
|
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
|
|
1977
|
-
errorText: err === NOT_FOUND ?
|
|
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 &&
|
|
1985
|
-
selected:
|
|
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 (!
|
|
1991
|
-
|
|
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
|
|
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:
|
|
2011
|
-
className:
|
|
2018
|
+
key: _this27.state.selected + '_' + i,
|
|
2019
|
+
className: _this27.props.classes.pathDivBreadcrumbDir,
|
|
2012
2020
|
onClick: function onClick(e) {
|
|
2013
|
-
return
|
|
2021
|
+
return _this27.changeFolder(e, path || '/');
|
|
2014
2022
|
}
|
|
2015
|
-
}, part ||
|
|
2016
|
-
key:
|
|
2017
|
-
className:
|
|
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:
|
|
2022
|
-
className:
|
|
2029
|
+
key: _this27.state.selected + '_' + i,
|
|
2030
|
+
className: _this27.props.classes.pathDivBreadcrumbFile,
|
|
2023
2031
|
onClick: function onClick() {
|
|
2024
|
-
return
|
|
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
|
|
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 &&
|
|
2051
|
+
return e.keyCode === 13 && _this28.changeToPath();
|
|
2044
2052
|
},
|
|
2045
2053
|
onBlur: function onBlur(e) {
|
|
2046
|
-
return
|
|
2054
|
+
return _this28.changeToPath();
|
|
2047
2055
|
},
|
|
2048
2056
|
onChange: function onChange(e) {
|
|
2049
|
-
return
|
|
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
|
|
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
|
-
|
|
2076
|
+
_this29.setState({
|
|
2071
2077
|
loadAllFolders: false,
|
|
2072
2078
|
folders: {}
|
|
2073
2079
|
}, function () {
|
|
2074
|
-
|
|
2080
|
+
_this29.foldersLoading = false;
|
|
2075
2081
|
|
|
2076
|
-
|
|
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 =
|
|
2148
|
+
var _export = (0, _withWidth["default"])()((0, _styles.withStyles)(styles)(FileBrowser));
|
|
2144
2149
|
|
|
2145
2150
|
var _default = _export;
|
|
2146
2151
|
exports["default"] = _default;
|