@iobroker/adapter-react-v5 4.9.10 → 4.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdminConnection.js.map +1 -1
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js.map +1 -1
- 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/Loader.js.map +1 -1
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/ObjectBrowser.js +4 -6
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.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.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js.map +1 -1
- package/Components/withWidth.js.map +1 -1
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.d.ts +4 -4
- package/GenericApp.js +1 -1
- package/GenericApp.js.map +1 -1
- package/LegacyConnection.js.map +1 -1
- package/README.md +3 -0
- package/Theme.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 +5 -5
package/GenericApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericApp.js","names":["_react","_interopRequireDefault","require","_socketClient","_propTypes","Sentry","_interopRequireWildcard","SentryIntegrations","_material","_iconsMaterial","_Prompt","_Theme","_Loader","_Router2","_Utils","_SaveCloseButtons","_Confirm","_i18n","_Error","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof3","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","valueOf","cssStyle","window","localStorage","getItem","setItem","GenericApp","_Router","_inherits2","props","settings","_ref","_settings$instance","_this","_classCallCheck2","ConnectionClass","Connection","document","getElementById","style","createElement","setAttribute","innerHTML","head","appendChild","isWeb","io","location","port","SocketClient","_assertThisInitialized2","id","obj","_obj$common","socket","systemLang","common","language","I18n","setLanguage","_systemConfig","expertMode","setState","getExpertMode","message","data","newThemeName","Utils","getThemeName","setThemeName","newTheme","createTheme","theme","themeName","themeType","getThemeType","onThemeChange","onThemeChanged","onToggleExpertMode","console","debug","concat","JSON","stringify","resizeTimer","clearTimeout","setTimeout","width","getWidth","printPrompt","query","search","replace","args","trim","split","b","parts","instance","undefined","parseInt","slice","tmp","pathname","adapterName","instanceId","newReact","Router","getLocation","tab","_localStorage","themeInstance","state","selectedTab","selectedTabNum","errorText","changed","connected","loaded","isConfigurationError","toast","bottomButtons","confirmClose","_alert","_alertType","_alertMessage","translations","en","de","ru","pt","nl","fr","it","es","pl","uk","lang","assign","setTranslations","savedNative","encryptedFields","sentryDSN","socketUrl","startsWith","protocol","hostname","alerDialogRendered","oldAlert","alert","toString","toLowerCase","includes","error","showAlert","log","name","doNotLoadAllObjects","onProgress","progress","PROGRESS","CONNECTING","READY","onReady","subscribeObject","onSystemConfigChanged","then","getSystemConfig","_secret","secret","getObject","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","instanceObj","_yield$_this$socket$g","waitPromise","sentryPluginEnabled","sentryEnabled","wrap","_callee$","_context","prev","next","getState","t1","sent","t0","t2","val","diag","version","disableDataReporting","host","sentryStarted","init","dsn","release","integrations","Dedupe","sentryInited","uuidObj","uuid","configureScope","scope","setUser","Promise","resolve","onPrepareLoad","encryptedNative","parse","onConnectionReady","warn","stop","_x","onError","err","showError","_createClass2","key","value","type","renderAlertSnackbar","_this2","Snackbar","backgroundColor","open","autoHideDuration","onClose","reason","alertMessage","componentDidMount","addEventListener","onResize","onReceiveMessage","_get2","componentWillUnmount","removeEventListener","currentTheme","palette","mode","toggleTheme","_this3","sessionStorage","encrypt","result","String","fromCharCode","charCodeAt","decrypt","onHashChanged","selectTab","index","onPrepareSave","_this4","attr","_this5","getExtendableInstances","_this6","_socket","emit","doc","rows","item","webExtendable","map","getIpAddresses","_this7","ip","_host","IPs4","address","family","IPs6","hardware","networkInterfaces","eth","inter","_ip","onSave","isClose","_this8","oldObj","_oldObj","setObject","reject","Error","globalThis","parent","postMessage","renderToast","_this9","anchorOrigin","vertical","horizontal","ContentProps","action","IconButton","color","className","classes","close","onClick","size","Close","renderError","_this10","text","getIsChanged","native","isChanged","onLoadConfig","newNative","setConfigurationError","renderSaveCloseButtons","_this11","Fragment","noTextOnButtons","title","ok","cancel","isYes","_updateNativeValue","attrs","_typeof2","shift","updateNativeValue","cb","showToast","renderHelperDialogs","render","SIZES","xs","sm","md","lg","xl","innerWidth","reverse","widthComputed","find","$iframeDialog","propTypes","PropTypes","string","func","object","array","bool","_default","exports"],"sources":["GenericApp.js"],"sourcesContent":["/**\n * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport { Connection, PROGRESS } from '@iobroker/socket-client';\nimport PropTypes from 'prop-types';\nimport * as Sentry from '@sentry/browser';\nimport * as SentryIntegrations from '@sentry/integrations';\n\nimport { Snackbar, IconButton } from '@mui/material';\n\nimport { Close as IconClose } from '@mui/icons-material';\n\nimport printPrompt from './Prompt';\nimport theme from './Theme';\nimport Loader from './Components/Loader';\nimport Router from './Components/Router';\nimport Utils from './Components/Utils';\nimport SaveCloseButtons from './Components/SaveCloseButtons';\nimport ConfirmDialog from './Dialogs/Confirm';\nimport I18n from './i18n';\nimport DialogError from './Dialogs/Error';\n\n// import './index.css';\nconst cssStyle = `\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}\n`;\n\n// legacy and could be deleted\nif (!window.localStorage) {\n window.localStorage = {\n getItem: () => null,\n setItem: () => null,\n };\n}\n\n/**\n * @extends {Router<import('./types').GenericAppProps, import('./types').GenericAppState>}\n */\nclass GenericApp extends Router {\n /**\n * @var {LegacyConnection | AdminConnection}\n */\n socket;\n\n /**\n * @param {import('./types').GenericAppProps} props\n * @param {import('./types').GenericAppSettings | undefined} settings\n */\n constructor(props, settings) {\n const ConnectionClass = props.Connection || settings.Connection || Connection;\n // const ConnectionClass = props.Connection === 'admin' || settings.Connection = 'admin' ? AdminConnection : (props.Connection || settings.Connection || Connection);\n\n if (!window.document.getElementById('generic-app-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'generic-app-iobroker-component');\n style.innerHTML = cssStyle;\n window.document.head.appendChild(style);\n }\n\n // Remove `!Connection.isWeb() && window.adapterName !== 'material'` when iobroker.socket will support native ws\n if (!ConnectionClass.isWeb() && window.io && window.location.port === '3000') {\n try {\n const io = new window.SocketClient();\n delete window.io;\n window.io = io;\n } catch (e) {\n // ignore\n }\n }\n\n super(props);\n\n printPrompt();\n\n const query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n const args = {};\n query.trim().split('&').filter(t => t.trim()).forEach(b => {\n const parts = b.split('=');\n args[parts[0]] = parts.length === 2 ? parts[1] : true;\n if (args[parts[0]] === 'true') {\n args[parts[0]] = true;\n } else if (args[parts[0]] === 'false') {\n args[parts[0]] = false;\n }\n });\n\n // extract instance from URL\n this.instance = settings?.instance ?? props.instance ?? (args.instance !== undefined ? parseInt(args.instance, 10) || 0 : (parseInt(window.location.search.slice(1), 10) || 0));\n // extract adapter name from URL\n const tmp = window.location.pathname.split('/');\n this.adapterName = settings?.adapterName || props.adapterName || window.adapterName || tmp[tmp.length - 2] || 'iot';\n this.instanceId = `system.adapter.${this.adapterName}.${this.instance}`;\n this.newReact = args.newReact === true; // it is admin5\n\n const location = Router.getLocation();\n location.tab = location.tab || (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '';\n\n const themeInstance = this.createTheme();\n\n this.state = {\n selectedTab: (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '',\n selectedTabNum: -1,\n native: {},\n errorText: '',\n changed: false,\n connected: false,\n loaded: false,\n isConfigurationError: '',\n expertMode: false,\n toast: '',\n theme: themeInstance,\n themeName: this.getThemeName(themeInstance),\n themeType: this.getThemeType(themeInstance),\n bottomButtons: (settings && settings.bottomButtons) === false ? false : (props?.bottomButtons !== false),\n width: GenericApp.getWidth(),\n confirmClose: false,\n _alert: false,\n _alertType: 'info',\n _alertMessage: '',\n };\n\n // init translations\n const translations = {\n en: require('./i18n/en.json'),\n de: require('./i18n/de.json'),\n ru: require('./i18n/ru.json'),\n pt: require('./i18n/pt.json'),\n nl: require('./i18n/nl.json'),\n fr: require('./i18n/fr.json'),\n it: require('./i18n/it.json'),\n es: require('./i18n/es.json'),\n pl: require('./i18n/pl.json'),\n uk: require('./i18n/uk.json'),\n 'zh-cn': require('./i18n/zh-cn.json'),\n };\n\n // merge together\n if (settings && settings.translations) {\n Object.keys(settings.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], settings.translations[lang]));\n } else if (props.translations) {\n Object.keys(props.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], props.translations[lang]));\n }\n\n I18n.setTranslations(translations);\n\n this.savedNative = {}; // to detect if the config changed\n\n this.encryptedFields = props.encryptedFields || settings?.encryptedFields || [];\n\n this.sentryDSN = (settings && settings.sentryDSN) || props.sentryDSN;\n\n if (window.socketUrl) {\n if (window.socketUrl.startsWith(':')) {\n window.socketUrl = `${window.location.protocol}//${window.location.hostname}${window.socketUrl}`;\n } else if (!window.socketUrl.startsWith('http://') && !window.socketUrl.startsWith('https://')) {\n window.socketUrl = `${window.location.protocol}//${window.socketUrl}`;\n }\n }\n\n this.alerDialogRendered = false;\n\n window.oldAlert = window.alert;\n window.alert = message => {\n if (!this.alerDialogRendered) {\n window.oldAlert(message);\n return;\n }\n if (message && message.toString().toLowerCase().includes('error')) {\n console.error(message);\n this.showAlert(message.toString(), 'error');\n } else {\n console.log(message);\n this.showAlert(message.toString(), 'info');\n }\n };\n\n this.socket = new ConnectionClass({\n ...(props?.socket || settings?.socket),\n name: this.adapterName,\n doNotLoadAllObjects: settings?.doNotLoadAllObjects,\n onProgress: progress => {\n if (progress === PROGRESS.CONNECTING) {\n this.setState({ connected: false });\n } else if (progress === PROGRESS.READY) {\n this.setState({ connected: true });\n } else {\n this.setState({ connected: true });\n }\n },\n onReady: (/* objects, scripts */) => {\n I18n.setLanguage(this.socket.systemLang);\n\n // subscribe because of language and expert mode\n this.socket.subscribeObject('system.config', this.onSystemConfigChanged)\n .then(() => this.getSystemConfig())\n .then(obj => {\n this._secret = (typeof obj !== 'undefined' && obj.native && obj.native.secret) || 'Zgfr56gFe87jJOM';\n this._systemConfig = obj?.common || {};\n return this.socket.getObject(this.instanceId);\n })\n .then(async (instanceObj) => {\n let waitPromise;\n\n const sentryPluginEnabled = (await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))?.val\n\n const sentryEnabled =\n sentryPluginEnabled !== false &&\n this._systemConfig.diag !== 'none' &&\n instanceObj?.common &&\n instanceObj.common.name &&\n instanceObj.common.version &&\n !instanceObj.common.disableDataReporting &&\n window.location.host !== 'localhost:3000';\n\n // activate sentry plugin\n if (!this.sentryStarted && this.sentryDSN && sentryEnabled) {\n this.sentryStarted = true;\n\n Sentry.init({\n dsn: this.sentryDSN,\n release: `iobroker.${instanceObj.common.name}@${instanceObj.common.version}`,\n integrations: [\n new SentryIntegrations.Dedupe(),\n ],\n });\n\n console.log('Sentry initialized')\n }\n\n // read UUID and init sentry with it.\n // for backward compatibility it will be processed separately from above logic: some adapters could still have this.sentryDSN as undefined\n if (!this.sentryInited && sentryEnabled) {\n this.sentryInited = true;\n\n waitPromise = this.socket.getObject('system.meta.uuid')\n .then(uuidObj => {\n if (uuidObj && uuidObj.native && uuidObj.native.uuid) {\n Sentry.configureScope(scope =>\n scope.setUser({ id: uuidObj.native.uuid }));\n }\n });\n }\n\n waitPromise = waitPromise || Promise.resolve();\n\n waitPromise\n .then(() => {\n if (instanceObj) {\n this.common = instanceObj?.common;\n this.onPrepareLoad(instanceObj.native, instanceObj.encryptedNative); // decode all secrets\n this.savedNative = JSON.parse(JSON.stringify(instanceObj.native));\n this.setState({ native: instanceObj.native, loaded: true, expertMode: this.getExpertMode() }, () =>\n this.onConnectionReady && this.onConnectionReady());\n } else {\n console.warn('Cannot load instance settings');\n this.setState(\n {\n native: {},\n loaded: true,\n expertMode: this.getExpertMode(),\n },\n () => this.onConnectionReady && this.onConnectionReady(),\n );\n }\n });\n })\n .catch(e => window.alert(`Cannot settings: ${e}`));\n },\n onError: err => {\n console.error(err);\n this.showError(err);\n },\n });\n }\n\n showAlert(message, type) {\n if (type !== 'error' && type !== 'warning' && type !== 'info' && type !== 'success') {\n type = 'info';\n }\n\n this.setState({\n _alert: true,\n _alertType: type,\n _alertMessage: message,\n });\n }\n\n renderAlertSnackbar() {\n this.alerDialogRendered = true;\n\n return <Snackbar\n style={this.state._alertType === 'error' ?\n { backgroundColor: '#f44336' } :\n (this.state._alertType === 'success' ? { backgroundColor: '#4caf50' } : undefined)}\n open={this.state._alert}\n autoHideDuration={6000}\n onClose={reason => reason !== 'clickaway' && this.setState({ _alert: false })}\n message={this.state.alertMessage}\n />;\n }\n\n onSystemConfigChanged = (id, obj) => {\n if (obj && id === 'system.config') {\n if (this.socket.systemLang !== obj?.common.language) {\n this.socket.systemLang = obj?.common.language || 'en';\n I18n.setLanguage(this.socket.systemLang);\n }\n\n if (this._systemConfig.expertMode !== !!obj?.common?.expertMode) {\n this._systemConfig = obj?.common || {};\n this.setState({ expertMode: this.getExpertMode() });\n } else {\n this._systemConfig = obj?.common || {};\n }\n }\n };\n\n /**\n * Called immediately after a component is mounted. Setting state here will trigger re-rendering.\n */\n componentDidMount() {\n window.addEventListener('resize', this.onResize, true);\n window.addEventListener('message', this.onReceiveMessage, false);\n super.componentDidMount();\n }\n\n /**\n * Called immediately before a component is destroyed.\n */\n componentWillUnmount() {\n window.removeEventListener('resize', this.onResize, true);\n window.removeEventListener('message', this.onReceiveMessage, false);\n super.componentWillUnmount();\n }\n\n onReceiveMessage = message => {\n if (message?.data) {\n if (message.data === 'updateTheme') {\n const newThemeName = Utils.getThemeName();\n Utils.setThemeName(Utils.getThemeName());\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState({\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n } else if (message.data === 'updateExpertMode') {\n this.onToggleExpertMode && this.onToggleExpertMode(this.getExpertMode());\n } else if (message.data !== 'chartReady') { // if not \"echart ready\" message\n console.debug(`Received unknown message: \"${JSON.stringify(message.data)}\". May be it will be processed later`);\n }\n }\n };\n\n /**\n * @private\n */\n onResize = () => {\n this.resizeTimer && clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = null;\n this.setState({ width: GenericApp.getWidth() });\n }, 200);\n };\n\n /**\n * Gets the width depending on the window inner width.\n * @returns {import('./types').Width}\n */\n static getWidth() {\n /**\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n const SIZES = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n };\n const width = window.innerWidth;\n const keys = Object.keys(SIZES).reverse();\n const widthComputed = keys.find(key => width >= SIZES[key]);\n\n return widthComputed || 'xs';\n }\n\n /**\n * Get a theme\n * @param {string} name Theme name\n * @returns {import('./types').Theme}\n */\n createTheme(name = '') {\n return theme(Utils.getThemeName(name));\n }\n\n /**\n * Get the theme name\n * @param {import('./types').Theme} currentTheme Theme\n * @returns {string} Theme name\n */\n getThemeName(currentTheme) {\n return currentTheme.name;\n }\n\n /**\n * Get the theme type\n * @param {import('./types').Theme} currentTheme Theme\n * @returns {string} Theme type\n */\n getThemeType(currentTheme) {\n return currentTheme.palette.mode;\n }\n\n /**\n * Changes the current theme\n * @param {string} newThemeName Theme name\n **/\n toggleTheme(newThemeName) {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n newThemeName = newThemeName || (themeName === 'dark' ? 'blue' :\n (themeName === 'blue' ? 'colored' :\n (themeName === 'colored' ? 'light' : 'dark')));\n\n if (newThemeName !== themeName) {\n Utils.setThemeName(newThemeName);\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState({\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n }\n }\n\n /**\n * Gets the system configuration.\n * @returns {Promise<ioBroker.OtherObject>}\n */\n getSystemConfig() {\n return this.socket.getSystemConfig();\n }\n\n /**\n * Get current expert mode\n * @returns {boolean}\n */\n getExpertMode() {\n return window.sessionStorage.getItem('App.expertMode') === 'true' || !!this._systemConfig.expertMode;\n }\n\n /**\n * Gets called when the socket.io connection is ready.\n * You can overload this function to execute own commands.\n */\n onConnectionReady() {\n }\n\n /**\n * Encrypts a string.\n * @param {string} value\n * @returns {string}\n */\n encrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Decrypts a string.\n * @param {string} value\n * @returns {string}\n */\n decrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Gets called when the navigation hash changes.\n * You may override this if needed.\n */\n onHashChanged() {\n const location = Router.getLocation();\n if (location.tab !== this.state.selectedTab) {\n this.selectTab(location.tab);\n }\n }\n\n /**\n * Selects the given tab.\n * @param {string} tab\n * @param {number} [index]\n */\n selectTab(tab, index) {\n (window._localStorage || window.localStorage).setItem(`${this.adapterName}-adapter`, tab);\n this.setState({ selectedTab: tab, selectedTabNum: index });\n }\n\n /**\n * Gets called before the settings are saved.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n */\n onPrepareSave(settings) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.encrypt(settings[attr]);\n }\n });\n\n return true;\n }\n\n /**\n * Gets called after the settings are loaded.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n * @param {string[]} encryptedNative optional list of fields to be decrypted\n */\n onPrepareLoad(settings, encryptedNative) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n encryptedNative && encryptedNative.forEach(attr => {\n this.encryptedFields = this.encryptedFields || [];\n !this.encryptedFields.includes(attr) && this.encryptedFields.push(attr);\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n }\n\n /**\n * Gets the extendable instances.\n * @returns {Promise<any[]>}\n */\n getExtendableInstances() {\n return new Promise(resolve => {\n this.socket._socket.emit('getObjectView', 'system', 'instance', null, (err, doc) => {\n if (err) {\n resolve([]);\n } else {\n resolve(doc.rows\n .filter(item => item.value.common.webExtendable)\n .map(item => item.value));\n }\n });\n });\n }\n\n /**\n * Gets the IP addresses of the given host.\n * @param {string} host\n */\n getIpAddresses(host) {\n return new Promise(resolve => {\n this.socket._socket.emit('getHostByIp', host || this.common.host, (ip, _host) => {\n const IPs4 = [{ name: `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`, address: '0.0.0.0', family: 'ipv4' }];\n const IPs6 = [{ name: '[IPv6] ::', address: '::', family: 'ipv6' }];\n if (_host) {\n host = _host;\n if (host.native.hardware && host.native.hardware.networkInterfaces) {\n Object.keys(host.native.hardware.networkInterfaces).forEach(eth =>\n host.native.hardware.networkInterfaces[eth].forEach(inter => {\n if (inter.family !== 'IPv6') {\n IPs4.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv4' });\n } else {\n IPs6.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv6' });\n }\n }));\n }\n IPs6.forEach(_ip => IPs4.push(_ip));\n }\n resolve(IPs4);\n });\n });\n }\n\n /**\n * Saves the settings to the server.\n * @param {boolean} isClose True if the user is closing the dialog.\n */\n onSave(isClose) {\n let oldObj;\n if (this.state.isConfigurationError) {\n this.setState({ errorText: this.state.isConfigurationError });\n return;\n }\n\n this.socket.getObject(this.instanceId)\n .then(_oldObj => {\n oldObj = _oldObj || {};\n\n for (const a in this.state.native) {\n if (Object.prototype.hasOwnProperty.call(this.state.native, a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else if (this.state.native[a] !== undefined) {\n oldObj.native[a] = JSON.parse(JSON.stringify(this.state.native[a]));\n } else {\n delete oldObj.native[a];\n }\n }\n }\n\n if (this.state.common) {\n for (const b in this.state.common) {\n if (this.state.common[b] === null) {\n oldObj.common[b] = null;\n } else if (this.state.common[b] !== undefined) {\n oldObj.common[b] = JSON.parse(JSON.stringify(this.state.common[b]));\n } else {\n delete oldObj.common[b];\n }\n }\n }\n\n if (this.onPrepareSave(oldObj.native) !== false) {\n return this.socket.setObject(this.instanceId, oldObj);\n }\n\n return Promise.reject(new Error('Invalid configuration'));\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n try {\n window.parent.postMessage('nochange', '*');\n } catch (e) {\n // ignore\n }\n\n this.setState({ changed: false });\n isClose && GenericApp.onClose();\n })\n .catch(e => console.error(`Cannot save configuration: ${e}`));\n }\n\n /**\n * Renders the toast.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderToast() {\n if (!this.state.toast) {\n return null;\n }\n\n return <Snackbar\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n open={!0}\n autoHideDuration={6000}\n onClose={() => this.setState({ toast: '' })}\n ContentProps={{ 'aria-describedby': 'message-id' }}\n message={<span id=\"message-id\">{this.state.toast}</span>}\n action={[\n <IconButton\n key=\"close\"\n aria-label=\"Close\"\n color=\"inherit\"\n className={this.props.classes.close}\n onClick={() => this.setState({ toast: '' })}\n size=\"large\"\n >\n <IconClose />\n </IconButton>,\n ]}\n />;\n }\n\n /**\n * Closes the dialog.\n * @private\n */\n static onClose() {\n if (typeof window.parent !== 'undefined' && window.parent) {\n try {\n if (window.parent.$iframeDialog && typeof window.parent.$iframeDialog.close === 'function') {\n window.parent.$iframeDialog.close();\n } else {\n window.parent.postMessage('close', '*');\n }\n } catch (e) {\n window.parent.postMessage('close', '*');\n }\n }\n }\n\n /**\n * Renders the error dialog.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderError() {\n if (!this.state.errorText) {\n return null;\n }\n\n return <DialogError text={this.state.errorText} onClose={() => this.setState({ errorText: '' })} />;\n }\n\n /**\n * Checks if the configuration has changed.\n * @param {Record<string, any>} [native] the new state\n */\n getIsChanged(native) {\n native = native || this.state.native;\n const isChanged = JSON.stringify(native) !== JSON.stringify(this.savedNative);\n\n globalThis.changed = isChanged;\n\n return isChanged;\n }\n\n /**\n * Gets called when loading the configuration.\n * @param {Record<string, any>} newNative The new configuration object.\n */\n onLoadConfig(newNative) {\n if (JSON.stringify(newNative) !== JSON.stringify(this.state.native)) {\n this.setState({ native: newNative, changed: this.getIsChanged(newNative) });\n }\n }\n\n /**\n * Sets the configuration error.\n * @param {string} errorText\n */\n setConfigurationError(errorText) {\n if (this.state.isConfigurationError !== errorText) {\n this.setState({ isConfigurationError: errorText });\n }\n }\n\n /**\n * Renders the save and close buttons.\n * @returns {JSX.Element | undefined} The JSX element.\n */\n renderSaveCloseButtons() {\n if (!this.state.confirmClose && !this.state.bottomButtons) {\n return null;\n }\n\n return <>\n {this.state.bottomButtons ? <SaveCloseButtons\n theme={this.state.theme}\n newReact={this.newReact}\n noTextOnButtons={this.state.width === 'xs' || this.state.width === 'sm' || this.state.width === 'md'}\n changed={this.state.changed}\n onSave={isClose => this.onSave(isClose)}\n onClose={() => {\n if (this.state.changed) {\n this.setState({ confirmClose: true });\n } else {\n GenericApp.onClose();\n }\n }}\n /> : null}\n {this.state.confirmClose ? <ConfirmDialog\n title={I18n.t('ra_Please confirm')}\n text={I18n.t('ra_Some data are not stored. Discard?')}\n ok={I18n.t('ra_Discard')}\n cancel={I18n.t('ra_Cancel')}\n onClose={isYes =>\n this.setState({ confirmClose: false }, () =>\n isYes && GenericApp.onClose())}\n /> : null}\n </>;\n }\n\n /**\n * @private\n * @param {Record<string, any>} obj\n * @param {any} attrs\n * @param {any} value\n * @returns {boolean | undefined}\n */\n _updateNativeValue(obj, attrs, value) {\n if (typeof attrs !== 'object') {\n attrs = attrs.split('.');\n }\n const attr = attrs.shift();\n if (!attrs.length) {\n if (value && typeof value === 'object') {\n if (JSON.stringify(obj[attr]) !== JSON.stringify(value)) {\n obj[attr] = value;\n return true;\n }\n return false;\n }\n if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n }\n\n return false;\n }\n\n obj[attr] = obj[attr] || {};\n if (typeof obj[attr] !== 'object') {\n throw new Error(`attribute ${attr} is no object, but ${typeof obj[attr]}`);\n }\n return this._updateNativeValue(obj[attr], attrs, value);\n }\n\n /**\n * Update the native value\n * @param {string} attr The attribute name with dots as delimiter.\n * @param {any} value The new value.\n * @param {(() => void)} [cb] Callback which will be called upon completion.\n */\n updateNativeValue(attr, value, cb) {\n const native = JSON.parse(JSON.stringify(this.state.native));\n if (this._updateNativeValue(native, attr, value)) {\n const changed = this.getIsChanged(native);\n\n if (changed !== this.state.changed) {\n try {\n window.parent.postMessage(changed ? 'change' : 'nochange', '*');\n } catch (e) {\n // ignore\n }\n }\n\n this.setState({ native, changed }, cb);\n }\n }\n\n /**\n * Set the error text to be shown.\n * @param {string | JSX.Element} text\n */\n showError(text) {\n this.setState({ errorText: text });\n }\n\n /**\n * Sets the toast to be shown.\n * @param {string} toast\n */\n showToast(toast) {\n this.setState({ toast });\n }\n\n /**\n * Renders helper dialogs\n * @returns {JSX.Element} The JSX element.\n */\n renderHelperDialogs() {\n return <>\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n </>;\n }\n\n /**\n * Renders this component.\n * @returns {JSX.Element} The JSX element.\n */\n render() {\n if (!this.state.loaded) {\n return <Loader theme={this.state.themeType} />;\n }\n\n return <div className=\"App\">\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n </div>;\n }\n}\n\nGenericApp.propTypes = {\n adapterName: PropTypes.string, // (optional) name of adapter\n onThemeChange: PropTypes.func, // (optional) called by theme change\n socket: PropTypes.object, // (optional) socket information (host, port)\n encryptedFields: PropTypes.array, // (optional) list of native attributes that must be encrypted\n bottomButtons: PropTypes.bool, // If the bottom buttons (Save/Close) must be shown\n Connection: PropTypes.object, // If the bottom buttons (Save/Close) must be shown\n};\n\nexport default GenericApp;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GenericApp.js","names":["_react","_interopRequireDefault","require","_socketClient","_propTypes","Sentry","_interopRequireWildcard","SentryIntegrations","_material","_iconsMaterial","_Prompt","_Theme","_Loader","_Router2","_Utils","_SaveCloseButtons","_Confirm","_i18n","_Error","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof3","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","valueOf","cssStyle","window","localStorage","getItem","setItem","GenericApp","_Router","_inherits2","props","settings","_ref","_settings$instance","_this","_classCallCheck2","ConnectionClass","Connection","document","getElementById","style","createElement","setAttribute","innerHTML","head","appendChild","isWeb","io","location","port","SocketClient","_assertThisInitialized2","id","obj","_obj$common","socket","systemLang","common","language","I18n","setLanguage","_systemConfig","expertMode","setState","getExpertMode","message","data","newThemeName","Utils","getThemeName","setThemeName","newTheme","createTheme","theme","themeName","themeType","getThemeType","onThemeChange","onThemeChanged","onToggleExpertMode","console","debug","concat","JSON","stringify","resizeTimer","clearTimeout","setTimeout","width","getWidth","printPrompt","query","search","replace","args","trim","split","b","parts","instance","undefined","parseInt","slice","tmp","pathname","adapterName","instanceId","newReact","Router","getLocation","tab","_localStorage","themeInstance","state","selectedTab","selectedTabNum","errorText","changed","connected","loaded","isConfigurationError","toast","bottomButtons","confirmClose","_alert","_alertType","_alertMessage","translations","en","de","ru","pt","nl","fr","it","es","pl","uk","lang","assign","setTranslations","savedNative","encryptedFields","sentryDSN","socketUrl","startsWith","protocol","hostname","alerDialogRendered","oldAlert","alert","toString","toLowerCase","includes","error","showAlert","log","name","doNotLoadAllObjects","onProgress","progress","PROGRESS","CONNECTING","READY","onReady","subscribeObject","onSystemConfigChanged","then","getSystemConfig","_secret","secret","getObject","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","instanceObj","_yield$_this$socket$g","waitPromise","sentryPluginEnabled","sentryEnabled","wrap","_callee$","_context","prev","next","getState","t1","sent","t0","t2","val","diag","version","disableDataReporting","host","sentryStarted","init","dsn","release","integrations","Dedupe","sentryInited","uuidObj","uuid","configureScope","scope","setUser","Promise","resolve","onPrepareLoad","encryptedNative","parse","onConnectionReady","warn","stop","_x","onError","err","showError","_createClass2","key","value","type","renderAlertSnackbar","_this2","Snackbar","backgroundColor","open","autoHideDuration","onClose","reason","alertMessage","componentDidMount","addEventListener","onResize","onReceiveMessage","_get2","componentWillUnmount","removeEventListener","currentTheme","palette","mode","toggleTheme","_this3","sessionStorage","encrypt","result","String","fromCharCode","charCodeAt","decrypt","onHashChanged","selectTab","index","onPrepareSave","_this4","attr","_this5","getExtendableInstances","_this6","_socket","emit","doc","rows","item","webExtendable","map","getIpAddresses","_this7","ip","_host","IPs4","address","family","IPs6","hardware","networkInterfaces","eth","inter","_ip","onSave","isClose","_this8","oldObj","_oldObj","setObject","reject","Error","globalThis","parent","postMessage","renderToast","_this9","anchorOrigin","vertical","horizontal","ContentProps","action","IconButton","color","className","classes","close","onClick","size","Close","renderError","_this10","text","getIsChanged","native","isChanged","onLoadConfig","newNative","setConfigurationError","renderSaveCloseButtons","_this11","Fragment","noTextOnButtons","title","ok","cancel","isYes","_updateNativeValue","attrs","_typeof2","shift","updateNativeValue","cb","showToast","renderHelperDialogs","render","SIZES","xs","sm","md","lg","xl","innerWidth","reverse","widthComputed","find","$iframeDialog","propTypes","PropTypes","string","func","object","array","bool","_default","exports"],"sources":["GenericApp.js"],"sourcesContent":["/**\n * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport { Connection, PROGRESS } from '@iobroker/socket-client';\nimport PropTypes from 'prop-types';\nimport * as Sentry from '@sentry/browser';\nimport * as SentryIntegrations from '@sentry/integrations';\n\nimport { Snackbar, IconButton } from '@mui/material';\n\nimport { Close as IconClose } from '@mui/icons-material';\n\nimport printPrompt from './Prompt';\nimport theme from './Theme';\nimport Loader from './Components/Loader';\nimport Router from './Components/Router';\nimport Utils from './Components/Utils';\nimport SaveCloseButtons from './Components/SaveCloseButtons';\nimport ConfirmDialog from './Dialogs/Confirm';\nimport I18n from './i18n';\nimport DialogError from './Dialogs/Error';\n\n// import './index.css';\nconst cssStyle = `\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}\n`;\n\n// legacy and could be deleted\nif (!window.localStorage) {\n window.localStorage = {\n getItem: () => null,\n setItem: () => null,\n };\n}\n\n/**\n * @extends {Router<import('./types').GenericAppProps, import('./types').GenericAppState>}\n */\nclass GenericApp extends Router {\n /**\n * @type {import('@iobroker/socket-client').Connection | import('@iobroker/socket-client').AdminConnection}\n */\n socket;\n\n /**\n * @param {import('./types').GenericAppProps} props\n * @param {import('./types').GenericAppSettings | undefined} settings\n */\n constructor(props, settings) {\n const ConnectionClass = props.Connection || settings.Connection || Connection;\n // const ConnectionClass = props.Connection === 'admin' || settings.Connection = 'admin' ? AdminConnection : (props.Connection || settings.Connection || Connection);\n\n if (!window.document.getElementById('generic-app-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'generic-app-iobroker-component');\n style.innerHTML = cssStyle;\n window.document.head.appendChild(style);\n }\n\n // Remove `!Connection.isWeb() && window.adapterName !== 'material'` when iobroker.socket will support native ws\n if (!ConnectionClass.isWeb() && window.io && window.location.port === '3000') {\n try {\n const io = new window.SocketClient();\n delete window.io;\n window.io = io;\n } catch (e) {\n // ignore\n }\n }\n\n super(props);\n\n printPrompt();\n\n const query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n const args = {};\n query.trim().split('&').filter(t => t.trim()).forEach(b => {\n const parts = b.split('=');\n args[parts[0]] = parts.length === 2 ? parts[1] : true;\n if (args[parts[0]] === 'true') {\n args[parts[0]] = true;\n } else if (args[parts[0]] === 'false') {\n args[parts[0]] = false;\n }\n });\n\n // extract instance from URL\n this.instance = settings?.instance ?? props.instance ?? (args.instance !== undefined ? parseInt(args.instance, 10) || 0 : (parseInt(window.location.search.slice(1), 10) || 0));\n // extract adapter name from URL\n const tmp = window.location.pathname.split('/');\n this.adapterName = settings?.adapterName || props.adapterName || window.adapterName || tmp[tmp.length - 2] || 'iot';\n this.instanceId = `system.adapter.${this.adapterName}.${this.instance}`;\n this.newReact = args.newReact === true; // it is admin5\n\n const location = Router.getLocation();\n location.tab = location.tab || (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '';\n\n const themeInstance = this.createTheme();\n\n this.state = {\n selectedTab: (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '',\n selectedTabNum: -1,\n native: {},\n errorText: '',\n changed: false,\n connected: false,\n loaded: false,\n isConfigurationError: '',\n expertMode: false,\n toast: '',\n theme: themeInstance,\n themeName: this.getThemeName(themeInstance),\n themeType: this.getThemeType(themeInstance),\n bottomButtons: (settings && settings.bottomButtons) === false ? false : (props?.bottomButtons !== false),\n width: GenericApp.getWidth(),\n confirmClose: false,\n _alert: false,\n _alertType: 'info',\n _alertMessage: '',\n };\n\n // init translations\n const translations = {\n en: require('./i18n/en.json'),\n de: require('./i18n/de.json'),\n ru: require('./i18n/ru.json'),\n pt: require('./i18n/pt.json'),\n nl: require('./i18n/nl.json'),\n fr: require('./i18n/fr.json'),\n it: require('./i18n/it.json'),\n es: require('./i18n/es.json'),\n pl: require('./i18n/pl.json'),\n uk: require('./i18n/uk.json'),\n 'zh-cn': require('./i18n/zh-cn.json'),\n };\n\n // merge together\n if (settings && settings.translations) {\n Object.keys(settings.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], settings.translations[lang]));\n } else if (props.translations) {\n Object.keys(props.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], props.translations[lang]));\n }\n\n I18n.setTranslations(translations);\n\n this.savedNative = {}; // to detect if the config changed\n\n this.encryptedFields = props.encryptedFields || settings?.encryptedFields || [];\n\n this.sentryDSN = (settings && settings.sentryDSN) || props.sentryDSN;\n\n if (window.socketUrl) {\n if (window.socketUrl.startsWith(':')) {\n window.socketUrl = `${window.location.protocol}//${window.location.hostname}${window.socketUrl}`;\n } else if (!window.socketUrl.startsWith('http://') && !window.socketUrl.startsWith('https://')) {\n window.socketUrl = `${window.location.protocol}//${window.socketUrl}`;\n }\n }\n\n this.alerDialogRendered = false;\n\n window.oldAlert = window.alert;\n window.alert = message => {\n if (!this.alerDialogRendered) {\n window.oldAlert(message);\n return;\n }\n if (message && message.toString().toLowerCase().includes('error')) {\n console.error(message);\n this.showAlert(message.toString(), 'error');\n } else {\n console.log(message);\n this.showAlert(message.toString(), 'info');\n }\n };\n\n this.socket = new ConnectionClass({\n ...(props?.socket || settings?.socket),\n name: this.adapterName,\n doNotLoadAllObjects: settings?.doNotLoadAllObjects,\n onProgress: progress => {\n if (progress === PROGRESS.CONNECTING) {\n this.setState({ connected: false });\n } else if (progress === PROGRESS.READY) {\n this.setState({ connected: true });\n } else {\n this.setState({ connected: true });\n }\n },\n onReady: (/* objects, scripts */) => {\n I18n.setLanguage(this.socket.systemLang);\n\n // subscribe because of language and expert mode\n this.socket.subscribeObject('system.config', this.onSystemConfigChanged)\n .then(() => this.getSystemConfig())\n .then(obj => {\n this._secret = (typeof obj !== 'undefined' && obj.native && obj.native.secret) || 'Zgfr56gFe87jJOM';\n this._systemConfig = obj?.common || {};\n return this.socket.getObject(this.instanceId);\n })\n .then(async (instanceObj) => {\n let waitPromise;\n\n const sentryPluginEnabled = (await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))?.val\n\n const sentryEnabled =\n sentryPluginEnabled !== false &&\n this._systemConfig.diag !== 'none' &&\n instanceObj?.common &&\n instanceObj.common.name &&\n instanceObj.common.version &&\n !instanceObj.common.disableDataReporting &&\n window.location.host !== 'localhost:3000';\n\n // activate sentry plugin\n if (!this.sentryStarted && this.sentryDSN && sentryEnabled) {\n this.sentryStarted = true;\n\n Sentry.init({\n dsn: this.sentryDSN,\n release: `iobroker.${instanceObj.common.name}@${instanceObj.common.version}`,\n integrations: [\n new SentryIntegrations.Dedupe(),\n ],\n });\n\n console.log('Sentry initialized')\n }\n\n // read UUID and init sentry with it.\n // for backward compatibility it will be processed separately from above logic: some adapters could still have this.sentryDSN as undefined\n if (!this.sentryInited && sentryEnabled) {\n this.sentryInited = true;\n\n waitPromise = this.socket.getObject('system.meta.uuid')\n .then(uuidObj => {\n if (uuidObj && uuidObj.native && uuidObj.native.uuid) {\n Sentry.configureScope(scope =>\n scope.setUser({ id: uuidObj.native.uuid }));\n }\n });\n }\n\n waitPromise = waitPromise || Promise.resolve();\n\n waitPromise\n .then(() => {\n if (instanceObj) {\n this.common = instanceObj?.common;\n this.onPrepareLoad(instanceObj.native, instanceObj.encryptedNative); // decode all secrets\n this.savedNative = JSON.parse(JSON.stringify(instanceObj.native));\n this.setState({ native: instanceObj.native, loaded: true, expertMode: this.getExpertMode() }, () =>\n this.onConnectionReady && this.onConnectionReady());\n } else {\n console.warn('Cannot load instance settings');\n this.setState(\n {\n native: {},\n loaded: true,\n expertMode: this.getExpertMode(),\n },\n () => this.onConnectionReady && this.onConnectionReady(),\n );\n }\n });\n })\n .catch(e => window.alert(`Cannot settings: ${e}`));\n },\n onError: err => {\n console.error(err);\n this.showError(err);\n },\n });\n }\n\n showAlert(message, type) {\n if (type !== 'error' && type !== 'warning' && type !== 'info' && type !== 'success') {\n type = 'info';\n }\n\n this.setState({\n _alert: true,\n _alertType: type,\n _alertMessage: message,\n });\n }\n\n renderAlertSnackbar() {\n this.alerDialogRendered = true;\n\n return <Snackbar\n style={this.state._alertType === 'error' ?\n { backgroundColor: '#f44336' } :\n (this.state._alertType === 'success' ? { backgroundColor: '#4caf50' } : undefined)}\n open={this.state._alert}\n autoHideDuration={6000}\n onClose={reason => reason !== 'clickaway' && this.setState({ _alert: false })}\n message={this.state.alertMessage}\n />;\n }\n\n onSystemConfigChanged = (id, obj) => {\n if (obj && id === 'system.config') {\n if (this.socket.systemLang !== obj?.common.language) {\n this.socket.systemLang = obj?.common.language || 'en';\n I18n.setLanguage(this.socket.systemLang);\n }\n\n if (this._systemConfig.expertMode !== !!obj?.common?.expertMode) {\n this._systemConfig = obj?.common || {};\n this.setState({ expertMode: this.getExpertMode() });\n } else {\n this._systemConfig = obj?.common || {};\n }\n }\n };\n\n /**\n * Called immediately after a component is mounted. Setting state here will trigger re-rendering.\n */\n componentDidMount() {\n window.addEventListener('resize', this.onResize, true);\n window.addEventListener('message', this.onReceiveMessage, false);\n super.componentDidMount();\n }\n\n /**\n * Called immediately before a component is destroyed.\n */\n componentWillUnmount() {\n window.removeEventListener('resize', this.onResize, true);\n window.removeEventListener('message', this.onReceiveMessage, false);\n super.componentWillUnmount();\n }\n\n onReceiveMessage = message => {\n if (message?.data) {\n if (message.data === 'updateTheme') {\n const newThemeName = Utils.getThemeName();\n Utils.setThemeName(Utils.getThemeName());\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState({\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n } else if (message.data === 'updateExpertMode') {\n this.onToggleExpertMode && this.onToggleExpertMode(this.getExpertMode());\n } else if (message.data !== 'chartReady') { // if not \"echart ready\" message\n console.debug(`Received unknown message: \"${JSON.stringify(message.data)}\". May be it will be processed later`);\n }\n }\n };\n\n /**\n * @private\n */\n onResize = () => {\n this.resizeTimer && clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = null;\n this.setState({ width: GenericApp.getWidth() });\n }, 200);\n };\n\n /**\n * Gets the width depending on the window inner width.\n * @returns {import('./types').Width}\n */\n static getWidth() {\n /**\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n const SIZES = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n };\n const width = window.innerWidth;\n const keys = Object.keys(SIZES).reverse();\n const widthComputed = keys.find(key => width >= SIZES[key]);\n\n return widthComputed || 'xs';\n }\n\n /**\n * Get a theme\n * @param {string} name Theme name\n * @returns {import('./types').Theme}\n */\n createTheme(name = '') {\n return theme(Utils.getThemeName(name));\n }\n\n /**\n * Get the theme name\n * @param {import('./types').Theme} currentTheme Theme\n * @returns {string} Theme name\n */\n getThemeName(currentTheme) {\n return currentTheme.name;\n }\n\n /**\n * Get the theme type\n * @param {import('./types').Theme} currentTheme Theme\n * @returns {string} Theme type\n */\n getThemeType(currentTheme) {\n return currentTheme.palette.mode;\n }\n\n /**\n * Changes the current theme\n * @param {string} newThemeName Theme name\n **/\n toggleTheme(newThemeName) {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n newThemeName = newThemeName || (themeName === 'dark' ? 'blue' :\n (themeName === 'blue' ? 'colored' :\n (themeName === 'colored' ? 'light' : 'dark')));\n\n if (newThemeName !== themeName) {\n Utils.setThemeName(newThemeName);\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState({\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n }\n }\n\n /**\n * Gets the system configuration.\n * @returns {Promise<ioBroker.OtherObject>}\n */\n getSystemConfig() {\n return this.socket.getSystemConfig();\n }\n\n /**\n * Get current expert mode\n * @returns {boolean}\n */\n getExpertMode() {\n return window.sessionStorage.getItem('App.expertMode') === 'true' || !!this._systemConfig.expertMode;\n }\n\n /**\n * Gets called when the socket.io connection is ready.\n * You can overload this function to execute own commands.\n */\n onConnectionReady() {\n }\n\n /**\n * Encrypts a string.\n * @param {string} value\n * @returns {string}\n */\n encrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Decrypts a string.\n * @param {string} value\n * @returns {string}\n */\n decrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Gets called when the navigation hash changes.\n * You may override this if needed.\n */\n onHashChanged() {\n const location = Router.getLocation();\n if (location.tab !== this.state.selectedTab) {\n this.selectTab(location.tab);\n }\n }\n\n /**\n * Selects the given tab.\n * @param {string} tab\n * @param {number} [index]\n */\n selectTab(tab, index) {\n (window._localStorage || window.localStorage).setItem(`${this.adapterName}-adapter`, tab);\n this.setState({ selectedTab: tab, selectedTabNum: index });\n }\n\n /**\n * Gets called before the settings are saved.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n */\n onPrepareSave(settings) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.encrypt(settings[attr]);\n }\n });\n\n return true;\n }\n\n /**\n * Gets called after the settings are loaded.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n * @param {string[]} encryptedNative optional list of fields to be decrypted\n */\n onPrepareLoad(settings, encryptedNative) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n encryptedNative && encryptedNative.forEach(attr => {\n this.encryptedFields = this.encryptedFields || [];\n !this.encryptedFields.includes(attr) && this.encryptedFields.push(attr);\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n }\n\n /**\n * Gets the extendable instances.\n * @returns {Promise<any[]>}\n */\n getExtendableInstances() {\n return new Promise(resolve => {\n this.socket._socket.emit('getObjectView', 'system', 'instance', null, (err, doc) => {\n if (err) {\n resolve([]);\n } else {\n resolve(doc.rows\n .filter(item => item.value.common.webExtendable)\n .map(item => item.value));\n }\n });\n });\n }\n\n /**\n * Gets the IP addresses of the given host.\n * @param {string} host\n */\n getIpAddresses(host) {\n return new Promise(resolve => {\n this.socket._socket.emit('getHostByIp', host || this.common.host, (ip, _host) => {\n const IPs4 = [{ name: `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`, address: '0.0.0.0', family: 'ipv4' }];\n const IPs6 = [{ name: '[IPv6] ::', address: '::', family: 'ipv6' }];\n if (_host) {\n host = _host;\n if (host.native.hardware && host.native.hardware.networkInterfaces) {\n Object.keys(host.native.hardware.networkInterfaces).forEach(eth =>\n host.native.hardware.networkInterfaces[eth].forEach(inter => {\n if (inter.family !== 'IPv6') {\n IPs4.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv4' });\n } else {\n IPs6.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv6' });\n }\n }));\n }\n IPs6.forEach(_ip => IPs4.push(_ip));\n }\n resolve(IPs4);\n });\n });\n }\n\n /**\n * Saves the settings to the server.\n * @param {boolean} isClose True if the user is closing the dialog.\n */\n onSave(isClose) {\n let oldObj;\n if (this.state.isConfigurationError) {\n this.setState({ errorText: this.state.isConfigurationError });\n return;\n }\n\n this.socket.getObject(this.instanceId)\n .then(_oldObj => {\n oldObj = _oldObj || {};\n\n for (const a in this.state.native) {\n if (Object.prototype.hasOwnProperty.call(this.state.native, a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else if (this.state.native[a] !== undefined) {\n oldObj.native[a] = JSON.parse(JSON.stringify(this.state.native[a]));\n } else {\n delete oldObj.native[a];\n }\n }\n }\n\n if (this.state.common) {\n for (const b in this.state.common) {\n if (this.state.common[b] === null) {\n oldObj.common[b] = null;\n } else if (this.state.common[b] !== undefined) {\n oldObj.common[b] = JSON.parse(JSON.stringify(this.state.common[b]));\n } else {\n delete oldObj.common[b];\n }\n }\n }\n\n if (this.onPrepareSave(oldObj.native) !== false) {\n return this.socket.setObject(this.instanceId, oldObj);\n }\n\n return Promise.reject(new Error('Invalid configuration'));\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n try {\n window.parent.postMessage('nochange', '*');\n } catch (e) {\n // ignore\n }\n\n this.setState({ changed: false });\n isClose && GenericApp.onClose();\n })\n .catch(e => console.error(`Cannot save configuration: ${e}`));\n }\n\n /**\n * Renders the toast.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderToast() {\n if (!this.state.toast) {\n return null;\n }\n\n return <Snackbar\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n open={!0}\n autoHideDuration={6000}\n onClose={() => this.setState({ toast: '' })}\n ContentProps={{ 'aria-describedby': 'message-id' }}\n message={<span id=\"message-id\">{this.state.toast}</span>}\n action={[\n <IconButton\n key=\"close\"\n aria-label=\"Close\"\n color=\"inherit\"\n className={this.props.classes.close}\n onClick={() => this.setState({ toast: '' })}\n size=\"large\"\n >\n <IconClose />\n </IconButton>,\n ]}\n />;\n }\n\n /**\n * Closes the dialog.\n * @private\n */\n static onClose() {\n if (typeof window.parent !== 'undefined' && window.parent) {\n try {\n if (window.parent.$iframeDialog && typeof window.parent.$iframeDialog.close === 'function') {\n window.parent.$iframeDialog.close();\n } else {\n window.parent.postMessage('close', '*');\n }\n } catch (e) {\n window.parent.postMessage('close', '*');\n }\n }\n }\n\n /**\n * Renders the error dialog.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderError() {\n if (!this.state.errorText) {\n return null;\n }\n\n return <DialogError text={this.state.errorText} onClose={() => this.setState({ errorText: '' })} />;\n }\n\n /**\n * Checks if the configuration has changed.\n * @param {Record<string, any>} [native] the new state\n */\n getIsChanged(native) {\n native = native || this.state.native;\n const isChanged = JSON.stringify(native) !== JSON.stringify(this.savedNative);\n\n globalThis.changed = isChanged;\n\n return isChanged;\n }\n\n /**\n * Gets called when loading the configuration.\n * @param {Record<string, any>} newNative The new configuration object.\n */\n onLoadConfig(newNative) {\n if (JSON.stringify(newNative) !== JSON.stringify(this.state.native)) {\n this.setState({ native: newNative, changed: this.getIsChanged(newNative) });\n }\n }\n\n /**\n * Sets the configuration error.\n * @param {string} errorText\n */\n setConfigurationError(errorText) {\n if (this.state.isConfigurationError !== errorText) {\n this.setState({ isConfigurationError: errorText });\n }\n }\n\n /**\n * Renders the save and close buttons.\n * @returns {JSX.Element | undefined} The JSX element.\n */\n renderSaveCloseButtons() {\n if (!this.state.confirmClose && !this.state.bottomButtons) {\n return null;\n }\n\n return <>\n {this.state.bottomButtons ? <SaveCloseButtons\n theme={this.state.theme}\n newReact={this.newReact}\n noTextOnButtons={this.state.width === 'xs' || this.state.width === 'sm' || this.state.width === 'md'}\n changed={this.state.changed}\n onSave={isClose => this.onSave(isClose)}\n onClose={() => {\n if (this.state.changed) {\n this.setState({ confirmClose: true });\n } else {\n GenericApp.onClose();\n }\n }}\n /> : null}\n {this.state.confirmClose ? <ConfirmDialog\n title={I18n.t('ra_Please confirm')}\n text={I18n.t('ra_Some data are not stored. Discard?')}\n ok={I18n.t('ra_Discard')}\n cancel={I18n.t('ra_Cancel')}\n onClose={isYes =>\n this.setState({ confirmClose: false }, () =>\n isYes && GenericApp.onClose())}\n /> : null}\n </>;\n }\n\n /**\n * @private\n * @param {Record<string, any>} obj\n * @param {any} attrs\n * @param {any} value\n * @returns {boolean | undefined}\n */\n _updateNativeValue(obj, attrs, value) {\n if (typeof attrs !== 'object') {\n attrs = attrs.split('.');\n }\n const attr = attrs.shift();\n if (!attrs.length) {\n if (value && typeof value === 'object') {\n if (JSON.stringify(obj[attr]) !== JSON.stringify(value)) {\n obj[attr] = value;\n return true;\n }\n return false;\n }\n if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n }\n\n return false;\n }\n\n obj[attr] = obj[attr] || {};\n if (typeof obj[attr] !== 'object') {\n throw new Error(`attribute ${attr} is no object, but ${typeof obj[attr]}`);\n }\n return this._updateNativeValue(obj[attr], attrs, value);\n }\n\n /**\n * Update the native value\n * @param {string} attr The attribute name with dots as delimiter.\n * @param {any} value The new value.\n * @param {(() => void)} [cb] Callback which will be called upon completion.\n */\n updateNativeValue(attr, value, cb) {\n const native = JSON.parse(JSON.stringify(this.state.native));\n if (this._updateNativeValue(native, attr, value)) {\n const changed = this.getIsChanged(native);\n\n if (changed !== this.state.changed) {\n try {\n window.parent.postMessage(changed ? 'change' : 'nochange', '*');\n } catch (e) {\n // ignore\n }\n }\n\n this.setState({ native, changed }, cb);\n }\n }\n\n /**\n * Set the error text to be shown.\n * @param {string | JSX.Element} text\n */\n showError(text) {\n this.setState({ errorText: text });\n }\n\n /**\n * Sets the toast to be shown.\n * @param {string} toast\n */\n showToast(toast) {\n this.setState({ toast });\n }\n\n /**\n * Renders helper dialogs\n * @returns {JSX.Element} The JSX element.\n */\n renderHelperDialogs() {\n return <>\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n </>;\n }\n\n /**\n * Renders this component.\n * @returns {JSX.Element} The JSX element.\n */\n render() {\n if (!this.state.loaded) {\n return <Loader theme={this.state.themeType} />;\n }\n\n return <div className=\"App\">\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n </div>;\n }\n}\n\nGenericApp.propTypes = {\n adapterName: PropTypes.string, // (optional) name of adapter\n onThemeChange: PropTypes.func, // (optional) called by theme change\n socket: PropTypes.object, // (optional) socket information (host, port)\n encryptedFields: PropTypes.array, // (optional) list of native attributes that must be encrypted\n bottomButtons: PropTypes.bool, // If the bottom buttons (Save/Close) must be shown\n Connection: PropTypes.object, // If the bottom buttons (Save/Close) must be shown\n};\n\nexport default GenericApp;\n"],"mappings":"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","ignoreList":[]}
|