@iobroker/adapter-react-v5 4.0.8 → 4.0.9

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 (70) hide show
  1. package/Components/404.js.map +1 -1
  2. package/Components/FileBrowser.js.map +1 -1
  3. package/Components/IconSelector.js.map +1 -1
  4. package/Components/JsonConfigComponent/ConfigCRON.js +13 -15
  5. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  6. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +39 -41
  7. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  8. package/Components/JsonConfigComponent/ConfigCheckLicense.js +314 -322
  9. package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
  10. package/Components/JsonConfigComponent/ConfigCustom.js +138 -144
  11. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  12. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  13. package/Components/JsonConfigComponent/ConfigFileSelector.js +95 -99
  14. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  15. package/Components/JsonConfigComponent/ConfigFunc.js +13 -7
  16. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
  17. package/Components/JsonConfigComponent/ConfigGeneric.js +4 -6
  18. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  19. package/Components/JsonConfigComponent/ConfigIP.js +1 -1
  20. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  21. package/Components/JsonConfigComponent/ConfigImageUpload.js +21 -23
  22. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  23. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +69 -71
  24. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  25. package/Components/JsonConfigComponent/ConfigJsonEditor.js +17 -19
  26. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  27. package/Components/JsonConfigComponent/ConfigLanguage.js +2 -2
  28. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  29. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigObjectId.js +14 -16
  31. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigPattern.js +1 -1
  33. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigRoom.js +12 -6
  35. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigSelect.js +1 -1
  37. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigSendto.js +54 -41
  39. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigSetState.js +70 -76
  41. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigTable.js +21 -23
  43. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigTextSendTo.js +2 -2
  45. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  46. package/Components/JsonConfigComponent/ConfigUUID.js +13 -15
  47. package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
  48. package/Components/JsonConfigComponent/ConfigUser.js +2 -2
  49. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
  50. package/Components/ObjectBrowser.js +198 -204
  51. package/Components/ObjectBrowser.js.map +1 -1
  52. package/Components/Schedule.js.map +1 -1
  53. package/Dialogs/SelectFile.js.map +1 -1
  54. package/Dialogs/SelectID.js.map +1 -1
  55. package/LICENSE +1 -1
  56. package/README.md +6 -2
  57. package/_Connection.js +23 -25
  58. package/_Connection.js.map +1 -1
  59. package/i18n/de.json +3 -1
  60. package/i18n/en.json +3 -1
  61. package/i18n/es.json +3 -1
  62. package/i18n/fr.json +3 -1
  63. package/i18n/it.json +3 -1
  64. package/i18n/nl.json +3 -1
  65. package/i18n/pl.json +3 -1
  66. package/i18n/pt.json +3 -1
  67. package/i18n/ru.json +3 -1
  68. package/i18n/uk.json +3 -1
  69. package/i18n/zh-cn.json +3 -1
  70. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigCheckLicense.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","licLabel","fontWeight","minWidth","textTransform","display","licValue","errorTitle","color","palette","mode","okTitle","errorText","marginBottom","ConfigCheckLicense","setState","_error","running","showLicenseData","foundSuitableLicense","licenseOfflineCheck","result","state","undefined","pre","Object","keys","map","key","props","classes","replace","I18n","t","adapterName","socket","getObject","licenses","length","now","Date","schema","uuid","uuidObj","version","aObj","common","forEach","license","validTill","getTime","parts","product","split","useLicense","invoice","isVersionValid","json","window","fetch","method","body","JSON","stringify","headers","response","text","data","parse","e","error","parseJwt","console","log","valid_till","toLocaleString","name","Error","status","useLicenseManager","findInLicenseManager","checkLicense","disabled","defaultValue","variant","_onClick","getText","label","noTranslation","renderMessageDialog","token","base64Url","base64","jsonPayload","decodeURIComponent","atob","c","charCodeAt","toString","slice","join","rule","major","startsWith","parseInt","substring","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","onChange","instance","number","withStyles"],"sources":["JsonConfigComponent/ConfigCheckLicense.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport {\n Button,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogActions,\n DialogTitle,\n} from '@mui/material';\n\nimport IconSend from '@mui/icons-material/Send';\n\nimport I18n from './wrapper/i18n';\nimport DialogError from './wrapper/Dialogs/Error';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n },\n licLabel: {\n fontWeight: 'bold',\n minWidth: 100,\n textTransform: 'capitalize',\n display: 'inline-block',\n },\n licValue: {\n fontWeight: 'normal'\n },\n errorTitle: {\n color: theme.palette.mode === 'dark' ? '#e39191' : '#b62020',\n },\n okTitle: {\n color: theme.palette.mode === 'dark' ? '#6fd56f' : '#007c00',\n },\n errorText: {\n color: theme.palette.mode === 'dark' ? '#e39191' : '#b62020',\n marginBottom: 30,\n }\n});\n\nclass ConfigCheckLicense extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n this.setState( {\n _error: '',\n running: false,\n showLicenseData: null,\n foundSuitableLicense: false,\n licenseOfflineCheck: false,\n result: null,\n });\n }\n\n renderErrorDialog() {\n if (this.state._error && !this.state.showLicenseData) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state.showLicenseData) {\n const pre = Object.keys(this.state.showLicenseData).map(key =>\n <div key={key}><div className={this.props.classes.licLabel}>{key.replace(/_/g, ' ')}:</div> {this.state.showLicenseData[key]}</div>);\n\n return <Dialog\n open={!0}\n onClose={() => this.setState({ showLicenseData: null })}\n >\n <DialogTitle>\n <span\n className={this.state.result ? this.props.classes.okTitle : this.props.classes.errorTitle}\n >\n {I18n.t('ra_License %s', this.state.result ? 'OK' : 'INVALID')}\n </span>\n </DialogTitle>\n <DialogContent>\n {this.state._error ? <div className={this.props.classes.errorText}>{this.state._error}</div> : null}\n {pre}\n </DialogContent>\n <DialogActions>\n <Button\n onClick={() => this.setState({ showLicenseData: null })}\n color=\"primary\"\n variant=\"contained\"\n >\n {I18n.t('ra_Close')}\n </Button>\n </DialogActions>\n </Dialog>\n } else {\n return null;\n }\n }\n\n static parseJwt(token) {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(atob(base64).split('').map(c => `%${(`00${c.charCodeAt(0).toString(16)}`).slice(-2)}`).join(''));\n try {\n return JSON.parse(jsonPayload);\n } catch (e) {\n return null;\n }\n }\n\n static isVersionValid(version, rule, invoice, adapterName) {\n if (!rule || !version) {\n return true;\n }\n let result = true;\n const [major] = version.split('.');\n if (rule.startsWith('>=')) {\n result = parseInt(major, 10) >= parseInt(rule.substring(2, 10));\n } else if (rule.startsWith('<=')) {\n result = parseInt(major, 10) <= parseInt(rule.substring(2, 10));\n } else if (rule.startsWith('>')) {\n result = parseInt(major, 10) > parseInt(rule.substring(1, 10));\n } else if (rule.startsWith('<')) {\n result = parseInt(major, 10) < parseInt(rule.substring(1, 10));\n } else if (rule.startsWith('=')) {\n result = parseInt(major, 10) === parseInt(rule.substring(1, 10));\n } else if (rule.startsWith('==')) {\n result = parseInt(major, 10) === parseInt(rule.substring(2, 10));\n } else if (rule.startsWith('===')) {\n result = parseInt(major, 10) === parseInt(rule.substring(3, 10));\n }\n\n if (!result && invoice && adapterName) {\n // all commercial licenses are valid for all versions\n if (invoice !== 'free') {\n return true;\n }\n }\n\n return true;\n }\n\n async findInLicenseManager(adapterName) {\n // read if license manager is supported\n const licenses = await this.props.socket.getObject('system.licenses');\n if (licenses?.native?.licenses?.length) {\n // enable license manager\n let useLicense;\n const now = Date.now();\n\n let uuid;\n if (this.props.schema.uuid) {\n const uuidObj = await this.props.socket.getObject('system.meta.uuid');\n uuid = uuidObj?.native?.uuid;\n }\n let version;\n if (this.props.schema.version) {\n const aObj = await this.props.socket.getObject(`system.adapter.${adapterName}`);\n version = aObj?.common?.version;\n }\n\n // find license for vis\n licenses.native.licenses.forEach(license => {\n if (!license.validTill || license.validTill === '0000-00-00 00:00:00' || new Date(license.validTill).getTime() > now) {\n const parts = (license.product || '').split('.');\n if (parts[1] === adapterName &&\n (!useLicense || license.invoice !== 'free') &&\n (!uuid || !license.uuid || license.uuid === uuid) &&\n ConfigCheckLicense.isVersionValid(version, license.version, license.invoice, adapterName)\n ) {\n useLicense = license;\n }\n }\n });\n\n return useLicense?.json;\n } else {\n return false;\n }\n }\n\n async checkLicense(license, adapterName) {\n let uuid;\n if (this.props.schema.uuid) {\n const uuidObj = await this.props.socket.getObject('system.meta.uuid');\n uuid = uuidObj?.native?.uuid;\n }\n let version;\n if (this.props.schema.version) {\n const aObj = await this.props.socket.getObject(`system.adapter.${adapterName}`);\n version = aObj?.common?.version;\n }\n\n try {\n const response = await window.fetch('https://iobroker.net/api/v1/public/cert/', {\n method: 'POST',\n body: JSON.stringify({json: license, uuid}),\n headers: {\n 'Content-Type': 'text/plain'\n },\n });\n let data = await response.text();\n try {\n data = JSON.parse(data);\n } catch (e) {\n // ignore\n }\n\n if (data?.error) {\n try {\n const data = ConfigCheckLicense.parseJwt(license);\n return this.setState({\n _error: data.error,\n showLicenseData: data,\n result: false,\n running: false,\n });\n } catch (e) {\n console.log('Cannot parse license')\n return this.setState({ _error: data.error, result: false, running: false });\n }\n } else {\n let showLicenseData = null;\n try {\n showLicenseData = ConfigCheckLicense.parseJwt(license);\n } catch (e) {\n\n }\n if (data) {\n const validTill = data.validTill || data.valid_till;\n if (validTill && validTill !== '0000-00-00 00:00:00' && new Date(validTill).getTime() < Date.now()) {\n return this.setState({\n _error: I18n.t('ra_License expired on %s', new Date(validTill).toLocaleString()),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n const parts = (data.name || '').split('.');\n if (parts[1] === adapterName) {\n // check UUID\n if (uuid && data.uuid && data.uuid !== uuid) {\n return this.setState({\n _error: I18n.t('ra_Serial number (UUID) \"%s\" in license is for other device.', data.uuid),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n\n if (!ConfigCheckLicense.isVersionValid(version, data.version, data.invoice, adapterName)) {\n return this.setState({\n _error: I18n.t('ra_License is for version %s, but required version is %s', data.version, this.props.schema.version),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n\n return this.setState({\n licenseOfflineCheck: true,\n showLicenseData,\n result: true,\n running: false,\n });\n } else {\n return this.setState({\n _error: I18n.t('ra_License for other product \"%s\"', data.name),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n } else {\n throw new Error('ra_Invalid answer from server');\n }\n }\n } catch (error) {\n if (error?.response?.status === 404) {\n return this.setState({ _error: I18n.t('ra_License does not exist'), result: false, running: false });\n }\n // check offline\n try {\n const data = ConfigCheckLicense.parseJwt(license);\n const parts = (data.name || '').split('.');\n\n if (data.valid_till && data.valid_till !== '0000-00-00 00:00:00' && new Date(data.valid_till).getTime() < Date.now()) {\n return this.setState({\n _error: I18n.t('ra_License expired on %s', new Date(data.valid_till).toLocaleString()),\n showLicenseData: data,\n licenseOfflineCheck: true,\n running: false,\n result: false,\n });\n }\n if (parts[1] === adapterName) {\n // check UUID\n if (uuid && data.uuid && data.uuid !== uuid) {\n return this.setState({\n _error: I18n.t('ra_Serial number (UUID) \"%s\" in license is for other device.', data.uuid),\n showLicenseData: data,\n licenseOfflineCheck: true,\n result: false,\n running: false,\n });\n }\n\n if (!ConfigCheckLicense.isVersionValid(version, data.version, data.invoice, adapterName)) {\n return this.setState({\n _error: I18n.t('ra_License is for version %s, but required version is %s', data.version, this.props.schema.version),\n licenseOfflineCheck: true,\n showLicenseData: data,\n result: false,\n running: false,\n });\n }\n\n return this.setState({ result: true, licenseOfflineCheck: true });\n } else {\n return this.setState({\n _error: I18n.t('ra_License for other product \"%s\"', data.name),\n licenseOfflineCheck: true,\n showLicenseData: data,\n result: false,\n running: false,\n });\n }\n } catch (e) {\n return this.setState({ _error: I18n.t('ra_Cannot decode license'), result: false, licenseOfflineCheck: true, running: false });\n }\n }\n }\n\n async _onClick() {\n this.setState({ running: true });\n let license;\n if (this.props.data.useLicenseManager) {\n license = await this.findInLicenseManager(this.props.adapterName);\n } else {\n license = this.props.data.license;\n }\n if (license) {\n await this.checkLicense(license, this.props.adapterName, this.props.schema.uuid);\n } else {\n this.setState({ _error: I18n.t('ra_Suitable license not found in license manager'), result: false, running: false });\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || 'outlined'}\n color={this.props.schema.color || 'primary'}\n className={this.props.classes.fullWidth}\n disabled={!this.props.data.license && !this.props.data.useLicenseManager}\n startIcon={<IconSend />}\n onClick={() => this._onClick()}\n >\n {this.state.running ? <CircularProgress size={20} style={{ marginRight: 8 }} /> : null}\n {this.getText(this.props.schema.label || 'ra_Check license', this.props.schema.noTranslation)}\n </Button>\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigCheckLicense.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 adapterName: PropTypes.string,\n instance: PropTypes.number,\n};\n\nexport default withStyles(styles)(ConfigCheckLicense);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigCheckLicense.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","licLabel","fontWeight","minWidth","textTransform","display","licValue","errorTitle","color","palette","mode","okTitle","errorText","marginBottom","ConfigCheckLicense","setState","_error","running","showLicenseData","foundSuitableLicense","licenseOfflineCheck","result","state","undefined","pre","Object","keys","map","key","props","classes","replace","I18n","t","adapterName","socket","getObject","licenses","length","now","Date","schema","uuid","uuidObj","version","aObj","common","forEach","license","validTill","getTime","parts","product","split","useLicense","invoice","isVersionValid","json","window","fetch","method","body","JSON","stringify","headers","response","text","data","parse","e","error","parseJwt","console","log","valid_till","toLocaleString","name","Error","status","useLicenseManager","findInLicenseManager","checkLicense","disabled","defaultValue","variant","_onClick","getText","label","noTranslation","renderMessageDialog","token","base64Url","base64","jsonPayload","decodeURIComponent","atob","c","charCodeAt","toString","slice","join","rule","major","startsWith","parseInt","substring","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","onChange","instance","number","withStyles"],"sources":["JsonConfigComponent/ConfigCheckLicense.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport {\n Button,\n CircularProgress,\n Dialog,\n DialogContent,\n DialogActions,\n DialogTitle,\n} from '@mui/material';\n\nimport IconSend from '@mui/icons-material/Send';\n\nimport I18n from './wrapper/i18n';\nimport DialogError from './wrapper/Dialogs/Error';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n },\n licLabel: {\n fontWeight: 'bold',\n minWidth: 100,\n textTransform: 'capitalize',\n display: 'inline-block',\n },\n licValue: {\n fontWeight: 'normal'\n },\n errorTitle: {\n color: theme.palette.mode === 'dark' ? '#e39191' : '#b62020',\n },\n okTitle: {\n color: theme.palette.mode === 'dark' ? '#6fd56f' : '#007c00',\n },\n errorText: {\n color: theme.palette.mode === 'dark' ? '#e39191' : '#b62020',\n marginBottom: 30,\n }\n});\n\nclass ConfigCheckLicense extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n this.setState( {\n _error: '',\n running: false,\n showLicenseData: null,\n foundSuitableLicense: false,\n licenseOfflineCheck: false,\n result: null,\n });\n }\n\n renderErrorDialog() {\n if (this.state._error && !this.state.showLicenseData) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state.showLicenseData) {\n const pre = Object.keys(this.state.showLicenseData).map(key =>\n <div key={key}><div className={this.props.classes.licLabel}>{key.replace(/_/g, ' ')}:</div> {this.state.showLicenseData[key]}</div>);\n\n return <Dialog\n open={!0}\n onClose={() => this.setState({ showLicenseData: null })}\n >\n <DialogTitle>\n <span\n className={this.state.result ? this.props.classes.okTitle : this.props.classes.errorTitle}\n >\n {I18n.t('ra_License %s', this.state.result ? 'OK' : 'INVALID')}\n </span>\n </DialogTitle>\n <DialogContent>\n {this.state._error ? <div className={this.props.classes.errorText}>{this.state._error}</div> : null}\n {pre}\n </DialogContent>\n <DialogActions>\n <Button\n onClick={() => this.setState({ showLicenseData: null })}\n color=\"primary\"\n variant=\"contained\"\n >\n {I18n.t('ra_Close')}\n </Button>\n </DialogActions>\n </Dialog>\n } else {\n return null;\n }\n }\n\n static parseJwt(token) {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(atob(base64).split('').map(c => `%${(`00${c.charCodeAt(0).toString(16)}`).slice(-2)}`).join(''));\n try {\n return JSON.parse(jsonPayload);\n } catch (e) {\n return null;\n }\n }\n\n static isVersionValid(version, rule, invoice, adapterName) {\n if (!rule || !version) {\n return true;\n }\n let result = true;\n const [major] = version.split('.');\n if (rule.startsWith('>=')) {\n result = parseInt(major, 10) >= parseInt(rule.substring(2, 10));\n } else if (rule.startsWith('<=')) {\n result = parseInt(major, 10) <= parseInt(rule.substring(2, 10));\n } else if (rule.startsWith('>')) {\n result = parseInt(major, 10) > parseInt(rule.substring(1, 10));\n } else if (rule.startsWith('<')) {\n result = parseInt(major, 10) < parseInt(rule.substring(1, 10));\n } else if (rule.startsWith('=')) {\n result = parseInt(major, 10) === parseInt(rule.substring(1, 10));\n } else if (rule.startsWith('==')) {\n result = parseInt(major, 10) === parseInt(rule.substring(2, 10));\n } else if (rule.startsWith('===')) {\n result = parseInt(major, 10) === parseInt(rule.substring(3, 10));\n }\n\n if (!result && invoice && adapterName) {\n // all commercial licenses are valid for all versions\n if (invoice !== 'free') {\n return true;\n }\n }\n\n return true;\n }\n\n async findInLicenseManager(adapterName) {\n // read if license manager is supported\n const licenses = await this.props.socket.getObject('system.licenses');\n if (licenses?.native?.licenses?.length) {\n // enable license manager\n let useLicense;\n const now = Date.now();\n\n let uuid;\n if (this.props.schema.uuid) {\n const uuidObj = await this.props.socket.getObject('system.meta.uuid');\n uuid = uuidObj?.native?.uuid;\n }\n let version;\n if (this.props.schema.version) {\n const aObj = await this.props.socket.getObject(`system.adapter.${adapterName}`);\n version = aObj?.common?.version;\n }\n\n // find license for vis\n licenses.native.licenses.forEach(license => {\n if (!license.validTill || license.validTill === '0000-00-00 00:00:00' || new Date(license.validTill).getTime() > now) {\n const parts = (license.product || '').split('.');\n if (parts[1] === adapterName &&\n (!useLicense || license.invoice !== 'free') &&\n (!uuid || !license.uuid || license.uuid === uuid) &&\n ConfigCheckLicense.isVersionValid(version, license.version, license.invoice, adapterName)\n ) {\n useLicense = license;\n }\n }\n });\n\n return useLicense?.json;\n } else {\n return false;\n }\n }\n\n async checkLicense(license, adapterName) {\n let uuid;\n if (this.props.schema.uuid) {\n const uuidObj = await this.props.socket.getObject('system.meta.uuid');\n uuid = uuidObj?.native?.uuid;\n }\n let version;\n if (this.props.schema.version) {\n const aObj = await this.props.socket.getObject(`system.adapter.${adapterName}`);\n version = aObj?.common?.version;\n }\n\n try {\n const response = await window.fetch('https://iobroker.net/api/v1/public/cert/', {\n method: 'POST',\n body: JSON.stringify({json: license, uuid}),\n headers: {\n 'Content-Type': 'text/plain'\n },\n });\n let data = await response.text();\n try {\n data = JSON.parse(data);\n } catch (e) {\n // ignore\n }\n\n if (data?.error) {\n try {\n const data = ConfigCheckLicense.parseJwt(license);\n return this.setState({\n _error: data.error,\n showLicenseData: data,\n result: false,\n running: false,\n });\n } catch (e) {\n console.log('Cannot parse license')\n return this.setState({ _error: data.error, result: false, running: false });\n }\n } else {\n let showLicenseData = null;\n try {\n showLicenseData = ConfigCheckLicense.parseJwt(license);\n } catch (e) {\n\n }\n if (data) {\n const validTill = data.validTill || data.valid_till;\n if (validTill && validTill !== '0000-00-00 00:00:00' && new Date(validTill).getTime() < Date.now()) {\n return this.setState({\n _error: I18n.t('ra_License expired on %s', new Date(validTill).toLocaleString()),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n const parts = (data.name || '').split('.');\n if (parts[1] === adapterName) {\n // check UUID\n if (uuid && data.uuid && data.uuid !== uuid) {\n return this.setState({\n _error: I18n.t('ra_Serial number (UUID) \"%s\" in license is for other device.', data.uuid),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n\n if (!ConfigCheckLicense.isVersionValid(version, data.version, data.invoice, adapterName)) {\n return this.setState({\n _error: I18n.t('ra_License is for version %s, but required version is %s', data.version, this.props.schema.version),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n\n return this.setState({\n licenseOfflineCheck: true,\n showLicenseData,\n result: true,\n running: false,\n });\n } else {\n return this.setState({\n _error: I18n.t('ra_License for other product \"%s\"', data.name),\n licenseOfflineCheck: true,\n showLicenseData,\n result: false,\n running: false,\n });\n }\n } else {\n throw new Error('ra_Invalid answer from server');\n }\n }\n } catch (error) {\n if (error?.response?.status === 404) {\n return this.setState({ _error: I18n.t('ra_License does not exist'), result: false, running: false });\n }\n // check offline\n try {\n const data = ConfigCheckLicense.parseJwt(license);\n const parts = (data.name || '').split('.');\n\n if (data.valid_till && data.valid_till !== '0000-00-00 00:00:00' && new Date(data.valid_till).getTime() < Date.now()) {\n return this.setState({\n _error: I18n.t('ra_License expired on %s', new Date(data.valid_till).toLocaleString()),\n showLicenseData: data,\n licenseOfflineCheck: true,\n running: false,\n result: false,\n });\n }\n if (parts[1] === adapterName) {\n // check UUID\n if (uuid && data.uuid && data.uuid !== uuid) {\n return this.setState({\n _error: I18n.t('ra_Serial number (UUID) \"%s\" in license is for other device.', data.uuid),\n showLicenseData: data,\n licenseOfflineCheck: true,\n result: false,\n running: false,\n });\n }\n\n if (!ConfigCheckLicense.isVersionValid(version, data.version, data.invoice, adapterName)) {\n return this.setState({\n _error: I18n.t('ra_License is for version %s, but required version is %s', data.version, this.props.schema.version),\n licenseOfflineCheck: true,\n showLicenseData: data,\n result: false,\n running: false,\n });\n }\n\n return this.setState({ result: true, licenseOfflineCheck: true });\n } else {\n return this.setState({\n _error: I18n.t('ra_License for other product \"%s\"', data.name),\n licenseOfflineCheck: true,\n showLicenseData: data,\n result: false,\n running: false,\n });\n }\n } catch (e) {\n return this.setState({ _error: I18n.t('ra_Cannot decode license'), result: false, licenseOfflineCheck: true, running: false });\n }\n }\n }\n\n async _onClick() {\n this.setState({ running: true });\n let license;\n if (this.props.data.useLicenseManager) {\n license = await this.findInLicenseManager(this.props.adapterName);\n } else {\n license = this.props.data.license;\n }\n if (license) {\n await this.checkLicense(license, this.props.adapterName, this.props.schema.uuid);\n } else {\n this.setState({ _error: I18n.t('ra_Suitable license not found in license manager'), result: false, running: false });\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || 'outlined'}\n color={this.props.schema.color || 'primary'}\n className={this.props.classes.fullWidth}\n disabled={!this.props.data.license && !this.props.data.useLicenseManager}\n startIcon={<IconSend />}\n onClick={() => this._onClick()}\n >\n {this.state.running ? <CircularProgress size={20} style={{ marginRight: 8 }} /> : null}\n {this.getText(this.props.schema.label || 'ra_Check license', this.props.schema.noTranslation)}\n </Button>\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigCheckLicense.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 adapterName: PropTypes.string,\n instance: PropTypes.number,\n};\n\nexport default withStyles(styles)(ConfigCheckLicense);"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAEA;AASA;AAEA;AACA;AAEA;AAA4C;AAAA;AAE5C,IAAMA,MAAM,GAAG,SAATA,MAAM,CAAGC,KAAK;EAAA,OAAK;IACrBC,SAAS,EAAE;MACPC,KAAK,EAAE;IACX,CAAC;IACDC,IAAI,EAAE;MACFD,KAAK,EAAE,EAAE;MACTE,MAAM,EAAE,EAAE;MACVC,WAAW,EAAE;IACjB,CAAC;IACDC,QAAQ,EAAE;MACNC,UAAU,EAAE,MAAM;MAClBC,QAAQ,EAAE,GAAG;MACbC,aAAa,EAAE,YAAY;MAC3BC,OAAO,EAAE;IACb,CAAC;IACDC,QAAQ,EAAE;MACNJ,UAAU,EAAE;IAChB,CAAC;IACDK,UAAU,EAAE;MACRC,KAAK,EAAEb,KAAK,CAACc,OAAO,CAACC,IAAI,KAAK,MAAM,GAAG,SAAS,GAAG;IACvD,CAAC;IACDC,OAAO,EAAE;MACLH,KAAK,EAAEb,KAAK,CAACc,OAAO,CAACC,IAAI,KAAK,MAAM,GAAG,SAAS,GAAG;IACvD,CAAC;IACDE,SAAS,EAAE;MACPJ,KAAK,EAAEb,KAAK,CAACc,OAAO,CAACC,IAAI,KAAK,MAAM,GAAG,SAAS,GAAG,SAAS;MAC5DG,YAAY,EAAE;IAClB;EACJ,CAAC;AAAA,CAAC;AAAC,IAEGC,kBAAkB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,uGACpB;QAAA;UAAA;YAAA;cACI;cACA,IAAI,CAACC,QAAQ,CAAE;gBACXC,MAAM,EAAE,EAAE;gBACVC,OAAO,EAAE,KAAK;gBACdC,eAAe,EAAE,IAAI;gBACrBC,oBAAoB,EAAE,KAAK;gBAC3BC,mBAAmB,EAAE,KAAK;gBAC1BC,MAAM,EAAE;cACZ,CAAC,CAAC;YAAC;YAAA;cAAA;UAAA;QAAA;MAAA,CACN;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,6BAAoB;MAAA;MAChB,IAAI,IAAI,CAACC,KAAK,CAACN,MAAM,IAAI,CAAC,IAAI,CAACM,KAAK,CAACJ,eAAe,EAAE;QAClD,oBAAO,gCAAC,iBAAW;UAAC,IAAI,EAAE,IAAI,CAACI,KAAK,CAACN,MAAO;UAAC,OAAO,EAAEO,SAAU;UAAC,OAAO,EAAE;YAAA,OAAM,KAAI,CAACR,QAAQ,CAAC;cAACC,MAAM,EAAE;YAAE,CAAC,CAAC;UAAA;QAAC,EAAG;MACnH,CAAC,MAAM;QACH,OAAO,IAAI;MACf;IACJ;EAAC;IAAA;IAAA,OAED,+BAAsB;MAAA;MAClB,IAAI,IAAI,CAACM,KAAK,CAACJ,eAAe,EAAE;QAC5B,IAAMM,GAAG,GAAGC,MAAM,CAACC,IAAI,CAAC,IAAI,CAACJ,KAAK,CAACJ,eAAe,CAAC,CAACS,GAAG,CAAC,UAAAC,GAAG;UAAA,oBACvD;YAAK,GAAG,EAAEA;UAAI,gBAAC;YAAK,SAAS,EAAE,MAAI,CAACC,KAAK,CAACC,OAAO,CAAC7B;UAAS,GAAE2B,GAAG,CAACG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAC,GAAC,CAAM,KAAC,EAAC,MAAI,CAACT,KAAK,CAACJ,eAAe,CAACU,GAAG,CAAC,CAAO;QAAA,EAAC;QAExI,oBAAO,gCAAC,gBAAM;UACV,IAAI,EAAE,CAAC,CAAE;UACT,OAAO,EAAE;YAAA,OAAM,MAAI,CAACb,QAAQ,CAAC;cAAEG,eAAe,EAAE;YAAK,CAAC,CAAC;UAAA;QAAC,gBAExD,gCAAC,qBAAW,qBACR;UACI,SAAS,EAAE,IAAI,CAACI,KAAK,CAACD,MAAM,GAAG,IAAI,CAACQ,KAAK,CAACC,OAAO,CAACnB,OAAO,GAAG,IAAI,CAACkB,KAAK,CAACC,OAAO,CAACvB;QAAW,GAEzFyB,gBAAI,CAACC,CAAC,CAAC,eAAe,EAAE,IAAI,CAACX,KAAK,CAACD,MAAM,GAAG,IAAI,GAAI,SAAS,CAAC,CAC5D,CACG,eACd,gCAAC,uBAAa,QACT,IAAI,CAACC,KAAK,CAACN,MAAM,gBAAG;UAAK,SAAS,EAAE,IAAI,CAACa,KAAK,CAACC,OAAO,CAAClB;QAAU,GAAE,IAAI,CAACU,KAAK,CAACN,MAAM,CAAO,GAAG,IAAI,EAClGQ,GAAG,CACQ,eAChB,gCAAC,uBAAa,qBACV,gCAAC,gBAAM;UACH,OAAO,EAAE;YAAA,OAAM,MAAI,CAACT,QAAQ,CAAC;cAAEG,eAAe,EAAE;YAAK,CAAC,CAAC;UAAA,CAAC;UACxD,KAAK,EAAC,SAAS;UACf,OAAO,EAAC;QAAW,GAElBc,gBAAI,CAACC,CAAC,CAAC,UAAU,CAAC,CACd,CACG,CACX;MACb,CAAC,MAAM;QACH,OAAO,IAAI;MACf;IACJ;EAAC;IAAA;IAAA;MAAA,0GA6CD,kBAA2BC,WAAW;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OAEX,IAAI,CAACL,KAAK,CAACM,MAAM,CAACC,SAAS,CAAC,iBAAiB,CAAC;YAAA;cAA/DC,QAAQ;cAAA,MACVA,QAAQ,aAARA,QAAQ,mCAARA,QAAQ,UAAQ,sEAAhB,iBAAkBA,QAAQ,kDAA1B,sBAA4BC,MAAM;gBAAA;gBAAA;cAAA;cAClC;cAEMC,GAAG,GAAGC,IAAI,CAACD,GAAG,EAAE;cAAA,KAGlB,IAAI,CAACV,KAAK,CAACY,MAAM,CAACC,IAAI;gBAAA;gBAAA;cAAA;cAAA;cAAA,OACA,IAAI,CAACb,KAAK,CAACM,MAAM,CAACC,SAAS,CAAC,kBAAkB,CAAC;YAAA;cAA/DO,OAAO;cACbD,IAAI,GAAGC,OAAO,aAAPA,OAAO,0CAAPA,OAAO,UAAQ,oDAAf,gBAAiBD,IAAI;YAAC;cAAA,KAG7B,IAAI,CAACb,KAAK,CAACY,MAAM,CAACG,OAAO;gBAAA;gBAAA;cAAA;cAAA;cAAA,OACN,IAAI,CAACf,KAAK,CAACM,MAAM,CAACC,SAAS,0BAAmBF,WAAW,EAAG;YAAA;cAAzEW,IAAI;cACVD,OAAO,GAAGC,IAAI,aAAJA,IAAI,uCAAJA,IAAI,CAAEC,MAAM,iDAAZ,aAAcF,OAAO;YAAC;cAGpC;cACAP,QAAQ,UAAO,CAACA,QAAQ,CAACU,OAAO,CAAC,UAAAC,OAAO,EAAI;gBACxC,IAAI,CAACA,OAAO,CAACC,SAAS,IAAID,OAAO,CAACC,SAAS,KAAK,qBAAqB,IAAI,IAAIT,IAAI,CAACQ,OAAO,CAACC,SAAS,CAAC,CAACC,OAAO,EAAE,GAAGX,GAAG,EAAE;kBAClH,IAAMY,KAAK,GAAG,CAACH,OAAO,CAACI,OAAO,IAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC;kBAChD,IAAIF,KAAK,CAAC,CAAC,CAAC,KAAKjB,WAAW,KACvB,CAACoB,UAAU,IAAIN,OAAO,CAACO,OAAO,KAAK,MAAM,CAAC,KAC1C,CAACb,IAAI,IAAI,CAACM,OAAO,CAACN,IAAI,IAAIM,OAAO,CAACN,IAAI,KAAKA,IAAI,CAAC,IACjD5B,kBAAkB,CAAC0C,cAAc,CAACZ,OAAO,EAAEI,OAAO,CAACJ,OAAO,EAAEI,OAAO,CAACO,OAAO,EAAErB,WAAW,CAAC,EAC3F;oBACEoB,UAAU,GAAGN,OAAO;kBACxB;gBACJ;cACJ,CAAC,CAAC;cAAC,iDAEIM,UAAU,gDAAV,YAAYG,IAAI;YAAA;cAAA,kCAEhB,KAAK;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAEnB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,kGAED,kBAAmBT,OAAO,EAAEd,WAAW;QAAA;QAAA;UAAA;YAAA;cAAA,KAE/B,IAAI,CAACL,KAAK,CAACY,MAAM,CAACC,IAAI;gBAAA;gBAAA;cAAA;cAAA;cAAA,OACA,IAAI,CAACb,KAAK,CAACM,MAAM,CAACC,SAAS,CAAC,kBAAkB,CAAC;YAAA;cAA/DO,OAAO;cACbD,IAAI,GAAGC,OAAO,aAAPA,OAAO,2CAAPA,OAAO,UAAQ,qDAAf,iBAAiBD,IAAI;YAAC;cAAA,KAG7B,IAAI,CAACb,KAAK,CAACY,MAAM,CAACG,OAAO;gBAAA;gBAAA;cAAA;cAAA;cAAA,OACN,IAAI,CAACf,KAAK,CAACM,MAAM,CAACC,SAAS,0BAAmBF,WAAW,EAAG;YAAA;cAAzEW,IAAI;cACVD,OAAO,GAAGC,IAAI,aAAJA,IAAI,wCAAJA,IAAI,CAAEC,MAAM,kDAAZ,cAAcF,OAAO;YAAC;cAAA;cAAA;cAAA,OAITc,MAAM,CAACC,KAAK,CAAC,0CAA0C,EAAE;gBAC5EC,MAAM,EAAE,MAAM;gBACdC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;kBAACN,IAAI,EAAET,OAAO;kBAAEN,IAAI,EAAJA;gBAAI,CAAC,CAAC;gBAC3CsB,OAAO,EAAE;kBACL,cAAc,EAAE;gBACpB;cACJ,CAAC,CAAC;YAAA;cANIC,QAAQ;cAAA;cAAA,OAOGA,QAAQ,CAACC,IAAI,EAAE;YAAA;cAA5BC,IAAI;cACR,IAAI;gBACAA,IAAI,GAAGL,IAAI,CAACM,KAAK,CAACD,IAAI,CAAC;cAC3B,CAAC,CAAC,OAAOE,CAAC,EAAE;gBACR;cAAA;cACH,eAEGF,IAAI,kCAAJ,MAAMG,KAAK;gBAAA;gBAAA;cAAA;cAAA;cAEDH,MAAI,GAAGrD,kBAAkB,CAACyD,QAAQ,CAACvB,OAAO,CAAC;cAAA,kCAC1C,IAAI,CAACjC,QAAQ,CAAC;gBACjBC,MAAM,EAAEmD,MAAI,CAACG,KAAK;gBAClBpD,eAAe,EAAEiD,MAAI;gBACrB9C,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA;cAAA;cAEFuD,OAAO,CAACC,GAAG,CAAC,sBAAsB,CAAC;cAAA,kCAC5B,IAAI,CAAC1D,QAAQ,CAAC;gBAAEC,MAAM,EAAEmD,IAAI,CAACG,KAAK;gBAAEjD,MAAM,EAAE,KAAK;gBAAEJ,OAAO,EAAE;cAAM,CAAC,CAAC;YAAA;cAAA;cAAA;YAAA;cAG3EC,eAAe,GAAG,IAAI;cAC1B,IAAI;gBACAA,eAAe,GAAGJ,kBAAkB,CAACyD,QAAQ,CAACvB,OAAO,CAAC;cAC1D,CAAC,CAAC,OAAOqB,CAAC,EAAE,CAEZ;cAAC,KACGF,IAAI;gBAAA;gBAAA;cAAA;cACElB,SAAS,GAAGkB,IAAI,CAAClB,SAAS,IAAIkB,IAAI,CAACO,UAAU;cAAA,MAC/CzB,SAAS,IAAIA,SAAS,KAAK,qBAAqB,IAAI,IAAIT,IAAI,CAACS,SAAS,CAAC,CAACC,OAAO,EAAE,GAAGV,IAAI,CAACD,GAAG,EAAE;gBAAA;gBAAA;cAAA;cAAA,kCACvF,IAAI,CAACxB,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,0BAA0B,EAAE,IAAIO,IAAI,CAACS,SAAS,CAAC,CAAC0B,cAAc,EAAE,CAAC;gBAChFvD,mBAAmB,EAAE,IAAI;gBACzBF,eAAe,EAAfA,eAAe;gBACfG,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAEAkC,KAAK,GAAG,CAACgB,IAAI,CAACS,IAAI,IAAI,EAAE,EAAEvB,KAAK,CAAC,GAAG,CAAC;cAAA,MACtCF,KAAK,CAAC,CAAC,CAAC,KAAKjB,WAAW;gBAAA;gBAAA;cAAA;cAAA,MAEpBQ,IAAI,IAAIyB,IAAI,CAACzB,IAAI,IAAIyB,IAAI,CAACzB,IAAI,KAAKA,IAAI;gBAAA;gBAAA;cAAA;cAAA,kCAChC,IAAI,CAAC3B,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,8DAA8D,EAAEkC,IAAI,CAACzB,IAAI,CAAC;gBACzFtB,mBAAmB,EAAE,IAAI;gBACzBF,eAAe,EAAfA,eAAe;gBACfG,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA,IAGDH,kBAAkB,CAAC0C,cAAc,CAACZ,OAAO,EAAEuB,IAAI,CAACvB,OAAO,EAAEuB,IAAI,CAACZ,OAAO,EAAErB,WAAW,CAAC;gBAAA;gBAAA;cAAA;cAAA,kCAC7E,IAAI,CAACnB,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,0DAA0D,EAAEkC,IAAI,CAACvB,OAAO,EAAE,IAAI,CAACf,KAAK,CAACY,MAAM,CAACG,OAAO,CAAC;gBACnHxB,mBAAmB,EAAE,IAAI;gBACzBF,eAAe,EAAfA,eAAe;gBACfG,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA,kCAGC,IAAI,CAACF,QAAQ,CAAC;gBACjBK,mBAAmB,EAAE,IAAI;gBACzBF,eAAe,EAAfA,eAAe;gBACfG,MAAM,EAAE,IAAI;gBACZJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA,kCAEK,IAAI,CAACF,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,mCAAmC,EAAEkC,IAAI,CAACS,IAAI,CAAC;gBAC9DxD,mBAAmB,EAAE,IAAI;gBACzBF,eAAe,EAAfA,eAAe;gBACfG,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA;cAAA;YAAA;cAAA,MAGA,IAAI4D,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAAA;cAAA;YAAA;cAAA;cAAA;cAAA,MAIpD,6FAAOZ,QAAQ,oDAAf,gBAAiBa,MAAM,MAAK,GAAG;gBAAA;gBAAA;cAAA;cAAA,kCACxB,IAAI,CAAC/D,QAAQ,CAAC;gBAAEC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,2BAA2B,CAAC;gBAAEZ,MAAM,EAAE,KAAK;gBAAEJ,OAAO,EAAE;cAAM,CAAC,CAAC;YAAA;cAAA;cAI9FkD,MAAI,GAAGrD,kBAAkB,CAACyD,QAAQ,CAACvB,OAAO,CAAC;cAC3CG,MAAK,GAAG,CAACgB,MAAI,CAACS,IAAI,IAAI,EAAE,EAAEvB,KAAK,CAAC,GAAG,CAAC;cAAA,MAEtCc,MAAI,CAACO,UAAU,IAAIP,MAAI,CAACO,UAAU,KAAK,qBAAqB,IAAI,IAAIlC,IAAI,CAAC2B,MAAI,CAACO,UAAU,CAAC,CAACxB,OAAO,EAAE,GAAGV,IAAI,CAACD,GAAG,EAAE;gBAAA;gBAAA;cAAA;cAAA,kCACzG,IAAI,CAACxB,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,0BAA0B,EAAE,IAAIO,IAAI,CAAC2B,MAAI,CAACO,UAAU,CAAC,CAACC,cAAc,EAAE,CAAC;gBACtFzD,eAAe,EAAEiD,MAAI;gBACrB/C,mBAAmB,EAAE,IAAI;gBACzBH,OAAO,EAAE,KAAK;gBACdI,MAAM,EAAE;cACZ,CAAC,CAAC;YAAA;cAAA,MAEF8B,MAAK,CAAC,CAAC,CAAC,KAAKjB,WAAW;gBAAA;gBAAA;cAAA;cAAA,MAEpBQ,IAAI,IAAIyB,MAAI,CAACzB,IAAI,IAAIyB,MAAI,CAACzB,IAAI,KAAKA,IAAI;gBAAA;gBAAA;cAAA;cAAA,kCAChC,IAAI,CAAC3B,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,8DAA8D,EAAEkC,MAAI,CAACzB,IAAI,CAAC;gBACzFxB,eAAe,EAAEiD,MAAI;gBACrB/C,mBAAmB,EAAE,IAAI;gBACzBC,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA,IAGDH,kBAAkB,CAAC0C,cAAc,CAACZ,OAAO,EAAEuB,MAAI,CAACvB,OAAO,EAAEuB,MAAI,CAACZ,OAAO,EAAErB,WAAW,CAAC;gBAAA;gBAAA;cAAA;cAAA,kCAC7E,IAAI,CAACnB,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,0DAA0D,EAAEkC,MAAI,CAACvB,OAAO,EAAE,IAAI,CAACf,KAAK,CAACY,MAAM,CAACG,OAAO,CAAC;gBACnHxB,mBAAmB,EAAE,IAAI;gBACzBF,eAAe,EAAEiD,MAAI;gBACrB9C,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA,kCAGC,IAAI,CAACF,QAAQ,CAAC;gBAAEM,MAAM,EAAE,IAAI;gBAAED,mBAAmB,EAAE;cAAK,CAAC,CAAC;YAAA;cAAA,kCAE1D,IAAI,CAACL,QAAQ,CAAC;gBACjBC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,mCAAmC,EAAEkC,MAAI,CAACS,IAAI,CAAC;gBAC9DxD,mBAAmB,EAAE,IAAI;gBACzBF,eAAe,EAAEiD,MAAI;gBACrB9C,MAAM,EAAE,KAAK;gBACbJ,OAAO,EAAE;cACb,CAAC,CAAC;YAAA;cAAA;cAAA;YAAA;cAAA;cAAA;cAAA,kCAGC,IAAI,CAACF,QAAQ,CAAC;gBAAEC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,0BAA0B,CAAC;gBAAEZ,MAAM,EAAE,KAAK;gBAAED,mBAAmB,EAAE,IAAI;gBAAEH,OAAO,EAAE;cAAM,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAGzI;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8FAED;QAAA;QAAA;UAAA;YAAA;cACI,IAAI,CAACF,QAAQ,CAAC;gBAAEE,OAAO,EAAE;cAAK,CAAC,CAAC;cAAC,KAE7B,IAAI,CAACY,KAAK,CAACsC,IAAI,CAACY,iBAAiB;gBAAA;gBAAA;cAAA;cAAA;cAAA,OACjB,IAAI,CAACC,oBAAoB,CAAC,IAAI,CAACnD,KAAK,CAACK,WAAW,CAAC;YAAA;cAAjEc,OAAO;cAAA;cAAA;YAAA;cAEPA,OAAO,GAAG,IAAI,CAACnB,KAAK,CAACsC,IAAI,CAACnB,OAAO;YAAC;cAAA,KAElCA,OAAO;gBAAA;gBAAA;cAAA;cAAA;cAAA,OACD,IAAI,CAACiC,YAAY,CAACjC,OAAO,EAAE,IAAI,CAACnB,KAAK,CAACK,WAAW,EAAE,IAAI,CAACL,KAAK,CAACY,MAAM,CAACC,IAAI,CAAC;YAAA;cAAA;cAAA;YAAA;cAEhF,IAAI,CAAC3B,QAAQ,CAAC;gBAAEC,MAAM,EAAEgB,gBAAI,CAACC,CAAC,CAAC,kDAAkD,CAAC;gBAAEZ,MAAM,EAAE,KAAK;gBAAEJ,OAAO,EAAE;cAAM,CAAC,CAAC;YAAC;YAAA;cAAA;UAAA;QAAA;MAAA,CAE5H;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,oBAAWqD,KAAK,EAAEY,QAAQ,EAAEC,YAAY,EAAE;MAAA;MACtC,oBAAO;QAAK,SAAS,EAAE,IAAI,CAACtD,KAAK,CAACC,OAAO,CAAClC;MAAU,gBAChD,gCAAC,gBAAM;QACH,OAAO,EAAE,IAAI,CAACiC,KAAK,CAACY,MAAM,CAAC2C,OAAO,IAAI,UAAW;QACjD,KAAK,EAAE,IAAI,CAACvD,KAAK,CAACY,MAAM,CAACjC,KAAK,IAAI,SAAU;QAC5C,SAAS,EAAE,IAAI,CAACqB,KAAK,CAACC,OAAO,CAAClC,SAAU;QACxC,QAAQ,EAAE,CAAC,IAAI,CAACiC,KAAK,CAACsC,IAAI,CAACnB,OAAO,IAAI,CAAC,IAAI,CAACnB,KAAK,CAACsC,IAAI,CAACY,iBAAkB;QACzE,SAAS,eAAE,gCAAC,gBAAQ,OAAI;QACxB,OAAO,EAAE;UAAA,OAAM,MAAI,CAACM,QAAQ,EAAE;QAAA;MAAC,GAE9B,IAAI,CAAC/D,KAAK,CAACL,OAAO,gBAAG,gCAAC,0BAAgB;QAAC,IAAI,EAAE,EAAG;QAAC,KAAK,EAAE;UAAEjB,WAAW,EAAE;QAAE;MAAE,EAAG,GAAG,IAAI,EACrF,IAAI,CAACsF,OAAO,CAAC,IAAI,CAACzD,KAAK,CAACY,MAAM,CAAC8C,KAAK,IAAI,kBAAkB,EAAE,IAAI,CAAC1D,KAAK,CAACY,MAAM,CAAC+C,aAAa,CAAC,CACxF,EACR,IAAI,CAACC,mBAAmB,EAAE,CACzB;IACV;EAAC;IAAA;IAAA,OA5QD,kBAAgBC,KAAK,EAAE;MACnB,IAAMC,SAAS,GAAGD,KAAK,CAACrC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACrC,IAAMuC,MAAM,GAAGD,SAAS,CAAC5D,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MAC9D,IAAM8D,WAAW,GAAGC,kBAAkB,CAACC,IAAI,CAACH,MAAM,CAAC,CAACvC,KAAK,CAAC,EAAE,CAAC,CAAC1B,GAAG,CAAC,UAAAqE,CAAC;QAAA,kBAAQ,YAAMA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAIC,KAAK,CAAC,CAAC,CAAC,CAAC;MAAA,CAAE,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC;MACvI,IAAI;QACA,OAAOtC,IAAI,CAACM,KAAK,CAACyB,WAAW,CAAC;MAClC,CAAC,CAAC,OAAOxB,CAAC,EAAE;QACR,OAAO,IAAI;MACf;IACJ;EAAC;IAAA;IAAA,OAED,wBAAsBzB,OAAO,EAAEyD,IAAI,EAAE9C,OAAO,EAAErB,WAAW,EAAE;MACvD,IAAI,CAACmE,IAAI,IAAI,CAACzD,OAAO,EAAE;QACnB,OAAO,IAAI;MACf;MACA,IAAIvB,MAAM,GAAG,IAAI;MACjB,qBAAgBuB,OAAO,CAACS,KAAK,CAAC,GAAG,CAAC;QAAA;QAA3BiD,KAAK;MACZ,IAAID,IAAI,CAACE,UAAU,CAAC,IAAI,CAAC,EAAE;QACvBlF,MAAM,GAAGmF,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,IAAIE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MACnE,CAAC,MAAM,IAAIJ,IAAI,CAACE,UAAU,CAAC,IAAI,CAAC,EAAE;QAC9BlF,MAAM,GAAGmF,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,IAAIE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MACnE,CAAC,MAAM,IAAIJ,IAAI,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7BlF,MAAM,GAAGmF,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,GAAGE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MAClE,CAAC,MAAM,IAAIJ,IAAI,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7BlF,MAAM,GAAGmF,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,GAAGE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MAClE,CAAC,MAAM,IAAIJ,IAAI,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7BlF,MAAM,GAAGmF,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,KAAKE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MACpE,CAAC,MAAM,IAAIJ,IAAI,CAACE,UAAU,CAAC,IAAI,CAAC,EAAE;QAC9BlF,MAAM,GAAGmF,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,KAAKE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MACpE,CAAC,MAAM,IAAIJ,IAAI,CAACE,UAAU,CAAC,KAAK,CAAC,EAAE;QAC/BlF,MAAM,GAAGmF,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,KAAKE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MACpE;MAEA,IAAI,CAACpF,MAAM,IAAIkC,OAAO,IAAIrB,WAAW,EAAE;QACnC;QACA,IAAIqB,OAAO,KAAK,MAAM,EAAE;UACpB,OAAO,IAAI;QACf;MACJ;MAEA,OAAO,IAAI;IACf;EAAC;EAAA;AAAA,EAjG4BmD,0BAAa;AAuU9C5F,kBAAkB,CAAC6F,SAAS,GAAG;EAC3BxE,MAAM,EAAEyE,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnCC,SAAS,EAAEH,qBAAS,CAACI,MAAM;EAC3BC,SAAS,EAAEL,qBAAS,CAACI,MAAM;EAC3BE,KAAK,EAAEN,qBAAS,CAACC,MAAM;EACvBM,SAAS,EAAEP,qBAAS,CAACI,MAAM;EAC3B7C,IAAI,EAAEyC,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjCrE,MAAM,EAAEmE,qBAAS,CAACC,MAAM;EACxBO,OAAO,EAAER,qBAAS,CAACS,IAAI;EACvBC,QAAQ,EAAEV,qBAAS,CAACS,IAAI;EACxBnF,WAAW,EAAE0E,qBAAS,CAACI,MAAM;EAC7BO,QAAQ,EAAEX,qBAAS,CAACY;AACxB,CAAC;AAAC,eAEa,IAAAC,kBAAU,EAAC/H,MAAM,CAAC,CAACoB,kBAAkB,CAAC;AAAA"}
@@ -35,45 +35,43 @@ var getOrLoadRemote = function getOrLoadRemote(remote, shareScope) {
35
35
  var onload = /*#__PURE__*/function () {
36
36
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
37
37
  return _regenerator["default"].wrap(function _callee$(_context) {
38
- while (1) {
39
- switch (_context.prev = _context.next) {
40
- case 0:
41
- if (!window[remote]) {
42
- _context.next = 12;
43
- break;
44
- }
45
- if (window[remote].__initialized) {
46
- _context.next = 10;
47
- break;
48
- }
49
- if (!(typeof __webpack_share_scopes__ === 'undefined')) {
50
- _context.next = 7;
51
- break;
52
- }
53
- _context.next = 5;
54
- return window[remote].init(shareScope["default"]);
55
- case 5:
56
- _context.next = 9;
38
+ while (1) switch (_context.prev = _context.next) {
39
+ case 0:
40
+ if (!window[remote]) {
41
+ _context.next = 12;
57
42
  break;
58
- case 7:
59
- _context.next = 9;
60
- return window[remote].init(__webpack_share_scopes__[shareScope]);
61
- case 9:
62
- // mark remote as initialized
63
- window[remote].__initialized = true;
64
- case 10:
65
- _context.next = 14;
43
+ }
44
+ if (window[remote].__initialized) {
45
+ _context.next = 10;
66
46
  break;
67
- case 12:
68
- console.error("Cannot load ".concat(remote));
69
- return _context.abrupt("return", reject("Cannot load ".concat(remote)));
70
- case 14:
71
- // resolve promise so marking remote as loaded
72
- resolve(window[remote]);
73
- case 15:
74
- case "end":
75
- return _context.stop();
76
- }
47
+ }
48
+ if (!(typeof __webpack_share_scopes__ === 'undefined')) {
49
+ _context.next = 7;
50
+ break;
51
+ }
52
+ _context.next = 5;
53
+ return window[remote].init(shareScope["default"]);
54
+ case 5:
55
+ _context.next = 9;
56
+ break;
57
+ case 7:
58
+ _context.next = 9;
59
+ return window[remote].init(__webpack_share_scopes__[shareScope]);
60
+ case 9:
61
+ // mark remote as initialized
62
+ window[remote].__initialized = true;
63
+ case 10:
64
+ _context.next = 14;
65
+ break;
66
+ case 12:
67
+ console.error("Cannot load ".concat(remote));
68
+ return _context.abrupt("return", reject("Cannot load ".concat(remote)));
69
+ case 14:
70
+ // resolve promise so marking remote as loaded
71
+ resolve(window[remote]);
72
+ case 15:
73
+ case "end":
74
+ return _context.stop();
77
75
  }
78
76
  }, _callee);
79
77
  }));
@@ -113,23 +111,21 @@ var loadComponent = function loadComponent(remote, sharedScope, module, url) {
113
111
  return /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
114
112
  var container, factory, Module;
115
113
  return _regenerator["default"].wrap(function _callee2$(_context2) {
116
- while (1) {
117
- switch (_context2.prev = _context2.next) {
118
- case 0:
119
- _context2.next = 2;
120
- return getOrLoadRemote(remote, sharedScope, url);
121
- case 2:
122
- container = _context2.sent;
123
- _context2.next = 5;
124
- return container.get(module);
125
- case 5:
126
- factory = _context2.sent;
127
- Module = factory();
128
- return _context2.abrupt("return", Module);
129
- case 8:
130
- case "end":
131
- return _context2.stop();
132
- }
114
+ while (1) switch (_context2.prev = _context2.next) {
115
+ case 0:
116
+ _context2.next = 2;
117
+ return getOrLoadRemote(remote, sharedScope, url);
118
+ case 2:
119
+ container = _context2.sent;
120
+ _context2.next = 5;
121
+ return container.get(module);
122
+ case 5:
123
+ factory = _context2.sent;
124
+ Module = factory();
125
+ return _context2.abrupt("return", Module);
126
+ case 8:
127
+ case "end":
128
+ return _context2.stop();
133
129
  }
134
130
  }, _callee2);
135
131
  }));
