@iobroker/adapter-react-v5 2.1.6 → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js.map +1 -1
- package/Components/FileBrowser.js +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/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 +3 -3
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +23 -28
- 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 +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/TabContainer.js.map +1 -1
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.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/Utils.js +3 -0
- package/Components/Utils.js.map +1 -1
- package/Components/copy-to-clipboard.js.map +1 -1
- package/Connection.js +5 -1
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +4 -1
- package/GenericApp.js.map +1 -1
- package/Prompt.js.map +1 -1
- package/README.md +4 -0
- package/Theme.js.map +1 -1
- package/i18n/de.json +3 -3
- package/i18n/en.json +3 -3
- package/i18n/es.json +3 -3
- package/i18n/fr.json +3 -3
- package/i18n/it.json +3 -3
- package/i18n/nl.json +3 -3
- package/i18n/pl.json +3 -3
- package/i18n/pt.json +3 -3
- package/i18n/ru.json +3 -3
- package/i18n/zh-cn.json +3 -3
- package/i18n.js +14 -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/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/IconOpen.js.map +1 -1
- package/icons/IconState.js.map +1 -1
- package/package.json +1 -1
package/GenericApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["GenericApp.js"],"names":["window","localStorage","getItem","setItem","GenericApp","props","settings","ConnectionClass","Connection","isWeb","io","location","port","SocketClient","e","id","obj","socket","systemLang","common","language","I18n","setLanguage","_systemConfig","expertMode","setState","getExpertMode","message","data","newThemeName","Utils","getThemeName","setThemeName","theme","createTheme","themeName","themeType","getThemeType","onThemeChange","onThemeChanged","onToggleExpertMode","console","warn","JSON","stringify","resizeTimer","clearTimeout","setTimeout","width","getWidth","query","search","replace","args","trim","split","filter","t","forEach","b","parts","length","instance","undefined","parseInt","slice","tmp","pathname","adapterName","instanceId","newReact","Router","getLocation","tab","themeInstance","state","selectedTab","selectedTabNum","errorText","changed","connected","loaded","isConfigurationError","toast","bottomButtons","translations","require","Object","keys","lang","assign","setTranslations","savedNative","encryptedFields","sentryDSN","name","doNotLoadAllObjects","onProgress","progress","PROGRESS","CONNECTING","READY","onReady","objects","scripts","subscribeObject","onSystemConfigChanged","then","getSystemConfig","_secret","secret","getObject","instanceObj","waitPromise","sentryEnabled","diag","version","disableDataReporting","host","sentryStarted","Sentry","init","dsn","release","integrations","SentryIntegrations","Dedupe","sentryInited","uuidObj","uuid","configureScope","scope","setUser","Promise","resolve","onPrepareLoad","encryptedNative","parse","onConnectionReady","onError","err","error","showError","addEventListener","onResize","onReceiveMessage","removeEventListener","palette","mode","sessionStorage","value","result","i","String","fromCharCode","charCodeAt","selectTab","index","attr","encrypt","decrypt","includes","push","_socket","emit","doc","rows","item","webExtendable","map","reject","ip","_host","IPs4","address","family","IPs6","hardware","networkInterfaces","eth","inter","isClose","oldObj","_oldObj","a","hasOwnProperty","onPrepareSave","setObject","globalThis","onClose","vertical","horizontal","classes","close","native","isChanged","newNative","getIsChanged","onSave","attrs","shift","Error","_updateNativeValue","cb","text","renderError","renderToast","renderSaveCloseButtons","SIZES","xs","sm","md","lg","xl","innerWidth","reverse","widthComputed","find","key","parent","$iframeDialog","postMessage","propTypes","PropTypes","string","func","object","array","bool"],"mappings":"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","sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport Connection, {PROGRESS} from './Connection';\nimport PropTypes from 'prop-types';\nimport * as Sentry from '@sentry/browser';\nimport * as SentryIntegrations from '@sentry/integrations';\n\nimport DialogError from './Dialogs/Error';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconClose from '@mui/icons-material/Close';\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 I18n from './i18n';\n\nimport './index.css';\n\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 * @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\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 let query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n let 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 = 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.getItem(this.adapterName + '-adapter') || '';\n\n const themeInstance = this.createTheme();\n\n this.state = {\n selectedTab: 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 && props.bottomButtons) === false ? false : true),\n width: GenericApp.getWidth(),\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 '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 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(instanceObj => {\n let waitPromise;\n\n const sentryEnabled =\n this._systemConfig.diag !== 'none' &&\n instanceObj &&\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\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({native: {}, loaded: true, expertMode: this.getExpertMode()}, () => this.onConnectionReady && this.onConnectionReady());\n }\n });\n });\n },\n onError: err => {\n console.error(err);\n this.showError(err);\n }\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 theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\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 {\n console.warn('Received unknown message: ' + JSON.stringify(message.data));\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} theme Theme\n * @returns {string} Theme name\n */\n getThemeName(theme) {\n return theme.name;\n }\n\n /**\n * Get the theme type\n * @param {import('./types').Theme} theme Theme\n * @returns {string} Theme type\n */\n getThemeType(theme) {\n return theme.palette.mode;\n }\n\n /**\n * Changes the current theme\n */\n toggleTheme() {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n const newThemeName = themeName === 'dark' ? 'blue' :\n (themeName === 'blue' ? 'colored' :\n (themeName === 'colored' ? 'light' : 'dark'));\n\n Utils.setThemeName(newThemeName);\n\n const theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\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[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.filter(item => item.value.common.webExtendable).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, reject) => {\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 (this.state.native.hasOwnProperty(a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else\n 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\n 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 } else {\n return Promise.reject('Invalid configuration');\n }\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n this.setState({changed: false});\n isClose && GenericApp.onClose();\n })\n .catch(e => {\n console.error(`Cannot save configuration: ${e}`);\n });\n }\n\n /**\n * Renders the toast.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderToast() {\n if (!this.state.toast) return null;\n return (\n <Snackbar\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n open={true}\n autoHideDuration={6000}\n onClose={() => this.setState({toast: ''})}\n ContentProps={{\n 'aria-describedby': 'message-id',\n }}\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 <IconClose />\n </IconButton>,\n ]}\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 } else {\n return <DialogError text={this.state.errorText} onClose={() => this.setState({errorText: ''})}/>;\n }\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 if(isChanged) {\n globalThis.changed = true;\n } else {\n globalThis.changed = false;\n }\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.bottomButtons) {\n return <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={() => GenericApp.onClose()}\n />;\n } else {\n return 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 } else if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n } else {\n return false;\n }\n\n } else {\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 /**\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 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 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 </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"],"file":"GenericApp.js"}
|
|
1
|
+
{"version":3,"file":"GenericApp.js","names":["window","localStorage","getItem","setItem","GenericApp","props","settings","ConnectionClass","Connection","isWeb","io","location","port","SocketClient","e","id","obj","socket","systemLang","common","language","I18n","setLanguage","_systemConfig","expertMode","setState","getExpertMode","message","data","newThemeName","Utils","getThemeName","setThemeName","theme","createTheme","themeName","themeType","getThemeType","onThemeChange","onThemeChanged","onToggleExpertMode","console","warn","JSON","stringify","resizeTimer","clearTimeout","setTimeout","width","getWidth","query","search","replace","args","trim","split","filter","t","forEach","b","parts","length","instance","undefined","parseInt","slice","tmp","pathname","adapterName","instanceId","newReact","Router","getLocation","tab","themeInstance","state","selectedTab","selectedTabNum","errorText","changed","connected","loaded","isConfigurationError","toast","bottomButtons","translations","require","Object","keys","lang","assign","setTranslations","savedNative","encryptedFields","sentryDSN","name","doNotLoadAllObjects","onProgress","progress","PROGRESS","CONNECTING","READY","onReady","objects","scripts","subscribeObject","onSystemConfigChanged","then","getSystemConfig","_secret","secret","getObject","instanceObj","waitPromise","sentryEnabled","diag","version","disableDataReporting","host","sentryStarted","Sentry","init","dsn","release","integrations","SentryIntegrations","Dedupe","sentryInited","uuidObj","uuid","configureScope","scope","setUser","Promise","resolve","onPrepareLoad","encryptedNative","parse","onConnectionReady","onError","err","error","showError","addEventListener","onResize","onReceiveMessage","removeEventListener","palette","mode","sessionStorage","value","result","i","String","fromCharCode","charCodeAt","selectTab","index","attr","encrypt","decrypt","includes","push","_socket","emit","doc","rows","item","webExtendable","map","reject","ip","_host","IPs4","address","family","IPs6","hardware","networkInterfaces","eth","inter","isClose","oldObj","_oldObj","a","hasOwnProperty","onPrepareSave","setObject","globalThis","onClose","vertical","horizontal","classes","close","native","isChanged","newNative","getIsChanged","onSave","attrs","shift","Error","_updateNativeValue","cb","text","renderError","renderToast","renderSaveCloseButtons","SIZES","xs","sm","md","lg","xl","innerWidth","reverse","widthComputed","find","key","parent","$iframeDialog","postMessage","propTypes","PropTypes","string","func","object","array","bool"],"sources":["GenericApp.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport Connection, {PROGRESS} from './Connection';\nimport PropTypes from 'prop-types';\nimport * as Sentry from '@sentry/browser';\nimport * as SentryIntegrations from '@sentry/integrations';\n\nimport DialogError from './Dialogs/Error';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconClose from '@mui/icons-material/Close';\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 I18n from './i18n';\n\nimport './index.css';\n\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 * @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\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 let query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n let 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 = 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.getItem(this.adapterName + '-adapter') || '';\n\n const themeInstance = this.createTheme();\n\n this.state = {\n selectedTab: 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 && props.bottomButtons) === false ? false : true),\n width: GenericApp.getWidth(),\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 '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 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(instanceObj => {\n let waitPromise;\n\n const sentryEnabled =\n this._systemConfig.diag !== 'none' &&\n instanceObj &&\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\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({native: {}, loaded: true, expertMode: this.getExpertMode()}, () => this.onConnectionReady && this.onConnectionReady());\n }\n });\n });\n },\n onError: err => {\n console.error(err);\n this.showError(err);\n }\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 theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\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 {\n console.warn('Received unknown message: ' + JSON.stringify(message.data));\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} theme Theme\n * @returns {string} Theme name\n */\n getThemeName(theme) {\n return theme.name;\n }\n\n /**\n * Get the theme type\n * @param {import('./types').Theme} theme Theme\n * @returns {string} Theme type\n */\n getThemeType(theme) {\n return theme.palette.mode;\n }\n\n /**\n * Changes the current theme\n */\n toggleTheme() {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n const newThemeName = themeName === 'dark' ? 'blue' :\n (themeName === 'blue' ? 'colored' :\n (themeName === 'colored' ? 'light' : 'dark'));\n\n Utils.setThemeName(newThemeName);\n\n const theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\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[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.filter(item => item.value.common.webExtendable).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, reject) => {\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 (this.state.native.hasOwnProperty(a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else\n 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\n 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 } else {\n return Promise.reject('Invalid configuration');\n }\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n this.setState({changed: false});\n isClose && GenericApp.onClose();\n })\n .catch(e => {\n console.error(`Cannot save configuration: ${e}`);\n });\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={true}\n autoHideDuration={6000}\n onClose={() => this.setState({toast: ''})}\n ContentProps={{\n 'aria-describedby': 'message-id',\n }}\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 <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 } else {\n return <DialogError text={this.state.errorText} onClose={() => this.setState({errorText: ''})}/>;\n }\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 if(isChanged) {\n globalThis.changed = true;\n } else {\n globalThis.changed = false;\n }\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.bottomButtons) {\n return <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={() => GenericApp.onClose()}\n />;\n } else {\n return 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 } else if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n } else {\n return false;\n }\n\n } else {\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 /**\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 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 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 </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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"}
|
package/Prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Prompt.js","names":["printPrompt","prompt","console","log"],"sources":["Prompt.js"],"sourcesContent":["\n/**\n * Print the ioBroker welcome screen to the developer console.\n */\nfunction printPrompt() {\n const prompt = `\n██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ \n██║██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝██╔════╝██╔══██╗\n██║██║ ██║██████╔╝██████╔╝██║ ██║█████╔╝ █████╗ ██████╔╝\n██║██║ ██║██╔══██╗██╔══██╗██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗\n██║╚██████╔╝██████╔╝██║ ██║╚██████╔╝██║ ██╗███████╗██║ ██║\n╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝\n`;\n\n console.log(prompt);\n console.log('Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters');\n console.log('Help us to create open source project with reactJS!');\n console.log('See you :)');\n}\n\nexport default printPrompt;"],"mappings":";;;;;;;AACA;AACA;AACA;AACA,SAASA,WAAT,GAAuB;EACnB,IAAMC,MAAM,s8DAAZ;EASAC,OAAO,CAACC,GAAR,CAAYF,MAAZ;EACAC,OAAO,CAACC,GAAR,CAAY,kJAAZ;EACAD,OAAO,CAACC,GAAR,CAAY,qDAAZ;EACAD,OAAO,CAACC,GAAR,CAAY,YAAZ;AACH;;eAEcH,W"}
|
package/README.md
CHANGED
|
@@ -639,6 +639,10 @@ If you still have questions, try to find an answer [here](https://mui.com/guides
|
|
|
639
639
|
-->
|
|
640
640
|
|
|
641
641
|
## Changelog
|
|
642
|
+
### 2.1.7 (2022-05-09)
|
|
643
|
+
* (bluefox) Changes were synchronized with adapter-react-v5
|
|
644
|
+
* (bluefox) Added `I18n.disableWarning` method
|
|
645
|
+
|
|
642
646
|
### 2.1.6 (2022-03-28)
|
|
643
647
|
* (bluefox) Added `log` method to connection
|
|
644
648
|
* (bluefox) Corrected translations
|
package/Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Theme.js"],"names":["step","toInt","hex","rgb","r","g","b","length","parseInt","substr","toHex","int","Math","round","toString","getElevation","color","overlayColor","elevation","overlay","getElevations","elevations","i","backgroundColor","buttonsPalette","theme","palette","grey","main","dark","buttonsTheme","components","MuiButton","variants","props","variant","style","getContrastText","text","primary","borderColor","mode","border","action","disabledBackground","hoverOpacity","Theme","type","name","background","paper","secondary","expert","overrides","MuiAppBar","colorDefault","MuiLink","root","textTransform","transition","orange","MuiPaper","disabled","toolbar","height","saveToolbar","button","borderRadius"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA,IAAMA,IAAI,GAAG,CAAC,KAAK,CAAN,IAAW,EAAX,GAAgB,GAA7B;AAEA;AACA;AACA;AACA;AACA;;AACA,SAASC,KAAT,CAAeC,GAAf,EAAoB;AAChB,MAAMC,GAAG,GAAG;AACRC,IAAAA,CAAC,EAAE,CADK;AAERC,IAAAA,CAAC,EAAE,CAFK;AAGRC,IAAAA,CAAC,EAAE;AAHK,GAAZ;;AAMA,MAAIJ,GAAG,CAACK,MAAJ,KAAe,CAAnB,EAAsB;AAClBJ,IAAAA,GAAG,CAACC,CAAJ,GAAQI,QAAQ,CAACN,GAAG,CAACO,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAD,EAAmB,EAAnB,CAAhB;AACAN,IAAAA,GAAG,CAACE,CAAJ,GAAQG,QAAQ,CAACN,GAAG,CAACO,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAD,EAAmB,EAAnB,CAAhB;AACAN,IAAAA,GAAG,CAACG,CAAJ,GAAQE,QAAQ,CAACN,GAAG,CAACO,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAD,EAAmB,EAAnB,CAAhB;AACH,GAJD,MAIO,IAAIP,GAAG,CAACK,MAAJ,KAAe,CAAnB,EAAsB;AACzB,QAAMH,CAAC,GAAGF,GAAG,CAACO,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAV;AACA,QAAMJ,CAAC,GAAGH,GAAG,CAACO,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAV;AACA,QAAMH,CAAC,GAAGJ,GAAG,CAACO,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAV;AAEAN,IAAAA,GAAG,CAACC,CAAJ,GAAQI,QAAQ,CAACJ,CAAC,GAAGA,CAAL,EAAQ,EAAR,CAAhB;AACAD,IAAAA,GAAG,CAACE,CAAJ,GAAQG,QAAQ,CAACH,CAAC,GAAGA,CAAL,EAAQ,EAAR,CAAhB;AACAF,IAAAA,GAAG,CAACG,CAAJ,GAAQE,QAAQ,CAACF,CAAC,GAAGA,CAAL,EAAQ,EAAR,CAAhB;AACH;;AAED,SAAOH,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;;;AACA,SAASO,KAAT,CAAeC,IAAf,EAAoB;AAChB,oBAAWC,IAAI,CAACC,KAAL,CAAWF,IAAG,CAACP,CAAf,EAAkBU,QAAlB,CAA2B,EAA3B,CAAX,SAA4CF,IAAI,CAACC,KAAL,CAAWF,IAAG,CAACN,CAAf,EAAkBS,QAAlB,CAA2B,EAA3B,CAA5C,SAA6EF,IAAI,CAACC,KAAL,CAAWF,IAAG,CAACL,CAAf,EAAkBQ,QAAlB,CAA2B,EAA3B,CAA7E;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,YAAT,CAAsBC,KAAtB,EAA6BC,YAA7B,EAA2CC,SAA3C,EAAsD;AAClD,MAAMf,GAAG,GAAGF,KAAK,CAACe,KAAD,CAAjB;AACA,MAAMG,OAAO,GAAGlB,KAAK,CAACgB,YAAD,CAArB;AAEAd,EAAAA,GAAG,CAACC,CAAJ,IAASe,OAAO,CAACf,CAAR,IAAa,OAAOJ,IAAI,IAAIkB,SAAS,GAAG,CAAhB,CAAxB,CAAT;AACAf,EAAAA,GAAG,CAACE,CAAJ,IAASc,OAAO,CAACd,CAAR,IAAa,OAAOL,IAAI,IAAIkB,SAAS,GAAG,CAAhB,CAAxB,CAAT;AACAf,EAAAA,GAAG,CAACG,CAAJ,IAASa,OAAO,CAACb,CAAR,IAAa,OAAON,IAAI,IAAIkB,SAAS,GAAG,CAAhB,CAAxB,CAAT;AAEA,SAAOR,KAAK,CAACP,GAAD,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiB,aAAT,CAAuBJ,KAAvB,EAA8BG,OAA9B,EAAuC;AACnC;AACA,MAAME,UAAU,GAAG,EAAnB;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI,EAArB,EAAyBA,CAAC,EAA1B,EAA8B;AAC1BD,IAAAA,UAAU,oBAAaC,CAAb,EAAV,GAA8B;AAC1BC,MAAAA,eAAe,EAAER,YAAY,CAACC,KAAD,EAAQG,OAAR,EAAiBG,CAAjB;AADH,KAA9B;AAGH;;AAED,SAAOD,UAAP;AACH;;AAED,IAAMG,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,KAAK;AAAA,SAAK;AAC7BC,IAAAA,OAAO,EAAE;AACL;AACAC,MAAAA,IAAI,EAAE;AACFC,QAAAA,IAAI,EAAED,aAAK,GAAL,CADJ;AAEFE,QAAAA,IAAI,EAAEF,aAAK,GAAL;AAFJ;AAFD;AADoB,GAAL;AAAA,CAA5B;;AAUA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAAAL,KAAK;AAAA,SAAK;AAC3BM,IAAAA,UAAU,EAAE;AACRC,MAAAA,SAAS,EAAE;AACPC,QAAAA,QAAQ,EAAE,CACN;AACIC,UAAAA,KAAK,EAAE;AAAEC,YAAAA,OAAO,EAAE,WAAX;AAAwBnB,YAAAA,KAAK,EAAE;AAA/B,WADX;AAEIoB,UAAAA,KAAK,EAAE;AACHpB,YAAAA,KAAK,EAAES,KAAK,CAACC,OAAN,CAAcW,eAAd,CAA8BZ,KAAK,CAACC,OAAN,CAAcC,IAAd,CAAmB,GAAnB,CAA9B;AADJ;AAFX,SADM,EAON;AACIO,UAAAA,KAAK,EAAE;AAAEC,YAAAA,OAAO,EAAE,UAAX;AAAuBnB,YAAAA,KAAK,EAAE;AAA9B,WADX;AAEIoB,UAAAA,KAAK,EAAE;AACHpB,YAAAA,KAAK,EAAES,KAAK,CAACC,OAAN,CAAcY,IAAd,CAAmBC,OADvB;AAEHC,YAAAA,WAAW,EACnBf,KAAK,CAACC,OAAN,CAAce,IAAd,KAAuB,OAAvB,GACM,qBADN,GAEM,2BALK;AAMH,8BAAkB;AACdC,cAAAA,MAAM,sBAAejB,KAAK,CAACC,OAAN,CAAciB,MAAd,CAAqBC,kBAApC;AADQ,aANf;AASH,uBAAW;AACPJ,cAAAA,WAAW,EACrBf,KAAK,CAACC,OAAN,CAAce,IAAd,KAAuB,OAAvB,GACM,qBADN,GAEM,2BAJW;AAKPlB,cAAAA,eAAe,EAAE,mBACbE,KAAK,CAACC,OAAN,CAAcY,IAAd,CAAmBC,OADN,EAEbd,KAAK,CAACC,OAAN,CAAciB,MAAd,CAAqBE,YAFR;AALV;AATR;AAFX,SAPM,EA8BN;AACIX,UAAAA,KAAK,EAAE;AAAElB,YAAAA,KAAK,EAAE,MAAT;AAAiBmB,YAAAA,OAAO,EAAE;AAA1B,WADX;AAEIC,UAAAA,KAAK,EAAE;AACHpB,YAAAA,KAAK,EAAE,OADJ;AAEH,uBAAW;AACPO,cAAAA,eAAe,EAAE,mBACbE,KAAK,CAACC,OAAN,CAAcY,IAAd,CAAmBC,OADN,EAEbd,KAAK,CAACC,OAAN,CAAciB,MAAd,CAAqBE,YAFR;AADV;AAFR;AAFX,SA9BM;AADH;AADH;AADe,GAAL;AAAA,CAA1B;AAkDA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAAAC,IAAI,EAAI;AAClB,MAAItB,KAAJ;;AACA,MAAIsB,IAAI,KAAK,MAAb,EAAqB;AACjBtB,IAAAA,KAAK,GAAG;AACJuB,MAAAA,IAAI,EAAED,IADF;AAEJrB,MAAAA,OAAO,EAAE;AACLe,QAAAA,IAAI,EAAE,MADD;AAELQ,QAAAA,UAAU,EAAE;AACRC,UAAAA,KAAK,EAAE,SADC;AAER,qBAAS;AAFD,SAFP;AAMLX,QAAAA,OAAO,EAAE;AACLX,UAAAA,IAAI,EAAE;AADD,SANJ;AASLuB,QAAAA,SAAS,EAAE;AACPvB,UAAAA,IAAI,EAAE;AADC,SATN;AAYLwB,QAAAA,MAAM,EAAE,SAZH;AAaLd,QAAAA,IAAI,EAAE;AACFC,UAAAA,OAAO,EAAE,SADP;AAEFY,UAAAA,SAAS,EAAE;AAFT;AAbD,OAFL;AAoBJE,MAAAA,SAAS,EAAE;AACPC,QAAAA,SAAS,EAAE;AACPC,UAAAA,YAAY,EAAE;AACVhC,YAAAA,eAAe,EAAE;AADP;AADP,SADJ;AAMPiC,QAAAA,OAAO,EAAE;AACLC,UAAAA,IAAI,EAAE;AACFC,YAAAA,aAAa,EAAE,WADb;AAEFC,YAAAA,UAAU,EAAE,gBAFV;AAGF3C,YAAAA,KAAK,EAAE4C,eAAO,GAAP,CAHL;AAIF,uBAAW;AACP5C,cAAAA,KAAK,EAAE4C,eAAO,GAAP;AADA;AAJT;AADD,SANF;AAgBPC,QAAAA,QAAQ,EAAEzC,aAAa,CAAC,SAAD,EAAY,MAAZ;AAhBhB;AApBP,KAAR;AAuCH,GAxCD,MAwCO,IAAI2B,IAAI,KAAK,MAAb,EAAqB;AACxBtB,IAAAA,KAAK,GAAG;AACJuB,MAAAA,IAAI,EAAED,IADF;AAEJrB,MAAAA,OAAO,EAAE;AACLe,QAAAA,IAAI,EAAE,MADD;AAELQ,QAAAA,UAAU,EAAE;AACRC,UAAAA,KAAK,EAAE,SADC;AAER,qBAAS;AAFD,SAFP;AAMLX,QAAAA,OAAO,EAAE;AACLX,UAAAA,IAAI,EAAE;AADD,SANJ;AASLuB,QAAAA,SAAS,EAAE;AACPvB,UAAAA,IAAI,EAAE;AADC,SATN;AAYLwB,QAAAA,MAAM,EAAE,SAZH;AAaLd,QAAAA,IAAI,EAAE;AACFC,UAAAA,OAAO,EAAE,SADP;AAEFY,UAAAA,SAAS,EAAE;AAFT;AAbD,OAFL;AAoBJE,MAAAA,SAAS,EAAE;AACPC,QAAAA,SAAS,EAAE;AACPC,UAAAA,YAAY,EAAE;AACVhC,YAAAA,eAAe,EAAE;AADP;AADP,SADJ;AAMPiC,QAAAA,OAAO,EAAE;AACLC,UAAAA,IAAI,EAAE;AACFC,YAAAA,aAAa,EAAE,WADb;AAEFC,YAAAA,UAAU,EAAE,gBAFV;AAGF3C,YAAAA,KAAK,EAAE4C,eAAO,GAAP,CAHL;AAIF,uBAAW;AACP5C,cAAAA,KAAK,EAAE4C,eAAO,GAAP;AADA;AAJT;AADD,SANF;AAgBPC,QAAAA,QAAQ,EAAEzC,aAAa,CAAC,SAAD,EAAY,MAAZ;AAhBhB;AApBP,KAAR;AAuCH,GAxCM,MAwCA,IAAI2B,IAAI,KAAK,SAAb,EAAwB;AAC3BtB,IAAAA,KAAK,GAAG;AACJuB,MAAAA,IAAI,EAAED,IADF;AAEJrB,MAAAA,OAAO,EAAE;AACLe,QAAAA,IAAI,EAAE,OADD;AAELF,QAAAA,OAAO,EAAE;AACLX,UAAAA,IAAI,EAAE;AADD,SAFJ;AAKLuB,QAAAA,SAAS,EAAE;AACPvB,UAAAA,IAAI,EAAE;AADC,SALN;AAQLwB,QAAAA,MAAM,EAAE;AARH,OAFL;AAYJC,MAAAA,SAAS,EAAE;AACPC,QAAAA,SAAS,EAAE;AACPC,UAAAA,YAAY,EAAE;AACVhC,YAAAA,eAAe,EAAE;AADP;AADP,SADJ;AAMPiC,QAAAA,OAAO,EAAE;AACLC,UAAAA,IAAI,EAAE;AACFC,YAAAA,aAAa,EAAE,WADb;AAEFC,YAAAA,UAAU,EAAE,gBAFV;AAGF3C,YAAAA,KAAK,EAAE4C,eAAO,GAAP,CAHL;AAIF,uBAAW;AACP5C,cAAAA,KAAK,EAAE4C,eAAO,GAAP;AADA;AAJT;AADD;AANF;AAZP,KAAR;AA8BH,GA/BM,MA+BA,IAAIb,IAAI,KAAK,IAAb,EAAmB;AACtBtB,IAAAA,KAAK,GAAG;AACJuB,MAAAA,IAAI,EAAED,IADF;AAEJrB,MAAAA,OAAO,EAAE;AACLe,QAAAA,IAAI,EAAE,OADD;AAELF,QAAAA,OAAO,EAAE;AACLX,UAAAA,IAAI,EAAE;AADD,SAFJ;AAKLuB,QAAAA,SAAS,EAAE;AACPvB,UAAAA,IAAI,EAAE;AADC,SALN;AAQLwB,QAAAA,MAAM,EAAE;AARH,OAFL;AAYJC,MAAAA,SAAS,EAAE;AACPC,QAAAA,SAAS,EAAE;AACPC,UAAAA,YAAY,EAAE;AACVhC,YAAAA,eAAe,EAAE;AADP;AADP,SADJ;AAMPiC,QAAAA,OAAO,EAAE;AACLC,UAAAA,IAAI,EAAE;AACFC,YAAAA,aAAa,EAAE,WADb;AAEFC,YAAAA,UAAU,EAAE,gBAFV;AAGF3C,YAAAA,KAAK,EAAE4C,eAAO,GAAP,CAHL;AAIF,uBAAW;AACP5C,cAAAA,KAAK,EAAE4C,eAAO,GAAP;AADA;AAJT;AADD;AANF;AAZP,KAAR;AA8BH,GA/BM,MA+BA,IAAIb,IAAI,KAAK,IAAb,EAAmB;AACtBtB,IAAAA,KAAK,GAAG;AACJuB,MAAAA,IAAI,EAAED,IADF;AAEJrB,MAAAA,OAAO,EAAE;AACLe,QAAAA,IAAI,EAAE,OADD;AAELF,QAAAA,OAAO,EAAE;AACLX,UAAAA,IAAI,EAAE;AADD,SAFJ;AAKLuB,QAAAA,SAAS,EAAE;AACPvB,UAAAA,IAAI,EAAE;AADC,SALN;AAQLwB,QAAAA,MAAM,EAAE,SARH;AASLd,QAAAA,IAAI,EAAE;AACFC,UAAAA,OAAO,EAAE,SADP;AAEFY,UAAAA,SAAS,EAAE,SAFT;AAGFW,UAAAA,QAAQ,EAAE;AAHR;AATD,OAFL;AAiBJT,MAAAA,SAAS,EAAE;AACPC,QAAAA,SAAS,EAAE;AACPC,UAAAA,YAAY,EAAE;AACVhC,YAAAA,eAAe,EAAE;AADP;AADP,SADJ;AAMPiC,QAAAA,OAAO,EAAE;AACLC,UAAAA,IAAI,EAAE;AACFC,YAAAA,aAAa,EAAE,WADb;AAEFC,YAAAA,UAAU,EAAE,gBAFV;AAGF3C,YAAAA,KAAK,EAAE4C,eAAO,GAAP,CAHL;AAIF,uBAAW;AACP5C,cAAAA,KAAK,EAAE4C,eAAO,GAAP;AADA;AAJT;AADD;AANF;AAjBP,KAAR;AAmCH,GApCM,MAoCA;AACHnC,IAAAA,KAAK,GAAG;AACJuB,MAAAA,IAAI,EAAED,IADF;AAEJrB,MAAAA,OAAO,EAAE;AACLe,QAAAA,IAAI,EAAE,OADD;AAELF,QAAAA,OAAO,EAAE;AACLX,UAAAA,IAAI,EAAE;AADD,SAFJ;AAKLuB,QAAAA,SAAS,EAAE;AACPvB,UAAAA,IAAI,EAAE;AADC,SALN;AAQLwB,QAAAA,MAAM,EAAE;AARH,OAFL;AAYJC,MAAAA,SAAS,EAAE;AACPG,QAAAA,OAAO,EAAE;AACLC,UAAAA,IAAI,EAAE;AACFC,YAAAA,aAAa,EAAE,WADb;AAEFC,YAAAA,UAAU,EAAE,gBAFV;AAGF3C,YAAAA,KAAK,EAAE4C,eAAO,GAAP,CAHL;AAIF,uBAAW;AACP5C,cAAAA,KAAK,EAAE4C,eAAO,GAAP;AADA;AAJT;AADD;AADF;AAZP,KAAR;AAyBH;;AAEDnC,EAAAA,KAAK,CAACsC,OAAN,GAAgB;AACZC,IAAAA,MAAM,EAAE;AADI,GAAhB,CAhNkB,CAoNlB;;AACAvC,EAAAA,KAAK,CAACwC,WAAN,GAAoB;AAChBhB,IAAAA,UAAU,EAAExB,KAAK,CAACC,OAAN,CAAca,OAAd,CAAsBX,IADlB;AAEhBsC,IAAAA,MAAM,EAAE;AACJC,MAAAA,YAAY,EAAE,CADV;AAEJH,MAAAA,MAAM,EAAE;AAFJ;AAFQ,GAApB;AAQAvC,EAAAA,KAAK,CAACC,OAAN,CAAcC,IAAd,GAAqB;AACjBC,IAAAA,IAAI,EAAED,aAAK,GAAL,CADW;AAEjBE,IAAAA,IAAI,EAAEF,aAAK,GAAL;AAFW,GAArB;AAKAF,EAAAA,KAAK,GAAG,yBAAY,0BAAaA,KAAb,CAAZ,CAAR;AAEA,SAAO,yBAAYA,KAAZ,EAAmB;AACtBM,IAAAA,UAAU,EAAE;AACRC,MAAAA,SAAS,EAAE;AACPC,QAAAA,QAAQ,EAAE,CACN;AACIC,UAAAA,KAAK,EAAE;AAAEC,YAAAA,OAAO,EAAE,WAAX;AAAwBnB,YAAAA,KAAK,EAAE;AAA/B,WADX;AAEIoB,UAAAA,KAAK,EAAE;AACHpB,YAAAA,KAAK,EAAES,KAAK,CAACC,OAAN,CAAcW,eAAd,CAA8BZ,KAAK,CAACC,OAAN,CAAcC,IAAd,CAAmB,GAAnB,CAA9B;AADJ;AAFX,SADM,EAON;AACIO,UAAAA,KAAK,EAAE;AAAEC,YAAAA,OAAO,EAAE,UAAX;AAAuBnB,YAAAA,KAAK,EAAE;AAA9B,WADX;AAEIoB,UAAAA,KAAK,EAAE;AACHpB,YAAAA,KAAK,EAAES,KAAK,CAACC,OAAN,CAAcY,IAAd,CAAmBC,OADvB;AAEHC,YAAAA,WAAW,EACnBf,KAAK,CAACC,OAAN,CAAce,IAAd,KAAuB,OAAvB,GACM,qBADN,GAEM,2BALK;AAMH,8BAAkB;AACdC,cAAAA,MAAM,sBAAejB,KAAK,CAACC,OAAN,CAAciB,MAAd,CAAqBC,kBAApC;AADQ,aANf;AASH,uBAAW;AACPJ,cAAAA,WAAW,EACrBf,KAAK,CAACC,OAAN,CAAce,IAAd,KAAuB,OAAvB,GACM,qBADN,GAEM,2BAJW;AAKPlB,cAAAA,eAAe,EAAE,mBACbE,KAAK,CAACC,OAAN,CAAcY,IAAd,CAAmBC,OADN,EAEbd,KAAK,CAACC,OAAN,CAAciB,MAAd,CAAqBE,YAFR;AALV;AATR;AAFX,SAPM,EA8BN;AACIX,UAAAA,KAAK,EAAE;AAAElB,YAAAA,KAAK,EAAE,MAAT;AAAiBmB,YAAAA,OAAO,EAAE;AAA1B,WADX;AAEIC,UAAAA,KAAK,EAAE;AACHpB,YAAAA,KAAK,EAAES,KAAK,CAACC,OAAN,CAAcY,IAAd,CAAmBC,OADvB;AAEH,uBAAW;AACPhB,cAAAA,eAAe,EAAE,mBACbE,KAAK,CAACC,OAAN,CAAcY,IAAd,CAAmBC,OADN,EAEbd,KAAK,CAACC,OAAN,CAAciB,MAAd,CAAqBE,YAFR;AADV;AAFR;AAFX,SA9BM;AADH;AADH;AADU,GAAnB,CAAP;AAiDH,CArRD;;eAuReC,K","sourcesContent":["import { createTheme, adaptV4Theme, alpha } from '@mui/material/styles';\n\nimport { orange, grey } from '@mui/material/colors';\n\nconst step = (16 - 5) / 23 / 100;\n\n/**\n * Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.\n * @param {string} hex\n * @returns {{r: number, g: number, b: number}}\n */\nfunction toInt(hex) {\n const rgb = {\n r: 0,\n g: 0,\n b: 0,\n };\n\n if (hex.length === 7) {\n rgb.r = parseInt(hex.substr(1, 2), 16);\n rgb.g = parseInt(hex.substr(3, 2), 16);\n rgb.b = parseInt(hex.substr(5, 2), 16);\n } else if (hex.length === 4) {\n const r = hex.substr(1, 1);\n const g = hex.substr(2, 1);\n const b = hex.substr(3, 1);\n\n rgb.r = parseInt(r + r, 16);\n rgb.g = parseInt(g + g, 16);\n rgb.b = parseInt(b + b, 16);\n }\n\n return rgb;\n}\n\n/**\n * Convert an RGB object to a hex color string in the format '#rrggbb'.\n * @param {{r: number, g: number, b: number}} int\n * @returns {string}\n */\nfunction toHex(int) {\n return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;\n}\n\n/**\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlayColor overlay color in the format '#rrggbb' or '#rgb'\n * @param {number} elevation elevation as an integer starting with 1\n * @returns {string} the hex color string in the format '#rrggbb'\n */\nfunction getElevation(color, overlayColor, elevation) {\n const rgb = toInt(color);\n const overlay = toInt(overlayColor);\n\n rgb.r += overlay.r * (0.05 + step * (elevation - 1));\n rgb.g += overlay.g * (0.05 + step * (elevation - 1));\n rgb.b += overlay.b * (0.05 + step * (elevation - 1));\n\n return toHex(rgb);\n}\n\n/**\n * Get all 24 elevations of the given color and overlay.\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlay overlay color in the format '#rrggbb' or '#rgb'\n * @returns {import('@mui/material/styles/withStyles').CSSProperties}\n */\nfunction getElevations(color, overlay) {\n /** @type {import('@mui/material/styles/withStyles').CSSProperties} */\n const elevations = {};\n\n for (let i = 1; i <= 24; i++) {\n elevations[`elevation${i}`] = {\n backgroundColor: getElevation(color, overlay, i),\n };\n }\n\n return elevations;\n}\n\nconst buttonsPalette = theme => ({\n palette: {\n // mode: \"dark\",\n grey: {\n main: grey[300],\n dark: grey[400],\n },\n },\n});\n\nconst buttonsTheme = theme => ({\n components: {\n MuiButton: {\n variants: [\n {\n props: { variant: 'contained', color: 'grey' },\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: { variant: 'outlined', color: 'grey' },\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: { color: 'grey', variant: 'text' },\n style: {\n color: 'black',\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n});\n\n/**\n * The theme creation factory function.\n * @param {string} type\n * @returns {import('./types').Theme}\n */\nconst Theme = type => {\n let theme;\n if (type === 'dark') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#121212',\n default: '#121212',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#272727',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#121212', '#fff'),\n },\n };\n } else if (type === 'blue') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#151d21',\n default: '#151d21',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#2a3135',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#151d21', '#fff'),\n },\n };\n } else if (type === 'colored') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#96fc96',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#3399CC',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'PT') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#0F99DE',\n },\n secondary: {\n main: '#88A536',\n },\n expert: '#BD1B24',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#0F99DE',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'DX') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#F5F5F7',\n },\n secondary: {\n main: '#a9a9a9',\n },\n expert: '#BD1B24',\n text: {\n primary: '#007AFE',\n secondary: '#007AFE',\n disabled: '#007AFEAA',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#a9a9a9',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#14bb00',\n },\n overrides: {\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n }\n\n theme.toolbar = {\n height: 48,\n };\n\n // add save toolbar\n theme.saveToolbar = {\n background: theme.palette.primary.main,\n button: {\n borderRadius: 3,\n height: 32,\n },\n };\n\n theme.palette.grey = {\n main: grey[300],\n dark: grey[400],\n };\n\n theme = createTheme(adaptV4Theme(theme));\n\n return createTheme(theme, {\n components: {\n MuiButton: {\n variants: [\n {\n props: { variant: 'contained', color: 'grey' },\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: { variant: 'outlined', color: 'grey' },\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: { color: 'grey', variant: 'text' },\n style: {\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n });\n};\n\nexport default Theme;\n"],"file":"Theme.js"}
|
|
1
|
+
{"version":3,"file":"Theme.js","names":["step","toInt","hex","rgb","r","g","b","length","parseInt","substr","toHex","int","Math","round","toString","getElevation","color","overlayColor","elevation","overlay","getElevations","elevations","i","backgroundColor","buttonsPalette","theme","palette","grey","main","dark","buttonsTheme","components","MuiButton","variants","props","variant","style","getContrastText","text","primary","borderColor","mode","border","action","disabledBackground","hoverOpacity","Theme","type","name","background","paper","secondary","expert","overrides","MuiAppBar","colorDefault","MuiLink","root","textTransform","transition","orange","MuiPaper","disabled","toolbar","height","saveToolbar","button","borderRadius"],"sources":["Theme.js"],"sourcesContent":["import { createTheme, adaptV4Theme, alpha } from '@mui/material/styles';\n\nimport { orange, grey } from '@mui/material/colors';\n\nconst step = (16 - 5) / 23 / 100;\n\n/**\n * Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.\n * @param {string} hex\n * @returns {{r: number, g: number, b: number}}\n */\nfunction toInt(hex) {\n const rgb = {\n r: 0,\n g: 0,\n b: 0,\n };\n\n if (hex.length === 7) {\n rgb.r = parseInt(hex.substr(1, 2), 16);\n rgb.g = parseInt(hex.substr(3, 2), 16);\n rgb.b = parseInt(hex.substr(5, 2), 16);\n } else if (hex.length === 4) {\n const r = hex.substr(1, 1);\n const g = hex.substr(2, 1);\n const b = hex.substr(3, 1);\n\n rgb.r = parseInt(r + r, 16);\n rgb.g = parseInt(g + g, 16);\n rgb.b = parseInt(b + b, 16);\n }\n\n return rgb;\n}\n\n/**\n * Convert an RGB object to a hex color string in the format '#rrggbb'.\n * @param {{r: number, g: number, b: number}} int\n * @returns {string}\n */\nfunction toHex(int) {\n return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;\n}\n\n/**\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlayColor overlay color in the format '#rrggbb' or '#rgb'\n * @param {number} elevation elevation as an integer starting with 1\n * @returns {string} the hex color string in the format '#rrggbb'\n */\nfunction getElevation(color, overlayColor, elevation) {\n const rgb = toInt(color);\n const overlay = toInt(overlayColor);\n\n rgb.r += overlay.r * (0.05 + step * (elevation - 1));\n rgb.g += overlay.g * (0.05 + step * (elevation - 1));\n rgb.b += overlay.b * (0.05 + step * (elevation - 1));\n\n return toHex(rgb);\n}\n\n/**\n * Get all 24 elevations of the given color and overlay.\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlay overlay color in the format '#rrggbb' or '#rgb'\n * @returns {import('@mui/material/styles/withStyles').CSSProperties}\n */\nfunction getElevations(color, overlay) {\n /** @type {import('@mui/material/styles/withStyles').CSSProperties} */\n const elevations = {};\n\n for (let i = 1; i <= 24; i++) {\n elevations[`elevation${i}`] = {\n backgroundColor: getElevation(color, overlay, i),\n };\n }\n\n return elevations;\n}\n\nconst buttonsPalette = theme => ({\n palette: {\n // mode: \"dark\",\n grey: {\n main: grey[300],\n dark: grey[400],\n },\n },\n});\n\nconst buttonsTheme = theme => ({\n components: {\n MuiButton: {\n variants: [\n {\n props: { variant: 'contained', color: 'grey' },\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: { variant: 'outlined', color: 'grey' },\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: { color: 'grey', variant: 'text' },\n style: {\n color: 'black',\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n});\n\n/**\n * The theme creation factory function.\n * @param {string} type\n * @returns {import('./types').Theme}\n */\nconst Theme = type => {\n let theme;\n if (type === 'dark') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#121212',\n default: '#121212',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#272727',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#121212', '#fff'),\n },\n };\n } else if (type === 'blue') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#151d21',\n default: '#151d21',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#2a3135',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#151d21', '#fff'),\n },\n };\n } else if (type === 'colored') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#96fc96',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#3399CC',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'PT') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#0F99DE',\n },\n secondary: {\n main: '#88A536',\n },\n expert: '#BD1B24',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#0F99DE',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'DX') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#F5F5F7',\n },\n secondary: {\n main: '#a9a9a9',\n },\n expert: '#BD1B24',\n text: {\n primary: '#007AFE',\n secondary: '#007AFE',\n disabled: '#007AFEAA',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#a9a9a9',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#14bb00',\n },\n overrides: {\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n }\n\n theme.toolbar = {\n height: 48,\n };\n\n // add save toolbar\n theme.saveToolbar = {\n background: theme.palette.primary.main,\n button: {\n borderRadius: 3,\n height: 32,\n },\n };\n\n theme.palette.grey = {\n main: grey[300],\n dark: grey[400],\n };\n\n theme = createTheme(adaptV4Theme(theme));\n\n return createTheme(theme, {\n components: {\n MuiButton: {\n variants: [\n {\n props: { variant: 'contained', color: 'grey' },\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: { variant: 'outlined', color: 'grey' },\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: { color: 'grey', variant: 'text' },\n style: {\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n });\n};\n\nexport default Theme;\n"],"mappings":"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"}
|
package/i18n/de.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"ra_Are you sure?": "Bist du sicher?",
|
|
17
17
|
"ra_Cancel": "Abbrechen",
|
|
18
18
|
"ra_Copied": "Kopiert",
|
|
19
|
-
"ra_Copied %s": "%s kopiert",
|
|
19
|
+
"ra_Copied %s": "\"%s\" kopiert",
|
|
20
20
|
"ra_Define functions": "Funktionen definieren",
|
|
21
21
|
"ra_Define rooms": "Räume definieren",
|
|
22
22
|
"ra_Error": "Fehler",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"ra_Delete": "Löschen",
|
|
64
64
|
"ra_Toggle expert mode": "Expertenmodus umschalten",
|
|
65
65
|
"ra_Toggle view mode": "Ansichtsmodus umschalten",
|
|
66
|
-
"
|
|
67
|
-
"
|
|
66
|
+
"ra_Root": "Anfang",
|
|
67
|
+
"ra_Back to %s": "Zurück zu %s",
|
|
68
68
|
"ra_Place your files here or click here to open the browse dialog": "Platzieren Sie Ihre Dateien hier oder klicken Sie hier, um den Suchdialog zu öffnen",
|
|
69
69
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schließen des Browsers",
|
|
70
70
|
"ra_Folder name": "Ordnernamen",
|
package/i18n/en.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"ra_Are you sure?": "Are you sure?",
|
|
3
3
|
"ra_Cancel": "Cancel",
|
|
4
4
|
"ra_Copied": "Copied",
|
|
5
|
-
"ra_Copied %s": "Copied %s",
|
|
5
|
+
"ra_Copied %s": "Copied \"%s\"",
|
|
6
6
|
"ra_Error": "Error",
|
|
7
7
|
"ra_Define functions": "Define functions",
|
|
8
8
|
"ra_Define rooms": "Define rooms",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"ra_Delete": "Delete",
|
|
75
75
|
"ra_Toggle expert mode": "Toggle expert mode",
|
|
76
76
|
"ra_Toggle view mode": "Toggle view mode",
|
|
77
|
-
"
|
|
78
|
-
"
|
|
77
|
+
"ra_Root": "Root",
|
|
78
|
+
"ra_Back to %s": "Back to %s",
|
|
79
79
|
"ra_Place your files here or click here to open the browse dialog": "Place your files here or click here to open the browse dialog",
|
|
80
80
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "If no file will be created in the folder, it will disappear after the browser closed",
|
|
81
81
|
"ra_Folder name": "Folder name",
|
package/i18n/es.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"ra_Are you sure?": "¿Estás seguro?",
|
|
15
15
|
"ra_Cancel": "Cancelar",
|
|
16
16
|
"ra_Copied": "Copiado",
|
|
17
|
-
"ra_Copied %s": "Copiado %s",
|
|
17
|
+
"ra_Copied %s": "Copiado \"%s\"",
|
|
18
18
|
"ra_Define functions": "Definir funciones",
|
|
19
19
|
"ra_Define rooms": "Definir habitaciones",
|
|
20
20
|
"ra_Error": "Error",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"ra_Delete": "Eliminar",
|
|
61
61
|
"ra_Toggle expert mode": "Alternar modo experto",
|
|
62
62
|
"ra_Toggle view mode": "Alternar modo de vista",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
63
|
+
"ra_Root": "Raíz",
|
|
64
|
+
"ra_Back to %s": "Volver a %s",
|
|
65
65
|
"ra_Place your files here or click here to open the browse dialog": "Coloque sus archivos aquí o haga clic aquí para abrir el cuadro de diálogo de exploración",
|
|
66
66
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Si no se creará ningún archivo en la carpeta, desaparecerá después de que se cierre el navegador.",
|
|
67
67
|
"ra_Folder name": "Nombre de la carpeta",
|
package/i18n/fr.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"ra_Are you sure?": "Êtes-vous sûr?",
|
|
15
15
|
"ra_Cancel": "Annuler",
|
|
16
16
|
"ra_Copied": "Copié",
|
|
17
|
-
"ra_Copied %s": "%s copié",
|
|
17
|
+
"ra_Copied %s": "\"%s\" copié",
|
|
18
18
|
"ra_Define functions": "Définir des fonctions",
|
|
19
19
|
"ra_Define rooms": "Définir des pièces",
|
|
20
20
|
"ra_Error": "Erreur",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"ra_Delete": "Supprimer",
|
|
61
61
|
"ra_Toggle expert mode": "Basculer en mode expert",
|
|
62
62
|
"ra_Toggle view mode": "Basculer le mode d'affichage",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
63
|
+
"ra_Root": "Racine",
|
|
64
|
+
"ra_Back to %s": "Retour à %s",
|
|
65
65
|
"ra_Place your files here or click here to open the browse dialog": "Placez vos fichiers ici ou cliquez ici pour ouvrir la boîte de dialogue de navigation",
|
|
66
66
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Si aucun fichier ne sera créé dans le dossier, il disparaîtra après la fermeture du navigateur",
|
|
67
67
|
"ra_Folder name": "Nom de dossier",
|
package/i18n/it.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"ra_Are you sure?": "Sei sicuro?",
|
|
15
15
|
"ra_Cancel": "Annulla",
|
|
16
16
|
"ra_Copied": "Copiato",
|
|
17
|
-
"ra_Copied %s": "%s copiato",
|
|
17
|
+
"ra_Copied %s": "\"%s\" copiato",
|
|
18
18
|
"ra_Define functions": "Definire le funzioni",
|
|
19
19
|
"ra_Define rooms": "Definisci le stanze",
|
|
20
20
|
"ra_Error": "Errore",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"ra_Delete": "Elimina",
|
|
61
61
|
"ra_Toggle expert mode": "Attiva / disattiva la modalità esperto",
|
|
62
62
|
"ra_Toggle view mode": "Attiva / disattiva la modalità di visualizzazione",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
63
|
+
"ra_Root": "Radice",
|
|
64
|
+
"ra_Back to %s": "Torna a %s",
|
|
65
65
|
"ra_Place your files here or click here to open the browse dialog": "Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia",
|
|
66
66
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Se nessun file verrà creato nella cartella, scomparirà dopo la chiusura del browser",
|
|
67
67
|
"ra_Folder name": "Nome della cartella",
|
package/i18n/nl.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"ra_Are you sure?": "Weet je het zeker?",
|
|
14
14
|
"ra_Cancel": "Annuleer",
|
|
15
15
|
"ra_Copied": "Gekopieerd",
|
|
16
|
-
"ra_Copied %s": "%s gekopieerd",
|
|
16
|
+
"ra_Copied %s": "\"%s\" gekopieerd",
|
|
17
17
|
"ra_Define functions": "Definieer functies",
|
|
18
18
|
"ra_Define rooms": "Definieer kamers",
|
|
19
19
|
"ra_Error": "Fout",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"ra_Delete": "Verwijderen",
|
|
61
61
|
"ra_Toggle expert mode": "Schakel tussen expertmodus",
|
|
62
62
|
"ra_Toggle view mode": "Schakelen tussen weergavemodus",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
63
|
+
"ra_Root": "Wortel",
|
|
64
|
+
"ra_Back to %s": "Terug naar %s",
|
|
65
65
|
"ra_Place your files here or click here to open the browse dialog": "Plaats uw bestanden hier of klik hier om het bladervenster te openen",
|
|
66
66
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten",
|
|
67
67
|
"ra_Folder name": "Naam van de map",
|
package/i18n/pl.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"ra_Are you sure?": "Jesteś pewny?",
|
|
15
15
|
"ra_Cancel": "Anuluj",
|
|
16
16
|
"ra_Copied": "Skopiowano",
|
|
17
|
-
"ra_Copied %s": "Skopiowano %s",
|
|
17
|
+
"ra_Copied %s": "Skopiowano \"%s\"",
|
|
18
18
|
"ra_Define functions": "Zdefiniuj funkcje",
|
|
19
19
|
"ra_Define rooms": "Zdefiniuj pokoje",
|
|
20
20
|
"ra_Error": "Błąd",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"ra_Delete": "Usunąć",
|
|
61
61
|
"ra_Toggle expert mode": "Przełącz tryb eksperta",
|
|
62
62
|
"ra_Toggle view mode": "Przełącz tryb widoku",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
63
|
+
"ra_Root": "Korzeń",
|
|
64
|
+
"ra_Back to %s": "Powrót do %s",
|
|
65
65
|
"ra_Place your files here or click here to open the browse dialog": "Umieść swoje pliki tutaj lub kliknij tutaj, aby otworzyć okno dialogowe przeglądania",
|
|
66
66
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Jeśli w folderze nie zostanie utworzony żaden plik, zniknie on po zamknięciu przeglądarki",
|
|
67
67
|
"ra_Folder name": "Nazwa folderu",
|
package/i18n/pt.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"ra_Are you sure?": "Você tem certeza?",
|
|
15
15
|
"ra_Cancel": "Cancelar",
|
|
16
16
|
"ra_Copied": "Copiado",
|
|
17
|
-
"ra_Copied %s": "%s copiado",
|
|
17
|
+
"ra_Copied %s": "\"%s\" copiado",
|
|
18
18
|
"ra_Define functions": "Definir funções",
|
|
19
19
|
"ra_Define rooms": "Definir quartos",
|
|
20
20
|
"ra_Error": "Erro",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"ra_Delete": "Excluir",
|
|
61
61
|
"ra_Toggle expert mode": "Alternar modo especialista",
|
|
62
62
|
"ra_Toggle view mode": "Alternar modo de visualização",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
63
|
+
"ra_Root": "Raiz",
|
|
64
|
+
"ra_Back to %s": "Voltar para %s",
|
|
65
65
|
"ra_Place your files here or click here to open the browse dialog": "Coloque seus arquivos aqui ou clique aqui para abrir a janela de navegação",
|
|
66
66
|
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Se nenhum arquivo for criado na pasta, ele desaparecerá depois que o navegador for fechado",
|
|
67
67
|
"ra_Folder name": "Nome da pasta",
|