@iobroker/adapter-react-v5 3.0.12 → 3.0.15

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 (31) hide show
  1. package/Components/FileBrowser.js +1 -0
  2. package/Components/FileBrowser.js.map +1 -1
  3. package/Components/FileViewer.js +3 -3
  4. package/Components/FileViewer.js.map +1 -1
  5. package/Components/IconSelector.js +1822 -6
  6. package/Components/IconSelector.js.map +1 -1
  7. package/Components/JsonConfigComponent/ConfigCustom.js +80 -18
  8. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  9. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  10. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  11. package/Components/JsonConfigComponent/ConfigPanel.js +8 -1
  12. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  13. package/Components/JsonConfigComponent/ConfigPassword.js +2 -2
  14. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  15. package/Components/JsonConfigComponent/ConfigTable.js +58 -11
  16. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  17. package/Components/JsonConfigComponent/ConfigTabs.js +19 -1
  18. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  19. package/Components/Loader.js +16 -12
  20. package/Components/Loader.js.map +1 -1
  21. package/Components/Loaders/PT.js +11 -2
  22. package/Components/Loaders/PT.js.map +1 -1
  23. package/Components/Loaders/Vendor.js +11 -2
  24. package/Components/Loaders/Vendor.js.map +1 -1
  25. package/Dialogs/TextInput.js +3 -15
  26. package/Dialogs/TextInput.js.map +1 -1
  27. package/README.md +4 -1
  28. package/index.js +2 -2
  29. package/package.json +1 -1
  30. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js +0 -182
  31. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigGeneric.js","names":["ConfigGeneric","props","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","execute","lang","I18n","getLanguage","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","text","noTranslation","t","getPattern","func","en","confirm","icon","getText","title","ok","cancel","isOk","JSON","parse","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","condition","confirmDependsOn","z","length","dep","val","changed","onChangeDependsOn","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","result","originalData","systemConfig","alive","common","socket","instance","e","console","error","log","disabled","validator","onError","label","link","Utils","renderTextWithA","color","themeType","pattern","replace","calculate","Object","keys","hideOnlyControl","item","xs","lg","md","sm","assign","marginBottom","textAlign","style","darkStyle","newLine","flexBasis","height","validatorNoSaveOnError","validatorErrorText","tooltip","width","renderItem","commandRunning","renderConfirmDialog","split","part","shift","Component","getPrototypeOf","constructor","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","adapterName","number","dateFormat","isFloatComma"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Grid from '@mui/material/Grid';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from '../../i18n';\nimport Utils from '../Utils';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = I18n.t('__different__');\n static NONE_VALUE = '';\n static NONE_LABEL = I18n.t('none');\n static AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (this.props.schema) {\n if (this.props.custom) {\n this.defaultValue = this.props.schema.defaultFunc ? this.executeCustom(this.props.schema.defaultFunc, this.props.schema.default, this.props.data, this.props.instanceObj) : this.props.schema.default;\n } else {\n this.defaultValue = this.props.schema.defaultFunc ? this.execute(this.props.schema.defaultFunc, this.props.schema.default, this.props.data) : this.props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (value === undefined || (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }, 100);\n }\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr);\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n }\n\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () => {\n if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null}, () =>\n this.props.onChange(data));\n } else {\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null});\n }\n })\n }\n />;\n }\n\n onChange(attr, newValue) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (this.execute(dep.confirm.condition, false, data)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj)\n :\n this.execute(dep.onChange.calculateFunc, val, data);\n\n if (newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj)\n :\n this.execute(this.props.schema.onChange.calculateFunc, val, data);\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue);\n\n changed && changed.length && changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, data[_attr]), i * 50));\n } else {\n this.props.onChange(data, undefined, () =>\n changed.length && this.props.forceUpdate(changed, data));\n }\n }\n }\n\n execute(func, defaultValue, data) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance);\n // console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket);\n console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator ? !this.executeCustom(schema.validator, this.props.data, this.props.customObj, this.props.instanceObj) : false;\n disabled = schema.disabled ? this.executeCustom(schema.disabled, this.props.data, this.props.customObj, this.props.instanceObj) : false;\n hidden = schema.hidden ? this.executeCustom(schema.hidden, this.props.data, this.props.customObj, this.props.instanceObj) : false;\n defaultValue = schema.defaultFunc ? this.executeCustom(schema.defaultFunc, this.props.data, this.props.customObj, this.props.instanceObj) : schema.default;\n } else {\n error = schema.validator ? !this.execute(schema.validator, false) : false;\n disabled = schema.disabled ? this.execute(schema.disabled, false) : false;\n hidden = schema.hidden ? this.execute(schema.hidden, false) : false;\n defaultValue = schema.defaultFunc ? this.execute(schema.defaultFunc, schema.default, this.props.data) : schema.default;\n }\n\n return {error, disabled, hidden, defaultValue};\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text)\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (text && text.includes('<a ')) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{color: this.props.themeType === 'dark' ? '#eee' : '#111'}}\n >{this.getText(text, noTranslation)}</a>;\n }\n }\n\n getPattern(pattern) {\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n pattern = pattern.func;\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n const result = f(this.props.data, this.props.originalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket);\n return result;\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n const {error, disabled, hidden, defaultValue} = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themeType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>;\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else {\n // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {[this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true};\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100, JSON.parse(JSON.stringify(this.isError)));\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n }\n\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n //marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n {this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue)}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigGeneric.js","names":["ConfigGeneric","props","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","execute","lang","I18n","getLanguage","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","text","noTranslation","t","getPattern","func","en","confirm","icon","getText","title","ok","cancel","isOk","JSON","parse","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","condition","confirmDependsOn","z","length","dep","val","changed","onChangeDependsOn","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","result","originalData","systemConfig","alive","common","socket","instance","e","console","error","log","disabled","validator","onError","label","link","Utils","renderTextWithA","color","themeType","pattern","replace","calculate","Object","keys","hideOnlyControl","item","xs","lg","md","sm","assign","marginBottom","textAlign","style","darkStyle","newLine","flexBasis","height","validatorNoSaveOnError","validatorErrorText","tooltip","width","renderItem","commandRunning","renderConfirmDialog","split","part","shift","Component","getPrototypeOf","constructor","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","adapterName","number","dateFormat","isFloatComma"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Grid from '@mui/material/Grid';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from '../../i18n';\nimport Utils from '../Utils';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = I18n.t('__different__');\n static NONE_VALUE = '';\n static NONE_LABEL = I18n.t('none');\n static AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (this.props.schema) {\n if (this.props.custom) {\n this.defaultValue = this.props.schema.defaultFunc ? this.executeCustom(this.props.schema.defaultFunc, this.props.schema.default, this.props.data, this.props.instanceObj) : this.props.schema.default;\n } else {\n this.defaultValue = this.props.schema.defaultFunc ? this.execute(this.props.schema.defaultFunc, this.props.schema.default, this.props.data) : this.props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (value === undefined || (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }, 100);\n }\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr);\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n }\n\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () => {\n if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null}, () =>\n this.props.onChange(data));\n } else {\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null});\n }\n })\n }\n />;\n }\n\n onChange(attr, newValue) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (this.execute(dep.confirm.condition, false, data)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj)\n :\n this.execute(dep.onChange.calculateFunc, val, data);\n\n if (newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj)\n :\n this.execute(this.props.schema.onChange.calculateFunc, val, data);\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue);\n\n changed && changed.length && changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, data[_attr]), i * 50));\n } else {\n this.props.onChange(data, undefined, () =>\n changed.length && this.props.forceUpdate(changed, data));\n }\n }\n }\n\n execute(func, defaultValue, data) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance);\n // console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket);\n console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator ? !this.executeCustom(schema.validator, this.props.data, this.props.customObj, this.props.instanceObj) : false;\n disabled = schema.disabled ? this.executeCustom(schema.disabled, this.props.data, this.props.customObj, this.props.instanceObj) : false;\n hidden = schema.hidden ? this.executeCustom(schema.hidden, this.props.data, this.props.customObj, this.props.instanceObj) : false;\n defaultValue = schema.defaultFunc ? this.executeCustom(schema.defaultFunc, this.props.data, this.props.customObj, this.props.instanceObj) : schema.default;\n } else {\n error = schema.validator ? !this.execute(schema.validator, false) : false;\n disabled = schema.disabled ? this.execute(schema.disabled, false) : false;\n hidden = schema.hidden ? this.execute(schema.hidden, false) : false;\n defaultValue = schema.defaultFunc ? this.execute(schema.defaultFunc, schema.default, this.props.data) : schema.default;\n }\n\n return { error, disabled, hidden, defaultValue };\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text)\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (text && text.includes('<a ')) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{color: this.props.themeType === 'dark' ? '#eee' : '#111'}}\n >{this.getText(text, noTranslation)}</a>;\n }\n }\n\n getPattern(pattern) {\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n pattern = pattern.func;\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n const result = f(this.props.data, this.props.originalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket);\n return result;\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n const {error, disabled, hidden, defaultValue} = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themeType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>;\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else {\n // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {[this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true};\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100, JSON.parse(JSON.stringify(this.isError)));\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n }\n\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n //marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n {this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue)}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigInstanceSelect.js","names":["styles","theme","fullWidth","width","ConfigInstanceSelect","value","ConfigGeneric","getValue","props","data","attr","adapter","schema","undefined","socket","getAdapterInstances","then","instances","selectOptions","filter","instance","common","getHistory","map","_id","split","pop","replace","label","name","unshift","NONE_LABEL","NONE_VALUE","all","I18n","t","setState","error","disabled","defaultValue","state","item","find","classes","getText","val","e","target","onChange","opacity","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigInstanceSelect.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport I18n from '../../i18n';\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nclass ConfigInstanceSelect extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n let adapter = this.props.schema.adapter;\n if (adapter === '_dataSources') {\n adapter = undefined;\n }\n\n this.props.socket.getAdapterInstances(adapter)\n .then(instances => {\n let selectOptions;\n if (this.props.schema.adapter === '_dataSources') {\n // get only \"data-sources\", like history, sql, influx\n instances = instances.filter(instance => instance && instance.common && instance.common.getHistory);\n }\n\n selectOptions = instances.map(instance => ({\n value: this.props.schema.long ? instance._id :\n (this.props.schema.short ? instance._id.split('.').pop() : instance._id.replace(/^system\\.adapter\\./, '')),\n label: `${instance.common.name} [${instance._id.replace(/^system\\.adapter\\./, '')}]`\n }));\n\n selectOptions.unshift({ label: ConfigGeneric.NONE_LABEL, value: ConfigGeneric.NONE_VALUE });\n if (this.props.schema.all) {\n selectOptions.unshift({ label: I18n.t('all'), value: '*' });\n }\n\n this.setState({ value: value || '', selectOptions });\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value);\n\n return <FormControl className={this.props.classes.fullWidth} key={this.props.attr} variant=\"standard\">\n <InputLabel shrink>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n displayEmpty\n disabled={!!disabled}\n value={this.state.value}\n renderValue={val => this.getText(item?.label, true)}\n onChange={e =>\n this.setState({ value: e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value))}\n >\n {this.state.selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.NONE_VALUE ? { opacity: 0.5 } : {}}>{\n this.getText(item.label, true)\n }</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigInstanceSelect.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 schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigInstanceSelect);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigInstanceSelect.js","names":["styles","theme","fullWidth","width","ConfigInstanceSelect","value","ConfigGeneric","getValue","props","data","attr","adapter","schema","undefined","socket","getAdapterInstances","then","instances","selectOptions","filter","instance","common","getHistory","map","_id","split","pop","replace","label","name","unshift","NONE_LABEL","NONE_VALUE","all","I18n","t","setState","error","disabled","defaultValue","state","item","find","classes","getText","val","e","target","onChange","opacity","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigInstanceSelect.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport I18n from '../../i18n';\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n});\n\nclass ConfigInstanceSelect extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n let adapter = this.props.schema.adapter;\n if (adapter === '_dataSources') {\n adapter = undefined;\n }\n\n this.props.socket.getAdapterInstances(adapter)\n .then(instances => {\n let selectOptions;\n if (this.props.schema.adapter === '_dataSources') {\n // get only \"data-sources\", like history, sql, influx\n instances = instances.filter(instance => instance && instance.common && instance.common.getHistory);\n }\n\n selectOptions = instances.map(instance => ({\n value: this.props.schema.long ? instance._id :\n (this.props.schema.short ? instance._id.split('.').pop() : instance._id.replace(/^system\\.adapter\\./, '')),\n label: `${instance.common.name} [${instance._id.replace(/^system\\.adapter\\./, '')}]`\n }));\n\n selectOptions.unshift({ label: ConfigGeneric.NONE_LABEL, value: ConfigGeneric.NONE_VALUE });\n if (this.props.schema.all) {\n selectOptions.unshift({ label: I18n.t('all'), value: '*' });\n }\n\n this.setState({ value: value || '', selectOptions });\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value);\n\n return <FormControl className={this.props.classes.fullWidth} key={this.props.attr} variant=\"standard\">\n <InputLabel shrink>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n displayEmpty\n disabled={!!disabled}\n value={this.state.value}\n renderValue={val => this.getText(item?.label, true)}\n onChange={e =>\n this.setState({ value: e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value))}\n >\n {this.state.selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.NONE_VALUE ? { opacity: 0.5 } : {}}>{\n this.getText(item.label, true)\n }</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigInstanceSelect.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 schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigInstanceSelect);"],"mappings":"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"}
