@iobroker/adapter-react-v5 3.2.6 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/Components/ComplexCron.js.map +1 -1
  2. package/Components/FileBrowser.js +1 -1
  3. package/Components/FileBrowser.js.map +1 -1
  4. package/Components/FileViewer.js.map +1 -1
  5. package/Components/IconSelector.js +1 -1
  6. package/Components/IconSelector.js.map +1 -1
  7. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  8. package/Components/JsonConfigComponent/index.js.map +1 -1
  9. package/Components/ObjectBrowser.js +23 -17
  10. package/Components/ObjectBrowser.js.map +1 -1
  11. package/Components/SimpleCron/index.js.map +1 -1
  12. package/Components/TreeTable.js.map +1 -1
  13. package/Components/Utils.d.ts +20 -0
  14. package/Components/Utils.js +98 -9
  15. package/Components/Utils.js.map +1 -1
  16. package/Connection.d.ts +27 -0
  17. package/Connection.js +122 -7
  18. package/Connection.js.map +1 -1
  19. package/Dialogs/ComplexCron.js +1 -1
  20. package/Dialogs/ComplexCron.js.map +1 -1
  21. package/Dialogs/Confirm.d.ts +1 -0
  22. package/Dialogs/Confirm.js +3 -2
  23. package/Dialogs/Confirm.js.map +1 -1
  24. package/Dialogs/Cron.js +1 -1
  25. package/Dialogs/Cron.js.map +1 -1
  26. package/Dialogs/Error.d.ts +1 -0
  27. package/Dialogs/Error.js +3 -2
  28. package/Dialogs/Error.js.map +1 -1
  29. package/Dialogs/FileSelect.js +1 -1
  30. package/Dialogs/FileSelect.js.map +1 -1
  31. package/Dialogs/Message.d.ts +1 -0
  32. package/Dialogs/Message.js +2 -1
  33. package/Dialogs/Message.js.map +1 -1
  34. package/Dialogs/SimpleCron.js +1 -1
  35. package/Dialogs/SimpleCron.js.map +1 -1
  36. package/Dialogs/TextInput.d.ts +1 -0
  37. package/Dialogs/TextInput.js +5 -3
  38. package/Dialogs/TextInput.js.map +1 -1
  39. package/GenericApp.js +1 -1
  40. package/GenericApp.js.map +1 -1
  41. package/README.md +14 -8
  42. package/Theme.js.map +1 -1
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigTabs.js","names":["styles","theme","tabs","height","width","panel","display","ConfigTabs","props","tab","window","_localStorage","localStorage","getItem","dialogName","adapterName","Object","keys","schema","items","includes","state","classes","e","setItem","setState","map","name","disabled","custom","hidden","executeCustom","data","customObj","instanceObj","execute","getText","label","arrayIndex","globalData","onCommandRunning","commandRunning","socket","instance","common","customs","alive","themeType","themeName","originalData","systemConfig","onError","onChange","multiEdit","dateFormat","isFloatComma","imagePrefix","changeLanguage","forceUpdate","registerOnForceUpdate","ConfigGeneric","propTypes","PropTypes","object","isRequired","string","style","className","func","number","bool","withStyles"],"sources":["JsonConfigComponent/ConfigTabs.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n tabs: {\n height: '100%',\n width: '100%',\n },\n panel: {\n height: 'calc(100% - 48px)',\n width: '100%',\n display: 'block'\n }\n});\n\nclass ConfigTabs extends ConfigGeneric {\n constructor(props) {\n super(props);\n\n let tab = (window._localStorage || window.localStorage).getItem((this.props.dialogName || 'App') + '.' + this.props.adapterName) || Object.keys(this.props.schema.items)[0];\n if (!Object.keys(this.props.schema.items).includes(tab)) {\n tab = Object.keys(this.props.schema.items)[0];\n }\n this.state = {\n tab,\n };\n }\n\n render() {\n const items = this.props.schema.items;\n\n return <div className={this.props.classes.tabs}>\n <Tabs\n value={this.state.tab}\n onChange={(e, tab) => {\n (window._localStorage || window.localStorage).setItem((this.props.dialogName || 'App') + '.' + this.props.adapterName, tab);\n this.setState({tab});\n }}>\n {Object.keys(items).map(name => {\n let disabled;\n if (this.props.custom) {\n const hidden = this.executeCustom(items[name].hidden, this.props.data, this.props.customObj, this.props.instanceObj);\n if (hidden) {\n return null;\n }\n disabled = this.executeCustom(items[name].disabled, this.props.data, this.props.customObj, this.props.instanceObj);\n } else {\n const hidden = this.execute(items[name].hidden, false);\n if (hidden) {\n return null;\n }\n disabled = this.execute(items[name].disabled, false);\n }\n return <Tab wrapped disabled={disabled} key={name} value={name} label={this.getText(items[name].label)} />\n })}\n </Tabs>\n {<ConfigPanel\n isParentTab={true}\n key={this.state.tab}\n index={1001}\n arrayIndex={this.props.arrayIndex}\n globalData={this.props.globalData}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={this.props.classes.panel}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n customs={this.props.customs}\n alive={this.props.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={this.props.originalData}\n systemConfig={this.props.systemConfig}\n onError={this.props.onError}\n onChange={this.props.onChange}\n multiEdit={this.props.multiEdit}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n // disabled={disabled}\n imagePrefix={this.props.imagePrefix}\n\n changeLanguage={this.props.changeLanguage}\n forceUpdate={this.props.forceUpdate}\n registerOnForceUpdate={this.props.registerOnForceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n schema={items[this.state.tab]}\n />}\n </div>;\n }\n}\n\nConfigTabs.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n multiEdit: PropTypes.bool,\n imagePrefix: PropTypes.string,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n registerOnForceUpdate: PropTypes.func.isRequired,\n forceUpdate: PropTypes.func.isRequired,\n changeLanguage: PropTypes.func,\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n};\n\nexport default withStyles(styles)(ConfigTabs);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigTabs.js","names":["styles","theme","tabs","height","width","panel","display","ConfigTabs","props","tab","window","_localStorage","localStorage","getItem","dialogName","adapterName","Object","keys","schema","items","includes","state","classes","e","setItem","setState","map","name","disabled","custom","hidden","executeCustom","data","customObj","instanceObj","execute","getText","label","arrayIndex","globalData","onCommandRunning","commandRunning","socket","instance","common","customs","alive","themeType","themeName","originalData","systemConfig","onError","onChange","multiEdit","dateFormat","isFloatComma","imagePrefix","changeLanguage","forceUpdate","registerOnForceUpdate","ConfigGeneric","propTypes","PropTypes","object","isRequired","string","style","className","func","number","bool","withStyles"],"sources":["JsonConfigComponent/ConfigTabs.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n tabs: {\n height: '100%',\n width: '100%',\n },\n panel: {\n height: 'calc(100% - 48px)',\n width: '100%',\n display: 'block'\n }\n});\n\nclass ConfigTabs extends ConfigGeneric {\n constructor(props) {\n super(props);\n\n let tab = (window._localStorage || window.localStorage).getItem((this.props.dialogName || 'App') + '.' + this.props.adapterName) || Object.keys(this.props.schema.items)[0];\n if (!Object.keys(this.props.schema.items).includes(tab)) {\n tab = Object.keys(this.props.schema.items)[0];\n }\n this.state = {\n tab,\n };\n }\n\n render() {\n const items = this.props.schema.items;\n\n return <div className={this.props.classes.tabs}>\n <Tabs\n value={this.state.tab}\n onChange={(e, tab) => {\n (window._localStorage || window.localStorage).setItem((this.props.dialogName || 'App') + '.' + this.props.adapterName, tab);\n this.setState({tab});\n }}>\n {Object.keys(items).map(name => {\n let disabled;\n if (this.props.custom) {\n const hidden = this.executeCustom(items[name].hidden, this.props.data, this.props.customObj, this.props.instanceObj);\n if (hidden) {\n return null;\n }\n disabled = this.executeCustom(items[name].disabled, this.props.data, this.props.customObj, this.props.instanceObj);\n } else {\n const hidden = this.execute(items[name].hidden, false);\n if (hidden) {\n return null;\n }\n disabled = this.execute(items[name].disabled, false);\n }\n return <Tab wrapped disabled={disabled} key={name} value={name} label={this.getText(items[name].label)} />\n })}\n </Tabs>\n {<ConfigPanel\n isParentTab\n key={this.state.tab}\n index={1001}\n arrayIndex={this.props.arrayIndex}\n globalData={this.props.globalData}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={this.props.classes.panel}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n customs={this.props.customs}\n alive={this.props.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={this.props.originalData}\n systemConfig={this.props.systemConfig}\n onError={this.props.onError}\n onChange={this.props.onChange}\n multiEdit={this.props.multiEdit}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n // disabled={disabled}\n imagePrefix={this.props.imagePrefix}\n\n changeLanguage={this.props.changeLanguage}\n forceUpdate={this.props.forceUpdate}\n registerOnForceUpdate={this.props.registerOnForceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n schema={items[this.state.tab]}\n />}\n </div>;\n }\n}\n\nConfigTabs.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n multiEdit: PropTypes.bool,\n imagePrefix: PropTypes.string,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n registerOnForceUpdate: PropTypes.func.isRequired,\n forceUpdate: PropTypes.func.isRequired,\n changeLanguage: PropTypes.func,\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n};\n\nexport default withStyles(styles)(ConfigTabs);"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styles","theme","root","width","height","JsonConfigComponent","props","commandRunning","setState","id","state","val","alive","data","value","cb","saveConfig","onValueChange","newState","_data","Object","keys","forEach","attr","startsWith","changed","JSON","stringify","originalData","onChange","error","errors","parse","onError","length","forceUpdate","Array","isArray","a","forceUpdateHandlers","updateData","systemConfig","schema","buildDependencies","readData","custom","common","Promise","resolve","socket","getObject","adapterName","instance","then","obj","readSettings","getCompactSystemConfig","getState","subscribeState","onAlive","_list","items","flatten","attrs","confirm","alsoDependsOn","dep","console","warn","replace","confirmDependsOn","depObj","cancel","push","onChangeDependsOn","hidden","hiddenDependsOn","label","labelDependsOn","help","helpDependsOn","item","type","onCommandRunning","themeType","themeName","customs","dateFormat","isFloatComma","multiEdit","imagePrefix","customObj","instanceObj","changeLanguage","forceAttrUpdate","registerOnForceUpdate","classes","renderItem","i18n","lang","I18n","getLanguage","path","fileExists","exists","fileName","readFile","json","file","undefined","extendTranslations","e","Component","propTypes","PropTypes","object","isRequired","string","number","bool","style","className","func","withStyles"],"sources":["JsonConfigComponent/index.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport LinearProgress from '@mui/material/LinearProgress';\n\nimport I18n from '../../i18n';\n\nimport ConfigTabs from './ConfigTabs';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n root: {\n width: '100%',\n height: '100%'\n }\n});\n\nclass JsonConfigComponent extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n originalData: JSON.stringify(this.props.data),\n changed: false,\n errors: {\n\n },\n updateData: this.props.updateData,\n systemConfig: null,\n alive: false,\n commandRunning: false,\n schema: JSON.parse(JSON.stringify(this.props.schema))\n };\n\n this.forceUpdateHandlers = {};\n\n this.buildDependencies(this.state.schema);\n\n this.readData();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.updateData !== state.updateData) {\n return {\n updateData: props.updateData,\n originalData: JSON.stringify(props.data),\n schema: JSON.parse(JSON.stringify(props.schema)),\n };\n } else {\n return null;\n }\n }\n\n static loadI18n(socket, i18n, adapterName) {\n if (i18n === true || (i18n && typeof i18n === 'string')) {\n const lang = I18n.getLanguage();\n const path = typeof i18n === 'string' ? i18n : 'i18n';\n return socket.fileExists(adapterName + '.admin', `${path}/${lang}.json`)\n .then(exists => {\n if (exists) {\n return `${path}/${lang}.json`;\n } else {\n return socket.fileExists(adapterName + '.admin', `${path}/${lang}/translations.json`)\n .then(exists =>\n exists ? `${path}/${lang}/translations.json` : '')\n }\n })\n .then(fileName => {\n if (fileName) {\n return socket.readFile(adapterName + '.admin', fileName)\n .then(json => {\n if (json.file !== undefined) {\n json = json.file;\n }\n try {\n json = JSON.parse(json);\n // apply file to I18n\n I18n.extendTranslations(json, lang);\n } catch (e) {\n console.error(`Cannot parse language file \"${adapterName}.admin/${fileName}: ${e}`);\n }\n })\n } else {\n console.warn(`Cannot find i18n for ${adapterName} / ${fileName}`);\n return Promise.resolve();\n }\n });\n } else if (i18n && typeof i18n === 'object') {\n I18n.extendTranslations(i18n);\n return Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n\n onCommandRunning = commandRunning => this.setState( {commandRunning});\n\n readSettings() {\n if ((this.props.custom || this.props.common) && this.props.data) {\n return Promise.resolve();\n } else {\n return this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`)\n .then(obj => this.setState({common: obj.common, data: this.props.data || obj.native}));\n }\n }\n\n readData() {\n this.readSettings()\n .then(() => this.props.socket.getCompactSystemConfig())\n .then(systemConfig =>\n this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`)\n .then(state => {\n if (this.props.custom) {\n this.setState({systemConfig: systemConfig.common, alive: !!(state && state.val)});\n } else {\n this.setState({systemConfig: systemConfig.common, alive: !!(state && state.val)}, () =>\n this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`, this.onAlive));\n }\n }));\n }\n\n onAlive = (id, state) => {\n if ((state?.val || false) !== this.state.alive) {\n this.setState({alive: state?.val || false});\n }\n }\n\n onChange = (data, value, cb, saveConfig) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(data, value, saveConfig);\n cb && cb();\n } else {\n if (data) {\n const newState = { data };\n\n const _data = {};\n // remove all attributes starting with \"_\"\n Object.keys(data).forEach(attr => !attr.startsWith('_') && (_data[attr] = data[attr]));\n\n newState.changed = JSON.stringify(_data) !== this.state.originalData;\n\n this.setState(newState, () => {\n this.props.onChange(_data, newState.changed, saveConfig);\n cb && cb();\n });\n } else if (saveConfig) {\n this.props.onChange(null, null, saveConfig);\n }\n }\n }\n\n onError = (attr, error) => {\n const errors = JSON.parse(JSON.stringify(this.state.errors));\n if (error) {\n errors[attr] = error;\n } else {\n delete errors[attr];\n }\n\n if (JSON.stringify(errors) !== JSON.parse(JSON.stringify(this.state.errors))) {\n this.setState({errors}, () =>\n this.props.onError(!!Object.keys(this.state.errors).length));\n }\n }\n\n flatten(schema, _list) {\n _list = _list || {};\n if (schema.items) {\n Object.keys(schema.items).forEach(attr => {\n _list[attr] = schema.items[attr];\n this.flatten(schema.items[attr], _list);\n });\n }\n\n return _list;\n }\n\n buildDependencies(schema) {\n const attrs = this.flatten(schema);\n Object.keys(attrs).forEach(attr => {\n if (attrs[attr].confirm?.alsoDependsOn) {\n attrs[attr].confirm?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].confirmDependsOn = attrs[dep].confirmDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n if (depObj.confirm) {\n depObj.confirm.cancel = 'Undo';\n }\n\n attrs[dep].confirmDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].onChange?.alsoDependsOn) {\n attrs[attr].onChange?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].onChangeDependsOn = attrs[dep].onChangeDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].onChangeDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].hidden?.alsoDependsOn) {\n attrs[attr].hidden?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].hiddenDependsOn = attrs[dep].hiddenDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].hiddenDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].label?.alsoDependsOn) {\n attrs[attr].label?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].labelDependsOn = attrs[dep].labelDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].labelDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].help?.alsoDependsOn) {\n attrs[attr].help?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].helpDependsOn = attrs[dep].helpDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].helpDependsOn.push(depObj);\n }\n });\n }\n });\n }\n\n renderItem(item) {\n if (item.type === 'tabs') {\n return <ConfigTabs\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n } else if (item.type === 'panel' || !item.type) {\n return <ConfigPanel\n index={1000}\n isParentTab={true}\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n }\n }\n\n changeLanguage = () => {\n this.forceUpdate();\n }\n\n forceAttrUpdate = (attr, data) => {\n if (Array.isArray(attr)) {\n attr.forEach(a =>\n this.forceUpdateHandlers[a] && this.forceUpdateHandlers[a](data));\n } else {\n if (this.forceUpdateHandlers[attr]) {\n this.forceUpdateHandlers[attr](data);\n }\n }\n }\n\n registerOnForceUpdate = (attr, cb) => {\n if (cb) {\n this.forceUpdateHandlers[attr] = cb;\n } else if (this.forceUpdateHandlers[attr]) {\n delete this.forceUpdateHandlers[attr];\n }\n }\n\n render() {\n if (!this.state.systemConfig) {\n return <LinearProgress />;\n }\n\n return <div className={this.props.classes.root}>\n {this.renderItem(this.state.schema)}\n </div>;\n }\n}\n\nJsonConfigComponent.propTypes = {\n socket: PropTypes.object.isRequired,\n\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n common: PropTypes.object,\n customs: PropTypes.object, // custom components\n\n custom: PropTypes.bool, // is the customs settings must be shown\n customObj: PropTypes.object,\n multiEdit: PropTypes.bool, // set if user edits more than one object simultaneously\n instanceObj: PropTypes.object,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n imagePrefix: PropTypes.string,\n\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n updateData: PropTypes.number,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onValueChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(JsonConfigComponent);"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["styles","theme","root","width","height","JsonConfigComponent","props","commandRunning","setState","id","state","val","alive","data","value","cb","saveConfig","onValueChange","newState","_data","Object","keys","forEach","attr","startsWith","changed","JSON","stringify","originalData","onChange","error","errors","parse","onError","length","forceUpdate","Array","isArray","a","forceUpdateHandlers","updateData","systemConfig","schema","buildDependencies","readData","custom","common","Promise","resolve","socket","getObject","adapterName","instance","then","obj","readSettings","getCompactSystemConfig","getState","subscribeState","onAlive","_list","items","flatten","attrs","confirm","alsoDependsOn","dep","console","warn","replace","confirmDependsOn","depObj","cancel","push","onChangeDependsOn","hidden","hiddenDependsOn","label","labelDependsOn","help","helpDependsOn","item","type","onCommandRunning","themeType","themeName","customs","dateFormat","isFloatComma","multiEdit","imagePrefix","customObj","instanceObj","changeLanguage","forceAttrUpdate","registerOnForceUpdate","classes","renderItem","i18n","lang","I18n","getLanguage","path","fileExists","exists","fileName","readFile","json","file","undefined","extendTranslations","e","Component","propTypes","PropTypes","object","isRequired","string","number","bool","style","className","func","withStyles"],"sources":["JsonConfigComponent/index.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport LinearProgress from '@mui/material/LinearProgress';\n\nimport I18n from '../../i18n';\n\nimport ConfigTabs from './ConfigTabs';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n root: {\n width: '100%',\n height: '100%'\n }\n});\n\nclass JsonConfigComponent extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n originalData: JSON.stringify(this.props.data),\n changed: false,\n errors: {\n\n },\n updateData: this.props.updateData,\n systemConfig: null,\n alive: false,\n commandRunning: false,\n schema: JSON.parse(JSON.stringify(this.props.schema))\n };\n\n this.forceUpdateHandlers = {};\n\n this.buildDependencies(this.state.schema);\n\n this.readData();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.updateData !== state.updateData) {\n return {\n updateData: props.updateData,\n originalData: JSON.stringify(props.data),\n schema: JSON.parse(JSON.stringify(props.schema)),\n };\n } else {\n return null;\n }\n }\n\n static loadI18n(socket, i18n, adapterName) {\n if (i18n === true || (i18n && typeof i18n === 'string')) {\n const lang = I18n.getLanguage();\n const path = typeof i18n === 'string' ? i18n : 'i18n';\n return socket.fileExists(adapterName + '.admin', `${path}/${lang}.json`)\n .then(exists => {\n if (exists) {\n return `${path}/${lang}.json`;\n } else {\n return socket.fileExists(adapterName + '.admin', `${path}/${lang}/translations.json`)\n .then(exists =>\n exists ? `${path}/${lang}/translations.json` : '')\n }\n })\n .then(fileName => {\n if (fileName) {\n return socket.readFile(adapterName + '.admin', fileName)\n .then(json => {\n if (json.file !== undefined) {\n json = json.file;\n }\n try {\n json = JSON.parse(json);\n // apply file to I18n\n I18n.extendTranslations(json, lang);\n } catch (e) {\n console.error(`Cannot parse language file \"${adapterName}.admin/${fileName}: ${e}`);\n }\n })\n } else {\n console.warn(`Cannot find i18n for ${adapterName} / ${fileName}`);\n return Promise.resolve();\n }\n });\n } else if (i18n && typeof i18n === 'object') {\n I18n.extendTranslations(i18n);\n return Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n\n onCommandRunning = commandRunning => this.setState( {commandRunning});\n\n readSettings() {\n if ((this.props.custom || this.props.common) && this.props.data) {\n return Promise.resolve();\n } else {\n return this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`)\n .then(obj => this.setState({common: obj.common, data: this.props.data || obj.native}));\n }\n }\n\n readData() {\n this.readSettings()\n .then(() => this.props.socket.getCompactSystemConfig())\n .then(systemConfig =>\n this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`)\n .then(state => {\n if (this.props.custom) {\n this.setState({systemConfig: systemConfig.common, alive: !!(state && state.val)});\n } else {\n this.setState({systemConfig: systemConfig.common, alive: !!(state && state.val)}, () =>\n this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`, this.onAlive));\n }\n }));\n }\n\n onAlive = (id, state) => {\n if ((state?.val || false) !== this.state.alive) {\n this.setState({alive: state?.val || false});\n }\n }\n\n onChange = (data, value, cb, saveConfig) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(data, value, saveConfig);\n cb && cb();\n } else {\n if (data) {\n const newState = { data };\n\n const _data = {};\n // remove all attributes starting with \"_\"\n Object.keys(data).forEach(attr => !attr.startsWith('_') && (_data[attr] = data[attr]));\n\n newState.changed = JSON.stringify(_data) !== this.state.originalData;\n\n this.setState(newState, () => {\n this.props.onChange(_data, newState.changed, saveConfig);\n cb && cb();\n });\n } else if (saveConfig) {\n this.props.onChange(null, null, saveConfig);\n }\n }\n }\n\n onError = (attr, error) => {\n const errors = JSON.parse(JSON.stringify(this.state.errors));\n if (error) {\n errors[attr] = error;\n } else {\n delete errors[attr];\n }\n\n if (JSON.stringify(errors) !== JSON.parse(JSON.stringify(this.state.errors))) {\n this.setState({errors}, () =>\n this.props.onError(!!Object.keys(this.state.errors).length));\n }\n }\n\n flatten(schema, _list) {\n _list = _list || {};\n if (schema.items) {\n Object.keys(schema.items).forEach(attr => {\n _list[attr] = schema.items[attr];\n this.flatten(schema.items[attr], _list);\n });\n }\n\n return _list;\n }\n\n buildDependencies(schema) {\n const attrs = this.flatten(schema);\n Object.keys(attrs).forEach(attr => {\n if (attrs[attr].confirm?.alsoDependsOn) {\n attrs[attr].confirm?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].confirmDependsOn = attrs[dep].confirmDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n if (depObj.confirm) {\n depObj.confirm.cancel = 'Undo';\n }\n\n attrs[dep].confirmDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].onChange?.alsoDependsOn) {\n attrs[attr].onChange?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].onChangeDependsOn = attrs[dep].onChangeDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].onChangeDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].hidden?.alsoDependsOn) {\n attrs[attr].hidden?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].hiddenDependsOn = attrs[dep].hiddenDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].hiddenDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].label?.alsoDependsOn) {\n attrs[attr].label?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].labelDependsOn = attrs[dep].labelDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].labelDependsOn.push(depObj);\n }\n });\n }\n\n if (attrs[attr].help?.alsoDependsOn) {\n attrs[attr].help?.alsoDependsOn.forEach(dep => {\n if (!attrs[dep]) {\n console.error(`[JsonConfigComponent] Attribute ${dep} does not exist!`);\n if (dep.startsWith('data.')) {\n console.warn(`[JsonConfigComponent] please use \"${dep.replace(/^data\\./, '')}\" instead of \"${dep}\"`);\n }\n } else {\n attrs[dep].helpDependsOn = attrs[dep].helpDependsOn || [];\n\n const depObj = {...attrs[attr], attr};\n\n attrs[dep].helpDependsOn.push(depObj);\n }\n });\n }\n });\n }\n\n renderItem(item) {\n if (item.type === 'tabs') {\n return <ConfigTabs\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n } else if (item.type === 'panel' || !item.type) {\n return <ConfigPanel\n index={1000}\n isParentTab\n onCommandRunning={this.onCommandRunning}\n commandRunning={this.state.commandRunning}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.state.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={JSON.parse(this.state.originalData)}\n schema={item}\n systemConfig={this.state.systemConfig}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n multiEdit={this.props.multiEdit}\n imagePrefix={this.props.imagePrefix}\n\n custom={this.props.custom}\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n\n changeLanguage={this.changeLanguage}\n forceUpdate={this.forceAttrUpdate}\n registerOnForceUpdate={this.registerOnForceUpdate}\n\n onChange={this.onChange}\n onError={(attr, error) => this.onError(attr, error)}\n />;\n }\n }\n\n changeLanguage = () => {\n this.forceUpdate();\n }\n\n forceAttrUpdate = (attr, data) => {\n if (Array.isArray(attr)) {\n attr.forEach(a =>\n this.forceUpdateHandlers[a] && this.forceUpdateHandlers[a](data));\n } else {\n if (this.forceUpdateHandlers[attr]) {\n this.forceUpdateHandlers[attr](data);\n }\n }\n }\n\n registerOnForceUpdate = (attr, cb) => {\n if (cb) {\n this.forceUpdateHandlers[attr] = cb;\n } else if (this.forceUpdateHandlers[attr]) {\n delete this.forceUpdateHandlers[attr];\n }\n }\n\n render() {\n if (!this.state.systemConfig) {\n return <LinearProgress />;\n }\n\n return <div className={this.props.classes.root}>\n {this.renderItem(this.state.schema)}\n </div>;\n }\n}\n\nJsonConfigComponent.propTypes = {\n socket: PropTypes.object.isRequired,\n\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n common: PropTypes.object,\n customs: PropTypes.object, // custom components\n\n custom: PropTypes.bool, // is the customs settings must be shown\n customObj: PropTypes.object,\n multiEdit: PropTypes.bool, // set if user edits more than one object simultaneously\n instanceObj: PropTypes.object,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n imagePrefix: PropTypes.string,\n\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n updateData: PropTypes.number,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onValueChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(JsonConfigComponent);"],"mappings":"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"}
@@ -295,7 +295,6 @@ var styles = function styles(theme) {
295
295
  },
296
296
  cellIdIconOwn: {},
297
297
  cellCopyButton: {
298
- // color: 'white',
299
298
  width: SMALL_BUTTON_SIZE,
300
299
  height: SMALL_BUTTON_SIZE,
301
300
  top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,
@@ -722,6 +721,15 @@ var styles = function styles(theme) {
722
721
  borderColor: '#517ea5',
723
722
  borderLeftStyle: 'solid'
724
723
  }
724
+ },
725
+ invertedBackground: {
726
+ backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',
727
+ padding: '0 3px',
728
+ borderRadius: '2px 0 0 2px'
729
+ },
730
+ invertedBackgroundFlex: {
731
+ backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',
732
+ borderRadius: '0 2px 2px 0'
725
733
  }
726
734
  };
727
735
  };
@@ -784,6 +792,7 @@ function getSelectIdIcon(objects, id, imagePrefix) {
784
792
 
785
793
  if (aIcon.startsWith('data:image/svg')) {
786
794
  src = /*#__PURE__*/_react["default"].createElement(_reactInlinesvg["default"], {
795
+ className: "iconOwn",
787
796
  src: aIcon,
788
797
  width: 28,
789
798
  height: 28
@@ -826,6 +835,7 @@ function getSelectIdIcon(objects, id, imagePrefix) {
826
835
  } else if (cIcon.startsWith('data:image/svg')) {
827
836
  // if base 64 image
828
837
  src = /*#__PURE__*/_react["default"].createElement(_reactInlinesvg["default"], {
838
+ className: "iconOwn",
829
839
  src: cIcon,
830
840
  width: 28,
831
841
  height: 28
@@ -4755,9 +4765,14 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
4755
4765
  className: _Utils["default"].clsx(classes.cellIdAlias, classes.cellIdAliasAlone)
4756
4766
  }, "\u2192", common.alias.id) : null;
4757
4767
  var checkColor = common === null || common === void 0 ? void 0 : common.color;
4758
- var invertBackground = 'none';
4768
+ var invertBackground = undefined;
4759
4769
  if (checkColor && !this.state.selected.includes(id)) {
4760
- invertBackground = _Utils["default"].invertColor(checkColor, true);
4770
+ var background = this.props.themeName === 'dark' ? '#1f1f1f' : this.props.themeName === 'blue' ? '#222a2e' : '#FFFFFF';
4771
+ var distance = _Utils["default"].colorDistance(checkColor, background);
4772
+ // console.log(`Distance: ${checkColor} - ${background} = ${distance}`);
4773
+ if (distance < 1000) {
4774
+ invertBackground = this.props.themeType === 'dark' ? '#9a9a9a' : '#565656';
4775
+ }
4761
4776
  }
4762
4777
  if (!checkColor || this.state.selected.includes(id)) {
4763
4778
  checkColor = 'inherit';
@@ -4890,32 +4905,23 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
4890
4905
  container: true,
4891
4906
  alignItems: "center",
4892
4907
  style: {
4893
- color: checkColor,
4894
- background: invertBackground
4908
+ // color: checkColor,
4909
+ // background: invertBackground,
4895
4910
  }
4896
4911
  }, checkbox, iconFolder), /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
4897
4912
  item: true,
4898
4913
  title: id,
4899
- className: classes.cellIdSpan,
4914
+ className: _Utils["default"].clsx(classes.cellIdSpan, invertBackground && classes.invertedBackground),
4900
4915
  style: {
4901
- background: invertBackground,
4902
4916
  color: id === 'system' ? COLOR_NAME_SYSTEM : id === 'system.adapter' ? COLOR_NAME_SYSTEM_ADAPTER : checkColor
4903
4917
  }
4904
4918
  }, item.data.name, alias, icons), /*#__PURE__*/_react["default"].createElement("div", {
4905
- style: {
4906
- color: checkColor,
4907
- background: invertBackground
4908
- },
4909
- className: classes.grow
4919
+ className: _Utils["default"].clsx(classes.grow, invertBackground && classes.invertedBackgroundFlex)
4910
4920
  }), /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
4911
4921
  item: true,
4912
4922
  container: true,
4913
4923
  alignItems: "center"
4914
- }, iconItem), /*#__PURE__*/_react["default"].createElement("div", {
4915
- style: {
4916
- color: checkColor
4917
- }
4918
- }, /*#__PURE__*/_react["default"].createElement(_IconCopy["default"], {
4924
+ }, iconItem), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_IconCopy["default"], {
4919
4925
  className: _Utils["default"].clsx(classes.cellCopyButton, 'copyButton'),
4920
4926
  onClick: function onClick(e) {
4921
4927
  return _this36.onCopy(e, id);