@iobroker/adapter-react-v5 2.1.9 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/Components/404.js.map +1 -1
  2. package/Components/ColorPicker.js.map +1 -1
  3. package/Components/ComplexCron.js.map +1 -1
  4. package/Components/FileBrowser.js +248 -222
  5. package/Components/FileBrowser.js.map +1 -1
  6. package/Components/FileViewer.js +219 -75
  7. package/Components/FileViewer.js.map +1 -1
  8. package/Components/Icon.js.map +1 -1
  9. package/Components/IconPicker.js.map +1 -1
  10. package/Components/IconSelector.js.map +1 -1
  11. package/Components/Image.js.map +1 -1
  12. package/Components/JsonConfigComponent/ChipInput.js +925 -0
  13. package/Components/JsonConfigComponent/ChipInput.js.map +1 -0
  14. package/Components/JsonConfigComponent/ConfigAlive.js +135 -0
  15. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -0
  16. package/Components/JsonConfigComponent/ConfigAutocomplete.js +204 -0
  17. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -0
  18. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +311 -0
  19. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -0
  20. package/Components/JsonConfigComponent/ConfigCRON.js +195 -0
  21. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -0
  22. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +178 -0
  23. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -0
  24. package/Components/JsonConfigComponent/ConfigCheckbox.js +112 -0
  25. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -0
  26. package/Components/JsonConfigComponent/ConfigChip.js +149 -0
  27. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -0
  28. package/Components/JsonConfigComponent/ConfigColor.js +156 -0
  29. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -0
  30. package/Components/JsonConfigComponent/ConfigCoordinates.js +165 -0
  31. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -0
  32. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js +180 -0
  33. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js.map +1 -0
  34. package/Components/JsonConfigComponent/ConfigDatePicker.js +117 -0
  35. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -0
  36. package/Components/JsonConfigComponent/ConfigGeneric.js +660 -0
  37. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -0
  38. package/Components/JsonConfigComponent/ConfigIP.js +151 -0
  39. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -0
  40. package/Components/JsonConfigComponent/ConfigImageUpload.js +215 -0
  41. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -0
  42. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +197 -0
  43. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -0
  44. package/Components/JsonConfigComponent/ConfigJsonEditor.js +211 -0
  45. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -0
  46. package/Components/JsonConfigComponent/ConfigLanguage.js +175 -0
  47. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -0
  48. package/Components/JsonConfigComponent/ConfigNumber.js +194 -0
  49. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -0
  50. package/Components/JsonConfigComponent/ConfigObjectId.js +201 -0
  51. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -0
  52. package/Components/JsonConfigComponent/ConfigPanel.js +421 -0
  53. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -0
  54. package/Components/JsonConfigComponent/ConfigPassword.js +236 -0
  55. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -0
  56. package/Components/JsonConfigComponent/ConfigPattern.js +94 -0
  57. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -0
  58. package/Components/JsonConfigComponent/ConfigSelect.js +163 -0
  59. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -0
  60. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +258 -0
  61. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -0
  62. package/Components/JsonConfigComponent/ConfigSendto.js +282 -0
  63. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -0
  64. package/Components/JsonConfigComponent/ConfigSetState.js +266 -0
  65. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -0
  66. package/Components/JsonConfigComponent/ConfigStaticDivider.js +88 -0
  67. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -0
  68. package/Components/JsonConfigComponent/ConfigStaticHeader.js +81 -0
  69. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -0
  70. package/Components/JsonConfigComponent/ConfigStaticImage.js +88 -0
  71. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -0
  72. package/Components/JsonConfigComponent/ConfigStaticText.js +104 -0
  73. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -0
  74. package/Components/JsonConfigComponent/ConfigTable.js +651 -0
  75. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -0
  76. package/Components/JsonConfigComponent/ConfigTabs.js +166 -0
  77. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -0
  78. package/Components/JsonConfigComponent/ConfigText.js +170 -0
  79. package/Components/JsonConfigComponent/ConfigText.js.map +1 -0
  80. package/Components/JsonConfigComponent/ConfigTextSendTo.js +168 -0
  81. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -0
  82. package/Components/JsonConfigComponent/ConfigTimePicker.js +111 -0
  83. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -0
  84. package/Components/JsonConfigComponent/ConfigTopic.js +140 -0
  85. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -0
  86. package/Components/JsonConfigComponent/ConfigUser.js +176 -0
  87. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -0
  88. package/Components/JsonConfigComponent/index.js +511 -0
  89. package/Components/JsonConfigComponent/index.js.map +1 -0
  90. package/Components/Loader.js.map +1 -1
  91. package/Components/Loaders/PT.js.map +1 -1
  92. package/Components/Loaders/Vendor.js.map +1 -1
  93. package/Components/Logo.js.map +1 -1
  94. package/Components/MDUtils.js.map +1 -1
  95. package/Components/ObjectBrowser.js +24 -42
  96. package/Components/ObjectBrowser.js.map +1 -1
  97. package/Components/Router.js.map +1 -1
  98. package/Components/SaveCloseButtons.js.map +1 -1
  99. package/Components/Schedule.js.map +1 -1
  100. package/Components/SelectWithIcon.js.map +1 -1
  101. package/Components/SimpleCron/cronText.js.map +1 -1
  102. package/Components/SimpleCron/index.js.map +1 -1
  103. package/Components/TabContainer.js.map +1 -1
  104. package/Components/TabContent.js.map +1 -1
  105. package/Components/TabHeader.js.map +1 -1
  106. package/Components/TextWithIcon.js.map +1 -1
  107. package/Components/TreeTable.js.map +1 -1
  108. package/Components/Utils.js +25 -0
  109. package/Components/Utils.js.map +1 -1
  110. package/Components/withWidth.js +42 -0
  111. package/Components/withWidth.js.map +1 -0
  112. package/Connection.js.map +1 -1
  113. package/Dialogs/ComplexCron.js.map +1 -1
  114. package/Dialogs/Confirm.js.map +1 -1
  115. package/Dialogs/Cron.js.map +1 -1
  116. package/Dialogs/Error.js.map +1 -1
  117. package/Dialogs/Message.js.map +1 -1
  118. package/Dialogs/SelectID.js.map +1 -1
  119. package/Dialogs/SimpleCron.js.map +1 -1
  120. package/Dialogs/TextInput.js.map +1 -1
  121. package/GenericApp.js.map +1 -1
  122. package/README.md +11 -1
  123. package/Theme.js.map +1 -1
  124. package/icons/IconAdapter.js.map +1 -1
  125. package/icons/IconAlias.js.map +1 -1
  126. package/icons/IconChannel.js.map +1 -1
  127. package/icons/IconClearFilter.js.map +1 -1
  128. package/icons/IconClosed.js.map +1 -1
  129. package/icons/IconCopy.js.map +1 -1
  130. package/icons/IconDevice.js.map +1 -1
  131. package/icons/IconDocument.js.map +1 -1
  132. package/icons/IconExpert.js.map +1 -1
  133. package/icons/IconFx.js.map +1 -1
  134. package/icons/IconInstance.js.map +1 -1
  135. package/icons/IconLogout.js.map +1 -1
  136. package/icons/IconOpen.js.map +1 -1
  137. package/icons/IconState.js.map +1 -1
  138. package/package.json +5 -5
