@iobroker/adapter-react-v5 4.0.13 → 4.0.14
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.map +1 -1
- package/Components/ColorPicker.d.ts +1 -0
- package/Components/ColorPicker.js +12 -9
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +24 -22
- package/Components/ComplexCron.js.map +1 -1
- package/Components/CustomModal.js.map +1 -1
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ChipInput.js +8 -10
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/Icon.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/UploadImage.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/Utils.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Error.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Message.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/i18n.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/icons/IconCopy.js.map +1 -1
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +26 -21
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js +38 -32
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js.map +1 -1
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js.map +1 -1
- package/Components/Utils.js.map +1 -1
- 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.js +1 -1
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +6 -6
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +2 -2
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.d.ts +11 -0
- package/GenericApp.js +109 -42
- package/GenericApp.js.map +1 -1
- package/Prompt.js.map +1 -1
- package/README.md +3 -0
- package/Theme.js.map +1 -1
- package/_Connection.js.map +1 -1
- 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/package.json +1 -1
|
@@ -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\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":["_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","theme","dialog","height","paper","content","textAlign","textarea","width","img","objectFit","dialogTitle","justifyContent","display","EXTENSIONS","images","code","txt","audio","video","exports","bufferToBase64","buffer","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","parts","href","split","data","editingValue","splice","adapter","name","join","ext","Utils","getFileExtension","editing","copyPossible","includes","imgError","_createClass2","value","_this2","socket","then","file","undefined","newState","type","detectMimeType","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 = 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\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.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":["_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","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 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconPicker.js","names":["IconPicker","props","IconCustom","icon","useStyles","makeStyles","theme","formContainer","display","justifyContent","alignItems","formControl","padding","flexGrow","divContainer","width","height","whiteSpace","lineHeight","marginRight","dragField","textAlign","minHeight","border","borderRadius","formIcon","margin","opacity","text","verticalAlign","classes","onDrop","useCallback","acceptedFiles","reader","FileReader","addEventListener","onChange","result","readAsDataURL","useDropzone","getRootProps","getInputProps","isDragActive","root","customClasses","label","value","Utils","clsx","previewClassName","disabled","I18n","t","icons","onlyRooms","onlyDevices","base64","getLanguage","backgroundColor","cursor","propTypes","PropTypes","string","object","any","bool","func","isRequired","array"],"sources":["IconPicker.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDropzone } from 'react-dropzone';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport IconButton from '@mui/material/IconButton';\nimport ClearIcon from '@mui/icons-material/Clear';\n\nimport IconSelector from './IconSelector';\nimport Icon from './Icon';\nimport I18n from '../i18n';\nimport Utils from './Utils';\n\n/**\n * @typedef {object} IconPickerProps\n * @property {string} [value] The value.\n * @property {string} [label] The label.\n * @property {boolean} [disabled] Set to true to disable the icon picker.\n * @property {(icon: string) => void} onChange The icon change callback.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {string} [imagePrefix] The image prefix (default: './files/')\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n *\n * @extends {React.Component<IconPickerProps>}\n */\nlet IconPicker = function (props) {\n let IconCustom = props.icon;\n\n const useStyles = makeStyles(theme => ({\n formContainer : {\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'center'\n },\n formControl : {\n display: 'flex',\n padding: 24,\n flexGrow: 1000\n },\n divContainer: {\n width: 32 + 24,\n height: 32,\n whiteSpace: 'nowrap',\n lineHeight: '32px',\n marginRight: 8\n },\n dragField: {\n textAlign: 'center',\n display: 'table',\n minHeight: 90,\n width: 'calc(100% - 60px)',\n border: '2px dashed #777',\n borderRadius: 10,\n padding: 4,\n },\n formIcon : {\n margin: 10,\n opacity: 0.6\n },\n text: {\n display: 'table-cell',\n verticalAlign: 'middle',\n }\n }));\n\n const classes = useStyles();\n\n const onDrop = useCallback(acceptedFiles => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () =>\n props.onChange(reader.result), false);\n\n if (acceptedFiles[0]) {\n reader.readAsDataURL(acceptedFiles[0]);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });\n\n return <div className={classes.formContainer}>\n {IconCustom ? <IconCustom className={classes.formIcon} /> : null}\n <FormControl variant=\"standard\" className={classes.formControl} style={{ padding: 3 }}>\n <InputLabel shrink classes={{root: props.customClasses?.label}}>\n { props.label }\n </InputLabel>\n <div className={ classes.formContainer }>\n {props.value ?\n <div className={ classes.divContainer }>\n <Icon alt=\"\" className={Utils.clsx(props.previewClassName, props.customClasses?.icon)} src={props.value}/>\n {!props.disabled && <IconButton\n style={{verticalAlign: 'top'}}\n title={I18n.t('ra_Clear icon')}\n size=\"small\"\n onClick={() => props.onChange('')}\n >\n <ClearIcon/>\n </IconButton>}\n </div>\n :\n (!props.disabled && <IconSelector\n icons={props.icons}\n onlyRooms={props.onlyRooms}\n onlyDevices={props.onlyDevices}\n onSelect={base64 => props.onChange(base64)}\n t={I18n.t}\n lang={I18n.getLanguage()}\n />)\n }\n\n {!props.disabled && <div\n {...getRootProps()}\n className={classes.dragField}\n style={isDragActive ? {backgroundColor: 'rgba(0, 255, 0, 0.1)'} : {cursor: 'pointer'}}\n >\n <input {...getInputProps()} />\n {\n isDragActive ?\n <span className={classes.text}>{I18n.t('ra_Drop the files here...')}</span> :\n <span className={classes.text}>{I18n.t(`ra_Drag 'n' drop some files here, or click to select files`)}</span>\n }\n </div>}\n </div>\n </FormControl>\n </div>;\n};\n\nIconPicker.propTypes = {\n previewClassName: PropTypes.string,\n icon: PropTypes.object,\n customClasses: PropTypes.object,\n label: PropTypes.string,\n value: PropTypes.any,\n disabled: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n\n icons: PropTypes.array,\n onlyRooms: PropTypes.bool,\n onlyDevices: PropTypes.bool,\n};\n\n/** @type {typeof IconPicker} */\nexport default IconPicker;"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IconPicker.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactDropzone","_makeStyles","_InputLabel","_FormControl","_IconButton","_Clear","_IconSelector","_Icon","_i18n","_Utils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","IconPicker","props","_props$customClasses","_props$customClasses2","IconCustom","icon","useStyles","makeStyles","theme","formContainer","display","justifyContent","alignItems","formControl","padding","flexGrow","divContainer","width","height","whiteSpace","lineHeight","marginRight","dragField","textAlign","minHeight","border","borderRadius","formIcon","margin","opacity","text","verticalAlign","classes","onDrop","useCallback","acceptedFiles","reader","FileReader","addEventListener","onChange","result","readAsDataURL","_useDropzone","useDropzone","getRootProps","getInputProps","isDragActive","createElement","className","variant","style","shrink","root","customClasses","label","value","alt","Utils","clsx","previewClassName","src","disabled","title","I18n","t","size","onClick","icons","onlyRooms","onlyDevices","onSelect","base64","lang","getLanguage","_extends2","backgroundColor","cursor","propTypes","PropTypes","string","object","any","bool","func","isRequired","array","_default","exports"],"sources":["IconPicker.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDropzone } from 'react-dropzone';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport IconButton from '@mui/material/IconButton';\nimport ClearIcon from '@mui/icons-material/Clear';\n\nimport IconSelector from './IconSelector';\nimport Icon from './Icon';\nimport I18n from '../i18n';\nimport Utils from './Utils';\n\n/**\n * @typedef {object} IconPickerProps\n * @property {string} [value] The value.\n * @property {string} [label] The label.\n * @property {boolean} [disabled] Set to true to disable the icon picker.\n * @property {(icon: string) => void} onChange The icon change callback.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {string} [imagePrefix] The image prefix (default: './files/')\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n *\n * @extends {React.Component<IconPickerProps>}\n */\nlet IconPicker = function (props) {\n let IconCustom = props.icon;\n\n const useStyles = makeStyles(theme => ({\n formContainer : {\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'center'\n },\n formControl : {\n display: 'flex',\n padding: 24,\n flexGrow: 1000\n },\n divContainer: {\n width: 32 + 24,\n height: 32,\n whiteSpace: 'nowrap',\n lineHeight: '32px',\n marginRight: 8\n },\n dragField: {\n textAlign: 'center',\n display: 'table',\n minHeight: 90,\n width: 'calc(100% - 60px)',\n border: '2px dashed #777',\n borderRadius: 10,\n padding: 4,\n },\n formIcon : {\n margin: 10,\n opacity: 0.6\n },\n text: {\n display: 'table-cell',\n verticalAlign: 'middle',\n }\n }));\n\n const classes = useStyles();\n\n const onDrop = useCallback(acceptedFiles => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () =>\n props.onChange(reader.result), false);\n\n if (acceptedFiles[0]) {\n reader.readAsDataURL(acceptedFiles[0]);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });\n\n return <div className={classes.formContainer}>\n {IconCustom ? <IconCustom className={classes.formIcon} /> : null}\n <FormControl variant=\"standard\" className={classes.formControl} style={{ padding: 3 }}>\n <InputLabel shrink classes={{root: props.customClasses?.label}}>\n { props.label }\n </InputLabel>\n <div className={ classes.formContainer }>\n {props.value ?\n <div className={ classes.divContainer }>\n <Icon alt=\"\" className={Utils.clsx(props.previewClassName, props.customClasses?.icon)} src={props.value}/>\n {!props.disabled && <IconButton\n style={{verticalAlign: 'top'}}\n title={I18n.t('ra_Clear icon')}\n size=\"small\"\n onClick={() => props.onChange('')}\n >\n <ClearIcon/>\n </IconButton>}\n </div>\n :\n (!props.disabled && <IconSelector\n icons={props.icons}\n onlyRooms={props.onlyRooms}\n onlyDevices={props.onlyDevices}\n onSelect={base64 => props.onChange(base64)}\n t={I18n.t}\n lang={I18n.getLanguage()}\n />)\n }\n\n {!props.disabled && <div\n {...getRootProps()}\n className={classes.dragField}\n style={isDragActive ? {backgroundColor: 'rgba(0, 255, 0, 0.1)'} : {cursor: 'pointer'}}\n >\n <input {...getInputProps()} />\n {\n isDragActive ?\n <span className={classes.text}>{I18n.t('ra_Drop the files here...')}</span> :\n <span className={classes.text}>{I18n.t(`ra_Drag 'n' drop some files here, or click to select files`)}</span>\n }\n </div>}\n </div>\n </FormControl>\n </div>;\n};\n\nIconPicker.propTypes = {\n previewClassName: PropTypes.string,\n icon: PropTypes.object,\n customClasses: PropTypes.object,\n label: PropTypes.string,\n value: PropTypes.any,\n disabled: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n\n icons: PropTypes.array,\n onlyRooms: PropTypes.bool,\n onlyDevices: PropTypes.bool,\n};\n\n/** @type {typeof IconPicker} */\nexport default IconPicker;"],"mappings":"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"}
|