@iobroker/adapter-react-v5 4.0.7 → 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.
- package/Components/404.js.map +1 -1
- package/Components/FileBrowser.js.map +1 -1
- package/Components/IconSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js +13 -15
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js +39 -41
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckLicense.js +314 -322
- package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +138 -144
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js +95 -99
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js +13 -7
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +4 -6
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js +21 -23
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +69 -71
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +17 -19
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +2 -2
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js +14 -16
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js +12 -6
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +54 -41
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js +70 -76
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +21 -23
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js +2 -2
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUUID.js +13 -15
- package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js +2 -2
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/ObjectBrowser.js +198 -204
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Schedule.js.map +1 -1
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/GenericApp.js +1 -1
- package/GenericApp.js.map +1 -1
- package/LICENSE +1 -1
- package/README.md +7 -3
- package/_Connection.js +23 -25
- package/_Connection.js.map +1 -1
- package/i18n/de.json +3 -1
- package/i18n/en.json +3 -1
- package/i18n/es.json +3 -1
- package/i18n/fr.json +3 -1
- package/i18n/it.json +3 -1
- package/i18n/nl.json +3 -1
- package/i18n/pl.json +3 -1
- package/i18n/pt.json +3 -1
- package/i18n/ru.json +3 -1
- package/i18n/uk.json +3 -1
- package/i18n/zh-cn.json +3 -1
- 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":"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"}
|
|
@@ -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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
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
|
-
|
|
243
|
-
Component: component[componentName.join('/')]
|
|
244
|
-
});
|
|
207
|
+
console.log("Cannot load i18n \"".concat(file, "\": ").concat(error));
|
|
245
208
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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: "
|
|
234
|
+
error: "Component ".concat(this.props.schema.name, " not found in ").concat(this.props.schema.url, ". Found: ").concat(keys.join(', '))
|
|
253
235
|
});
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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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"}
|