@iobroker/adapter-react-v5 3.1.34 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/404.js +0 -23
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js +6 -37
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +10 -84
- package/Components/ComplexCron.js.map +1 -1
- package/Components/CustomModal.js +29 -54
- package/Components/CustomModal.js.map +1 -1
- package/Components/FileBrowser.js +15 -265
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js +7 -68
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.d.ts +1 -1
- package/Components/Icon.js +2 -42
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js +6 -28
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js +3 -55
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js +1 -38
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ChipInput.js +66 -197
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js +0 -31
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js +6 -39
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +6 -52
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js +5 -39
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js +4 -42
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js +0 -28
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigChip.js +4 -33
- package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigColor.js +0 -34
- package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.js +0 -33
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +14 -73
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigDatePicker.js +0 -25
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js +0 -46
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js +7 -126
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js +0 -34
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +15 -110
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js +2 -35
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js +4 -44
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -59
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +7 -40
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +2 -42
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js +2 -45
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js +6 -40
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js +7 -91
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPassword.js +0 -42
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js +0 -25
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js +0 -34
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js +4 -34
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +11 -67
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +8 -91
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js +0 -55
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSlider.js +0 -28
- package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticDivider.js +0 -21
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticHeader.js +0 -24
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticImage.js +0 -23
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js +0 -31
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +13 -105
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTabs.js +2 -35
- package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js +0 -34
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js +0 -37
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTimePicker.js +0 -25
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTopic.js +0 -29
- package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js +2 -40
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/JsonConfigComponent/index.js +5 -81
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/Loader.js +2 -20
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js +2 -20
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js +2 -21
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js +6 -39
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js +3 -27
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.d.ts +1 -1
- package/Components/ObjectBrowser.js +181 -788
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js +7 -31
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js +2 -32
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js +29 -251
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.d.ts +1 -1
- package/Components/SelectWithIcon.js +0 -48
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cron2text.js +45 -91
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/cronText.js +0 -6
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js +19 -102
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js +44 -24
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TabContainer.js +2 -23
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js +2 -22
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js +1 -17
- package/Components/TabHeader.js.map +1 -1
- package/Components/TableResize.js +6 -51
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js +0 -20
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.js +5 -13
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js +4 -121
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js +17 -60
- package/Components/UploadImage.js.map +1 -1
- package/Components/Utils.js +87 -263
- package/Components/Utils.js.map +1 -1
- package/Components/copy-to-clipboard.js +16 -38
- package/Components/copy-to-clipboard.js.map +1 -1
- package/Components/withWidth.js +2 -10
- package/Components/withWidth.js.map +1 -1
- package/Connection.d.ts +1 -0
- package/Connection.js +156 -527
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js +0 -34
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js +1 -39
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +1 -37
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.d.ts +1 -1
- package/Dialogs/Error.js +2 -29
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/FileSelect.js +2 -36
- package/Dialogs/FileSelect.js.map +1 -1
- package/Dialogs/Message.js +2 -27
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectID.d.ts +1 -1
- package/Dialogs/SelectID.js +3 -40
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +1 -33
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js +2 -34
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +55 -150
- package/GenericApp.js.map +1 -1
- package/Prompt.js +0 -2
- package/Prompt.js.map +1 -1
- package/README.md +11 -4
- package/Theme.js +7 -22
- package/Theme.js.map +1 -1
- package/i18n/uk.json +326 -0
- package/i18n.d.ts +2 -0
- package/i18n.js +9 -29
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.d.ts +2 -2
- package/icons/IconAdapter.js +2 -6
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.d.ts +2 -2
- package/icons/IconAlias.js +2 -6
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.d.ts +2 -2
- package/icons/IconChannel.js +2 -6
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.d.ts +2 -2
- package/icons/IconClearFilter.js +0 -5
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.d.ts +2 -2
- package/icons/IconClosed.js +0 -5
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.d.ts +2 -2
- package/icons/IconCopy.js +0 -5
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.d.ts +2 -2
- package/icons/IconDevice.js +0 -5
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.d.ts +2 -2
- package/icons/IconDocument.js +0 -5
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconDocumentReadOnly.d.ts +2 -2
- package/icons/IconDocumentReadOnly.js +0 -5
- package/icons/IconDocumentReadOnly.js.map +1 -1
- package/icons/IconExpert.d.ts +2 -2
- package/icons/IconExpert.js +0 -5
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.d.ts +2 -2
- package/icons/IconFx.js +0 -5
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.d.ts +2 -2
- package/icons/IconInstance.js +0 -5
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.d.ts +2 -2
- package/icons/IconLogout.js +0 -5
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconNoIcon.d.ts +2 -2
- package/icons/IconNoIcon.js +0 -5
- package/icons/IconNoIcon.js.map +1 -1
- package/icons/IconOpen.d.ts +2 -2
- package/icons/IconOpen.js +0 -5
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.d.ts +2 -2
- package/icons/IconState.js +0 -6
- package/icons/IconState.js.map +1 -1
- package/package.json +15 -15
package/Components/FileViewer.js
CHANGED
|
@@ -1,70 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = exports.EXTENSIONS = void 0;
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
27
|
-
|
|
28
17
|
var _styles = require("@mui/styles");
|
|
29
|
-
|
|
30
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
-
|
|
32
19
|
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
33
|
-
|
|
34
20
|
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
35
|
-
|
|
36
21
|
var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
|
|
37
|
-
|
|
38
22
|
var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
|
|
39
|
-
|
|
40
23
|
var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
|
|
41
|
-
|
|
42
24
|
var _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
|
|
43
|
-
|
|
44
25
|
var _material = require("@mui/material");
|
|
45
|
-
|
|
46
26
|
var _IconNoIcon = _interopRequireDefault(require("../icons/IconNoIcon"));
|
|
47
|
-
|
|
48
27
|
var _withWidth = _interopRequireDefault(require("./withWidth"));
|
|
49
|
-
|
|
50
28
|
var _Utils = _interopRequireDefault(require("./Utils"));
|
|
51
|
-
|
|
52
29
|
var _fa = require("react-icons/fa");
|
|
53
|
-
|
|
54
30
|
var _Brightness = _interopRequireDefault(require("@mui/icons-material/Brightness6"));
|
|
55
|
-
|
|
56
31
|
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
57
|
-
|
|
58
32
|
var _Save = _interopRequireDefault(require("@mui/icons-material/Save"));
|
|
59
|
-
|
|
60
33
|
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); }
|
|
61
|
-
|
|
62
34
|
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; }
|
|
63
|
-
|
|
64
35
|
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); }; }
|
|
65
|
-
|
|
66
36
|
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; } }
|
|
67
|
-
|
|
68
37
|
var styles = function styles(theme) {
|
|
69
38
|
return {
|
|
70
39
|
dialog: {
|
|
@@ -91,7 +60,6 @@ var styles = function styles(theme) {
|
|
|
91
60
|
}
|
|
92
61
|
};
|
|
93
62
|
};
|
|
94
|
-
|
|
95
63
|
var EXTENSIONS = {
|
|
96
64
|
images: ['png', 'jpg', 'svg', 'jpeg', 'bmp'],
|
|
97
65
|
code: ['js', 'json', 'json5', 'md'],
|
|
@@ -100,18 +68,16 @@ var EXTENSIONS = {
|
|
|
100
68
|
video: ['mp4', 'mov', 'avi']
|
|
101
69
|
};
|
|
102
70
|
exports.EXTENSIONS = EXTENSIONS;
|
|
103
|
-
|
|
104
71
|
function bufferToBase64(buffer) {
|
|
105
72
|
var binary = '';
|
|
106
73
|
var bytes = new Uint8Array(buffer);
|
|
107
74
|
var len = bytes.byteLength;
|
|
108
|
-
|
|
109
75
|
for (var i = 0; i < len && i < 50; i++) {
|
|
110
76
|
binary += String.fromCharCode(bytes[i]);
|
|
111
77
|
}
|
|
112
|
-
|
|
113
78
|
return window.btoa(binary);
|
|
114
79
|
}
|
|
80
|
+
|
|
115
81
|
/**
|
|
116
82
|
* @typedef {object} FileViewerProps
|
|
117
83
|
* @property {import('../types').Translator} t Translation function
|
|
@@ -122,19 +88,14 @@ function bufferToBase64(buffer) {
|
|
|
122
88
|
*
|
|
123
89
|
* @extends {React.Component<FileViewerProps>}
|
|
124
90
|
*/
|
|
125
|
-
|
|
126
|
-
|
|
127
91
|
var FileViewer = /*#__PURE__*/function (_Component) {
|
|
128
92
|
(0, _inherits2["default"])(FileViewer, _Component);
|
|
129
|
-
|
|
130
93
|
var _super = _createSuper(FileViewer);
|
|
131
|
-
|
|
132
94
|
/**
|
|
133
95
|
* @param {Readonly<FileViewerProps>} props
|
|
134
96
|
*/
|
|
135
97
|
function FileViewer(props) {
|
|
136
98
|
var _this;
|
|
137
|
-
|
|
138
99
|
(0, _classCallCheck2["default"])(this, FileViewer);
|
|
139
100
|
_this = _super.call(this, props);
|
|
140
101
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFileChanged", function (id, fileName, size) {
|
|
@@ -142,7 +103,6 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
142
103
|
_this.timeout && clearTimeout(_this.timeout);
|
|
143
104
|
_this.timeout = setTimeout(function () {
|
|
144
105
|
_this.timeout = null;
|
|
145
|
-
|
|
146
106
|
if (size === null) {
|
|
147
107
|
window.alert('Show file was deleted!');
|
|
148
108
|
} else if (_this.state.text !== null || _this.state.code !== null) {
|
|
@@ -157,29 +117,24 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
157
117
|
});
|
|
158
118
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "writeFile64", function () {
|
|
159
119
|
var parts = _this.props.href.split('/');
|
|
160
|
-
|
|
161
120
|
var data = _this.state.editingValue;
|
|
162
121
|
parts.splice(0, 2);
|
|
163
122
|
var adapter = parts[0];
|
|
164
|
-
var name = parts.splice(1).join('/');
|
|
165
|
-
|
|
123
|
+
var name = parts.splice(1).join('/');
|
|
124
|
+
// File viewer in adapter-react does not support write
|
|
166
125
|
/*
|
|
167
126
|
this.props.socket.writeFile64(adapter, name, Buffer.from(data).toString('base64'))
|
|
168
127
|
.then(_ => this.props.onClose())
|
|
169
128
|
.catch(e => window.alert('Cannot write file: ' + e));
|
|
170
129
|
*/
|
|
171
130
|
});
|
|
172
|
-
|
|
173
131
|
var ext = _Utils["default"].getFileExtension(_this.props.href);
|
|
174
|
-
|
|
175
132
|
_this.state = {
|
|
176
133
|
text: null,
|
|
177
134
|
code: null,
|
|
178
135
|
ext: ext,
|
|
179
136
|
// File viewer in adapter-react does not support write
|
|
180
|
-
editing:
|
|
181
|
-
/* !!this.props.formatEditFile || */
|
|
182
|
-
false,
|
|
137
|
+
editing: /* !!this.props.formatEditFile || */false,
|
|
183
138
|
editingValue: null,
|
|
184
139
|
copyPossible: EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext),
|
|
185
140
|
forceUpdate: Date.now(),
|
|
@@ -188,12 +143,10 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
188
143
|
};
|
|
189
144
|
return _this;
|
|
190
145
|
}
|
|
191
|
-
|
|
192
146
|
(0, _createClass2["default"])(FileViewer, [{
|
|
193
147
|
key: "readFile",
|
|
194
148
|
value: function readFile() {
|
|
195
149
|
var _this2 = this;
|
|
196
|
-
|
|
197
150
|
if (this.props.href) {
|
|
198
151
|
var parts = this.props.href.split('/');
|
|
199
152
|
parts.splice(0, 2);
|
|
@@ -203,20 +156,17 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
203
156
|
if (data.file !== undefined) {
|
|
204
157
|
data = data.file;
|
|
205
158
|
}
|
|
206
|
-
|
|
207
159
|
var newState = {
|
|
208
160
|
copyPossible: _this2.state.copyPossible
|
|
209
|
-
};
|
|
210
|
-
|
|
161
|
+
};
|
|
162
|
+
// try to detect valid extension
|
|
211
163
|
if (data.type === 'Buffer') {
|
|
212
164
|
var ext = _Utils["default"].detectMimeType(bufferToBase64(data.data));
|
|
213
|
-
|
|
214
165
|
if (ext) {
|
|
215
166
|
newState.ext = ext;
|
|
216
167
|
newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);
|
|
217
168
|
}
|
|
218
169
|
}
|
|
219
|
-
|
|
220
170
|
if (newState.copyPossible) {
|
|
221
171
|
if (EXTENSIONS.txt.includes(_this2.state.ext)) {
|
|
222
172
|
newState.text = data;
|
|
@@ -226,7 +176,6 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
226
176
|
newState.editingValue = data;
|
|
227
177
|
}
|
|
228
178
|
}
|
|
229
|
-
|
|
230
179
|
_this2.setState(newState);
|
|
231
180
|
})["catch"](function (e) {
|
|
232
181
|
return window.alert('Cannot read file: ' + e);
|
|
@@ -257,7 +206,6 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
257
206
|
key: "getContent",
|
|
258
207
|
value: function getContent() {
|
|
259
208
|
var _this3 = this;
|
|
260
|
-
|
|
261
209
|
if (EXTENSIONS.images.includes(this.state.ext)) {
|
|
262
210
|
if (this.state.imgError) {
|
|
263
211
|
return /*#__PURE__*/_react["default"].createElement(_IconNoIcon["default"], {
|
|
@@ -267,7 +215,6 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
267
215
|
return /*#__PURE__*/_react["default"].createElement("img", {
|
|
268
216
|
onError: function onError(e) {
|
|
269
217
|
e.target.onerror = null;
|
|
270
|
-
|
|
271
218
|
_this3.setState({
|
|
272
219
|
imgError: true
|
|
273
220
|
});
|
|
@@ -299,7 +246,6 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
299
246
|
key: "render",
|
|
300
247
|
value: function render() {
|
|
301
248
|
var _this4 = this;
|
|
302
|
-
|
|
303
249
|
return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
304
250
|
classes: {
|
|
305
251
|
scrollPaper: this.props.classes.dialog,
|
|
@@ -350,19 +296,14 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
350
296
|
switch (ext) {
|
|
351
297
|
case 'json':
|
|
352
298
|
return 'json';
|
|
353
|
-
|
|
354
299
|
case 'json5':
|
|
355
300
|
return 'json5';
|
|
356
|
-
|
|
357
301
|
case 'js':
|
|
358
302
|
return 'javascript';
|
|
359
|
-
|
|
360
303
|
case 'html':
|
|
361
304
|
return 'html';
|
|
362
|
-
|
|
363
305
|
case 'txt':
|
|
364
306
|
return 'html';
|
|
365
|
-
|
|
366
307
|
default:
|
|
367
308
|
return 'json';
|
|
368
309
|
}
|
|
@@ -370,7 +311,6 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
370
311
|
}]);
|
|
371
312
|
return FileViewer;
|
|
372
313
|
}(_react.Component);
|
|
373
|
-
|
|
374
314
|
FileViewer.propTypes = {
|
|
375
315
|
t: _propTypes["default"].func,
|
|
376
316
|
lang: _propTypes["default"].string,
|
|
@@ -379,10 +319,9 @@ FileViewer.propTypes = {
|
|
|
379
319
|
href: _propTypes["default"].string.isRequired,
|
|
380
320
|
supportSubscribes: _propTypes["default"].bool
|
|
381
321
|
};
|
|
382
|
-
/** @type {typeof FileViewer} */
|
|
383
322
|
|
|
323
|
+
/** @type {typeof FileViewer} */
|
|
384
324
|
var _export = (0, _withWidth["default"])()((0, _styles.withStyles)(styles)(FileViewer));
|
|
385
|
-
|
|
386
325
|
var _default = _export;
|
|
387
326
|
exports["default"] = _default;
|
|
388
327
|
//# sourceMappingURL=FileViewer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileViewer.js","names":["styles","theme","dialog","height","paper","content","textAlign","textarea","width","img","objectFit","dialogTitle","justifyContent","display","EXTENSIONS","images","code","txt","audio","video","bufferToBase64","buffer","binary","bytes","Uint8Array","len","byteLength","i","String","fromCharCode","window","btoa","FileViewer","props","id","fileName","size","state","changed","timeout","clearTimeout","setTimeout","alert","text","readFile","setState","forceUpdate","Date","now","parts","href","split","data","editingValue","splice","adapter","name","join","ext","Utils","getFileExtension","editing","copyPossible","includes","imgError","socket","then","file","undefined","newState","type","detectMimeType","e","supportSubscribes","subscribeFiles","onFileChanged","clsx","classes","getClassBackgroundImage","target","onerror","newValue","readOnly","scrollPaper","onClose","t","setStateBackgroundImage","getContent","copyToClipboard","writeFile64","Component","propTypes","PropTypes","func","lang","string","expertMode","bool","isRequired","_export","withWidth","withStyles"],"sources":["FileViewer.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { withStyles } from '@mui/styles';\nimport PropTypes from 'prop-types';\n\n// File viewer in adapter-react does not support write\n// import { Buffer } from 'buffer';\n\nimport TextField from '@mui/material/TextField';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { IconButton } from '@mui/material';\n\nimport IconNoIcon from '../icons/IconNoIcon';\nimport withWidth from './withWidth';\nimport Utils from './Utils';\n\n// Icons\nimport { FaCopy as CopyIcon } from 'react-icons/fa';\nimport Brightness5Icon from '@mui/icons-material/Brightness6';\nimport CloseIcon from '@mui/icons-material/Close';\nimport SaveIcon from '@mui/icons-material/Save';\n\nconst styles = theme => ({\n dialog: {\n height: '100%',\n },\n paper: {\n height: 'calc(100% - 64px)',\n },\n content: {\n textAlign: 'center',\n },\n textarea: {\n width: '100%',\n height: '100%',\n },\n img: {\n width: 'auto',\n height: 'calc(100% - 5px)',\n objectFit: 'contain',\n },\n dialogTitle: {\n justifyContent: 'space-between',\n display: 'flex'\n }\n});\n\nexport const EXTENSIONS = {\n images: ['png', 'jpg', 'svg', 'jpeg', 'bmp'],\n code: ['js', 'json', 'json5', 'md'],\n txt: ['log', 'txt', 'html', 'css', 'xml'],\n audio: ['mp3', 'wav', 'ogg', 'acc'],\n video: ['mp4', 'mov', 'avi'],\n};\n\nfunction bufferToBase64(buffer) {\n let binary = '';\n let bytes = new Uint8Array(buffer);\n let len = bytes.byteLength;\n for (let i = 0; i < len && i < 50; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n}\n\n/**\n * @typedef {object} FileViewerProps\n * @property {import('../types').Translator} t Translation function\n * @property {ioBroker.Languages} [lang] The selected language.\n * @property {boolean} [expertMode] Is expert mode enabled? (default: false)\n * @property {() => void} onClose Callback when the viewer is closed.\n * @property {string} href The URL to the file to be displayed.\n *\n * @extends {React.Component<FileViewerProps>}\n */\nclass FileViewer extends Component {\n /**\n * @param {Readonly<FileViewerProps>} props\n */\n constructor(props) {\n super(props);\n const ext = Utils.getFileExtension(this.props.href);\n\n this.state = {\n text: null,\n code: null,\n ext,\n // File viewer in adapter-react does not support write\n editing: /* !!this.props.formatEditFile || */ false,\n editingValue: null,\n copyPossible: EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext),\n forceUpdate: Date.now(),\n changed: false,\n imgError: false,\n };\n }\n\n readFile() {\n if (this.props.href) {\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.socket.readFile(adapter, name)\n .then(data => {\n if (data.file !== undefined) {\n data = data.file;\n }\n\n const newState = {copyPossible: this.state.copyPossible};\n // try to detect valid extension\n if (data.type === 'Buffer') {\n const ext = Utils.detectMimeType(bufferToBase64(data.data));\n if (ext) {\n newState.ext = ext;\n newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);\n }\n }\n\n if (newState.copyPossible) {\n if (EXTENSIONS.txt.includes(this.state.ext)) {\n newState.text = data;\n newState.editingValue = data;\n } else if (EXTENSIONS.code.includes(this.state.ext)) {\n newState.code = data;\n newState.editingValue = data;\n }\n }\n\n this.setState(newState);\n })\n .catch(e => window.alert('Cannot read file: ' + e));\n }\n }\n\n componentDidMount() {\n this.readFile();\n\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n componentWillUnmount() {\n this.timeout && clearTimeout(this.timeout);\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n onFileChanged = (id, fileName, size) => {\n if (!this.state.changed) {\n this.timeout && clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.timeout = null;\n if (size === null) {\n window.alert('Show file was deleted!');\n } else if (this.state.text !== null || this.state.code !== null) {\n this.readFile();\n } else {\n this.setState({ forceUpdate: Date.now() });\n }\n }, 300);\n }\n };\n\n writeFile64 = () => {\n const parts = this.props.href.split('/');\n const data = this.state.editingValue;\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n // File viewer in adapter-react does not support write\n /*\n this.props.socket.writeFile64(adapter, name, Buffer.from(data).toString('base64'))\n .then(_ => this.props.onClose())\n .catch(e => window.alert('Cannot write file: ' + e));\n */\n }\n\n static getEditFile(ext) {\n switch (ext) {\n case 'json':\n return 'json';\n case 'json5':\n return 'json5';\n case 'js':\n return 'javascript';\n case 'html':\n return 'html';\n case 'txt':\n return 'html';\n default:\n return 'json';\n }\n }\n\n getContent() {\n if (EXTENSIONS.images.includes(this.state.ext)) {\n if (this.state.imgError) {\n return <IconNoIcon className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())} />;\n } else {\n return <img\n onError={e => {\n e.target.onerror = null;\n this.setState({ imgError: true });\n }}\n className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())}\n src={this.props.href + '?ts=' + this.state.forceUpdate}\n alt={this.props.href}\n />;\n }\n } else if (this.state.code !== null || this.state.text !== null || this.state.editing) {\n return <TextField\n variant=\"standard\"\n className={ this.props.classes.textarea }\n multiline\n value={ this.state.editingValue || this.state.code || this.state.text }\n onChange={newValue => this.setState({ editingValue: newValue, changed: true })}\n InputProps={{ readOnly: !this.state.editing }}\n />;\n }\n }\n\n render() {\n return <Dialog\n classes={{ scrollPaper: this.props.classes.dialog, paper: this.props.classes.paper }}\n scroll=\"paper\"\n open={!!this.props.href}\n onClose={() => this.props.onClose()}\n fullWidth={true}\n maxWidth=\"xl\"\n aria-labelledby=\"form-dialog-title\"\n >\n <div className={this.props.classes.dialogTitle}>\n <DialogTitle id=\"form-dialog-title\">{this.props.t(this.state.editing ? 'Edit' : 'View') + ': ' + this.props.href}</DialogTitle>\n {EXTENSIONS.images.includes(this.state.ext) && <div>\n <IconButton size=\"large\"\n color={'inherit'}\n onClick={this.props.setStateBackgroundImage}\n >\n <Brightness5Icon />\n </IconButton>\n </div>\n }\n </div>\n <DialogContent className={this.props.classes.content}>\n {this.getContent()}\n </DialogContent>\n <DialogActions>\n {this.state.copyPossible ?\n <Button\n color=\"grey\"\n onClick={e => Utils.copyToClipboard(this.state.text || this.state.code, e)}\n startIcon={<CopyIcon />}\n >\n {this.props.t('Copy content')}\n </Button> : null}\n {this.state.editing ?\n <Button\n color=\"grey\"\n disabled={this.state.editingValue === this.state.code || this.state.editingValue === this.state.text}\n variant=\"contained\"\n onClick={this.writeFile64}\n startIcon={<SaveIcon />}\n >\n {this.props.t('Save')}\n </Button> : null}\n <Button\n variant=\"contained\"\n onClick={() => this.props.onClose()}\n color=\"primary\"\n startIcon={<CloseIcon />}\n >\n {this.props.t('Close')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nFileViewer.propTypes = {\n t: PropTypes.func,\n lang: PropTypes.string,\n expertMode: PropTypes.bool,\n onClose: PropTypes.func,\n href: PropTypes.string.isRequired,\n supportSubscribes: PropTypes.bool,\n};\n\n/** @type {typeof FileViewer} */\nconst _export = withWidth()(withStyles(styles)(FileViewer));\nexport default _export;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileViewer.js","names":["styles","theme","dialog","height","paper","content","textAlign","textarea","width","img","objectFit","dialogTitle","justifyContent","display","EXTENSIONS","images","code","txt","audio","video","bufferToBase64","buffer","binary","bytes","Uint8Array","len","byteLength","i","String","fromCharCode","window","btoa","FileViewer","props","id","fileName","size","state","changed","timeout","clearTimeout","setTimeout","alert","text","readFile","setState","forceUpdate","Date","now","parts","href","split","data","editingValue","splice","adapter","name","join","ext","Utils","getFileExtension","editing","copyPossible","includes","imgError","socket","then","file","undefined","newState","type","detectMimeType","e","supportSubscribes","subscribeFiles","onFileChanged","clsx","classes","getClassBackgroundImage","target","onerror","newValue","readOnly","scrollPaper","onClose","t","setStateBackgroundImage","getContent","copyToClipboard","writeFile64","Component","propTypes","PropTypes","func","lang","string","expertMode","bool","isRequired","_export","withWidth","withStyles"],"sources":["FileViewer.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { withStyles } from '@mui/styles';\nimport PropTypes from 'prop-types';\n\n// File viewer in adapter-react does not support write\n// import { Buffer } from 'buffer';\n\nimport TextField from '@mui/material/TextField';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { IconButton } from '@mui/material';\n\nimport IconNoIcon from '../icons/IconNoIcon';\nimport withWidth from './withWidth';\nimport Utils from './Utils';\n\n// Icons\nimport { FaCopy as CopyIcon } from 'react-icons/fa';\nimport Brightness5Icon from '@mui/icons-material/Brightness6';\nimport CloseIcon from '@mui/icons-material/Close';\nimport SaveIcon from '@mui/icons-material/Save';\n\nconst styles = theme => ({\n dialog: {\n height: '100%',\n },\n paper: {\n height: 'calc(100% - 64px)',\n },\n content: {\n textAlign: 'center',\n },\n textarea: {\n width: '100%',\n height: '100%',\n },\n img: {\n width: 'auto',\n height: 'calc(100% - 5px)',\n objectFit: 'contain',\n },\n dialogTitle: {\n justifyContent: 'space-between',\n display: 'flex'\n }\n});\n\nexport const EXTENSIONS = {\n images: ['png', 'jpg', 'svg', 'jpeg', 'bmp'],\n code: ['js', 'json', 'json5', 'md'],\n txt: ['log', 'txt', 'html', 'css', 'xml'],\n audio: ['mp3', 'wav', 'ogg', 'acc'],\n video: ['mp4', 'mov', 'avi'],\n};\n\nfunction bufferToBase64(buffer) {\n let binary = '';\n let bytes = new Uint8Array(buffer);\n let len = bytes.byteLength;\n for (let i = 0; i < len && i < 50; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n}\n\n/**\n * @typedef {object} FileViewerProps\n * @property {import('../types').Translator} t Translation function\n * @property {ioBroker.Languages} [lang] The selected language.\n * @property {boolean} [expertMode] Is expert mode enabled? (default: false)\n * @property {() => void} onClose Callback when the viewer is closed.\n * @property {string} href The URL to the file to be displayed.\n *\n * @extends {React.Component<FileViewerProps>}\n */\nclass FileViewer extends Component {\n /**\n * @param {Readonly<FileViewerProps>} props\n */\n constructor(props) {\n super(props);\n const ext = Utils.getFileExtension(this.props.href);\n\n this.state = {\n text: null,\n code: null,\n ext,\n // File viewer in adapter-react does not support write\n editing: /* !!this.props.formatEditFile || */ false,\n editingValue: null,\n copyPossible: EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext),\n forceUpdate: Date.now(),\n changed: false,\n imgError: false,\n };\n }\n\n readFile() {\n if (this.props.href) {\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.socket.readFile(adapter, name)\n .then(data => {\n if (data.file !== undefined) {\n data = data.file;\n }\n\n const newState = {copyPossible: this.state.copyPossible};\n // try to detect valid extension\n if (data.type === 'Buffer') {\n const ext = Utils.detectMimeType(bufferToBase64(data.data));\n if (ext) {\n newState.ext = ext;\n newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);\n }\n }\n\n if (newState.copyPossible) {\n if (EXTENSIONS.txt.includes(this.state.ext)) {\n newState.text = data;\n newState.editingValue = data;\n } else if (EXTENSIONS.code.includes(this.state.ext)) {\n newState.code = data;\n newState.editingValue = data;\n }\n }\n\n this.setState(newState);\n })\n .catch(e => window.alert('Cannot read file: ' + e));\n }\n }\n\n componentDidMount() {\n this.readFile();\n\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n componentWillUnmount() {\n this.timeout && clearTimeout(this.timeout);\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n onFileChanged = (id, fileName, size) => {\n if (!this.state.changed) {\n this.timeout && clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.timeout = null;\n if (size === null) {\n window.alert('Show file was deleted!');\n } else if (this.state.text !== null || this.state.code !== null) {\n this.readFile();\n } else {\n this.setState({ forceUpdate: Date.now() });\n }\n }, 300);\n }\n };\n\n writeFile64 = () => {\n const parts = this.props.href.split('/');\n const data = this.state.editingValue;\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n // File viewer in adapter-react does not support write\n /*\n this.props.socket.writeFile64(adapter, name, Buffer.from(data).toString('base64'))\n .then(_ => this.props.onClose())\n .catch(e => window.alert('Cannot write file: ' + e));\n */\n }\n\n static getEditFile(ext) {\n switch (ext) {\n case 'json':\n return 'json';\n case 'json5':\n return 'json5';\n case 'js':\n return 'javascript';\n case 'html':\n return 'html';\n case 'txt':\n return 'html';\n default:\n return 'json';\n }\n }\n\n getContent() {\n if (EXTENSIONS.images.includes(this.state.ext)) {\n if (this.state.imgError) {\n return <IconNoIcon className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())} />;\n } else {\n return <img\n onError={e => {\n e.target.onerror = null;\n this.setState({ imgError: true });\n }}\n className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())}\n src={this.props.href + '?ts=' + this.state.forceUpdate}\n alt={this.props.href}\n />;\n }\n } else if (this.state.code !== null || this.state.text !== null || this.state.editing) {\n return <TextField\n variant=\"standard\"\n className={ this.props.classes.textarea }\n multiline\n value={ this.state.editingValue || this.state.code || this.state.text }\n onChange={newValue => this.setState({ editingValue: newValue, changed: true })}\n InputProps={{ readOnly: !this.state.editing }}\n />;\n }\n }\n\n render() {\n return <Dialog\n classes={{ scrollPaper: this.props.classes.dialog, paper: this.props.classes.paper }}\n scroll=\"paper\"\n open={!!this.props.href}\n onClose={() => this.props.onClose()}\n fullWidth={true}\n maxWidth=\"xl\"\n aria-labelledby=\"form-dialog-title\"\n >\n <div className={this.props.classes.dialogTitle}>\n <DialogTitle id=\"form-dialog-title\">{this.props.t(this.state.editing ? 'Edit' : 'View') + ': ' + this.props.href}</DialogTitle>\n {EXTENSIONS.images.includes(this.state.ext) && <div>\n <IconButton size=\"large\"\n color={'inherit'}\n onClick={this.props.setStateBackgroundImage}\n >\n <Brightness5Icon />\n </IconButton>\n </div>\n }\n </div>\n <DialogContent className={this.props.classes.content}>\n {this.getContent()}\n </DialogContent>\n <DialogActions>\n {this.state.copyPossible ?\n <Button\n color=\"grey\"\n onClick={e => Utils.copyToClipboard(this.state.text || this.state.code, e)}\n startIcon={<CopyIcon />}\n >\n {this.props.t('Copy content')}\n </Button> : null}\n {this.state.editing ?\n <Button\n color=\"grey\"\n disabled={this.state.editingValue === this.state.code || this.state.editingValue === this.state.text}\n variant=\"contained\"\n onClick={this.writeFile64}\n startIcon={<SaveIcon />}\n >\n {this.props.t('Save')}\n </Button> : null}\n <Button\n variant=\"contained\"\n onClick={() => this.props.onClose()}\n color=\"primary\"\n startIcon={<CloseIcon />}\n >\n {this.props.t('Close')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nFileViewer.propTypes = {\n t: PropTypes.func,\n lang: PropTypes.string,\n expertMode: PropTypes.bool,\n onClose: PropTypes.func,\n href: PropTypes.string.isRequired,\n supportSubscribes: PropTypes.bool,\n};\n\n/** @type {typeof FileViewer} */\nconst _export = withWidth()(withStyles(styles)(FileViewer));\nexport default _export;\n"],"mappings":"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"}
|
package/Components/Icon.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ declare namespace Icon {
|
|
|
10
10
|
namespace propTypes {
|
|
11
11
|
const color: PropTypes.Requireable<string>;
|
|
12
12
|
const title: PropTypes.Requireable<string>;
|
|
13
|
-
const src: PropTypes.Validator<string | object
|
|
13
|
+
const src: PropTypes.Validator<NonNullable<NonNullable<string | object>>>;
|
|
14
14
|
const className: PropTypes.Requireable<string>;
|
|
15
15
|
const imagePrefix: PropTypes.Requireable<string>;
|
|
16
16
|
const style: PropTypes.Requireable<object>;
|
package/Components/Icon.js
CHANGED
|
@@ -1,63 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
8
|
exports.getSelectIdIcon = getSelectIdIcon;
|
|
10
9
|
exports.getSystemIcon = getSystemIcon;
|
|
11
|
-
|
|
12
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
15
|
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
17
|
var _reactInlinesvg = _interopRequireDefault(require("react-inlinesvg"));
|
|
27
|
-
|
|
28
18
|
var _SettingsApplications = _interopRequireDefault(require("@mui/icons-material/SettingsApplications"));
|
|
29
|
-
|
|
30
19
|
var _Photo = _interopRequireDefault(require("@mui/icons-material/Photo"));
|
|
31
|
-
|
|
32
20
|
var _SupervisedUserCircle = _interopRequireDefault(require("@mui/icons-material/SupervisedUserCircle"));
|
|
33
|
-
|
|
34
21
|
var _PersonOutlined = _interopRequireDefault(require("@mui/icons-material/PersonOutlined"));
|
|
35
|
-
|
|
36
22
|
var _Router = _interopRequireDefault(require("@mui/icons-material/Router"));
|
|
37
|
-
|
|
38
23
|
var _Wifi = _interopRequireDefault(require("@mui/icons-material/Wifi"));
|
|
39
|
-
|
|
40
24
|
var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
|
|
41
|
-
|
|
42
25
|
var _Description = _interopRequireDefault(require("@mui/icons-material/Description"));
|
|
43
|
-
|
|
44
26
|
var _IconAlias = _interopRequireDefault(require("../icons/IconAlias"));
|
|
45
|
-
|
|
46
27
|
var _Utils = _interopRequireDefault(require("./Utils"));
|
|
47
|
-
|
|
48
28
|
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); }; }
|
|
49
|
-
|
|
50
29
|
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; } }
|
|
51
|
-
|
|
52
30
|
function getSystemIcon(obj) {
|
|
53
31
|
var icon;
|
|
54
32
|
var id = obj === null || obj === void 0 ? void 0 : obj._id;
|
|
55
|
-
|
|
56
33
|
if (!id) {
|
|
57
34
|
return null;
|
|
58
|
-
}
|
|
59
|
-
|
|
35
|
+
}
|
|
60
36
|
|
|
37
|
+
// system or design have special icons
|
|
61
38
|
if (id.startsWith('_design/') || id === 'system') {
|
|
62
39
|
icon = /*#__PURE__*/_react["default"].createElement(_SettingsApplications["default"], {
|
|
63
40
|
className: "iconOwn"
|
|
@@ -99,45 +76,35 @@ function getSystemIcon(obj) {
|
|
|
99
76
|
className: "iconOwn"
|
|
100
77
|
});
|
|
101
78
|
}
|
|
102
|
-
|
|
103
79
|
return icon || null;
|
|
104
80
|
}
|
|
105
|
-
|
|
106
81
|
function getSelectIdIcon(obj, imagePrefix) {
|
|
107
82
|
imagePrefix = imagePrefix || '.'; //http://localhost:8081';
|
|
108
|
-
|
|
109
83
|
var src = '';
|
|
110
84
|
var common = obj === null || obj === void 0 ? void 0 : obj.common;
|
|
111
|
-
|
|
112
85
|
if (common) {
|
|
113
86
|
var cIcon = common.icon;
|
|
114
|
-
|
|
115
87
|
if (cIcon) {
|
|
116
88
|
if (!cIcon.startsWith('data:image/')) {
|
|
117
89
|
if (cIcon.includes('.')) {
|
|
118
90
|
var instance;
|
|
119
|
-
|
|
120
91
|
if (obj.type === 'instance' || obj.type === 'adapter') {
|
|
121
92
|
src = imagePrefix + '/adapter/' + common.name + '/' + cIcon;
|
|
122
93
|
} else if (obj._id && obj._id.startsWith('system.adapter.')) {
|
|
123
94
|
instance = obj._id.split('.', 3);
|
|
124
|
-
|
|
125
95
|
if (cIcon[0] === '/') {
|
|
126
96
|
instance[2] += cIcon;
|
|
127
97
|
} else {
|
|
128
98
|
instance[2] += '/' + cIcon;
|
|
129
99
|
}
|
|
130
|
-
|
|
131
100
|
src = imagePrefix + '/adapter/' + instance[2];
|
|
132
101
|
} else {
|
|
133
102
|
instance = obj._id.split('.', 2);
|
|
134
|
-
|
|
135
103
|
if (cIcon[0] === '/') {
|
|
136
104
|
instance[0] += cIcon;
|
|
137
105
|
} else {
|
|
138
106
|
instance[0] += '/' + cIcon;
|
|
139
107
|
}
|
|
140
|
-
|
|
141
108
|
src = imagePrefix + '/adapter/' + instance[0];
|
|
142
109
|
}
|
|
143
110
|
} else {
|
|
@@ -149,20 +116,15 @@ function getSelectIdIcon(obj, imagePrefix) {
|
|
|
149
116
|
}
|
|
150
117
|
}
|
|
151
118
|
}
|
|
152
|
-
|
|
153
119
|
return src || null;
|
|
154
120
|
}
|
|
155
|
-
|
|
156
121
|
var Icon = /*#__PURE__*/function (_React$Component) {
|
|
157
122
|
(0, _inherits2["default"])(Icon, _React$Component);
|
|
158
|
-
|
|
159
123
|
var _super = _createSuper(Icon);
|
|
160
|
-
|
|
161
124
|
function Icon() {
|
|
162
125
|
(0, _classCallCheck2["default"])(this, Icon);
|
|
163
126
|
return _super.apply(this, arguments);
|
|
164
127
|
}
|
|
165
|
-
|
|
166
128
|
(0, _createClass2["default"])(Icon, [{
|
|
167
129
|
key: "render",
|
|
168
130
|
value: function render() {
|
|
@@ -180,7 +142,6 @@ var Icon = /*#__PURE__*/function (_React$Component) {
|
|
|
180
142
|
} else {
|
|
181
143
|
if (this.props.src.startsWith('data:image/svg')) {
|
|
182
144
|
var _this$props$style, _this$props$style2, _this$props$style3;
|
|
183
|
-
|
|
184
145
|
return /*#__PURE__*/_react["default"].createElement(_reactInlinesvg["default"], {
|
|
185
146
|
title: this.props.title || undefined,
|
|
186
147
|
src: this.props.src,
|
|
@@ -209,7 +170,6 @@ var Icon = /*#__PURE__*/function (_React$Component) {
|
|
|
209
170
|
}]);
|
|
210
171
|
return Icon;
|
|
211
172
|
}(_react["default"].Component);
|
|
212
|
-
|
|
213
173
|
Icon.propTypes = {
|
|
214
174
|
color: _propTypes["default"].string,
|
|
215
175
|
title: _propTypes["default"].string,
|
package/Components/Icon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","names":["getSystemIcon","obj","icon","id","_id","startsWith","endsWith","type","getSelectIdIcon","imagePrefix","src","common","cIcon","includes","instance","name","split","Icon","props","length","title","undefined","Object","assign","height","marginTop","styleUTF8","style","Utils","clsx","className","width","React","Component","propTypes","color","PropTypes","string","oneOfType","object","isRequired"],"sources":["Icon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SVG from 'react-inlinesvg';\n\nimport IconSystem from '@mui/icons-material/SettingsApplications';\nimport IconPhoto from '@mui/icons-material/Photo';\nimport IconGroup from '@mui/icons-material/SupervisedUserCircle';\nimport IconUser from '@mui/icons-material/PersonOutlined';\nimport IconHost from '@mui/icons-material/Router';\nimport IconConnection from '@mui/icons-material/Wifi';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconMeta from '@mui/icons-material/Description';\nimport IconAlias from '../icons/IconAlias';\n\nimport Utils from './Utils';\n\nexport function getSystemIcon(obj) {\n let icon;\n const id = obj?._id;\n\n if (!id) {\n return null;\n }\n\n // system or design have special icons\n if (id.startsWith('_design/') || (id === 'system')) {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = <IconPhoto className=\"iconOwn\" />;\n } else if (id === 'alias' || id === 'alias.0') {\n icon = <IconAlias className=\"iconOwn\" />;\n } else if (id === 'system.adapter') {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === 'system.group') {\n icon = <IconGroup className=\"iconOwn\" />;\n } else if (id === 'system.user') {\n icon = <IconUser className=\"iconOwn\" />;\n } else if (id === 'system.host') {\n icon = <IconHost className=\"iconOwn\" />;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = <IconConnection className=\"iconOwn\" />;\n } else if (id.endsWith('.info')) {\n icon = <IconInfo className=\"iconOwn\" />;\n } else if (obj?.type === 'meta') {\n icon = <IconMeta className=\"iconOwn\" />;\n }\n\n return icon || null;\n}\n\nexport function getSelectIdIcon(obj, imagePrefix) {\n imagePrefix = imagePrefix || '.';//http://localhost:8081';\n let src = '';\n const common = obj?.common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (obj.type === 'instance' || obj.type === 'adapter') {\n src = imagePrefix + '/adapter/' + common.name + '/' + cIcon;\n } else if (obj._id && obj._id.startsWith('system.adapter.')) {\n instance = obj._id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += '/' + cIcon;\n }\n src = imagePrefix + '/adapter/' + instance[2];\n } else {\n instance = obj._id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += '/' + cIcon;\n }\n src = imagePrefix + '/adapter/' + instance[0];\n }\n } else {\n return null;\n }\n } else {\n // base 64 image\n src = cIcon;\n }\n }\n }\n\n return src || null;\n}\n\nclass Icon extends React.Component {\n render() {\n if (this.props.src) {\n if (typeof this.props.src === 'string') {\n if (this.props.src.length < 3) {\n return <span title={this.props.title || undefined} style={Object.assign({height: 27, marginTop: -8}, this.props.styleUTF8 || this.props.style)} className={ Utils.clsx(this.props.className, 'iconOwn') }>{this.props.src}</span>; // utf-8 char\n } else {\n if (this.props.src.startsWith('data:image/svg')) {\n return <SVG title={this.props.title || undefined} src={this.props.src} className={ Utils.clsx(this.props.className, 'iconOwn') } width={this.props.style?.width || 28} height={this.props.style?.height || this.props.style?.width || 28} style={this.props.style || {}}/>;\n } else {\n return <img title={this.props.title || undefined} style={this.props.style || {}} className={ Utils.clsx(this.props.className, 'iconOwn') } src={ this.props.src } alt=\"\" />;\n }\n }\n } else {\n return this.props.src;\n }\n } else {\n return null;\n }\n }\n}\n\nIcon.propTypes = {\n color: PropTypes.string,\n title: PropTypes.string,\n src: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n className: PropTypes.string,\n imagePrefix: PropTypes.string,\n style: PropTypes.object,\n styleUTF8: PropTypes.object,\n};\n\nexport default Icon;"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Icon.js","names":["getSystemIcon","obj","icon","id","_id","startsWith","endsWith","type","getSelectIdIcon","imagePrefix","src","common","cIcon","includes","instance","name","split","Icon","props","length","title","undefined","Object","assign","height","marginTop","styleUTF8","style","Utils","clsx","className","width","React","Component","propTypes","color","PropTypes","string","oneOfType","object","isRequired"],"sources":["Icon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SVG from 'react-inlinesvg';\n\nimport IconSystem from '@mui/icons-material/SettingsApplications';\nimport IconPhoto from '@mui/icons-material/Photo';\nimport IconGroup from '@mui/icons-material/SupervisedUserCircle';\nimport IconUser from '@mui/icons-material/PersonOutlined';\nimport IconHost from '@mui/icons-material/Router';\nimport IconConnection from '@mui/icons-material/Wifi';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconMeta from '@mui/icons-material/Description';\nimport IconAlias from '../icons/IconAlias';\n\nimport Utils from './Utils';\n\nexport function getSystemIcon(obj) {\n let icon;\n const id = obj?._id;\n\n if (!id) {\n return null;\n }\n\n // system or design have special icons\n if (id.startsWith('_design/') || (id === 'system')) {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = <IconPhoto className=\"iconOwn\" />;\n } else if (id === 'alias' || id === 'alias.0') {\n icon = <IconAlias className=\"iconOwn\" />;\n } else if (id === 'system.adapter') {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === 'system.group') {\n icon = <IconGroup className=\"iconOwn\" />;\n } else if (id === 'system.user') {\n icon = <IconUser className=\"iconOwn\" />;\n } else if (id === 'system.host') {\n icon = <IconHost className=\"iconOwn\" />;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = <IconConnection className=\"iconOwn\" />;\n } else if (id.endsWith('.info')) {\n icon = <IconInfo className=\"iconOwn\" />;\n } else if (obj?.type === 'meta') {\n icon = <IconMeta className=\"iconOwn\" />;\n }\n\n return icon || null;\n}\n\nexport function getSelectIdIcon(obj, imagePrefix) {\n imagePrefix = imagePrefix || '.';//http://localhost:8081';\n let src = '';\n const common = obj?.common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (obj.type === 'instance' || obj.type === 'adapter') {\n src = imagePrefix + '/adapter/' + common.name + '/' + cIcon;\n } else if (obj._id && obj._id.startsWith('system.adapter.')) {\n instance = obj._id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += '/' + cIcon;\n }\n src = imagePrefix + '/adapter/' + instance[2];\n } else {\n instance = obj._id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += '/' + cIcon;\n }\n src = imagePrefix + '/adapter/' + instance[0];\n }\n } else {\n return null;\n }\n } else {\n // base 64 image\n src = cIcon;\n }\n }\n }\n\n return src || null;\n}\n\nclass Icon extends React.Component {\n render() {\n if (this.props.src) {\n if (typeof this.props.src === 'string') {\n if (this.props.src.length < 3) {\n return <span title={this.props.title || undefined} style={Object.assign({height: 27, marginTop: -8}, this.props.styleUTF8 || this.props.style)} className={ Utils.clsx(this.props.className, 'iconOwn') }>{this.props.src}</span>; // utf-8 char\n } else {\n if (this.props.src.startsWith('data:image/svg')) {\n return <SVG title={this.props.title || undefined} src={this.props.src} className={ Utils.clsx(this.props.className, 'iconOwn') } width={this.props.style?.width || 28} height={this.props.style?.height || this.props.style?.width || 28} style={this.props.style || {}}/>;\n } else {\n return <img title={this.props.title || undefined} style={this.props.style || {}} className={ Utils.clsx(this.props.className, 'iconOwn') } src={ this.props.src } alt=\"\" />;\n }\n }\n } else {\n return this.props.src;\n }\n } else {\n return null;\n }\n }\n}\n\nIcon.propTypes = {\n color: PropTypes.string,\n title: PropTypes.string,\n src: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n className: PropTypes.string,\n imagePrefix: PropTypes.string,\n style: PropTypes.object,\n styleUTF8: PropTypes.object,\n};\n\nexport default Icon;"],"mappings":"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"}
|