@@ -159,102 +155,100 @@ var ConfigCustom = /*#__PURE__*/function (_Component) {
159
155
  var _componentDidMount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
160
156
  var url, pos, i18nURL, lang, file, _this$props$schema$na, _this$props$schema$na2, uniqueName, fileToLoad, componentName, component, keys;
161
157
  return _regenerator["default"].wrap(function _callee3$(_context3) {
162
- while (1) {
163
- switch (_context3.prev = _context3.next) {
164
- case 0:
165
- if (this.props.schema.url) {
166
- _context3.next = 4;
167
- break;
168
- }
169
- console.error('URL is empty. Cannot load custom component!');
170
- this.setState({
171
- error: 'URL is empty. Cannot load custom component!'
172
- });
173
- return _context3.abrupt("return");
174
- case 4:
175
- /*if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {
176
- url = this.props.schema.url;
177
- } else */
178
- if (this.props.schema.url.startsWith('./')) {
179
- url = "".concat(window.location.protocol, "//").concat(window.location.host).concat(this.props.schema.url.replace(/^\./, ''));
180
- } else {
181
- url = "".concat(window.location.protocol, "//").concat(window.location.host, "/adapter/").concat(this.props.adapterName, "/").concat(this.props.schema.url);
182
- }
183
- if (!(this.props.schema.i18n === true)) {
184
- _context3.next = 14;
185
- break;
186
- }
187
- // load i18n from files
188
- pos = url.lastIndexOf('/');
189
- if (pos !== -1) {
190
- i18nURL = url.substring(0, pos);
191
- } else {
192
- i18nURL = url;
193
- }
194
- lang = _i18n["default"].getLanguage();
195
- file = "".concat(i18nURL, "/i18n/").concat(lang, ".json");
196
- _context3.next = 12;
197
- return fetch(file).then(function (data) {
198
- return data.json();
199
- }).then(function (json) {
200
- return _i18n["default"].extendTranslations(json, lang);
201
- })["catch"](function (error) {
202
- if (lang !== 'en') {
203
- // try to load English
204
- return fetch("".concat(i18nURL, "/i18n/en.json")).then(function (data) {
205
- return data.json();
206
- }).then(function (json) {
207
- return _i18n["default"].extendTranslations(json, lang);
208
- })["catch"](function (error) {
209
- return console.log("Cannot load i18n \"".concat(file, "\": ").concat(error));
210
- });
211
- } else {
212
- console.log("Cannot load i18n \"".concat(file, "\": ").concat(error));
213
- }
214
- });
215
- case 12:
216
- _context3.next = 15;
158
+ while (1) switch (_context3.prev = _context3.next) {
159
+ case 0:
160
+ if (this.props.schema.url) {
161
+ _context3.next = 4;
217
162
  break;
218
- case 14:
219
- if (this.props.schema.i18n && (0, _typeof2["default"])(this.props.schema.i18n) === 'object') {
220
- try {
221
- _i18n["default"].extendTranslations(this.props.schema.i18n);
222
- } catch (error) {
223
- console.error("Cannot import i18n: ".concat(error));
224
- }
225
- }
226
- case 15:
227
- _context3.prev = 15;
228
- _this$props$schema$na = this.props.schema.name.split('/'), _this$props$schema$na2 = (0, _toArray2["default"])(_this$props$schema$na), uniqueName = _this$props$schema$na2[0], fileToLoad = _this$props$schema$na2[1], componentName = _this$props$schema$na2.slice(2);
229
- console.log(uniqueName, fileToLoad, componentName.join('/'));
230
- // const component = await window.importFederation(uniqueName, {url, format: 'esm', from: 'vite'}, fileToLoad);
231
- _context3.next = 20;
232
- return loadComponent(uniqueName, 'default', "./".concat(fileToLoad), url)();
233
- case 20:
234
- component = _context3.sent["default"];
235
- if (!component || !component || !component[componentName.join('/')]) {
236
- keys = Object.keys(component || {});
237
- console.error('URL is empty. Cannot load custom component!');
238
- this.setState({
239
- error: "Component ".concat(this.props.schema.name, " not found in ").concat(this.props.schema.url, ". Found: ").concat(keys.join(', '))
163
+ }
164
+ console.error('URL is empty. Cannot load custom component!');
165
+ this.setState({
166
+ error: 'URL is empty. Cannot load custom component!'
167
+ });
168
+ return _context3.abrupt("return");
169
+ case 4:
170
+ /*if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {
171
+ url = this.props.schema.url;
172
+ } else */
173
+ if (this.props.schema.url.startsWith('./')) {
174
+ url = "".concat(window.location.protocol, "//").concat(window.location.host).concat(this.props.schema.url.replace(/^\./, ''));
175
+ } else {
176
+ url = "".concat(window.location.protocol, "//").concat(window.location.host, "/adapter/").concat(this.props.adapterName, "/").concat(this.props.schema.url);
177
+ }
178
+ if (!(this.props.schema.i18n === true)) {
179
+ _context3.next = 14;
180
+ break;
181
+ }
182
+ // load i18n from files
183
+ pos = url.lastIndexOf('/');
184
+ if (pos !== -1) {
185
+ i18nURL = url.substring(0, pos);
186
+ } else {
187
+ i18nURL = url;
188
+ }
189
+ lang = _i18n["default"].getLanguage();
190
+ file = "".concat(i18nURL, "/i18n/").concat(lang, ".json");
191
+ _context3.next = 12;
192
+ return fetch(file).then(function (data) {
193
+ return data.json();
194
+ }).then(function (json) {
195
+ return _i18n["default"].extendTranslations(json, lang);
196
+ })["catch"](function (error) {
197
+ if (lang !== 'en') {
198
+ // try to load English
199
+ return fetch("".concat(i18nURL, "/i18n/en.json")).then(function (data) {
200
+ return data.json();
201
+ }).then(function (json) {
202
+ return _i18n["default"].extendTranslations(json, lang);
203
+ })["catch"](function (error) {
204
+ return console.log("Cannot load i18n \"".concat(file, "\": ").concat(error));
240
205
  });
241
206
  } else {
242
- this.setState({
243
- Component: component[componentName.join('/')]
244
- });
207
+ console.log("Cannot load i18n \"".concat(file, "\": ").concat(error));
245
208
  }
246
- _context3.next = 27;
247
- break;
248
- case 24:
249
- _context3.prev = 24;
250
- _context3.t0 = _context3["catch"](15);
209
+ });
210
+ case 12:
211
+ _context3.next = 15;
212
+ break;
213
+ case 14:
214
+ if (this.props.schema.i18n && (0, _typeof2["default"])(this.props.schema.i18n) === 'object') {
215
+ try {
216
+ _i18n["default"].extendTranslations(this.props.schema.i18n);
217
+ } catch (error) {
218
+ console.error("Cannot import i18n: ".concat(error));
219
+ }
220
+ }
221
+ case 15:
222
+ _context3.prev = 15;
223
+ _this$props$schema$na = this.props.schema.name.split('/'), _this$props$schema$na2 = (0, _toArray2["default"])(_this$props$schema$na), uniqueName = _this$props$schema$na2[0], fileToLoad = _this$props$schema$na2[1], componentName = _this$props$schema$na2.slice(2);
224
+ console.log(uniqueName, fileToLoad, componentName.join('/'));
225
+ // const component = await window.importFederation(uniqueName, {url, format: 'esm', from: 'vite'}, fileToLoad);
226
+ _context3.next = 20;
227
+ return loadComponent(uniqueName, 'default', "./".concat(fileToLoad), url)();
228
+ case 20:
229
+ component = _context3.sent["default"];
230
+ if (!component || !component || !component[componentName.join('/')]) {
231
+ keys = Object.keys(component || {});
232
+ console.error('URL is empty. Cannot load custom component!');
251
233
  this.setState({
252
- error: "Cannot import from ".concat(this.props.schema.url, ": ").concat(_context3.t0)
234
+ error: "Component ".concat(this.props.schema.name, " not found in ").concat(this.props.schema.url, ". Found: ").concat(keys.join(', '))
253
235
  });
254
- case 27:
255
- case "end":
256
- return _context3.stop();
257
- }
236
+ } else {
237
+ this.setState({
238
+ Component: component[componentName.join('/')]
239
+ });
240
+ }
241
+ _context3.next = 27;
242
+ break;
243
+ case 24:
244
+ _context3.prev = 24;
245
+ _context3.t0 = _context3["catch"](15);
246
+ this.setState({
247
+ error: "Cannot import from ".concat(this.props.schema.url, ": ").concat(_context3.t0)
248
+ });
249
+ case 27:
250
+ case "end":
251
+ return _context3.stop();
258
252
  }
259
253
  }, _callee3, this, [[15, 24]]);
260
254
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigCustom.js","names":["getOrLoadRemote","remote","shareScope","remoteFallbackUrl","undefined","Promise","resolve","reject","window","existingRemote","document","querySelector","onload","__initialized","__webpack_share_scopes__","init","console","error","onerror","d","script","createElement","type","setAttribute","async","src","getElementsByTagName","appendChild","loadComponent","sharedScope","module","url","container","get","factory","Module","ConfigCustom","props","state","Component","schema","setState","startsWith","location","protocol","host","replace","adapterName","i18n","pos","lastIndexOf","i18nURL","substring","lang","I18n","getLanguage","file","fetch","then","data","json","extendTranslations","log","name","split","uniqueName","fileToLoad","componentName","join","component","keys","Object","item","xs","lg","md","sm","assign","marginBottom","textAlign","width","style","themeType","darkStyle","newLine","flexBasis","height","propTypes","socket","PropTypes","object","string","themeName","className","attr","isRequired","onError","func","onChange"],"sources":["JsonConfigComponent/ConfigCustom.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Grid from '@mui/material/Grid';\n\nimport I18n from './wrapper/i18n';\n\nconst getOrLoadRemote = (remote, shareScope, remoteFallbackUrl = undefined) =>\n new Promise((resolve, reject) => {\n // check if remote exists on window\n if (!window[remote]) {\n // search dom to see if remote tag exists, but might still be loading (async)\n const existingRemote = document.querySelector(`script[data-webpack=\"${remote}\"]`);\n // when remote is loaded.\n const onload = async () => {\n // check if it was initialized\n if (window[remote]) {\n if (!window[remote].__initialized) {\n // if share scope doesn't exist (like in webpack 4) then expect shareScope to be a manual object\n if (typeof __webpack_share_scopes__ === 'undefined') {\n // use default share scope object passed in manually\n await window[remote].init(shareScope.default);\n } else {\n // otherwise, init share scope as usual\n // eslint-disable-next-line\n await window[remote].init(__webpack_share_scopes__[shareScope]);\n }\n // mark remote as initialized\n window[remote].__initialized = true;\n }\n } else {\n console.error(`Cannot load ${remote}`);\n return reject(`Cannot load ${remote}`);\n }\n // resolve promise so marking remote as loaded\n resolve(window[remote]);\n };\n\n if (existingRemote) {\n // if existing remote but not loaded, hook into its onload and wait for it to be ready\n existingRemote.onload = onload;\n existingRemote.onerror = reject;\n // check if remote fallback exists as param passed to function\n // TODO: should scan public config for a matching key if no override exists\n } else if (remoteFallbackUrl) {\n // inject remote if a fallback exists and call the same onload function\n const d = document;\n const script = d.createElement('script');\n script.type = 'text/javascript';\n // mark as data-webpack so runtime can track it internally\n script.setAttribute('data-webpack', `${remote}`);\n script.async = true;\n script.onerror = reject;\n script.onload = onload;\n script.src = remoteFallbackUrl;\n d.getElementsByTagName('head')[0].appendChild(script);\n } else {\n // no remote and no fallback exist, reject\n reject(`Cannot Find Remote ${remote} to inject`);\n }\n } else {\n // remote already instantiated, resolve\n resolve(window[remote]);\n }\n });\n\nconst loadComponent = (remote, sharedScope, module, url) => async () => {\n const container = await getOrLoadRemote(remote, sharedScope, url);\n const factory = await container.get(module);\n const Module = factory();\n return Module;\n};\n\nclass ConfigCustom extends Component {\n constructor(props) {\n super(props);\n // schema.url - location of Widget\n // schema.name - Component name\n // schema.i18n - i18n\n\n this.state = {\n Component: null,\n error: '',\n };\n }\n\n // load component dynamically\n async componentDidMount() {\n if (!this.props.schema.url) {\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: 'URL is empty. Cannot load custom component!' });\n return;\n }\n\n let url;\n /*if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {\n url = this.props.schema.url;\n } else */\n if (this.props.schema.url.startsWith('./')) {\n url = `${window.location.protocol}//${window.location.host}${this.props.schema.url.replace(/^\\./, '')}`;\n } else {\n url = `${window.location.protocol}//${window.location.host}/adapter/${this.props.adapterName}/${this.props.schema.url}`;\n }\n\n if (this.props.schema.i18n === true) {\n // load i18n from files\n const pos = url.lastIndexOf('/');\n let i18nURL;\n if (pos !== -1) {\n i18nURL = url.substring(0, pos);\n } else {\n i18nURL = url;\n }\n const lang = I18n.getLanguage();\n const file = `${i18nURL}/i18n/${lang}.json`;\n\n await fetch(file)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => {\n if (lang !== 'en') {\n // try to load English\n return fetch(`${i18nURL}/i18n/en.json`)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => console.log(`Cannot load i18n \"${file}\": ${error}`));\n } else {\n console.log(`Cannot load i18n \"${file}\": ${error}`);\n }\n });\n } else if (this.props.schema.i18n && typeof this.props.schema.i18n === 'object') {\n try {\n I18n.extendTranslations(this.props.schema.i18n);\n } catch (error) {\n console.error(`Cannot import i18n: ${error}`);\n }\n }\n\n try {\n const [uniqueName, fileToLoad, ...componentName] = this.props.schema.name.split('/');\n console.log(uniqueName, fileToLoad, componentName.join('/'));\n // const component = await window.importFederation(uniqueName, {url, format: 'esm', from: 'vite'}, fileToLoad);\n const component = (await loadComponent(uniqueName, 'default', `./${fileToLoad}`, url)()).default;\n\n if (!component || !component || !component[componentName.join('/')]) {\n const keys = Object.keys(component || {});\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: `Component ${this.props.schema.name} not found in ${this.props.schema.url}. Found: ${keys.join(', ')}` });\n } else {\n this.setState({ Component: component[componentName.join('/')] });\n }\n } catch (error) {\n this.setState({ error: `Cannot import from ${this.props.schema.url}: ${error}` });\n }\n }\n\n render() {\n const Component = this.state.Component;\n\n // render temporary placeholder\n if (!Component) {\n if (this.state.error) {\n return;\n } else {\n const schema = this.props.schema || {};\n\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 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.state.error ? <div>{this.state.error}</div> : <LinearProgress />}\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 }\n }\n\n return <Component {...this.props} />;\n }\n}\n\nConfigCustom.propTypes = {\n socket: PropTypes.object,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n attr: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default ConfigCustom;"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAEA;AAAkC;AAAA;AAAA;AAAA;AAElC,IAAMA,eAAe,GAAG,SAAlBA,eAAe,CAAIC,MAAM,EAAEC,UAAU;EAAA,IAAEC,iBAAiB,uEAAGC,SAAS;EAAA,OACtE,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACjC;IACI,IAAI,CAACC,MAAM,CAACP,MAAM,CAAC,EAAE;MACjB;MACA,IAAMQ,cAAc,GAAGC,QAAQ,CAACC,aAAa,iCAAyBV,MAAM,SAAK;MACjF;MACA,IAAMW,MAAM;QAAA,yFAAG;UAAA;YAAA;cAAA;gBAAA;kBAAA,KAEPJ,MAAM,CAACP,MAAM,CAAC;oBAAA;oBAAA;kBAAA;kBAAA,IACTO,MAAM,CAACP,MAAM,CAAC,CAACY,aAAa;oBAAA;oBAAA;kBAAA;kBAAA,MAEzB,OAAOC,wBAAwB,KAAK,WAAW;oBAAA;oBAAA;kBAAA;kBAAA;kBAAA,OAEzCN,MAAM,CAACP,MAAM,CAAC,CAACc,IAAI,CAACb,UAAU,WAAQ,CAAC;gBAAA;kBAAA;kBAAA;gBAAA;kBAAA;kBAAA,OAIvCM,MAAM,CAACP,MAAM,CAAC,CAACc,IAAI,CAACD,wBAAwB,CAACZ,UAAU,CAAC,CAAC;gBAAA;kBAEnE;kBACAM,MAAM,CAACP,MAAM,CAAC,CAACY,aAAa,GAAG,IAAI;gBAAC;kBAAA;kBAAA;gBAAA;kBAGxCG,OAAO,CAACC,KAAK,uBAAgBhB,MAAM,EAAG;kBAAC,iCAChCM,MAAM,uBAAgBN,MAAM,EAAG;gBAAA;kBAE1C;kBACAK,OAAO,CAACE,MAAM,CAACP,MAAM,CAAC,CAAC;gBAAC;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAC3B;QAAA,gBAtBKW,MAAM;UAAA;QAAA;MAAA,GAsBX;MAED,IAAIH,cAAc,EAAE;QAChB;QACAA,cAAc,CAACG,MAAM,GAAGA,MAAM;QAC9BH,cAAc,CAACS,OAAO,GAAGX,MAAM;QAC/B;QACA;MACJ,CAAC,MAAM,IAAIJ,iBAAiB,EAAE;QAC1B;QACA,IAAMgB,CAAC,GAAGT,QAAQ;QAClB,IAAMU,MAAM,GAAGD,CAAC,CAACE,aAAa,CAAC,QAAQ,CAAC;QACxCD,MAAM,CAACE,IAAI,GAAG,iBAAiB;QAC/B;QACAF,MAAM,CAACG,YAAY,CAAC,cAAc,YAAKtB,MAAM,EAAG;QAChDmB,MAAM,CAACI,KAAK,GAAG,IAAI;QACnBJ,MAAM,CAACF,OAAO,GAAGX,MAAM;QACvBa,MAAM,CAACR,MAAM,GAAGA,MAAM;QACtBQ,MAAM,CAACK,GAAG,GAAGtB,iBAAiB;QAC9BgB,CAAC,CAACO,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,WAAW,CAACP,MAAM,CAAC;MACzD,CAAC,MAAM;QACH;QACAb,MAAM,8BAAuBN,MAAM,gBAAa;MACpD;IACJ,CAAC,MAAM;MACH;MACAK,OAAO,CAACE,MAAM,CAACP,MAAM,CAAC,CAAC;IAC3B;EACJ,CAAC,CAAC;AAAA;AAEN,IAAM2B,aAAa,GAAG,SAAhBA,aAAa,CAAI3B,MAAM,EAAE4B,WAAW,EAAEC,MAAM,EAAEC,GAAG;EAAA,kGAAK;IAAA;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OAChC/B,eAAe,CAACC,MAAM,EAAE4B,WAAW,EAAEE,GAAG,CAAC;UAAA;YAA3DC,SAAS;YAAA;YAAA,OACOA,SAAS,CAACC,GAAG,CAACH,MAAM,CAAC;UAAA;YAArCI,OAAO;YACPC,MAAM,GAAGD,OAAO,EAAE;YAAA,kCACjBC,MAAM;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAChB;AAAA;AAAC,IAEIC,YAAY;EAAA;EAAA;EACd,sBAAYC,KAAK,EAAE;IAAA;IAAA;IACf,0BAAMA,KAAK;IACX;IACA;IACA;;IAEA,MAAKC,KAAK,GAAG;MACTC,SAAS,EAAE,IAAI;MACftB,KAAK,EAAE;IACX,CAAC;IAAC;EACN;;EAEA;EAAA;IAAA;IAAA;MAAA,uGACA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,IACS,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACT,GAAG;kBAAA;kBAAA;gBAAA;gBACtBf,OAAO,CAACC,KAAK,CAAC,6CAA6C,CAAC;gBAC5D,IAAI,CAACwB,QAAQ,CAAC;kBAAExB,KAAK,EAAE;gBAA8C,CAAC,CAAC;gBAAC;cAAA;gBAK5E;AACR;AACA;gBACQ,IAAI,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACT,GAAG,CAACW,UAAU,CAAC,IAAI,CAAC,EAAE;kBACxCX,GAAG,aAAMvB,MAAM,CAACmC,QAAQ,CAACC,QAAQ,eAAKpC,MAAM,CAACmC,QAAQ,CAACE,IAAI,SAAG,IAAI,CAACR,KAAK,CAACG,MAAM,CAACT,GAAG,CAACe,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE;gBAC3G,CAAC,MAAM;kBACHf,GAAG,aAAMvB,MAAM,CAACmC,QAAQ,CAACC,QAAQ,eAAKpC,MAAM,CAACmC,QAAQ,CAACE,IAAI,sBAAY,IAAI,CAACR,KAAK,CAACU,WAAW,cAAI,IAAI,CAACV,KAAK,CAACG,MAAM,CAACT,GAAG,CAAE;gBAC3H;gBAAC,MAEG,IAAI,CAACM,KAAK,CAACG,MAAM,CAACQ,IAAI,KAAK,IAAI;kBAAA;kBAAA;gBAAA;gBAC/B;gBACMC,GAAG,GAAGlB,GAAG,CAACmB,WAAW,CAAC,GAAG,CAAC;gBAEhC,IAAID,GAAG,KAAK,CAAC,CAAC,EAAE;kBACZE,OAAO,GAAGpB,GAAG,CAACqB,SAAS,CAAC,CAAC,EAAEH,GAAG,CAAC;gBACnC,CAAC,MAAM;kBACHE,OAAO,GAAGpB,GAAG;gBACjB;gBACMsB,IAAI,GAAGC,gBAAI,CAACC,WAAW,EAAE;gBACzBC,IAAI,aAAML,OAAO,mBAASE,IAAI;gBAAA;gBAAA,OAE9BI,KAAK,CAACD,IAAI,CAAC,CACZE,IAAI,CAAC,UAAAC,IAAI;kBAAA,OAAIA,IAAI,CAACC,IAAI,EAAE;gBAAA,EAAC,CACzBF,IAAI,CAAC,UAAAE,IAAI;kBAAA,OAAIN,gBAAI,CAACO,kBAAkB,CAACD,IAAI,EAAEP,IAAI,CAAC;gBAAA,EAAC,SAC5C,CAAC,UAAApC,KAAK,EAAI;kBACZ,IAAIoC,IAAI,KAAK,IAAI,EAAE;oBACf;oBACA,OAAOI,KAAK,WAAIN,OAAO,mBAAgB,CAClCO,IAAI,CAAC,UAAAC,IAAI;sBAAA,OAAIA,IAAI,CAACC,IAAI,EAAE;oBAAA,EAAC,CACzBF,IAAI,CAAC,UAAAE,IAAI;sBAAA,OAAIN,gBAAI,CAACO,kBAAkB,CAACD,IAAI,EAAEP,IAAI,CAAC;oBAAA,EAAC,SAC5C,CAAC,UAAApC,KAAK;sBAAA,OAAID,OAAO,CAAC8C,GAAG,8BAAsBN,IAAI,iBAAMvC,KAAK,EAAG;oBAAA,EAAC;kBAC5E,CAAC,MAAM;oBACHD,OAAO,CAAC8C,GAAG,8BAAsBN,IAAI,iBAAMvC,KAAK,EAAG;kBACvD;gBACJ,CAAC,CAAC;cAAA;gBAAA;gBAAA;cAAA;gBACH,IAAI,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACQ,IAAI,IAAI,yBAAO,IAAI,CAACX,KAAK,CAACG,MAAM,CAACQ,IAAI,MAAK,QAAQ,EAAE;kBAC7E,IAAI;oBACAM,gBAAI,CAACO,kBAAkB,CAAC,IAAI,CAACxB,KAAK,CAACG,MAAM,CAACQ,IAAI,CAAC;kBACnD,CAAC,CAAC,OAAO/B,KAAK,EAAE;oBACZD,OAAO,CAACC,KAAK,+BAAwBA,KAAK,EAAG;kBACjD;gBACJ;cAAC;gBAAA;gBAAA,wBAGsD,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACuB,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,6EAA7EC,UAAU,8BAAEC,UAAU,8BAAKC,aAAa;gBAC/CnD,OAAO,CAAC8C,GAAG,CAACG,UAAU,EAAEC,UAAU,EAAEC,aAAa,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5D;gBAAA;gBAAA,OACyBxC,aAAa,CAACqC,UAAU,EAAE,SAAS,cAAOC,UAAU,GAAInC,GAAG,CAAC,EAAE;cAAA;gBAAjFsC,SAAS;gBAEf,IAAI,CAACA,SAAS,IAAI,CAACA,SAAS,IAAI,CAACA,SAAS,CAACF,aAAa,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;kBAC3DE,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,SAAS,IAAI,CAAC,CAAC,CAAC;kBACzCrD,OAAO,CAACC,KAAK,CAAC,6CAA6C,CAAC;kBAC5D,IAAI,CAACwB,QAAQ,CAAC;oBAAExB,KAAK,sBAAe,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACuB,IAAI,2BAAiB,IAAI,CAAC1B,KAAK,CAACG,MAAM,CAACT,GAAG,sBAAYuC,IAAI,CAACF,IAAI,CAAC,IAAI,CAAC;kBAAG,CAAC,CAAC;gBACpI,CAAC,MAAM;kBACH,IAAI,CAAC3B,QAAQ,CAAC;oBAAEF,SAAS,EAAE8B,SAAS,CAACF,aAAa,CAACC,IAAI,CAAC,GAAG,CAAC;kBAAE,CAAC,CAAC;gBACpE;gBAAC;gBAAA;cAAA;gBAAA;gBAAA;gBAED,IAAI,CAAC3B,QAAQ,CAAC;kBAAExB,KAAK,+BAAwB,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACT,GAAG;gBAAa,CAAC,CAAC;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEzF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,kBAAS;MACL,IAAMQ,SAAS,GAAG,IAAI,CAACD,KAAK,CAACC,SAAS;;MAEtC;MACA,IAAI,CAACA,SAAS,EAAE;QACZ,IAAI,IAAI,CAACD,KAAK,CAACrB,KAAK,EAAE;UAClB;QACJ,CAAC,MAAM;UACH,IAAMuB,MAAM,GAAG,IAAI,CAACH,KAAK,CAACG,MAAM,IAAI,CAAC,CAAC;UAEtC,IAAMgC,IAAI,gBAAG,gCAAC,gBAAI;YACd,IAAI;YACJ,EAAE,EAAEhC,MAAM,CAACiC,EAAE,IAAIrE,SAAU;YAC3B,EAAE,EAAEoC,MAAM,CAACkC,EAAE,IAAItE,SAAU;YAC3B,EAAE,EAAEoC,MAAM,CAACmC,EAAE,IAAIvE,SAAU;YAC3B,EAAE,EAAEoC,MAAM,CAACoC,EAAE,IAAIxE,SAAU;YAC3B,KAAK,EAAEmE,MAAM,CAACM,MAAM,CAAC,CAAC,CAAC,EAAE;cACrBC,YAAY,EAAE,CAAC;cACf;cACAC,SAAS,EAAE,MAAM;cACjBC,KAAK,EAAExC,MAAM,CAAClB,IAAI,KAAK,SAAS,IAAIkB,MAAM,CAAClB,IAAI,KAAK,QAAQ,GAAGkB,MAAM,CAACwC,KAAK,IAAI,MAAM,GAAG5E;YAC5F,CAAC,EAAEoC,MAAM,CAACyC,KAAK,EAAE,IAAI,CAAC5C,KAAK,CAAC6C,SAAS,KAAK,MAAM,GAAG1C,MAAM,CAAC2C,SAAS,GAAG,CAAC,CAAC;UAAE,GACzE,IAAI,CAAC7C,KAAK,CAACrB,KAAK,gBAAG,6CAAM,IAAI,CAACqB,KAAK,CAACrB,KAAK,CAAO,gBAAG,gCAAC,0BAAc,OAAG,CACnE;UAEP,IAAIuB,MAAM,CAAC4C,OAAO,EAAE;YAChB,oBAAO,+EACH;cAAK,KAAK,EAAE;gBAAEC,SAAS,EAAE,MAAM;gBAAEC,MAAM,EAAE;cAAE;YAAE,EAAG,EAC/Cd,IAAI,CACN;UACP,CAAC,MAAM;YACH,OAAOA,IAAI;UACf;QACJ;MACJ;MAEA,oBAAO,gCAAC,SAAS,EAAK,IAAI,CAACnC,KAAK,CAAI;IACxC;EAAC;EAAA;AAAA,EAxHsBE,gBAAS;AA2HpCH,YAAY,CAACmD,SAAS,GAAG;EACrBC,MAAM,EAAEC,qBAAS,CAACC,MAAM;EACxBR,SAAS,EAAEO,qBAAS,CAACE,MAAM;EAC3BC,SAAS,EAAEH,qBAAS,CAACE,MAAM;EAC3BV,KAAK,EAAEQ,qBAAS,CAACC,MAAM;EACvBG,SAAS,EAAEJ,qBAAS,CAACE,MAAM;EAC3BG,IAAI,EAAEL,qBAAS,CAACE,MAAM;EACtBhC,IAAI,EAAE8B,qBAAS,CAACC,MAAM,CAACK,UAAU;EACjCvD,MAAM,EAAEiD,qBAAS,CAACC,MAAM,CAACK,UAAU;EACnCC,OAAO,EAAEP,qBAAS,CAACQ,IAAI;EACvBC,QAAQ,EAAET,qBAAS,CAACQ;AACxB,CAAC;AAAC,eAEa7D,YAAY;AAAA"}
1
+ {"version":3,"file":"ConfigCustom.js","names":["getOrLoadRemote","remote","shareScope","remoteFallbackUrl","undefined","Promise","resolve","reject","window","existingRemote","document","querySelector","onload","__initialized","__webpack_share_scopes__","init","console","error","onerror","d","script","createElement","type","setAttribute","async","src","getElementsByTagName","appendChild","loadComponent","sharedScope","module","url","container","get","factory","Module","ConfigCustom","props","state","Component","schema","setState","startsWith","location","protocol","host","replace","adapterName","i18n","pos","lastIndexOf","i18nURL","substring","lang","I18n","getLanguage","file","fetch","then","data","json","extendTranslations","log","name","split","uniqueName","fileToLoad","componentName","join","component","keys","Object","item","xs","lg","md","sm","assign","marginBottom","textAlign","width","style","themeType","darkStyle","newLine","flexBasis","height","propTypes","socket","PropTypes","object","string","themeName","className","attr","isRequired","onError","func","onChange"],"sources":["JsonConfigComponent/ConfigCustom.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Grid from '@mui/material/Grid';\n\nimport I18n from './wrapper/i18n';\n\nconst getOrLoadRemote = (remote, shareScope, remoteFallbackUrl = undefined) =>\n new Promise((resolve, reject) => {\n // check if remote exists on window\n if (!window[remote]) {\n // search dom to see if remote tag exists, but might still be loading (async)\n const existingRemote = document.querySelector(`script[data-webpack=\"${remote}\"]`);\n // when remote is loaded.\n const onload = async () => {\n // check if it was initialized\n if (window[remote]) {\n if (!window[remote].__initialized) {\n // if share scope doesn't exist (like in webpack 4) then expect shareScope to be a manual object\n if (typeof __webpack_share_scopes__ === 'undefined') {\n // use default share scope object passed in manually\n await window[remote].init(shareScope.default);\n } else {\n // otherwise, init share scope as usual\n // eslint-disable-next-line\n await window[remote].init(__webpack_share_scopes__[shareScope]);\n }\n // mark remote as initialized\n window[remote].__initialized = true;\n }\n } else {\n console.error(`Cannot load ${remote}`);\n return reject(`Cannot load ${remote}`);\n }\n // resolve promise so marking remote as loaded\n resolve(window[remote]);\n };\n\n if (existingRemote) {\n // if existing remote but not loaded, hook into its onload and wait for it to be ready\n existingRemote.onload = onload;\n existingRemote.onerror = reject;\n // check if remote fallback exists as param passed to function\n // TODO: should scan public config for a matching key if no override exists\n } else if (remoteFallbackUrl) {\n // inject remote if a fallback exists and call the same onload function\n const d = document;\n const script = d.createElement('script');\n script.type = 'text/javascript';\n // mark as data-webpack so runtime can track it internally\n script.setAttribute('data-webpack', `${remote}`);\n script.async = true;\n script.onerror = reject;\n script.onload = onload;\n script.src = remoteFallbackUrl;\n d.getElementsByTagName('head')[0].appendChild(script);\n } else {\n // no remote and no fallback exist, reject\n reject(`Cannot Find Remote ${remote} to inject`);\n }\n } else {\n // remote already instantiated, resolve\n resolve(window[remote]);\n }\n });\n\nconst loadComponent = (remote, sharedScope, module, url) => async () => {\n const container = await getOrLoadRemote(remote, sharedScope, url);\n const factory = await container.get(module);\n const Module = factory();\n return Module;\n};\n\nclass ConfigCustom extends Component {\n constructor(props) {\n super(props);\n // schema.url - location of Widget\n // schema.name - Component name\n // schema.i18n - i18n\n\n this.state = {\n Component: null,\n error: '',\n };\n }\n\n // load component dynamically\n async componentDidMount() {\n if (!this.props.schema.url) {\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: 'URL is empty. Cannot load custom component!' });\n return;\n }\n\n let url;\n /*if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {\n url = this.props.schema.url;\n } else */\n if (this.props.schema.url.startsWith('./')) {\n url = `${window.location.protocol}//${window.location.host}${this.props.schema.url.replace(/^\\./, '')}`;\n } else {\n url = `${window.location.protocol}//${window.location.host}/adapter/${this.props.adapterName}/${this.props.schema.url}`;\n }\n\n if (this.props.schema.i18n === true) {\n // load i18n from files\n const pos = url.lastIndexOf('/');\n let i18nURL;\n if (pos !== -1) {\n i18nURL = url.substring(0, pos);\n } else {\n i18nURL = url;\n }\n const lang = I18n.getLanguage();\n const file = `${i18nURL}/i18n/${lang}.json`;\n\n await fetch(file)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => {\n if (lang !== 'en') {\n // try to load English\n return fetch(`${i18nURL}/i18n/en.json`)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => console.log(`Cannot load i18n \"${file}\": ${error}`));\n } else {\n console.log(`Cannot load i18n \"${file}\": ${error}`);\n }\n });\n } else if (this.props.schema.i18n && typeof this.props.schema.i18n === 'object') {\n try {\n I18n.extendTranslations(this.props.schema.i18n);\n } catch (error) {\n console.error(`Cannot import i18n: ${error}`);\n }\n }\n\n try {\n const [uniqueName, fileToLoad, ...componentName] = this.props.schema.name.split('/');\n console.log(uniqueName, fileToLoad, componentName.join('/'));\n // const component = await window.importFederation(uniqueName, {url, format: 'esm', from: 'vite'}, fileToLoad);\n const component = (await loadComponent(uniqueName, 'default', `./${fileToLoad}`, url)()).default;\n\n if (!component || !component || !component[componentName.join('/')]) {\n const keys = Object.keys(component || {});\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: `Component ${this.props.schema.name} not found in ${this.props.schema.url}. Found: ${keys.join(', ')}` });\n } else {\n this.setState({ Component: component[componentName.join('/')] });\n }\n } catch (error) {\n this.setState({ error: `Cannot import from ${this.props.schema.url}: ${error}` });\n }\n }\n\n render() {\n const Component = this.state.Component;\n\n // render temporary placeholder\n if (!Component) {\n if (this.state.error) {\n return;\n } else {\n const schema = this.props.schema || {};\n\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 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.state.error ? <div>{this.state.error}</div> : <LinearProgress />}\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 }\n }\n\n return <Component {...this.props} />;\n }\n}\n\nConfigCustom.propTypes = {\n socket: PropTypes.object,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n attr: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default ConfigCustom;"],"mappings":"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"}