@iobroker/adapter-react-v5 4.2.1 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdminConnection.js.map +1 -1
- package/Components/404.js +11 -14
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js +2 -2
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.d.ts +1 -1
- package/Components/ComplexCron.js +40 -50
- package/Components/ComplexCron.js.map +1 -1
- package/Components/CustomModal.js +8 -12
- package/Components/CustomModal.js.map +1 -1
- package/Components/FileBrowser.js +3 -2
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.d.ts +0 -2
- package/Components/FileViewer.js +25 -35
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.d.ts +0 -2
- package/Components/Icon.js +37 -46
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js +8 -10
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js +1830 -1841
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js +18 -17
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +357 -38
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/Loader.js +9 -9
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js +2 -2
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.d.ts +0 -7
- package/Components/Loaders/Vendor.js +1 -4
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js +16 -18
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js +2 -3
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.d.ts +20 -6
- package/Components/ObjectBrowser.js +635 -610
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.d.ts +1 -1
- package/Components/Router.js +6 -6
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.d.ts +0 -1
- package/Components/SaveCloseButtons.js +17 -17
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.d.ts +1 -1
- package/Components/Schedule.js +171 -162
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.d.ts +1 -1
- package/Components/SelectWithIcon.js +12 -11
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cron2text.js +71 -74
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/cronText.js +1 -1
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.d.ts +1 -1
- package/Components/SimpleCron/index.js +3 -4
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js +77 -74
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TabContainer.js +6 -7
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js +4 -4
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js +2 -2
- package/Components/TabHeader.js.map +1 -1
- package/Components/TableResize.js +6 -6
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js +6 -3
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.d.ts +1 -1
- package/Components/ToggleThemeMenu.js +5 -8
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js +170 -201
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js +11 -12
- package/Components/UploadImage.js.map +1 -1
- package/Components/Utils.d.ts +14 -7
- package/Components/Utils.js +219 -202
- package/Components/Utils.js.map +1 -1
- package/Components/copy-to-clipboard.js +8 -9
- package/Components/copy-to-clipboard.js.map +1 -1
- package/Components/withWidth.js.map +1 -1
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.d.ts +1 -3
- package/Dialogs/ComplexCron.js +2 -4
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.d.ts +1 -1
- package/Dialogs/Confirm.js +2 -2
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.d.ts +1 -2
- package/Dialogs/Cron.js +10 -17
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.d.ts +0 -1
- package/Dialogs/Error.js +10 -24
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectFile.js +2 -2
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.d.ts +0 -4
- package/Dialogs/SelectID.js +3 -7
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.d.ts +1 -3
- package/Dialogs/SimpleCron.js +3 -5
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.d.ts +0 -1
- package/Dialogs/TextInput.js +9 -17
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +39 -42
- package/GenericApp.js.map +1 -1
- package/LegacyConnection.d.ts +6 -6
- package/LegacyConnection.js +61 -63
- package/LegacyConnection.js.map +1 -1
- package/Prompt.js.map +1 -1
- package/README.md +19 -10
- package/Theme.js +1 -1
- package/Theme.js.map +1 -1
- package/assets/devices/parseNames.js +1 -1
- package/assets/rooms/parseNames.js +1 -1
- package/i18n/de.json +12 -1
- package/i18n/en.json +12 -1
- package/i18n/es.json +12 -1
- package/i18n/fr.json +12 -1
- package/i18n/it.json +12 -1
- package/i18n/nl.json +12 -1
- package/i18n/pl.json +12 -1
- package/i18n/pt.json +12 -1
- package/i18n/ru.json +12 -1
- package/i18n/uk.json +12 -1
- package/i18n/zh-cn.json +12 -1
- package/i18n.d.ts +1 -1
- package/i18n.js +20 -18
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconDocumentReadOnly.js.map +1 -1
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconNoIcon.js.map +1 -1
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js.map +1 -1
- package/index.js +0 -1
- package/package.json +7 -7
|
@@ -69,8 +69,6 @@ declare class FileViewer extends React.Component<FileViewerProps, any, any> {
|
|
|
69
69
|
declare namespace FileViewer {
|
|
70
70
|
namespace propTypes {
|
|
71
71
|
let t: PropTypes.Requireable<(...args: any[]) => any>;
|
|
72
|
-
let lang: PropTypes.Requireable<string>;
|
|
73
|
-
let expertMode: PropTypes.Requireable<boolean>;
|
|
74
72
|
let onClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
75
73
|
let href: PropTypes.Validator<string>;
|
|
76
74
|
let supportSubscribes: PropTypes.Requireable<boolean>;
|
package/Components/FileViewer.js
CHANGED
|
@@ -16,20 +16,12 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
var _styles = require("@mui/styles");
|
|
18
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
20
|
-
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
21
|
-
var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
|
|
22
|
-
var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
|
|
23
|
-
var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
|
|
24
|
-
var _DialogTitle = _interopRequireDefault(require("@mui/material/DialogTitle"));
|
|
25
19
|
var _material = require("@mui/material");
|
|
20
|
+
var _fa = require("react-icons/fa");
|
|
21
|
+
var _iconsMaterial = require("@mui/icons-material");
|
|
26
22
|
var _IconNoIcon = _interopRequireDefault(require("../icons/IconNoIcon"));
|
|
27
23
|
var _withWidth = _interopRequireDefault(require("./withWidth"));
|
|
28
24
|
var _Utils = _interopRequireDefault(require("./Utils"));
|
|
29
|
-
var _fa = require("react-icons/fa");
|
|
30
|
-
var _Brightness = _interopRequireDefault(require("@mui/icons-material/Brightness6"));
|
|
31
|
-
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
32
|
-
var _Save = _interopRequireDefault(require("@mui/icons-material/Save"));
|
|
33
25
|
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); }
|
|
34
26
|
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; }
|
|
35
27
|
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); }; }
|
|
@@ -225,21 +217,21 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
225
217
|
return /*#__PURE__*/_react["default"].createElement(_IconNoIcon["default"], {
|
|
226
218
|
className: _Utils["default"].clsx(this.props.classes.img, this.props.getClassBackgroundImage())
|
|
227
219
|
});
|
|
228
|
-
} else {
|
|
229
|
-
return /*#__PURE__*/_react["default"].createElement("img", {
|
|
230
|
-
onError: function onError(e) {
|
|
231
|
-
e.target.onerror = null;
|
|
232
|
-
_this3.setState({
|
|
233
|
-
imgError: true
|
|
234
|
-
});
|
|
235
|
-
},
|
|
236
|
-
className: _Utils["default"].clsx(this.props.classes.img, this.props.getClassBackgroundImage()),
|
|
237
|
-
src: "".concat(this.props.href, "?ts=").concat(this.state.forceUpdate),
|
|
238
|
-
alt: this.props.href
|
|
239
|
-
});
|
|
240
220
|
}
|
|
241
|
-
|
|
242
|
-
|
|
221
|
+
return /*#__PURE__*/_react["default"].createElement("img", {
|
|
222
|
+
onError: function onError(e) {
|
|
223
|
+
e.target.onerror = null;
|
|
224
|
+
_this3.setState({
|
|
225
|
+
imgError: true
|
|
226
|
+
});
|
|
227
|
+
},
|
|
228
|
+
className: _Utils["default"].clsx(this.props.classes.img, this.props.getClassBackgroundImage()),
|
|
229
|
+
src: "".concat(this.props.href, "?ts=").concat(this.state.forceUpdate),
|
|
230
|
+
alt: this.props.href
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
if (this.state.code !== null || this.state.text !== null || this.state.editing) {
|
|
234
|
+
return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
|
|
243
235
|
variant: "standard",
|
|
244
236
|
className: this.props.classes.textarea,
|
|
245
237
|
multiline: true,
|
|
@@ -260,7 +252,7 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
260
252
|
key: "render",
|
|
261
253
|
value: function render() {
|
|
262
254
|
var _this4 = this;
|
|
263
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
255
|
+
return /*#__PURE__*/_react["default"].createElement(_material.Dialog, {
|
|
264
256
|
classes: {
|
|
265
257
|
scrollPaper: this.props.classes.dialog,
|
|
266
258
|
paper: this.props.classes.paper
|
|
@@ -275,33 +267,33 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
275
267
|
"aria-labelledby": "ar_dialog_file_view_title"
|
|
276
268
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
277
269
|
className: this.props.classes.dialogTitle
|
|
278
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
270
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.DialogTitle, {
|
|
279
271
|
id: "ar_dialog_file_view_title"
|
|
280
272
|
}, "".concat(this.props.t(this.state.editing ? 'Edit' : 'View'), ": ").concat(this.props.href)), EXTENSIONS.images.includes(this.state.ext) && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
|
|
281
273
|
size: "large",
|
|
282
|
-
color:
|
|
274
|
+
color: "inherit",
|
|
283
275
|
onClick: this.props.setStateBackgroundImage
|
|
284
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
276
|
+
}, /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Brightness6, null)))), /*#__PURE__*/_react["default"].createElement(_material.DialogContent, {
|
|
285
277
|
className: this.props.classes.content
|
|
286
|
-
}, this.getContent()), /*#__PURE__*/_react["default"].createElement(
|
|
278
|
+
}, this.getContent()), /*#__PURE__*/_react["default"].createElement(_material.DialogActions, null, this.state.copyPossible ? /*#__PURE__*/_react["default"].createElement(_material.Button, {
|
|
287
279
|
color: "grey",
|
|
288
280
|
onClick: function onClick(e) {
|
|
289
281
|
return _Utils["default"].copyToClipboard(_this4.state.text || _this4.state.code, e);
|
|
290
282
|
},
|
|
291
283
|
startIcon: /*#__PURE__*/_react["default"].createElement(_fa.FaCopy, null)
|
|
292
|
-
}, this.props.t('Copy content')) : null, this.state.editing ? /*#__PURE__*/_react["default"].createElement(
|
|
284
|
+
}, this.props.t('Copy content')) : null, this.state.editing ? /*#__PURE__*/_react["default"].createElement(_material.Button, {
|
|
293
285
|
color: "grey",
|
|
294
286
|
disabled: this.state.editingValue === this.state.code || this.state.editingValue === this.state.text,
|
|
295
287
|
variant: "contained",
|
|
296
288
|
onClick: this.writeFile64,
|
|
297
|
-
startIcon: /*#__PURE__*/_react["default"].createElement(
|
|
298
|
-
}, this.props.t('Save')) : null, /*#__PURE__*/_react["default"].createElement(
|
|
289
|
+
startIcon: /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Save, null)
|
|
290
|
+
}, this.props.t('Save')) : null, /*#__PURE__*/_react["default"].createElement(_material.Button, {
|
|
299
291
|
variant: "contained",
|
|
300
292
|
onClick: function onClick() {
|
|
301
293
|
return _this4.props.onClose();
|
|
302
294
|
},
|
|
303
295
|
color: "primary",
|
|
304
|
-
startIcon: /*#__PURE__*/_react["default"].createElement(
|
|
296
|
+
startIcon: /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Close, null)
|
|
305
297
|
}, this.props.t('Close'))));
|
|
306
298
|
}
|
|
307
299
|
}], [{
|
|
@@ -327,8 +319,6 @@ var FileViewer = /*#__PURE__*/function (_Component) {
|
|
|
327
319
|
}(_react.Component);
|
|
328
320
|
FileViewer.propTypes = {
|
|
329
321
|
t: _propTypes["default"].func,
|
|
330
|
-
lang: _propTypes["default"].string,
|
|
331
|
-
expertMode: _propTypes["default"].bool,
|
|
332
322
|
onClose: _propTypes["default"].func,
|
|
333
323
|
href: _propTypes["default"].string.isRequired,
|
|
334
324
|
supportSubscribes: _propTypes["default"].bool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileViewer.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","_TextField","_Button","_Dialog","_DialogActions","_DialogContent","_DialogTitle","_material","_IconNoIcon","_withWidth","_Utils","_fa","_Brightness","_Close","_Save","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","styles","dialog","height","paper","content","textAlign","textarea","width","img","objectFit","dialogTitle","justifyContent","display","EXTENSIONS","images","code","txt","audio","video","exports","bufferToBase64","buffer","isFull","binary","bytes","Uint8Array","len","byteLength","i","String","fromCharCode","window","btoa","FileViewer","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","id","fileName","size","state","changed","timeout","clearTimeout","setTimeout","alert","text","readFile","setState","forceUpdate","Date","now","ext","Utils","getFileExtension","href","editing","editingValue","copyPossible","includes","imgError","_createClass2","value","_this2","parts","split","splice","adapter","name","join","socket","then","data","file","undefined","newState","type","toLowerCase","endsWith","atob","console","error","detectMimeType","concat","componentDidMount","supportSubscribes","subscribeFiles","onFileChanged","componentWillUnmount","getContent","_this3","createElement","className","clsx","classes","getClassBackgroundImage","onError","target","onerror","src","alt","variant","multiline","onChange","newValue","InputProps","readOnly","render","_this4","scrollPaper","scroll","open","onClose","fullWidth","maxWidth","t","IconButton","color","onClick","setStateBackgroundImage","copyToClipboard","startIcon","FaCopy","disabled","writeFile64","getEditFile","Component","propTypes","PropTypes","func","lang","string","expertMode","bool","isRequired","_export","withWidth","withStyles","_default"],"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 = () => ({\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, isFull) {\n let binary = '';\n let bytes = new Uint8Array(buffer);\n let len = bytes.byteLength;\n for (let i = 0; i < len && (isFull || 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, ext: this.state.ext };\n // try to detect valid extension\n if (data.type === 'Buffer') {\n if (name.toLowerCase().endsWith('.json5')) {\n newState.ext = 'json5';\n newState.copyPossible = true;\n try {\n data = atob(bufferToBase64(data.data, true));\n } catch (e) {\n console.error('Cannot convert base64 to string');\n data = '';\n }\n } else {\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\n if (newState.copyPossible) {\n if (EXTENSIONS.txt.includes(newState.ext)) {\n newState.text = data;\n newState.editingValue = data;\n } else if (EXTENSIONS.code.includes(newState.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 /*\n // File viewer in adapter-react does not support write\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 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\n maxWidth=\"xl\"\n aria-labelledby=\"ar_dialog_file_view_title\"\n >\n <div className={this.props.classes.dialogTitle}>\n <DialogTitle id=\"ar_dialog_file_view_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":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","_material","_fa","_iconsMaterial","_IconNoIcon","_withWidth","_Utils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","styles","dialog","height","paper","content","textAlign","textarea","width","img","objectFit","dialogTitle","justifyContent","display","EXTENSIONS","images","code","txt","audio","video","exports","bufferToBase64","buffer","isFull","binary","bytes","Uint8Array","len","byteLength","i","String","fromCharCode","window","btoa","FileViewer","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","id","fileName","size","state","changed","timeout","clearTimeout","setTimeout","alert","text","readFile","setState","forceUpdate","Date","now","ext","Utils","getFileExtension","href","editing","editingValue","copyPossible","includes","imgError","_createClass2","value","_this2","parts","split","splice","adapter","name","join","socket","then","data","file","undefined","newState","type","toLowerCase","endsWith","atob","console","error","detectMimeType","concat","componentDidMount","supportSubscribes","subscribeFiles","onFileChanged","componentWillUnmount","getContent","_this3","createElement","className","clsx","classes","getClassBackgroundImage","onError","target","onerror","src","alt","TextField","variant","multiline","onChange","newValue","InputProps","readOnly","render","_this4","Dialog","scrollPaper","scroll","open","onClose","fullWidth","maxWidth","DialogTitle","t","IconButton","color","onClick","setStateBackgroundImage","Brightness6","DialogContent","DialogActions","Button","copyToClipboard","startIcon","FaCopy","disabled","writeFile64","Save","Close","getEditFile","Component","propTypes","PropTypes","func","string","isRequired","bool","_export","withWidth","withStyles","_default"],"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 {\n TextField,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n} from '@mui/material';\n\n// Icons\nimport { FaCopy as CopyIcon } from 'react-icons/fa';\nimport {\n Close as CloseIcon,\n Save as SaveIcon,\n Brightness6 as Brightness5Icon,\n} from '@mui/icons-material';\n\nimport IconNoIcon from '../icons/IconNoIcon';\nimport withWidth from './withWidth';\nimport Utils from './Utils';\n\nconst styles = () => ({\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, isFull) {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n for (let i = 0; i < len && (isFull || 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, ext: this.state.ext };\n // try to detect valid extension\n if (data.type === 'Buffer') {\n if (name.toLowerCase().endsWith('.json5')) {\n newState.ext = 'json5';\n newState.copyPossible = true;\n try {\n data = atob(bufferToBase64(data.data, true));\n } catch (e) {\n console.error('Cannot convert base64 to string');\n data = '';\n }\n } else {\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\n if (newState.copyPossible) {\n if (EXTENSIONS.txt.includes(newState.ext)) {\n newState.text = data;\n newState.editingValue = data;\n } else if (EXTENSIONS.code.includes(newState.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 /*\n // File viewer in adapter-react does not support write\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 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 }\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 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\n maxWidth=\"xl\"\n aria-labelledby=\"ar_dialog_file_view_title\"\n >\n <div className={this.props.classes.dialogTitle}>\n <DialogTitle id=\"ar_dialog_file_view_title\">{`${this.props.t(this.state.editing ? 'Edit' : 'View')}: ${this.props.href}`}</DialogTitle>\n {EXTENSIONS.images.includes(this.state.ext) && <div>\n <IconButton\n size=\"large\"\n color=\"inherit\"\n onClick={this.props.setStateBackgroundImage}\n >\n <Brightness5Icon />\n </IconButton>\n </div>}\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 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
|
@@ -9,11 +9,9 @@ declare class Icon extends React.Component<any, any, any> {
|
|
|
9
9
|
}
|
|
10
10
|
declare namespace Icon {
|
|
11
11
|
namespace propTypes {
|
|
12
|
-
let color: PropTypes.Requireable<string>;
|
|
13
12
|
let title: PropTypes.Requireable<string>;
|
|
14
13
|
let src: PropTypes.Validator<NonNullable<NonNullable<string | object>>>;
|
|
15
14
|
let className: PropTypes.Requireable<string>;
|
|
16
|
-
let imagePrefix: PropTypes.Requireable<string>;
|
|
17
15
|
let style: PropTypes.Requireable<object>;
|
|
18
16
|
let styleUTF8: PropTypes.Requireable<object>;
|
|
19
17
|
}
|
package/Components/Icon.js
CHANGED
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
exports.getSelectIdIcon = getSelectIdIcon;
|
|
9
9
|
exports.getSystemIcon = getSystemIcon;
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
@@ -15,16 +16,11 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
15
16
|
var _react = _interopRequireDefault(require("react"));
|
|
16
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
18
|
var _reactInlinesvg = _interopRequireDefault(require("react-inlinesvg"));
|
|
18
|
-
var
|
|
19
|
-
var _Photo = _interopRequireDefault(require("@mui/icons-material/Photo"));
|
|
20
|
-
var _SupervisedUserCircle = _interopRequireDefault(require("@mui/icons-material/SupervisedUserCircle"));
|
|
21
|
-
var _PersonOutlined = _interopRequireDefault(require("@mui/icons-material/PersonOutlined"));
|
|
22
|
-
var _Router = _interopRequireDefault(require("@mui/icons-material/Router"));
|
|
23
|
-
var _Wifi = _interopRequireDefault(require("@mui/icons-material/Wifi"));
|
|
24
|
-
var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
|
|
25
|
-
var _Description = _interopRequireDefault(require("@mui/icons-material/Description"));
|
|
19
|
+
var _iconsMaterial = require("@mui/icons-material");
|
|
26
20
|
var _IconAlias = _interopRequireDefault(require("../icons/IconAlias"));
|
|
27
21
|
var _Utils = _interopRequireDefault(require("./Utils"));
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
28
24
|
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); }; }
|
|
29
25
|
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; } }
|
|
30
26
|
function getSystemIcon(obj) {
|
|
@@ -36,11 +32,11 @@ function getSystemIcon(obj) {
|
|
|
36
32
|
|
|
37
33
|
// system or design has special icons
|
|
38
34
|
if (id.startsWith('_design/') || id === 'system') {
|
|
39
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
35
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.SettingsApplications, {
|
|
40
36
|
className: "iconOwn"
|
|
41
37
|
});
|
|
42
38
|
} else if (id === '0_userdata' || id === '0_userdata.0') {
|
|
43
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
39
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Photo, {
|
|
44
40
|
className: "iconOwn"
|
|
45
41
|
});
|
|
46
42
|
} else if (id === 'alias' || id === 'alias.0') {
|
|
@@ -48,38 +44,38 @@ function getSystemIcon(obj) {
|
|
|
48
44
|
className: "iconOwn"
|
|
49
45
|
});
|
|
50
46
|
} else if (id === 'system.adapter') {
|
|
51
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
47
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.SettingsApplications, {
|
|
52
48
|
className: "iconOwn"
|
|
53
49
|
});
|
|
54
50
|
} else if (id === 'system.group') {
|
|
55
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
51
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.SupervisedUserCircle, {
|
|
56
52
|
className: "iconOwn"
|
|
57
53
|
});
|
|
58
54
|
} else if (id === 'system.user') {
|
|
59
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
55
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.PersonOutlined, {
|
|
60
56
|
className: "iconOwn"
|
|
61
57
|
});
|
|
62
58
|
} else if (id === 'system.host') {
|
|
63
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
59
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Router, {
|
|
64
60
|
className: "iconOwn"
|
|
65
61
|
});
|
|
66
62
|
} else if (id.endsWith('.connection') || id.endsWith('.connected')) {
|
|
67
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
63
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Wifi, {
|
|
68
64
|
className: "iconOwn"
|
|
69
65
|
});
|
|
70
66
|
} else if (id.endsWith('.info')) {
|
|
71
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
67
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Info, {
|
|
72
68
|
className: "iconOwn"
|
|
73
69
|
});
|
|
74
70
|
} else if ((obj === null || obj === void 0 ? void 0 : obj.type) === 'meta') {
|
|
75
|
-
icon = /*#__PURE__*/_react["default"].createElement(
|
|
71
|
+
icon = /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Description, {
|
|
76
72
|
className: "iconOwn"
|
|
77
73
|
});
|
|
78
74
|
}
|
|
79
75
|
return icon || null;
|
|
80
76
|
}
|
|
81
77
|
function getSelectIdIcon(obj, imagePrefix) {
|
|
82
|
-
imagePrefix = imagePrefix || '.'; //http://localhost:8081';
|
|
78
|
+
imagePrefix = imagePrefix || '.'; // http://localhost:8081';
|
|
83
79
|
var src = '';
|
|
84
80
|
var common = obj === null || obj === void 0 ? void 0 : obj.common;
|
|
85
81
|
if (common) {
|
|
@@ -131,51 +127,46 @@ var Icon = /*#__PURE__*/function (_React$Component) {
|
|
|
131
127
|
if (this.props.src) {
|
|
132
128
|
if (typeof this.props.src === 'string') {
|
|
133
129
|
if (this.props.src.length < 3) {
|
|
130
|
+
// utf-8 char
|
|
134
131
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
135
132
|
title: this.props.title || undefined,
|
|
136
|
-
style:
|
|
133
|
+
style: _objectSpread({
|
|
137
134
|
height: 27,
|
|
138
135
|
marginTop: -8
|
|
139
136
|
}, this.props.styleUTF8 || this.props.style),
|
|
140
137
|
className: _Utils["default"].clsx(this.props.className, 'iconOwn')
|
|
141
|
-
}, this.props.src);
|
|
142
|
-
} else {
|
|
143
|
-
if (this.props.src.startsWith('data:image/svg')) {
|
|
144
|
-
var _this$props$style, _this$props$style2, _this$props$style3;
|
|
145
|
-
return /*#__PURE__*/_react["default"].createElement(_reactInlinesvg["default"], {
|
|
146
|
-
title: this.props.title || undefined,
|
|
147
|
-
src: this.props.src,
|
|
148
|
-
className: _Utils["default"].clsx(this.props.className, 'iconOwn'),
|
|
149
|
-
width: ((_this$props$style = this.props.style) === null || _this$props$style === void 0 ? void 0 : _this$props$style.width) || 28,
|
|
150
|
-
height: ((_this$props$style2 = this.props.style) === null || _this$props$style2 === void 0 ? void 0 : _this$props$style2.height) || ((_this$props$style3 = this.props.style) === null || _this$props$style3 === void 0 ? void 0 : _this$props$style3.width) || 28,
|
|
151
|
-
style: this.props.style || {}
|
|
152
|
-
});
|
|
153
|
-
} else {
|
|
154
|
-
return /*#__PURE__*/_react["default"].createElement("img", {
|
|
155
|
-
title: this.props.title || undefined,
|
|
156
|
-
style: this.props.style || {},
|
|
157
|
-
className: _Utils["default"].clsx(this.props.className, 'iconOwn'),
|
|
158
|
-
src: this.props.src,
|
|
159
|
-
alt: ""
|
|
160
|
-
});
|
|
161
|
-
}
|
|
138
|
+
}, this.props.src);
|
|
162
139
|
}
|
|
163
|
-
|
|
164
|
-
|
|
140
|
+
if (this.props.src.startsWith('data:image/svg')) {
|
|
141
|
+
var _this$props$style, _this$props$style2, _this$props$style3;
|
|
142
|
+
return /*#__PURE__*/_react["default"].createElement(_reactInlinesvg["default"], {
|
|
143
|
+
title: this.props.title || undefined,
|
|
144
|
+
src: this.props.src,
|
|
145
|
+
className: _Utils["default"].clsx(this.props.className, 'iconOwn'),
|
|
146
|
+
width: ((_this$props$style = this.props.style) === null || _this$props$style === void 0 ? void 0 : _this$props$style.width) || 28,
|
|
147
|
+
height: ((_this$props$style2 = this.props.style) === null || _this$props$style2 === void 0 ? void 0 : _this$props$style2.height) || ((_this$props$style3 = this.props.style) === null || _this$props$style3 === void 0 ? void 0 : _this$props$style3.width) || 28,
|
|
148
|
+
style: this.props.style || {}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return /*#__PURE__*/_react["default"].createElement("img", {
|
|
152
|
+
title: this.props.title || undefined,
|
|
153
|
+
style: this.props.style || {},
|
|
154
|
+
className: _Utils["default"].clsx(this.props.className, 'iconOwn'),
|
|
155
|
+
src: this.props.src,
|
|
156
|
+
alt: ""
|
|
157
|
+
});
|
|
165
158
|
}
|
|
166
|
-
|
|
167
|
-
return null;
|
|
159
|
+
return this.props.src;
|
|
168
160
|
}
|
|
161
|
+
return null;
|
|
169
162
|
}
|
|
170
163
|
}]);
|
|
171
164
|
return Icon;
|
|
172
165
|
}(_react["default"].Component);
|
|
173
166
|
Icon.propTypes = {
|
|
174
|
-
color: _propTypes["default"].string,
|
|
175
167
|
title: _propTypes["default"].string,
|
|
176
168
|
src: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]).isRequired,
|
|
177
169
|
className: _propTypes["default"].string,
|
|
178
|
-
imagePrefix: _propTypes["default"].string,
|
|
179
170
|
style: _propTypes["default"].object,
|
|
180
171
|
styleUTF8: _propTypes["default"].object
|
|
181
172
|
};
|
package/Components/Icon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactInlinesvg","_SettingsApplications","_Photo","_SupervisedUserCircle","_PersonOutlined","_Router","_Wifi","_Info","_Description","_IconAlias","_Utils","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getSystemIcon","obj","icon","id","_id","startsWith","createElement","className","endsWith","type","getSelectIdIcon","imagePrefix","src","common","cIcon","includes","instance","concat","name","split","Icon","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","render","props","length","title","undefined","style","Object","assign","height","marginTop","styleUTF8","Utils","clsx","_this$props$style","_this$props$style2","_this$props$style3","width","alt","React","Component","propTypes","color","PropTypes","string","oneOfType","object","isRequired","_default","exports"],"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 has 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":["_react","_interopRequireDefault","require","_propTypes","_reactInlinesvg","_iconsMaterial","_IconAlias","_Utils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getSystemIcon","obj","icon","id","_id","startsWith","createElement","SettingsApplications","className","Photo","SupervisedUserCircle","PersonOutlined","Router","endsWith","Wifi","Info","type","Description","getSelectIdIcon","imagePrefix","src","common","cIcon","includes","instance","concat","name","split","Icon","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","value","render","props","title","undefined","style","height","marginTop","styleUTF8","Utils","clsx","_this$props$style","_this$props$style2","_this$props$style3","width","alt","React","Component","propTypes","PropTypes","string","oneOfType","isRequired","_default","exports"],"sources":["Icon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SVG from 'react-inlinesvg';\n\nimport {\n SettingsApplications as IconSystem,\n Photo as IconPhoto,\n SupervisedUserCircle as IconGroup,\n PersonOutlined as IconUser,\n Router as IconHost,\n Wifi as IconConnection,\n Info as IconInfo,\n Description as IconMeta,\n} from '@mui/icons-material';\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 has 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 // utf-8 char\n return <span\n title={this.props.title || undefined}\n style={{ height: 27, marginTop: -8, ...(this.props.styleUTF8 || this.props.style) }}\n className={Utils.clsx(this.props.className, 'iconOwn')}\n >\n {this.props.src}\n </span>;\n }\n if (this.props.src.startsWith('data:image/svg')) {\n return <SVG\n title={this.props.title || undefined}\n src={this.props.src}\n className={Utils.clsx(this.props.className, 'iconOwn')}\n width={this.props.style?.width || 28}\n height={this.props.style?.height || this.props.style?.width || 28}\n style={this.props.style || {}}\n />;\n }\n return <img\n title={this.props.title || undefined}\n style={this.props.style || {}}\n className={Utils.clsx(this.props.className, 'iconOwn')}\n src={this.props.src}\n alt=\"\"\n />;\n }\n return this.props.src;\n }\n return null;\n }\n}\n\nIcon.propTypes = {\n title: PropTypes.string,\n src: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n className: PropTypes.string,\n style: PropTypes.object,\n styleUTF8: PropTypes.object,\n};\n\nexport default Icon;\n"],"mappings":"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"}
|
package/Components/IconPicker.js
CHANGED
|
@@ -11,10 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _reactDropzone = require("react-dropzone");
|
|
13
13
|
var _makeStyles = _interopRequireDefault(require("@mui/styles/makeStyles"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
17
|
-
var _Clear = _interopRequireDefault(require("@mui/icons-material/Clear"));
|
|
14
|
+
var _material = require("@mui/material");
|
|
15
|
+
var _iconsMaterial = require("@mui/icons-material");
|
|
18
16
|
var _IconSelector = _interopRequireDefault(require("./IconSelector"));
|
|
19
17
|
var _Icon = _interopRequireDefault(require("./Icon"));
|
|
20
18
|
var _i18n = _interopRequireDefault(require("../i18n"));
|
|
@@ -37,7 +35,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
37
35
|
var IconPicker = function IconPicker(props) {
|
|
38
36
|
var _props$customClasses, _props$customClasses2;
|
|
39
37
|
var IconCustom = props.icon;
|
|
40
|
-
var useStyles = (0, _makeStyles["default"])(function (
|
|
38
|
+
var useStyles = (0, _makeStyles["default"])(function () {
|
|
41
39
|
return {
|
|
42
40
|
formContainer: {
|
|
43
41
|
display: 'flex',
|
|
@@ -96,13 +94,13 @@ var IconPicker = function IconPicker(props) {
|
|
|
96
94
|
className: classes.formContainer
|
|
97
95
|
}, IconCustom ? /*#__PURE__*/_react["default"].createElement(IconCustom, {
|
|
98
96
|
className: classes.formIcon
|
|
99
|
-
}) : null, /*#__PURE__*/_react["default"].createElement(
|
|
97
|
+
}) : null, /*#__PURE__*/_react["default"].createElement(_material.FormControl, {
|
|
100
98
|
variant: "standard",
|
|
101
99
|
className: classes.formControl,
|
|
102
100
|
style: {
|
|
103
101
|
padding: 3
|
|
104
102
|
}
|
|
105
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
103
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.InputLabel, {
|
|
106
104
|
shrink: true,
|
|
107
105
|
classes: {
|
|
108
106
|
root: (_props$customClasses = props.customClasses) === null || _props$customClasses === void 0 ? void 0 : _props$customClasses.label
|
|
@@ -115,7 +113,7 @@ var IconPicker = function IconPicker(props) {
|
|
|
115
113
|
alt: "",
|
|
116
114
|
className: _Utils["default"].clsx(props.previewClassName, (_props$customClasses2 = props.customClasses) === null || _props$customClasses2 === void 0 ? void 0 : _props$customClasses2.icon),
|
|
117
115
|
src: props.value
|
|
118
|
-
}), !props.disabled && /*#__PURE__*/_react["default"].createElement(
|
|
116
|
+
}), !props.disabled && /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
|
|
119
117
|
style: {
|
|
120
118
|
verticalAlign: 'top'
|
|
121
119
|
},
|
|
@@ -124,7 +122,7 @@ var IconPicker = function IconPicker(props) {
|
|
|
124
122
|
onClick: function onClick() {
|
|
125
123
|
return props.onChange('');
|
|
126
124
|
}
|
|
127
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
125
|
+
}, /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Clear, null))) : !props.disabled && /*#__PURE__*/_react["default"].createElement(_IconSelector["default"], {
|
|
128
126
|
icons: props.icons,
|
|
129
127
|
onlyRooms: props.onlyRooms,
|
|
130
128
|
onlyDevices: props.onlyDevices,
|
|
@@ -144,7 +142,7 @@ var IconPicker = function IconPicker(props) {
|
|
|
144
142
|
className: classes.text
|
|
145
143
|
}, _i18n["default"].t('ra_Drop the files here...')) : /*#__PURE__*/_react["default"].createElement("span", {
|
|
146
144
|
className: classes.text
|
|
147
|
-
}, _i18n["default"].t(
|
|
145
|
+
}, _i18n["default"].t('ra_Drag \'n\' drop some files here, or click to select files'))))));
|
|
148
146
|
};
|
|
149
147
|
IconPicker.propTypes = {
|
|
150
148
|
previewClassName: _propTypes["default"].string,
|