@iobroker/adapter-react-v5 3.1.26 → 3.1.29
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/FileViewer.js +10 -9
- package/Components/FileViewer.js.map +1 -1
- package/Components/IconPicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +4 -3
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.d.ts +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +9 -7
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js +33 -11
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js +1 -0
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +3 -3
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +85 -24
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.d.ts +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js +45 -4
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +36 -25
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js +15 -12
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/index.js +4 -6
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/ObjectBrowser.js +58 -13
- package/Components/ObjectBrowser.js.map +1 -1
- package/Connection.d.ts +5 -0
- package/Connection.js +78 -16
- package/Connection.js.map +1 -1
- package/Dialogs/FileSelect.js +2 -1
- package/Dialogs/FileSelect.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/README.md +7 -0
- package/i18n/de.json +2 -1
- package/i18n/en.json +2 -1
- package/i18n/es.json +2 -1
- package/i18n/fr.json +2 -1
- package/i18n/it.json +2 -1
- package/i18n/nl.json +2 -1
- package/i18n/pl.json +2 -1
- package/i18n/pt.json +2 -1
- package/i18n/ru.json +2 -1
- package/i18n/zh-cn.json +2 -1
- package/package.json +1 -1
|
@@ -89,7 +89,7 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
89
89
|
cb && cb();
|
|
90
90
|
} else {
|
|
91
91
|
if (data) {
|
|
92
|
-
var
|
|
92
|
+
var newState = {
|
|
93
93
|
data: data
|
|
94
94
|
};
|
|
95
95
|
var _data = {}; // remove all attributes starting with "_"
|
|
@@ -97,12 +97,10 @@ var JsonConfigComponent = /*#__PURE__*/function (_Component) {
|
|
|
97
97
|
Object.keys(data).forEach(function (attr) {
|
|
98
98
|
return !attr.startsWith('_') && (_data[attr] = data[attr]);
|
|
99
99
|
});
|
|
100
|
-
|
|
100
|
+
newState.changed = JSON.stringify(_data) !== _this.state.originalData;
|
|
101
101
|
|
|
102
|
-
_this.setState({
|
|
103
|
-
|
|
104
|
-
}, function () {
|
|
105
|
-
_this.props.onChange(_data, state.changed, saveConfig);
|
|
102
|
+
_this.setState(newState, function () {
|
|
103
|
+
_this.props.onChange(_data, newState.changed, saveConfig);
|
|
106
104
|
|
|
107
105
|
cb && cb();
|
|
108
106
|
});
|
|
@@ -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","_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 state = { 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 state.changed = JSON.stringify(_data) !== this.state.originalData;\n\n this.setState({ state }, () => {\n this.props.onChange(_data, state.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={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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"}
|
|
@@ -902,25 +902,27 @@ function applyFilter(item, filters, lang, objects, context, counter, customFilte
|
|
|
902
902
|
var data = item.data;
|
|
903
903
|
|
|
904
904
|
if (data && data.id) {
|
|
905
|
-
var
|
|
905
|
+
var _data$obj;
|
|
906
|
+
|
|
907
|
+
var common = (_data$obj = data.obj) === null || _data$obj === void 0 ? void 0 : _data$obj.common;
|
|
906
908
|
|
|
907
909
|
if (customFilter) {
|
|
908
910
|
var _customFilter$common, _customFilter$common2, _customFilter$common3;
|
|
909
911
|
|
|
910
912
|
if (customFilter.type) {
|
|
911
913
|
if (typeof customFilter.type === 'string') {
|
|
912
|
-
if (customFilter.type !== data.obj.type) {
|
|
914
|
+
if (!data.obj || customFilter.type !== data.obj.type) {
|
|
913
915
|
filteredOut = true;
|
|
914
916
|
}
|
|
915
917
|
} else if (Array.isArray(customFilter.type)) {
|
|
916
|
-
if (!customFilter.type.includes(data.obj.type)) {
|
|
918
|
+
if (!data.obj || !customFilter.type.includes(data.obj.type)) {
|
|
917
919
|
filteredOut = true;
|
|
918
920
|
}
|
|
919
921
|
}
|
|
920
922
|
}
|
|
921
923
|
|
|
922
924
|
if (!filteredOut && (_customFilter$common = customFilter.common) !== null && _customFilter$common !== void 0 && _customFilter$common.type) {
|
|
923
|
-
if (!common
|
|
925
|
+
if (!(common !== null && common !== void 0 && common.type)) {
|
|
924
926
|
filteredOut = true;
|
|
925
927
|
} else if (typeof customFilter.common.type === 'string') {
|
|
926
928
|
if (customFilter.common.type !== common.type) {
|
|
@@ -934,7 +936,7 @@ function applyFilter(item, filters, lang, objects, context, counter, customFilte
|
|
|
934
936
|
}
|
|
935
937
|
|
|
936
938
|
if (!filteredOut && (_customFilter$common2 = customFilter.common) !== null && _customFilter$common2 !== void 0 && _customFilter$common2.role) {
|
|
937
|
-
if (!common
|
|
939
|
+
if (!(common !== null && common !== void 0 && common.role)) {
|
|
938
940
|
filteredOut = true;
|
|
939
941
|
} else if (typeof customFilter.common.role === 'string') {
|
|
940
942
|
if (common.role.startsWith(customFilter.common.role)) {
|
|
@@ -950,7 +952,7 @@ function applyFilter(item, filters, lang, objects, context, counter, customFilte
|
|
|
950
952
|
}
|
|
951
953
|
|
|
952
954
|
if (!filteredOut && (_customFilter$common3 = customFilter.common) !== null && _customFilter$common3 !== void 0 && _customFilter$common3.custom) {
|
|
953
|
-
if (!common
|
|
955
|
+
if (!(common !== null && common !== void 0 && common.custom)) {
|
|
954
956
|
filteredOut = true;
|
|
955
957
|
} else if (customFilter.common.custom === '_dataSources') {
|
|
956
958
|
// TODO: make it configurable
|
|
@@ -2401,7 +2403,8 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2401
2403
|
|
|
2402
2404
|
var id = _this.state.selected[0] || _this.state.selectedNonObject;
|
|
2403
2405
|
|
|
2404
|
-
if (id.split('.').length < 2 || _this.objects[id] && ((_this$objects$id = _this.objects[id]) === null || _this$objects$id === void 0 ? void 0 : _this$objects$id.type) === 'state') {
|
|
2406
|
+
if (id.split('.').length < 2 || _this.objects[id] && ((_this$objects$id = _this.objects[id]) === null || _this$objects$id === void 0 ? void 0 : _this$objects$id.type) === 'state') {// show default tooltip
|
|
2407
|
+
} else {
|
|
2405
2408
|
if (_this.state.filter.expertMode) {
|
|
2406
2409
|
switch ((_this$objects$id2 = _this.objects[id]) === null || _this$objects$id2 === void 0 ? void 0 : _this$objects$id2.type) {
|
|
2407
2410
|
case 'device':
|
|
@@ -2409,7 +2412,16 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2409
2412
|
key: 1
|
|
2410
2413
|
}, t('ra_Only following structures of objects are available:')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2411
2414
|
key: 5
|
|
2412
|
-
}, t('ra_Device → Channel → State'))]
|
|
2415
|
+
}, t('ra_Device → Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2416
|
+
key: 7,
|
|
2417
|
+
style: {
|
|
2418
|
+
height: 10
|
|
2419
|
+
}
|
|
2420
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2421
|
+
key: 8
|
|
2422
|
+
}, t('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2423
|
+
key: 9
|
|
2424
|
+
}, t('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];
|
|
2413
2425
|
break;
|
|
2414
2426
|
|
|
2415
2427
|
case 'folder':
|
|
@@ -2421,7 +2433,16 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2421
2433
|
key: 3
|
|
2422
2434
|
}, t('ra_Folder → Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2423
2435
|
key: 4
|
|
2424
|
-
}, t('ra_Folder → Device → Channel → State'))]
|
|
2436
|
+
}, t('ra_Folder → Device → Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2437
|
+
key: 7,
|
|
2438
|
+
style: {
|
|
2439
|
+
height: 10
|
|
2440
|
+
}
|
|
2441
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2442
|
+
key: 8
|
|
2443
|
+
}, t('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2444
|
+
key: 9
|
|
2445
|
+
}, t('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];
|
|
2425
2446
|
break;
|
|
2426
2447
|
|
|
2427
2448
|
case 'channel':
|
|
@@ -2429,7 +2450,16 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2429
2450
|
key: 1
|
|
2430
2451
|
}, t('ra_Only following structures of objects are available:')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2431
2452
|
key: 1
|
|
2432
|
-
}, t('ra_Channel → State'))]
|
|
2453
|
+
}, t('ra_Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2454
|
+
key: 7,
|
|
2455
|
+
style: {
|
|
2456
|
+
height: 10
|
|
2457
|
+
}
|
|
2458
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2459
|
+
key: 8
|
|
2460
|
+
}, t('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2461
|
+
key: 9
|
|
2462
|
+
}, t('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];
|
|
2433
2463
|
break;
|
|
2434
2464
|
|
|
2435
2465
|
default:
|
|
@@ -2439,6 +2469,21 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2439
2469
|
value = [/*#__PURE__*/_react["default"].createElement("div", {
|
|
2440
2470
|
key: 1
|
|
2441
2471
|
}, t('ra_Only following structures of objects are available:')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2472
|
+
key: 2
|
|
2473
|
+
}, t('ra_Folder → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2474
|
+
key: 3
|
|
2475
|
+
}, t('ra_Folder → Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2476
|
+
key: 4
|
|
2477
|
+
}, t('ra_Folder → Device → Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2478
|
+
key: 5
|
|
2479
|
+
}, t('ra_Device → Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2480
|
+
key: 6
|
|
2481
|
+
}, t('ra_Channel → State')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2482
|
+
key: 7,
|
|
2483
|
+
style: {
|
|
2484
|
+
height: 10
|
|
2485
|
+
}
|
|
2486
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2442
2487
|
key: 7
|
|
2443
2488
|
}, t('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
2444
2489
|
key: 8
|
|
@@ -2713,7 +2758,7 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2713
2758
|
}).filter(function (id) {
|
|
2714
2759
|
return id;
|
|
2715
2760
|
});
|
|
2716
|
-
var columns = (window._localStorage || window.localStorage).getItem(
|
|
2761
|
+
var columns = null; // (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columns`);
|
|
2717
2762
|
|
|
2718
2763
|
try {
|
|
2719
2764
|
columns = columns ? JSON.parse(columns) : null;
|
|
@@ -2721,7 +2766,7 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2721
2766
|
columns = null;
|
|
2722
2767
|
}
|
|
2723
2768
|
|
|
2724
|
-
var columnsWidths = (window._localStorage || window.localStorage).getItem(
|
|
2769
|
+
var columnsWidths = null; // (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columnsWidths`);
|
|
2725
2770
|
|
|
2726
2771
|
try {
|
|
2727
2772
|
columnsWidths = columnsWidths ? JSON.parse(columnsWidths) : {};
|
|
@@ -2904,7 +2949,7 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
2904
2949
|
Object.keys(objects).forEach(function (id) {
|
|
2905
2950
|
var type = objects[id] && objects[id].type;
|
|
2906
2951
|
|
|
2907
|
-
if (type && (type === 'channel' || type === 'device' || type === 'enum' || type === 'folder' || type === 'adapter' || type === 'instance' || props.types.includes(type))) {
|
|
2952
|
+
if (type && (type === 'channel' || type === 'device' || type === 'enum' || type === 'folder' || type === 'adapter' || type === 'instance' || type === 'chart' || type === 'host' || props.types.includes(type))) {
|
|
2908
2953
|
_this2.objects[id] = objects[id];
|
|
2909
2954
|
}
|
|
2910
2955
|
});
|