@@ -107,6 +107,8 @@ var _ConfigTextSendTo = _interopRequireDefault(require("./ConfigTextSendTo"));
107
107
 
108
108
  var _ConfigCoordinates = _interopRequireDefault(require("./ConfigCoordinates"));
109
109
 
110
+ var _ConfigCustom = _interopRequireDefault(require("./ConfigCustom"));
111
+
110
112
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
111
113
 
112
114
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -123,6 +125,7 @@ var components = {
123
125
  color: _ConfigColor["default"],
124
126
  coordinates: _ConfigCoordinates["default"],
125
127
  cron: _ConfigCRON["default"],
128
+ custom: _ConfigCustom["default"],
126
129
  datePicker: _ConfigDatePicker["default"],
127
130
  divider: _ConfigStaticDivider["default"],
128
131
  header: _ConfigStaticHeader["default"],
@@ -214,7 +217,11 @@ var ConfigPanel = /*#__PURE__*/function (_ConfigGeneric) {
214
217
  var ItemComponent;
215
218
 
216
219
  if (type === 'custom') {
217
- if (_this.props.customs && _this.props.customs[items[attr].component]) {
220
+ // name
221
+ // url
222
+ if (items[attr].url) {
223
+ ItemComponent = _ConfigCustom["default"];
224
+ } else if (_this.props.customs && _this.props.customs[items[attr].component]) {
218
225
  ItemComponent = _this.props.customs[items[attr].component];
219
226
  } else {
220
227
  console.error('Cannot find custom component: ' + items[attr].component);
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigPanel.js","names":["components","alive","ConfigAlive","autocomplete","ConfigAutocomplete","autocompleteSendTo","ConfigAutocompleteSendTo","certificate","ConfigCertificateSelect","checkbox","ConfigCheckbox","chips","ConfigChip","chip","color","ConfigColor","coordinates","ConfigCoordinates","cron","ConfigCRON","datePicker","ConfigDatePicker","divider","ConfigStaticDivider","header","ConfigStaticHeader","image","ConfigImageUpload","instance","ConfigInstanceSelect","ip","ConfigIP","jsonEditor","ConfigJsonEditor","language","ConfigLanguage","number","ConfigNumber","objectId","ConfigObjectId","password","ConfigPassword","pattern","ConfigPattern","select","ConfigSelect","selectSendTo","ConfigSelectSendTo","sendTo","ConfigSendto","sendto","setState","ConfigSetState","staticImage","ConfigStaticImage","staticLink","ConfigStaticText","staticText","table","ConfigTable","text","ConfigText","textSendTo","ConfigTextSendTo","timePicker","ConfigTimePicker","topic","ConfigTopic","user","ConfigUser","styles","theme","fullWidth","width","paper","margin","height","overflowY","paddingBottom","spacing","padding","heading","primary","backgroundColor","palette","main","mode","secondary","ConfigPanel","props","schema","collapsable","expanded","window","localStorage","getItem","adapterName","attr","items","disabled","classes","Object","keys","map","multiEdit","noMultiEdit","type","ItemComponent","customs","component","console","error","ConfigGeneric","ConfigPanelStyled","index","onCommandRunning","commandRunning","panel","socket","common","themeType","themeName","data","originalData","systemConfig","onError","onChange","dateFormat","isFloatComma","registerOnForceUpdate","forceUpdate","customObj","instanceObj","custom","calculate","hidden","hideOnlyControl","item","xs","undefined","lg","md","sm","assign","marginBottom","textAlign","style","themaType","darkStyle","newLine","flexBasis","renderItems","content","state","setItem","clsx","getText","label","className","isParentTab","tooltip","propTypes","PropTypes","object","isRequired","string","bool","func","onForceUpdate","withStyles"],"sources":["JsonConfigComponent/ConfigPanel.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport Grid from '@mui/material/Grid';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport Typography from '@mui/material/Typography';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigText from './ConfigText';\nimport ConfigCheckbox from './ConfigCheckbox';\nimport ConfigStaticImage from './ConfigStaticImage';\nimport ConfigNumber from './ConfigNumber';\nimport ConfigColor from './ConfigColor';\nimport ConfigIP from './ConfigIP';\nimport ConfigSelect from './ConfigSelect';\nimport ConfigUser from './ConfigUser';\nimport ConfigStaticText from './ConfigStaticText';\nimport ConfigPattern from './ConfigPattern';\nimport ConfigCertificateSelect from './ConfigCertificateSelect';\nimport ConfigImageUpload from './ConfigImageUpload';\nimport ConfigInstanceSelect from './ConfigInstanceSelect';\nimport ConfigTable from './ConfigTable';\nimport ConfigSendto from './ConfigSendto';\nimport ConfigObjectId from './ConfigObjectId';\nimport ConfigLanguage from './ConfigLanguage';\nimport ConfigChip from './ConfigChip';\nimport ConfigPassword from './ConfigPassword';\nimport ConfigStaticHeader from './ConfigStaticHeader';\nimport ConfigStaticDivider from './ConfigStaticDivider';\nimport ConfigSetState from './ConfigSetState';\nimport ConfigJsonEditor from './ConfigJsonEditor';\nimport ConfigSelectSendTo from './ConfigSelectSendTo';\nimport ConfigTopic from './ConfigTopic';\nimport ConfigAutocomplete from './ConfigAutocomplete';\nimport ConfigAutocompleteSendTo from './ConfigAutocompleteSendTo';\nimport ConfigTimePicker from './ConfigTimePicker';\nimport ConfigDatePicker from './ConfigDatePicker';\nimport ConfigCRON from './ConfigCRON';\nimport ConfigAlive from './ConfigAlive';\nimport ConfigTextSendTo from './ConfigTextSendTo';\nimport ConfigCoordinates from './ConfigCoordinates';\n\nconst components = {\n alive: ConfigAlive,\n autocomplete: ConfigAutocomplete,\n autocompleteSendTo: ConfigAutocompleteSendTo,\n certificate: ConfigCertificateSelect,\n checkbox: ConfigCheckbox,\n chips: ConfigChip,\n chip: ConfigChip, // deprecated. Use \"chips\"\n color: ConfigColor,\n coordinates: ConfigCoordinates,\n cron: ConfigCRON,\n datePicker: ConfigDatePicker,\n divider: ConfigStaticDivider,\n header: ConfigStaticHeader,\n image: ConfigImageUpload,\n instance: ConfigInstanceSelect,\n ip: ConfigIP,\n jsonEditor: ConfigJsonEditor,\n language: ConfigLanguage,\n number: ConfigNumber,\n objectId: ConfigObjectId,\n password: ConfigPassword,\n pattern: ConfigPattern,\n select: ConfigSelect,\n selectSendTo: ConfigSelectSendTo,\n sendTo: ConfigSendto,\n sendto: ConfigSendto,\n setState: ConfigSetState,\n staticImage: ConfigStaticImage,\n staticLink: ConfigStaticText,\n staticText: ConfigStaticText,\n table: ConfigTable,\n text: ConfigText,\n textSendTo: ConfigTextSendTo,\n timePicker: ConfigTimePicker,\n topic: ConfigTopic,\n user: ConfigUser,\n};\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n //height: '100%',\n },\n paper: {\n margin: 10,\n height: 'calc(100vh - 235px) !important',\n width: 'auto !important',\n overflowY: 'auto',\n paddingBottom: theme.spacing(1)\n },\n padding: {\n padding: 10,\n },\n heading: {\n\n },\n primary: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.mode === 'dark' ? 'inherit' : '#FFF'\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n }\n});\n\nclass ConfigPanel extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n if (this.props.schema && this.props.schema.collapsable) {\n this.setState({expanded: window.localStorage.getItem(this.props.adapterName + '.' + this.props.attr) === 'true'});\n }\n }\n\n renderItems(items, disabled) {\n const classes = this.props.classes || {};\n\n return items ? Object.keys(items).map(attr => {\n if (this.props.multiEdit && items[attr].noMultiEdit) {\n return null;\n }\n\n const type = items[attr].type || 'panel';\n let ItemComponent;\n if (type === 'custom') {\n if (this.props.customs && this.props.customs[items[attr].component]) {\n ItemComponent = this.props.customs[items[attr].component];\n } else {\n console.error('Cannot find custom component: ' + items[attr].component);\n ItemComponent = ConfigGeneric;\n }\n } else if (type === 'panel') {\n ItemComponent = ConfigPanelStyled;\n } else {\n ItemComponent = components[type] || ConfigGeneric;\n }\n\n return <ItemComponent\n key={attr + '_' + this.props.index}\n index={this.props.index}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={classes.panel}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\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 customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n disabled={disabled}\n\n registerOnForceUpdate={this.props.registerOnForceUpdate}\n forceUpdate={this.props.forceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n attr={attr}\n schema={items[attr]}\n />;\n }) : null;\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n const { disabled, hidden } = this.calculate(schema);\n\n const items = this.props.schema.items;\n const classes = this.props.classes || {};\n\n if (hidden) {\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themaType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else\n if (this.props.table) {\n return this.renderItems(items, disabled);\n } else\n if (this.props.custom) {\n return <Grid\n key={this.props.attr + '_' + this.props.index}\n container\n className={classes.fullWidth}\n spacing={2}\n >\n {this.renderItems(items, disabled)}\n </Grid>;\n } else {\n let content;\n if (schema.collapsable) {\n content = <Accordion\n key={this.props.attr + '_' + this.props.index}\n className={classes.fullWidth}\n expanded={!!this.state.expanded}\n onChange={() => {\n window.localStorage.setItem(this.props.adapterName + '.' + this.props.attr, this.state.expanded ? 'false' : 'true');\n this.setState({expanded: !this.state.expanded});\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n style={Object.assign({}, schema.style, this.props.themeType ? schema.darkStyle : {})}\n className={clsx(classes.fullWidth, schema.color === 'primary' && classes.primary, schema.color === 'secondary' && classes.secondary)}\n >\n <Typography className={classes.heading}>{this.getText(schema.label)}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Grid container className={classes.fullWidth + ' ' + classes.padding} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </AccordionDetails>\n </Accordion>\n } else {\n content = <div\n key={this.props.attr + '_' + this.props.index}\n className={clsx(this.props.className, this.props.isParentTab && classes.paper, classes.fullWidth)}\n >\n <Grid container className={clsx(classes.fullWidth, this.props.isParentTab && classes.padding)} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </div>;\n }\n\n if (!this.props.isParentTab) {\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'}, schema.style)}>\n {content}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return content;\n }\n }\n }\n}\n\nConfigPanel.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 index: PropTypes.number,\n customs: PropTypes.object,\n alive: PropTypes.bool,\n systemConfig: 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 isParentTab: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onForceUpdate: PropTypes.func,\n registerOnForceUpdate: PropTypes.func,\n};\n\nconst ConfigPanelStyled = withStyles(styles)(ConfigPanel);\n\nexport default ConfigPanelStyled;"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigPanel.js","names":["components","alive","ConfigAlive","autocomplete","ConfigAutocomplete","autocompleteSendTo","ConfigAutocompleteSendTo","certificate","ConfigCertificateSelect","checkbox","ConfigCheckbox","chips","ConfigChip","chip","color","ConfigColor","coordinates","ConfigCoordinates","cron","ConfigCRON","custom","ConfigCustom","datePicker","ConfigDatePicker","divider","ConfigStaticDivider","header","ConfigStaticHeader","image","ConfigImageUpload","instance","ConfigInstanceSelect","ip","ConfigIP","jsonEditor","ConfigJsonEditor","language","ConfigLanguage","number","ConfigNumber","objectId","ConfigObjectId","password","ConfigPassword","pattern","ConfigPattern","select","ConfigSelect","selectSendTo","ConfigSelectSendTo","sendTo","ConfigSendto","sendto","setState","ConfigSetState","staticImage","ConfigStaticImage","staticLink","ConfigStaticText","staticText","table","ConfigTable","text","ConfigText","textSendTo","ConfigTextSendTo","timePicker","ConfigTimePicker","topic","ConfigTopic","user","ConfigUser","styles","theme","fullWidth","width","paper","margin","height","overflowY","paddingBottom","spacing","padding","heading","primary","backgroundColor","palette","main","mode","secondary","ConfigPanel","props","schema","collapsable","expanded","window","localStorage","getItem","adapterName","attr","items","disabled","classes","Object","keys","map","multiEdit","noMultiEdit","type","ItemComponent","url","customs","component","console","error","ConfigGeneric","ConfigPanelStyled","index","onCommandRunning","commandRunning","panel","socket","common","themeType","themeName","data","originalData","systemConfig","onError","onChange","dateFormat","isFloatComma","registerOnForceUpdate","forceUpdate","customObj","instanceObj","calculate","hidden","hideOnlyControl","item","xs","undefined","lg","md","sm","assign","marginBottom","textAlign","style","themaType","darkStyle","newLine","flexBasis","renderItems","content","state","setItem","clsx","getText","label","className","isParentTab","tooltip","propTypes","PropTypes","object","isRequired","string","bool","func","onForceUpdate","withStyles"],"sources":["JsonConfigComponent/ConfigPanel.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport Grid from '@mui/material/Grid';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport Typography from '@mui/material/Typography';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigText from './ConfigText';\nimport ConfigCheckbox from './ConfigCheckbox';\nimport ConfigStaticImage from './ConfigStaticImage';\nimport ConfigNumber from './ConfigNumber';\nimport ConfigColor from './ConfigColor';\nimport ConfigIP from './ConfigIP';\nimport ConfigSelect from './ConfigSelect';\nimport ConfigUser from './ConfigUser';\nimport ConfigStaticText from './ConfigStaticText';\nimport ConfigPattern from './ConfigPattern';\nimport ConfigCertificateSelect from './ConfigCertificateSelect';\nimport ConfigImageUpload from './ConfigImageUpload';\nimport ConfigInstanceSelect from './ConfigInstanceSelect';\nimport ConfigTable from './ConfigTable';\nimport ConfigSendto from './ConfigSendto';\nimport ConfigObjectId from './ConfigObjectId';\nimport ConfigLanguage from './ConfigLanguage';\nimport ConfigChip from './ConfigChip';\nimport ConfigPassword from './ConfigPassword';\nimport ConfigStaticHeader from './ConfigStaticHeader';\nimport ConfigStaticDivider from './ConfigStaticDivider';\nimport ConfigSetState from './ConfigSetState';\nimport ConfigJsonEditor from './ConfigJsonEditor';\nimport ConfigSelectSendTo from './ConfigSelectSendTo';\nimport ConfigTopic from './ConfigTopic';\nimport ConfigAutocomplete from './ConfigAutocomplete';\nimport ConfigAutocompleteSendTo from './ConfigAutocompleteSendTo';\nimport ConfigTimePicker from './ConfigTimePicker';\nimport ConfigDatePicker from './ConfigDatePicker';\nimport ConfigCRON from './ConfigCRON';\nimport ConfigAlive from './ConfigAlive';\nimport ConfigTextSendTo from './ConfigTextSendTo';\nimport ConfigCoordinates from './ConfigCoordinates';\nimport ConfigCustom from './ConfigCustom';\n\nconst components = {\n alive: ConfigAlive,\n autocomplete: ConfigAutocomplete,\n autocompleteSendTo: ConfigAutocompleteSendTo,\n certificate: ConfigCertificateSelect,\n checkbox: ConfigCheckbox,\n chips: ConfigChip,\n chip: ConfigChip, // deprecated. Use \"chips\"\n color: ConfigColor,\n coordinates: ConfigCoordinates,\n cron: ConfigCRON,\n custom: ConfigCustom,\n datePicker: ConfigDatePicker,\n divider: ConfigStaticDivider,\n header: ConfigStaticHeader,\n image: ConfigImageUpload,\n instance: ConfigInstanceSelect,\n ip: ConfigIP,\n jsonEditor: ConfigJsonEditor,\n language: ConfigLanguage,\n number: ConfigNumber,\n objectId: ConfigObjectId,\n password: ConfigPassword,\n pattern: ConfigPattern,\n select: ConfigSelect,\n selectSendTo: ConfigSelectSendTo,\n sendTo: ConfigSendto,\n sendto: ConfigSendto,\n setState: ConfigSetState,\n staticImage: ConfigStaticImage,\n staticLink: ConfigStaticText,\n staticText: ConfigStaticText,\n table: ConfigTable,\n text: ConfigText,\n textSendTo: ConfigTextSendTo,\n timePicker: ConfigTimePicker,\n topic: ConfigTopic,\n user: ConfigUser,\n};\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n //height: '100%',\n },\n paper: {\n margin: 10,\n height: 'calc(100vh - 235px) !important',\n width: 'auto !important',\n overflowY: 'auto',\n paddingBottom: theme.spacing(1)\n },\n padding: {\n padding: 10,\n },\n heading: {\n\n },\n primary: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.mode === 'dark' ? 'inherit' : '#FFF'\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n }\n});\n\nclass ConfigPanel extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n if (this.props.schema && this.props.schema.collapsable) {\n this.setState({expanded: window.localStorage.getItem(this.props.adapterName + '.' + this.props.attr) === 'true'});\n }\n }\n\n renderItems(items, disabled) {\n const classes = this.props.classes || {};\n\n return items ? Object.keys(items).map(attr => {\n if (this.props.multiEdit && items[attr].noMultiEdit) {\n return null;\n }\n\n const type = items[attr].type || 'panel';\n let ItemComponent;\n if (type === 'custom') {\n // name\n // url\n if (items[attr].url) {\n ItemComponent = ConfigCustom;\n } else \n if (this.props.customs && this.props.customs[items[attr].component]) {\n ItemComponent = this.props.customs[items[attr].component];\n } else {\n console.error('Cannot find custom component: ' + items[attr].component);\n ItemComponent = ConfigGeneric;\n }\n } else if (type === 'panel') {\n ItemComponent = ConfigPanelStyled;\n } else {\n ItemComponent = components[type] || ConfigGeneric;\n }\n\n return <ItemComponent\n key={attr + '_' + this.props.index}\n index={this.props.index}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={classes.panel}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\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 customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n disabled={disabled}\n \n registerOnForceUpdate={this.props.registerOnForceUpdate}\n forceUpdate={this.props.forceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n attr={attr}\n schema={items[attr]}\n />;\n }) : null;\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n const { disabled, hidden } = this.calculate(schema);\n\n const items = this.props.schema.items;\n const classes = this.props.classes || {};\n\n if (hidden) {\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themaType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else\n if (this.props.table) {\n return this.renderItems(items, disabled);\n } else\n if (this.props.custom) {\n return <Grid\n key={this.props.attr + '_' + this.props.index}\n container\n className={classes.fullWidth}\n spacing={2}\n >\n {this.renderItems(items, disabled)}\n </Grid>;\n } else {\n let content;\n if (schema.collapsable) {\n content = <Accordion\n key={this.props.attr + '_' + this.props.index}\n className={classes.fullWidth}\n expanded={!!this.state.expanded}\n onChange={() => {\n window.localStorage.setItem(this.props.adapterName + '.' + this.props.attr, this.state.expanded ? 'false' : 'true');\n this.setState({expanded: !this.state.expanded});\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n style={Object.assign({}, schema.style, this.props.themeType ? schema.darkStyle : {})}\n className={clsx(classes.fullWidth, schema.color === 'primary' && classes.primary, schema.color === 'secondary' && classes.secondary)}\n >\n <Typography className={classes.heading}>{this.getText(schema.label)}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Grid container className={classes.fullWidth + ' ' + classes.padding} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </AccordionDetails>\n </Accordion>\n } else {\n content = <div\n key={this.props.attr + '_' + this.props.index}\n className={clsx(this.props.className, this.props.isParentTab && classes.paper, classes.fullWidth)}\n >\n <Grid container className={clsx(classes.fullWidth, this.props.isParentTab && classes.padding)} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </div>;\n }\n\n if (!this.props.isParentTab) {\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'}, schema.style)}>\n {content}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return content;\n }\n }\n }\n}\n\nConfigPanel.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 index: PropTypes.number,\n customs: PropTypes.object,\n alive: PropTypes.bool,\n systemConfig: 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 isParentTab: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onForceUpdate: PropTypes.func,\n registerOnForceUpdate: PropTypes.func,\n};\n\nconst ConfigPanelStyled = withStyles(styles)(ConfigPanel);\n\nexport default ConfigPanelStyled;"],"mappings":"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"}
@@ -100,7 +100,7 @@ var ConfigPassword = /*#__PURE__*/function (_ConfigGeneric) {
100
100
  repeatPassword = this.state._repeat;
101
101
  }
102
102
 
103
- var _notEqual = this.props.schema.repeat && repeatPassword !== password;
103
+ var _notEqual = !!this.props.schema.repeat && repeatPassword !== password;
104
104
 
105
105
  this.setState({
106
106
  value: password,
@@ -146,7 +146,7 @@ var ConfigPassword = /*#__PURE__*/function (_ConfigGeneric) {
146
146
  },
147
147
  helperText: this.state._notEqual ? _i18n["default"].t('Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation),
148
148
  InputProps: {
149
- endAdornment: this.state.value && this.state.value !== PASSWORD_PLACEHOLDER ? /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
149
+ endAdornment: this.state.value && this.state.value !== PASSWORD_PLACEHOLDER && this.props.schema.visible ? /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
150
150
  position: "end"
151
151
  }, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
152
152
  size: "large",
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigPassword.js","names":["styles","theme","fullWidth","width","display","halfWidth1","spacing","marginRight","halfWidth2","PASSWORD_PLACEHOLDER","ConfigPassword","value","ConfigGeneric","getValue","props","data","attr","setState","_repeat","_visible","_notEqual","password","repeatPassword","undefined","state","schema","repeat","onError","I18n","t","onChange","error","disabled","defaultValue","e","onChangePassword","target","getText","label","autoComplete","form","maxLength","max","renderHelp","help","helpLink","noTranslation","endAdornment","preventDefault","stopPropagation","passwordRepeat","classes","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigPassword.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\n\nimport Visibility from '@mui/icons-material/Visibility';\nimport VisibilityOff from '@mui/icons-material/VisibilityOff';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n display: 'inline-block'\n },\n halfWidth1: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block',\n marginRight: theme.spacing(1),\n },\n halfWidth2: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block'\n }\n});\n\nconst PASSWORD_PLACEHOLDER = '____ppp____';\n\nclass ConfigPassword extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({\n _repeat: value ? PASSWORD_PLACEHOLDER : '',\n _visible: false,\n value: value ? PASSWORD_PLACEHOLDER : '',\n _notEqual: false\n });\n }\n\n onChangePassword(password, repeatPassword) {\n if (password === undefined) {\n password = this.state.value;\n }\n if (repeatPassword === undefined) {\n repeatPassword = this.state._repeat;\n }\n const _notEqual = this.props.schema.repeat && repeatPassword !== password;\n this.setState({value: password, _repeat: repeatPassword, _notEqual}, () => {\n if (_notEqual) {\n this.onError(this.props.attr, I18n.t('Passwords are not equal!'));\n } else {\n this.onError(this.props.attr); // clear error\n this.onChange(this.props.attr, password);\n }\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.state._notEqual === undefined) {\n return null;\n }\n\n const password = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state.value !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state.value}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(e.target.value)}\n label={this.getText(this.props.schema.label)}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state.value && this.state.value !== PASSWORD_PLACEHOLDER ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n if (this.props.schema.repeat) {\n const passwordRepeat = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state._repeat !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state._repeat}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(undefined, e.target.value)}\n label={`${this.getText(this.props.schema.label)} (${I18n.t('repeat')})`}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state._repeat && this.state._repeat !== PASSWORD_PLACEHOLDER ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n return <div className={this.props.classes.fullWidth}>\n <div className={this.props.classes.halfWidth1}>{password}</div>\n <div className={this.props.classes.halfWidth2}>{passwordRepeat}</div>\n </div>;\n } else {\n return password;\n }\n }\n}\n\nConfigPassword.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 schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigPassword);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigPassword.js","names":["styles","theme","fullWidth","width","display","halfWidth1","spacing","marginRight","halfWidth2","PASSWORD_PLACEHOLDER","ConfigPassword","value","ConfigGeneric","getValue","props","data","attr","setState","_repeat","_visible","_notEqual","password","repeatPassword","undefined","state","schema","repeat","onError","I18n","t","onChange","error","disabled","defaultValue","e","onChangePassword","target","getText","label","autoComplete","form","maxLength","max","renderHelp","help","helpLink","noTranslation","endAdornment","visible","preventDefault","stopPropagation","passwordRepeat","classes","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigPassword.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\n\nimport Visibility from '@mui/icons-material/Visibility';\nimport VisibilityOff from '@mui/icons-material/VisibilityOff';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n display: 'inline-block'\n },\n halfWidth1: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block',\n marginRight: theme.spacing(1),\n },\n halfWidth2: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block'\n }\n});\n\nconst PASSWORD_PLACEHOLDER = '____ppp____';\n\nclass ConfigPassword extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({\n _repeat: value ? PASSWORD_PLACEHOLDER : '',\n _visible: false,\n value: value ? PASSWORD_PLACEHOLDER : '',\n _notEqual: false\n });\n }\n\n onChangePassword(password, repeatPassword) {\n if (password === undefined) {\n password = this.state.value;\n }\n if (repeatPassword === undefined) {\n repeatPassword = this.state._repeat;\n }\n const _notEqual = !!this.props.schema.repeat && repeatPassword !== password;\n this.setState({value: password, _repeat: repeatPassword, _notEqual}, () => {\n if (_notEqual) {\n this.onError(this.props.attr, I18n.t('Passwords are not equal!'));\n } else {\n this.onError(this.props.attr); // clear error\n this.onChange(this.props.attr, password);\n }\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.state._notEqual === undefined) {\n return null;\n }\n\n const password = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state.value !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state.value}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(e.target.value)}\n label={this.getText(this.props.schema.label)}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state.value && this.state.value !== PASSWORD_PLACEHOLDER && this.props.schema.visible ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n if (this.props.schema.repeat) {\n const passwordRepeat = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state._repeat !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state._repeat}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(undefined, e.target.value)}\n label={`${this.getText(this.props.schema.label)} (${I18n.t('repeat')})`}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state._repeat && this.state._repeat !== PASSWORD_PLACEHOLDER ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n return <div className={this.props.classes.fullWidth}>\n <div className={this.props.classes.halfWidth1}>{password}</div>\n <div className={this.props.classes.halfWidth2}>{passwordRepeat}</div>\n </div>;\n } else {\n return password;\n }\n }\n}\n\nConfigPassword.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 schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigPassword);"],"mappings":"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"}