@@ -0,0 +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 '@iobroker/adapter-react-v5/i18n';\nimport Utils from '@iobroker/adapter-react-v5/Components/Utils';\nimport ConfirmDialog from '@iobroker/adapter-react-v5/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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"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _propTypes = _interopRequireDefault(require("prop-types"));
23
+
24
+ var _styles = require("@mui/styles");
25
+
26
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
27
+
28
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
29
+
30
+ var _FormHelperText = _interopRequireDefault(require("@mui/material/FormHelperText"));
31
+
32
+ var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
33
+
34
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
35
+
36
+ var _i18n = _interopRequireDefault(require("@iobroker/adapter-react-v5/i18n"));
37
+
38
+ var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
39
+
40
+ 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); }; }
41
+
42
+ 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; } }
43
+
44
+ var styles = function styles(theme) {
45
+ return {
46
+ fullWidth: {
47
+ width: '100%'
48
+ }
49
+ };
50
+ };
51
+
52
+ var ConfigIP = /*#__PURE__*/function (_ConfigGeneric) {
53
+ (0, _inherits2["default"])(ConfigIP, _ConfigGeneric);
54
+
55
+ var _super = _createSuper(ConfigIP);
56
+
57
+ function ConfigIP() {
58
+ (0, _classCallCheck2["default"])(this, ConfigIP);
59
+ return _super.apply(this, arguments);
60
+ }
61
+
62
+ (0, _createClass2["default"])(ConfigIP, [{
63
+ key: "componentDidMount",
64
+ value: function componentDidMount() {
65
+ var _this = this;
66
+
67
+ (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigIP.prototype), "componentDidMount", this).call(this);
68
+ this.props.socket.getHostByIp(this.props.common.host).then(function (ips) {
69
+ // [{name, address, family}]
70
+ if (!_this.props.schema.listenOnAllPorts) {
71
+ ips = ips.filter(function (item) {
72
+ return item.address !== '0.0.0.0' && item.address !== '::';
73
+ });
74
+ }
75
+
76
+ if (_this.props.schema.onlyIp4) {
77
+ ips = ips.filter(function (item) {
78
+ return item.family === 'ipv4';
79
+ });
80
+ } else if (_this.props.schema.onlyIp6) {
81
+ ips = ips.filter(function (item) {
82
+ return item.family === 'ipv6';
83
+ });
84
+ }
85
+
86
+ ips.forEach(function (item) {
87
+ if (item.address === '0.0.0.0') {
88
+ item.name = '[IPv4] 0.0.0.0 - ' + _i18n["default"].t('Listen on all IPs');
89
+ } else if (item.address === '::') {
90
+ item.name = '[IPv6] :: - ' + _i18n["default"].t('Listen on all IPs');
91
+ }
92
+ });
93
+
94
+ _this.setState({
95
+ ips: ips
96
+ });
97
+ });
98
+ }
99
+ }, {
100
+ key: "renderItem",
101
+ value: function renderItem(error, disabled, defaultValue) {
102
+ var _this$state$ips,
103
+ _this2 = this,
104
+ _this$state$ips2;
105
+
106
+ var value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
107
+
108
+ var item = (_this$state$ips = this.state.ips) === null || _this$state$ips === void 0 ? void 0 : _this$state$ips.find(function (item) {
109
+ return item.address === value;
110
+ });
111
+ return /*#__PURE__*/React.createElement(_FormControl["default"], {
112
+ className: this.props.classes.fullWidth,
113
+ variant: "standard"
114
+ }, /*#__PURE__*/React.createElement(_InputLabel["default"], null, this.getText(this.props.schema.label)), /*#__PURE__*/React.createElement(_Select["default"], {
115
+ variant: "standard",
116
+ error: !!error,
117
+ disabled: !!disabled,
118
+ value: value,
119
+ renderValue: function renderValue(val) {
120
+ return (item === null || item === void 0 ? void 0 : item.name) || val;
121
+ },
122
+ onChange: function onChange(e) {
123
+ return _this2.onChange(_this2.props.attr, e.target.value);
124
+ }
125
+ }, (_this$state$ips2 = this.state.ips) === null || _this$state$ips2 === void 0 ? void 0 : _this$state$ips2.map(function (item, i) {
126
+ return /*#__PURE__*/React.createElement(_MenuItem["default"], {
127
+ key: i,
128
+ value: item.address
129
+ }, item.name);
130
+ })), this.props.schema.help ? /*#__PURE__*/React.createElement(_FormHelperText["default"], null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null);
131
+ }
132
+ }]);
133
+ return ConfigIP;
134
+ }(_ConfigGeneric2["default"]);
135
+
136
+ ConfigIP.propTypes = {
137
+ socket: _propTypes["default"].object.isRequired,
138
+ themeType: _propTypes["default"].string,
139
+ themeName: _propTypes["default"].string,
140
+ style: _propTypes["default"].object,
141
+ className: _propTypes["default"].string,
142
+ data: _propTypes["default"].object.isRequired,
143
+ schema: _propTypes["default"].object,
144
+ onError: _propTypes["default"].func,
145
+ onChange: _propTypes["default"].func
146
+ };
147
+
148
+ var _default = (0, _styles.withStyles)(styles)(ConfigIP);
149
+
150
+ exports["default"] = _default;
151
+ //# sourceMappingURL=ConfigIP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigIP.js","names":["styles","theme","fullWidth","width","ConfigIP","props","socket","getHostByIp","common","host","then","ips","schema","listenOnAllPorts","filter","item","address","onlyIp4","family","onlyIp6","forEach","name","I18n","t","setState","error","disabled","defaultValue","value","ConfigGeneric","getValue","data","attr","state","find","classes","getText","label","val","e","onChange","target","map","i","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigIP.jsx"],"sourcesContent":["import 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 '@iobroker/adapter-react-v5/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nclass ConfigIP extends ConfigGeneric {\n\n componentDidMount() {\n super.componentDidMount();\n this.props.socket.getHostByIp(this.props.common.host)\n .then(ips => {\n // [{name, address, family}]\n if (!this.props.schema.listenOnAllPorts) {\n ips = ips.filter(item => item.address !== '0.0.0.0' && item.address !== '::');\n }\n if (this.props.schema.onlyIp4) {\n ips = ips.filter(item => item.family === 'ipv4');\n } else\n if (this.props.schema.onlyIp6) {\n ips = ips.filter(item => item.family === 'ipv6');\n }\n ips.forEach(item => {\n if (item.address === '0.0.0.0') {\n item.name = '[IPv4] 0.0.0.0 - ' + I18n.t('Listen on all IPs');\n } else\n if (item.address === '::') {\n item.name = '[IPv6] :: - ' + I18n.t('Listen on all IPs');\n }\n });\n this.setState({ips});\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n const item = this.state.ips?.find(item => item.address === value);\n\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n renderValue={val => item?.name || val}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n >\n {this.state.ips?.map((item, i) =>\n <MenuItem key={i} value={item.address}>{item.name}</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\nConfigIP.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)(ConfigIP);"],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
30
+ var _styles = require("@mui/styles");
31
+
32
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
33
+
34
+ var _FormHelperText = _interopRequireDefault(require("@mui/material/FormHelperText"));
35
+
36
+ var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
37
+
38
+ var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
39
+
40
+ var _UploadImage = _interopRequireDefault(require("../UploadImage"));
41
+
42
+ 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); }; }
43
+
44
+ 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; } }
45
+
46
+ var styles = function styles(theme) {
47
+ return {
48
+ fullWidth: {
49
+ width: '100%'
50
+ },
51
+ image: {
52
+ width: 100
53
+ }
54
+ };
55
+ };
56
+
57
+ var ConfigCertificateSelect = /*#__PURE__*/function (_ConfigGeneric) {
58
+ (0, _inherits2["default"])(ConfigCertificateSelect, _ConfigGeneric);
59
+
60
+ var _super = _createSuper(ConfigCertificateSelect);
61
+
62
+ function ConfigCertificateSelect(props) {
63
+ var _this;
64
+
65
+ (0, _classCallCheck2["default"])(this, ConfigCertificateSelect);
66
+ _this = _super.call(this, props);
67
+ _this.imageRef = /*#__PURE__*/_react["default"].createRef();
68
+ _this.index = Date.now();
69
+ return _this;
70
+ }
71
+
72
+ (0, _createClass2["default"])(ConfigCertificateSelect, [{
73
+ key: "componentDidMount",
74
+ value: function () {
75
+ var _componentDidMount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
76
+ var _this2 = this;
77
+
78
+ var value;
79
+ return _regenerator["default"].wrap(function _callee$(_context) {
80
+ while (1) {
81
+ switch (_context.prev = _context.next) {
82
+ case 0:
83
+ (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigCertificateSelect.prototype), "componentDidMount", this).call(this);
84
+
85
+ if (this.props.schema.base64) {
86
+ value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
87
+ this.setState({
88
+ value: value
89
+ });
90
+ } else {
91
+ this.props.socket.fileExists(this.props.adapterName + '.' + this.props.instance, this.props.attr).then(function (exist) {
92
+ if (exist && _this2.imageRef.current) {
93
+ _this2.imageRef.current.src = _this2._getUrl();
94
+ _this2.imageRef.current.style.display = 'block';
95
+ }
96
+ });
97
+ }
98
+
99
+ case 2:
100
+ case "end":
101
+ return _context.stop();
102
+ }
103
+ }
104
+ }, _callee, this);
105
+ }));
106
+
107
+ function componentDidMount() {
108
+ return _componentDidMount.apply(this, arguments);
109
+ }
110
+
111
+ return componentDidMount;
112
+ }()
113
+ }, {
114
+ key: "_getUrl",
115
+ value: function _getUrl(update) {
116
+ if (update) {
117
+ this.index = Date.now();
118
+ }
119
+
120
+ var url = "files/".concat(this.props.adapterName, ".").concat(this.props.instance, "/").concat(this.props.attr, "?t=").concat(this.index);
121
+
122
+ if (window.location.port === '3000') {
123
+ url = window.location.protocol + '//' + window.location.hostname + ':8081/' + url;
124
+ }
125
+
126
+ return url;
127
+ }
128
+ }, {
129
+ key: "renderItem",
130
+ value: function renderItem(error, disabled, defaultValue) {
131
+ var _this3 = this;
132
+
133
+ // eslint-disable-next-line
134
+ return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
135
+ className: this.props.classes.fullWidth,
136
+ variant: "standard"
137
+ }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
138
+ shrink: true
139
+ }, this.getText(this.props.schema.label)), /*#__PURE__*/_react["default"].createElement(_UploadImage["default"], {
140
+ error: !!error,
141
+ disabled: disabled,
142
+ accept: this.props.schema.accept,
143
+ crop: this.props.schema.crop,
144
+ maxSize: this.props.schema.maxSize || 256 * 1024,
145
+ icon: this.state.value || undefined,
146
+ removeIconFunc: function removeIconFunc() {
147
+ if (_this3.props.schema.base64) {
148
+ _this3.setState({
149
+ value: null
150
+ }, function () {
151
+ return _this3.onChange(_this3.props.attr, _this3.state.value);
152
+ });
153
+ } else {
154
+ // delete file to /instance/attr
155
+ _this3.props.socket.deleteFile(_this3.props.adapterName + '.' + _this3.props.instance, _this3.props.attr); // update image
156
+
157
+
158
+ if (_this3.imageRef.current) {
159
+ _this3.imageRef.current.style.display = 'none';
160
+ _this3.imageRef.current.src = '';
161
+ }
162
+ }
163
+ },
164
+ onChange: function onChange(base64) {
165
+ if (_this3.props.schema.base64) {
166
+ _this3.setState({
167
+ value: base64
168
+ }, function () {
169
+ return _this3.onChange(_this3.props.attr, _this3.state.value);
170
+ });
171
+ } else {
172
+ if (base64.startsWith('data')) {
173
+ base64 = base64.split(',')[1];
174
+ } // upload file to /instance/attr
175
+
176
+
177
+ _this3.props.socket.writeFile64(_this3.props.adapterName + '.' + _this3.props.instance, _this3.props.attr, base64).then(function () {
178
+ if (_this3.imageRef.current) {
179
+ _this3.imageRef.current.style.display = 'block';
180
+ _this3.imageRef.current.src = _this3._getUrl(true);
181
+ }
182
+ });
183
+ }
184
+ },
185
+ t: this.props.t
186
+ }), this.props.schema.help ? /*#__PURE__*/_react["default"].createElement(_FormHelperText["default"], null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null, this.props.schema.base64 ? null : /*#__PURE__*/_react["default"].createElement("img", {
187
+ src: this._getUrl(),
188
+ ref: this.imageRef,
189
+ className: this.props.classes.image,
190
+ style: {
191
+ display: 'none'
192
+ },
193
+ alt: "Background"
194
+ }));
195
+ }
196
+ }]);
197
+ return ConfigCertificateSelect;
198
+ }(_ConfigGeneric2["default"]);
199
+
200
+ ConfigCertificateSelect.propTypes = {
201
+ socket: _propTypes["default"].object.isRequired,
202
+ themeType: _propTypes["default"].string,
203
+ themeName: _propTypes["default"].string,
204
+ style: _propTypes["default"].object,
205
+ className: _propTypes["default"].string,
206
+ data: _propTypes["default"].object.isRequired,
207
+ schema: _propTypes["default"].object,
208
+ onError: _propTypes["default"].func,
209
+ onChange: _propTypes["default"].func
210
+ };
211
+
212
+ var _default = (0, _styles.withStyles)(styles)(ConfigCertificateSelect);
213
+
214
+ exports["default"] = _default;
215
+ //# sourceMappingURL=ConfigImageUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigImageUpload.js","names":["styles","theme","fullWidth","width","image","ConfigCertificateSelect","props","imageRef","React","createRef","index","Date","now","schema","base64","value","ConfigGeneric","getValue","data","attr","setState","socket","fileExists","adapterName","instance","then","exist","current","src","_getUrl","style","display","update","url","window","location","port","protocol","hostname","error","disabled","defaultValue","classes","getText","label","accept","crop","maxSize","state","undefined","onChange","deleteFile","startsWith","split","writeFile64","t","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigImageUpload.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport UploadImage from '../UploadImage';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n image: {\n width: 100\n }\n});\n\nclass ConfigCertificateSelect extends ConfigGeneric {\n constructor(props) {\n super(props);\n this.imageRef = React.createRef();\n this.index = Date.now();\n }\n async componentDidMount() {\n super.componentDidMount();\n\n if (this.props.schema.base64) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ value });\n } else {\n this.props.socket.fileExists(this.props.adapterName + '.' + this.props.instance, this.props.attr)\n .then(exist => {\n if (exist && this.imageRef.current) {\n this.imageRef.current.src = this._getUrl();\n this.imageRef.current.style.display = 'block';\n }\n });\n }\n }\n\n _getUrl(update) {\n if (update) {\n this.index = Date.now();\n }\n let url = `files/${this.props.adapterName}.${this.props.instance}/${this.props.attr}?t=${this.index}`;\n if (window.location.port === '3000') {\n url = window.location.protocol + '//' + window.location.hostname + ':8081/' + url;\n }\n\n return url;\n }\n\n renderItem(error, disabled, defaultValue) {\n // eslint-disable-next-line\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\n <InputLabel shrink>{this.getText(this.props.schema.label)}</InputLabel>\n <UploadImage\n error={!!error}\n disabled={disabled}\n accept={this.props.schema.accept}\n crop={this.props.schema.crop}\n maxSize={this.props.schema.maxSize || 256 * 1024}\n icon={this.state.value || undefined}\n removeIconFunc={() => {\n if (this.props.schema.base64) {\n this.setState({ value: null }, () =>\n this.onChange(this.props.attr, this.state.value));\n } else {\n // delete file to /instance/attr\n this.props.socket.deleteFile(this.props.adapterName + '.' + this.props.instance, this.props.attr);\n // update image\n if (this.imageRef.current) {\n this.imageRef.current.style.display = 'none';\n this.imageRef.current.src = '';\n }\n }\n }}\n onChange={base64 => {\n if (this.props.schema.base64) {\n this.setState({ value: base64 }, () =>\n this.onChange(this.props.attr, this.state.value));\n } else {\n if (base64.startsWith('data')) {\n base64 = base64.split(',')[1];\n }\n // upload file to /instance/attr\n this.props.socket.writeFile64(this.props.adapterName + '.' + this.props.instance, this.props.attr, base64)\n .then(() => {\n if (this.imageRef.current) {\n this.imageRef.current.style.display = 'block';\n this.imageRef.current.src = this._getUrl(true);\n }\n });\n }\n }}\n t={this.props.t}\n />\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n {this.props.schema.base64 ? null : <img\n src={this._getUrl()}\n ref={this.imageRef}\n className={this.props.classes.image}\n style={{display: 'none'}}\n alt=\"Background\"\n />}\n </FormControl>;\n }\n}\n\nConfigCertificateSelect.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)(ConfigCertificateSelect);"],"mappings":"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"}