@iobroker/adapter-react-v5 3.1.27 → 3.1.30
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/IconPicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +4 -3
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.d.ts +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +9 -7
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js +33 -11
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js +1 -0
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +3 -3
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +85 -24
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.d.ts +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js +45 -4
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +36 -25
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js +15 -12
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/index.js +4 -6
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/ObjectBrowser.js +86 -15
- package/Components/ObjectBrowser.js.map +1 -1
- package/Connection.d.ts +5 -0
- package/Connection.js +78 -16
- package/Connection.js.map +1 -1
- package/Dialogs/FileSelect.js +2 -1
- package/Dialogs/FileSelect.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/README.md +4 -0
- package/i18n/de.json +2 -1
- package/i18n/en.json +2 -1
- package/i18n/es.json +2 -1
- package/i18n/fr.json +2 -1
- package/i18n/it.json +2 -1
- package/i18n/nl.json +2 -1
- package/i18n/pl.json +2 -1
- package/i18n/pt.json +2 -1
- package/i18n/ru.json +2 -1
- package/i18n/zh-cn.json +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconPicker.js","names":["IconPicker","props","IconCustom","icon","useStyles","makeStyles","theme","formContainer","display","justifyContent","alignItems","formControl","padding","flexGrow","divContainer","width","height","whiteSpace","lineHeight","marginRight","dragField","textAlign","minHeight","border","borderRadius","formIcon","margin","opacity","text","verticalAlign","classes","onDrop","useCallback","acceptedFiles","reader","FileReader","addEventListener","onChange","result","readAsDataURL","useDropzone","getRootProps","getInputProps","isDragActive","root","customClasses","label","value","Utils","clsx","previewClassName","disabled","I18n","t","icons","onlyRooms","onlyDevices","base64","getLanguage","backgroundColor","cursor","propTypes","PropTypes","string","object","any","bool","func","isRequired","array"],"sources":["IconPicker.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {useDropzone} from 'react-dropzone';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport IconButton from '@mui/material/IconButton';\nimport ClearIcon from '@mui/icons-material/Clear';\n\nimport IconSelector from './IconSelector';\nimport Icon from './Icon';\nimport I18n from '../i18n';\nimport Utils from './Utils';\n\n/**\n * @typedef {object} IconPickerProps\n * @property {string} [value] The value.\n * @property {string} [label] The label.\n * @property {boolean} [disabled] Set to true to disable the icon picker.\n * @property {(icon: string) => void} onChange The icon change callback.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {string} [imagePrefix] The image prefix (default: './files/')\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n *\n * @extends {React.Component<IconPickerProps>}\n */\nlet IconPicker = function (props) {\n let IconCustom = props.icon;\n\n const useStyles = makeStyles(theme => ({\n formContainer : {\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'center'\n },\n formControl : {\n display: 'flex',\n padding: 24,\n flexGrow: 1000\n },\n divContainer: {\n width: 32 + 24,\n height: 32,\n whiteSpace: 'nowrap',\n lineHeight: '32px',\n marginRight: 8\n },\n dragField: {\n textAlign: 'center',\n display: 'table',\n minHeight: 90,\n width: 'calc(100% - 60px)',\n border: '2px dashed #777',\n borderRadius: 10,\n padding: 4,\n },\n formIcon : {\n margin: 10,\n opacity: 0.6\n },\n text: {\n display: 'table-cell',\n verticalAlign: 'middle',\n }\n }));\n\n const classes = useStyles();\n\n const onDrop = useCallback(acceptedFiles => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () =>\n props.onChange(reader.result), false);\n\n if (acceptedFiles[0]) {\n reader.readAsDataURL(acceptedFiles[0]);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const {getRootProps, getInputProps, isDragActive} = useDropzone({onDrop});\n\n return <div className={classes.formContainer}>\n {IconCustom ? <IconCustom className={
|
|
1
|
+
{"version":3,"file":"IconPicker.js","names":["IconPicker","props","IconCustom","icon","useStyles","makeStyles","theme","formContainer","display","justifyContent","alignItems","formControl","padding","flexGrow","divContainer","width","height","whiteSpace","lineHeight","marginRight","dragField","textAlign","minHeight","border","borderRadius","formIcon","margin","opacity","text","verticalAlign","classes","onDrop","useCallback","acceptedFiles","reader","FileReader","addEventListener","onChange","result","readAsDataURL","useDropzone","getRootProps","getInputProps","isDragActive","root","customClasses","label","value","Utils","clsx","previewClassName","disabled","I18n","t","icons","onlyRooms","onlyDevices","base64","getLanguage","backgroundColor","cursor","propTypes","PropTypes","string","object","any","bool","func","isRequired","array"],"sources":["IconPicker.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDropzone } from 'react-dropzone';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport IconButton from '@mui/material/IconButton';\nimport ClearIcon from '@mui/icons-material/Clear';\n\nimport IconSelector from './IconSelector';\nimport Icon from './Icon';\nimport I18n from '../i18n';\nimport Utils from './Utils';\n\n/**\n * @typedef {object} IconPickerProps\n * @property {string} [value] The value.\n * @property {string} [label] The label.\n * @property {boolean} [disabled] Set to true to disable the icon picker.\n * @property {(icon: string) => void} onChange The icon change callback.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {string} [imagePrefix] The image prefix (default: './files/')\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n *\n * @extends {React.Component<IconPickerProps>}\n */\nlet IconPicker = function (props) {\n let IconCustom = props.icon;\n\n const useStyles = makeStyles(theme => ({\n formContainer : {\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'center'\n },\n formControl : {\n display: 'flex',\n padding: 24,\n flexGrow: 1000\n },\n divContainer: {\n width: 32 + 24,\n height: 32,\n whiteSpace: 'nowrap',\n lineHeight: '32px',\n marginRight: 8\n },\n dragField: {\n textAlign: 'center',\n display: 'table',\n minHeight: 90,\n width: 'calc(100% - 60px)',\n border: '2px dashed #777',\n borderRadius: 10,\n padding: 4,\n },\n formIcon : {\n margin: 10,\n opacity: 0.6\n },\n text: {\n display: 'table-cell',\n verticalAlign: 'middle',\n }\n }));\n\n const classes = useStyles();\n\n const onDrop = useCallback(acceptedFiles => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () =>\n props.onChange(reader.result), false);\n\n if (acceptedFiles[0]) {\n reader.readAsDataURL(acceptedFiles[0]);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });\n\n return <div className={classes.formContainer}>\n {IconCustom ? <IconCustom className={classes.formIcon} /> : null}\n <FormControl variant=\"standard\" className={classes.formControl} style={{ padding: 3 }}>\n <InputLabel shrink classes={{root: props.customClasses?.label}}>\n { props.label }\n </InputLabel>\n <div className={ classes.formContainer }>\n {props.value ?\n <div className={ classes.divContainer }>\n <Icon alt=\"\" className={Utils.clsx(props.previewClassName, props.customClasses?.icon)} src={props.value}/>\n {!props.disabled && <IconButton\n style={{verticalAlign: 'top'}}\n title={I18n.t('ra_Clear icon')}\n size=\"small\"\n onClick={() => props.onChange('')}\n >\n <ClearIcon/>\n </IconButton>}\n </div>\n :\n (!props.disabled && <IconSelector\n icons={props.icons}\n onlyRooms={props.onlyRooms}\n onlyDevices={props.onlyDevices}\n onSelect={base64 => props.onChange(base64)}\n t={I18n.t}\n lang={I18n.getLanguage()}\n />)\n }\n\n {!props.disabled && <div\n {...getRootProps()}\n className={classes.dragField}\n style={isDragActive ? {backgroundColor: 'rgba(0, 255, 0, 0.1)'} : {cursor: 'pointer'}}\n >\n <input {...getInputProps()} />\n {\n isDragActive ?\n <span className={classes.text}>{I18n.t('ra_Drop the files here...')}</span> :\n <span className={classes.text}>{I18n.t(`ra_Drag 'n' drop some files here, or click to select files`)}</span>\n }\n </div>}\n </div>\n </FormControl>\n </div>;\n};\n\nIconPicker.propTypes = {\n previewClassName: PropTypes.string,\n icon: PropTypes.object,\n customClasses: PropTypes.object,\n label: PropTypes.string,\n value: PropTypes.any,\n disabled: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n\n icons: PropTypes.array,\n onlyRooms: PropTypes.bool,\n onlyDevices: PropTypes.bool,\n};\n\n/** @type {typeof IconPicker} */\nexport default IconPicker;"],"mappings":"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"}
|
|
@@ -214,9 +214,10 @@ var ConfigCustom = /*#__PURE__*/function (_Component) {
|
|
|
214
214
|
return _context3.abrupt("return");
|
|
215
215
|
|
|
216
216
|
case 4:
|
|
217
|
-
if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {
|
|
218
|
-
|
|
219
|
-
} else
|
|
217
|
+
/*if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {
|
|
218
|
+
url = this.props.schema.url;
|
|
219
|
+
} else */
|
|
220
|
+
if (this.props.schema.url.startsWith('./')) {
|
|
220
221
|
url = "".concat(window.location.protocol, "//").concat(window.location.host).concat(this.props.schema.url.replace(/^\./, ''));
|
|
221
222
|
} else {
|
|
222
223
|
url = "".concat(window.location.protocol, "//").concat(window.location.host, "/adapter/").concat(this.props.adapterName, "/").concat(this.props.schema.url);
|
|
@@ -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","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 '../../i18n';\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 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 => console.log(`Cannot load i18n \"${file}\": ${error}`));\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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"}
|
|
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 '../../i18n';\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 => console.log(`Cannot load i18n \"${file}\": ${error}`));\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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"}
|
|
@@ -37,7 +37,7 @@ declare class ConfigGeneric extends React.Component<any, any, any> {
|
|
|
37
37
|
onError(attr: any, error: any): void;
|
|
38
38
|
renderItem(error: any, disabled: any, defaultValue: any): any;
|
|
39
39
|
renderHelp(text: any, link: any, noTranslation: any): any;
|
|
40
|
-
getPattern(pattern: any): any;
|
|
40
|
+
getPattern(pattern: any, data: any): any;
|
|
41
41
|
render(): JSX.Element;
|
|
42
42
|
}
|
|
43
43
|
declare namespace ConfigGeneric {
|
|
@@ -488,14 +488,17 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
|
|
|
488
488
|
target: "_blank",
|
|
489
489
|
rel: "noreferrer",
|
|
490
490
|
style: {
|
|
491
|
-
color: this.props.themeType === 'dark' ? '#
|
|
491
|
+
color: this.props.themeType === 'dark' ? '#a147ff' : '#5b238f',
|
|
492
|
+
textDecoration: 'underline'
|
|
492
493
|
}
|
|
493
494
|
}, this.getText(text, noTranslation));
|
|
494
495
|
}
|
|
495
496
|
}
|
|
496
497
|
}, {
|
|
497
498
|
key: "getPattern",
|
|
498
|
-
value: function getPattern(pattern) {
|
|
499
|
+
value: function getPattern(pattern, data) {
|
|
500
|
+
data = data || this.props.data;
|
|
501
|
+
|
|
499
502
|
if (!pattern) {
|
|
500
503
|
return '';
|
|
501
504
|
} else {
|
|
@@ -506,14 +509,13 @@ var ConfigGeneric = /*#__PURE__*/function (_Component) {
|
|
|
506
509
|
try {
|
|
507
510
|
if (this.props.custom) {
|
|
508
511
|
// eslint-disable-next-line no-new-func
|
|
509
|
-
var f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\`') + '`');
|
|
510
|
-
|
|
511
|
-
return result;
|
|
512
|
+
var f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\`') + '`');
|
|
513
|
+
return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket, this.props.arrayIndex, this.props.globalData);
|
|
512
514
|
} else {
|
|
513
515
|
// eslint-disable-next-line no-new-func
|
|
514
|
-
var _f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\`') + '`');
|
|
516
|
+
var _f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\`') + '`');
|
|
515
517
|
|
|
516
|
-
return _f(this.props.
|
|
518
|
+
return _f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);
|
|
517
519
|
}
|
|
518
520
|
} catch (e) {
|
|
519
521
|
console.error("Cannot execute ".concat(pattern, ": ").concat(e));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigGeneric.js","names":["ConfigGeneric","props","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","arrayIndex","globalData","execute","lang","I18n","getLanguage","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","defaultSendTo","sendTo","alive","defaultSendToDone","jsonData","getPattern","JSON","parse","e","console","error","socket","adapterName","instance","then","onError","t","sendToTimeout","clearTimeout","text","noTranslation","func","en","confirm","icon","getText","title","ok","cancel","isOk","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","condition","confirmDependsOn","z","length","dep","val","changed","onChangeDependsOn","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","result","originalData","systemConfig","common","log","disabled","validator","label","link","Utils","renderTextWithA","color","themeType","pattern","replace","calculate","Object","keys","hideOnlyControl","item","xs","lg","md","sm","assign","marginBottom","textAlign","style","darkStyle","newLine","flexBasis","height","validatorNoSaveOnError","validatorErrorText","renderedItem","renderItem","commandRunning","tooltip","width","button","buttonTooltip","buttonTooltipNoTranslation","renderConfirmDialog","split","part","shift","Component","getPrototypeOf","constructor","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","number","dateFormat","isFloatComma"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Grid from '@mui/material/Grid';\nimport Button from '@mui/material/Button';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from '../../i18n';\nimport Utils from '../Utils';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = 'ra___different__';\n static NONE_VALUE = '';\n static NONE_LABEL = 'ra_none';\n static AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (this.props.schema) {\n if (this.props.custom) {\n this.defaultValue = this.props.schema.defaultFunc ? this.executeCustom(this.props.schema.defaultFunc, this.props.schema.default, this.props.data, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : this.props.schema.default;\n } else {\n this.defaultValue = this.props.schema.defaultFunc ? this.execute(this.props.schema.defaultFunc, this.props.schema.default, this.props.data, this.props.arrayIndex, this.props.globalData) : this.props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (value === undefined || (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }, 100);\n }\n } else if (this.props.schema.defaultSendTo) {\n this.sendTo();\n }\n }\n\n sendTo() {\n if (this.props.alive) {\n this.defaultSendToDone = true;\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n } else {\n data = {\n attr: this.props.attr,\n value: ConfigGeneric.getValue(this.props.data, this.props.attr),\n };\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`, this.props.schema.defaultSendTo, data)\n .then(value => {\n if (value !== null && value !== undefined) {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, value, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, value);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }\n });\n } else {\n this.defaultSendToDone = false;\n // show error, that instance does not started\n this.onError(this.props.attr, I18n.t('ra_Instance %s is not alive', this.props.instance));\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr)\n if (this.sendToTimeout) {\n clearTimeout(this.sendToTimeout);\n this.sendToTimeout = null;\n }\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n }\n\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () => {\n if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null}, () =>\n this.props.onChange(data));\n } else {\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null});\n }\n })\n }\n />;\n }\n\n onChange(attr, newValue) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (this.execute(dep.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData)\n :\n this.execute(dep.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n\n if (newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData)\n :\n this.execute(this.props.schema.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue);\n\n changed && changed.length && changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, ConfigGeneric.getValue(data, attr)), i * 50));\n } else {\n this.props.onChange(data, undefined, () =>\n changed.length && this.props.forceUpdate(changed, data));\n }\n }\n }\n\n execute(func, defaultValue, data, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance, arrayIndex, globalData);\n // console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket, arrayIndex, globalData);\n console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator ? !this.executeCustom(schema.validator, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.executeCustom(schema.disabled, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.executeCustom(schema.hidden, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.executeCustom(schema.defaultFunc, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : schema.default;\n } else {\n error = schema.validator ? !this.execute(schema.validator, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.execute(schema.disabled, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.execute(schema.hidden, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.execute(schema.defaultFunc, schema.default, this.props.data, this.props.arrayIndex, this.props.globalData) : schema.default;\n }\n\n return { error, disabled, hidden, defaultValue };\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text)\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (text && text.includes('<a ')) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{color: this.props.themeType === 'dark' ? '#eee' : '#111'}}\n >{this.getText(text, noTranslation)}</a>;\n }\n }\n\n getPattern(pattern) {\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n pattern = pattern.func;\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n const result = f(this.props.data, this.props.originalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket);\n return result;\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n if (this.props.alive && this.defaultSendToDone === false) {\n this.sendToTimeout = setTimeout(() => {this.sendToTimeout = null; this.sendTo();}, 200);\n }\n\n const { error, disabled, hidden, defaultValue } = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themeType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>;\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else {\n // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {[this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true};\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100, JSON.parse(JSON.stringify(this.isError)));\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n }\n\n const renderedItem = this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue);\n\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n // marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n { this.props.schema.defaultSendTo && this.props.schema.button ? <Grid container style={{ width: '100%' }}>\n <Grid item flex={1}>{renderedItem}</Grid>\n <Grid item><Button\n variant=\"outlined\"\n onClick={() => this.sendTo()}\n title={this.props.schema.buttonTooltip ? this.getText(this.props.schema.buttonTooltip, this.props.schema.buttonTooltipNoTranslation) : I18n.t('ra_Request data by instance')}\n >{this.getText(this.props.schema.button)}</Button></Grid>\n </Grid>\n :\n renderedItem\n }\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigGeneric.js","names":["ConfigGeneric","props","data","value","getValue","attr","state","setState","forceUpdate","confirmDialog","confirmNewValue","confirmAttr","confirmData","isError","schema","custom","defaultValue","defaultFunc","executeCustom","instanceObj","arrayIndex","globalData","execute","lang","I18n","getLanguage","registerOnForceUpdate","onUpdate","LIKE_SELECT","undefined","includes","type","setTimeout","onChange","setValue","defaultSendTo","sendTo","alive","defaultSendToDone","jsonData","getPattern","JSON","parse","e","console","error","socket","adapterName","instance","then","onError","t","sendToTimeout","clearTimeout","text","noTranslation","func","en","confirm","icon","getText","title","ok","cancel","isOk","stringify","confirmDepAttr","confirmDepNewValue","confirmOldValue","newValue","condition","confirmDependsOn","z","length","dep","val","changed","onChangeDependsOn","calculateFunc","customObj","push","hiddenDependsOn","hidden","labelDependsOn","helpDependsOn","ignoreOwnChanges","forEach","_attr","i","f","Function","result","originalData","systemConfig","common","log","disabled","validator","label","link","Utils","renderTextWithA","color","themeType","textDecoration","pattern","replace","calculate","Object","keys","hideOnlyControl","item","xs","lg","md","sm","assign","marginBottom","textAlign","style","darkStyle","newLine","flexBasis","height","validatorNoSaveOnError","validatorErrorText","renderedItem","renderItem","commandRunning","tooltip","width","button","buttonTooltip","buttonTooltipNoTranslation","renderConfirmDialog","split","part","shift","Component","getPrototypeOf","constructor","propTypes","PropTypes","object","isRequired","string","any","themeName","customs","bool","number","dateFormat","isFloatComma"],"sources":["JsonConfigComponent/ConfigGeneric.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Grid from '@mui/material/Grid';\nimport Button from '@mui/material/Button';\n\nimport IconInfo from '@mui/icons-material/Info';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\n\nimport I18n from '../../i18n';\nimport Utils from '../Utils';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nclass ConfigGeneric extends Component {\n static DIFFERENT_VALUE = '__different__';\n static DIFFERENT_LABEL = 'ra___different__';\n static NONE_VALUE = '';\n static NONE_LABEL = 'ra_none';\n static AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;\n\n constructor(props) {\n super(props);\n\n this.state = {\n confirmDialog: false,\n confirmNewValue: null,\n confirmAttr: null,\n confirmData: null,\n };\n\n this.isError = {};\n\n if (this.props.schema) {\n if (this.props.custom) {\n this.defaultValue = this.props.schema.defaultFunc ? this.executeCustom(this.props.schema.defaultFunc, this.props.schema.default, this.props.data, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : this.props.schema.default;\n } else {\n this.defaultValue = this.props.schema.defaultFunc ? this.execute(this.props.schema.defaultFunc, this.props.schema.default, this.props.data, this.props.arrayIndex, this.props.globalData) : this.props.schema.default;\n }\n }\n\n this.lang = I18n.getLanguage();\n }\n\n componentDidMount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n const LIKE_SELECT = ['select', 'autocomplete', 'autocompleteSendTo'];\n // init default value\n if (this.defaultValue !== undefined) {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (value === undefined || (LIKE_SELECT.includes(this.props.schema.type) && (value === '' || value === null))) {\n setTimeout(() => {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, this.defaultValue, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, this.defaultValue);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }, 100);\n }\n } else if (this.props.schema.defaultSendTo) {\n this.sendTo();\n }\n }\n\n sendTo() {\n if (this.props.alive) {\n this.defaultSendToDone = true;\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n } else {\n data = {\n attr: this.props.attr,\n value: ConfigGeneric.getValue(this.props.data, this.props.attr),\n };\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(`${this.props.adapterName}.${this.props.instance}`, this.props.schema.defaultSendTo, data)\n .then(value => {\n if (value !== null && value !== undefined) {\n if (this.props.custom) {\n this.props.onChange(this.props.attr, value, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n //this.onChange(this.props.attr, this.defaultValue);\n } else {\n ConfigGeneric.setValue(this.props.data, this.props.attr, value);\n this.props.onChange(this.props.data, undefined, () =>\n this.props.forceUpdate([this.props.attr], this.props.data));\n }\n }\n });\n } else {\n this.defaultSendToDone = false;\n // show error, that instance does not started\n this.onError(this.props.attr, I18n.t('ra_Instance %s is not alive', this.props.instance));\n }\n }\n\n componentWillUnmount() {\n this.props.registerOnForceUpdate && this.props.registerOnForceUpdate(this.props.attr)\n if (this.sendToTimeout) {\n clearTimeout(this.sendToTimeout);\n this.sendToTimeout = null;\n }\n }\n\n onUpdate = data => {\n const value = ConfigGeneric.getValue(data || this.props.data, this.props.attr) || '';\n if (this.state.value !== value) {\n this.setState({ value });\n } else {\n this.forceUpdate();\n }\n }\n\n static getValue(data, attr) {\n if (typeof attr === 'string') {\n return ConfigGeneric.getValue(data, attr.split('.'));\n } else {\n if (attr.length === 1) {\n return data[attr[0]];\n } else {\n const part = attr.shift();\n if (typeof data[part] === 'object') {\n return ConfigGeneric.getValue(data[part], attr);\n } else {\n return null;\n }\n }\n }\n }\n\n static setValue(data, attr, value) {\n if (typeof attr === 'string') {\n return ConfigGeneric.setValue(data, attr.split('.'), value);\n } else {\n if (attr.length === 1) {\n if (value === null) {\n delete data[attr[0]];\n } else {\n data[attr[0]] = value;\n }\n } else {\n const part = attr.shift();\n if (!data[part] || typeof data[part] === 'object') {\n data[part] = data[part] || {};\n }\n return ConfigGeneric.setValue(data[part], attr, value);\n }\n }\n }\n\n getText(text, noTranslation) {\n if (!text) {\n return '';\n }\n\n if (typeof text === 'string') {\n text = noTranslation ? text : I18n.t(text);\n if (text.includes('${')) {\n return this.getPattern(text);\n } else {\n return text;\n }\n } else if (text && typeof text === 'object') {\n if (text.func) {\n // calculate pattern\n if (typeof text.func === 'object') {\n return this.getPattern(text.func[this.lang] || text.func.en || '');\n } else {\n this.getPattern(text.func);\n }\n } else {\n return text[this.lang] || text.en || '';\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () => {\n if (isOk) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n if (this.state.confirmDepAttr) {\n ConfigGeneric.setValue(data, this.state.confirmDepAttr, this.state.confirmDepNewValue);\n }\n\n ConfigGeneric.setValue(data, this.state.confirmAttr, this.state.confirmNewValue);\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null}, () =>\n this.props.onChange(data));\n } else {\n this.setState({confirmDialog: false, confirmDepAttr: null, confirmDepNewValue: null, confirmNewValue: null, confirmAttr: null, confirmOldValue: null, confirmData: null});\n }\n })\n }\n />;\n }\n\n onChange(attr, newValue) {\n const data = JSON.parse(JSON.stringify(this.props.data));\n ConfigGeneric.setValue(data, attr, newValue);\n\n if (this.props.schema.confirm && this.execute(this.props.schema.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmData: null,\n });\n } else {\n // find any inputs with confirmation\n if (this.props.schema.confirmDependsOn) {\n for (let z = 0; z < this.props.schema.confirmDependsOn.length; z++) {\n const dep = this.props.schema.confirmDependsOn[z];\n if (dep.confirm) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n if (this.execute(dep.confirm.condition, false, data, this.props.arrayIndex, this.props.globalData)) {\n return this.setState({\n confirmDialog: true,\n confirmNewValue: newValue,\n confirmAttr: attr,\n confirmDepNewValue: val,\n confirmDepAttr: dep.attr,\n confirmData: dep.confirm,\n });\n }\n }\n }\n }\n\n const changed = [];\n if (this.props.schema.onChangeDependsOn) {\n for (let z = 0; z < this.props.schema.onChangeDependsOn.length; z++) {\n const dep = this.props.schema.onChangeDependsOn[z];\n if (dep.onChange) {\n const val = ConfigGeneric.getValue(data, dep.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(dep.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData)\n :\n this.execute(dep.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n\n if (newValue !== val) {\n ConfigGeneric.setValue(data, dep.attr, newValue);\n changed.push(dep.attr);\n }\n }\n }\n }\n\n if (this.props.schema.hiddenDependsOn) {\n for (let z = 0; z < this.props.schema.hiddenDependsOn.length; z++) {\n const dep = this.props.schema.hiddenDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.labelDependsOn) {\n for (let z = 0; z < this.props.schema.labelDependsOn.length; z++) {\n const dep = this.props.schema.labelDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.helpDependsOn) {\n for (let z = 0; z < this.props.schema.helpDependsOn.length; z++) {\n const dep = this.props.schema.helpDependsOn[z];\n dep.hidden && changed.push(dep.attr);\n }\n }\n\n if (this.props.schema.onChange && !this.props.schema.onChange.ignoreOwnChanges) {\n const val = ConfigGeneric.getValue(data, this.props.attr);\n\n const newValue = this.props.custom ?\n this.executeCustom(this.props.schema.onChange.calculateFunc, data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData)\n :\n this.execute(this.props.schema.onChange.calculateFunc, val, data, this.props.arrayIndex, this.props.globalData);\n if (newValue !== val) {\n ConfigGeneric.setValue(data, this.props.attr, newValue);\n }\n }\n\n if (this.props.custom) {\n this.props.onChange(attr, newValue);\n\n changed && changed.length && changed.forEach((_attr, i) =>\n setTimeout(() => this.props.onChange(_attr, ConfigGeneric.getValue(data, attr)), i * 50));\n } else {\n this.props.onChange(data, undefined, () =>\n changed.length && this.props.forceUpdate(changed, data));\n }\n }\n }\n\n execute(func, defaultValue, data, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return defaultValue;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', '_alive', '_common', '_socket', '_instance', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket, this.props.instance, arrayIndex, globalData);\n // console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return defaultValue;\n }\n }\n }\n\n executeCustom(func, data, customObj, instanceObj, arrayIndex, globalData) {\n if (func && typeof func === 'object') {\n func = func.func;\n }\n\n if (!func) {\n return null;\n } else {\n try {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', '_system', 'instanceObj', 'customObj', '_socket', 'arrayIndex', 'globalData', func.includes('return') ? func : 'return ' + func);\n const result = f(data || this.props.data, this.props.originalData, this.props.systemConfig, instanceObj, customObj, this.props.socket, arrayIndex, globalData);\n console.log(result);\n return result;\n } catch (e) {\n console.error(`Cannot execute ${func}: ${e}`);\n return null;\n }\n }\n }\n\n calculate(schema) {\n let error;\n let disabled;\n let hidden;\n let defaultValue;\n\n if (this.props.custom) {\n error = schema.validator ? !this.executeCustom(schema.validator, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.executeCustom(schema.disabled, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.executeCustom(schema.hidden, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.executeCustom(schema.defaultFunc, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData) : schema.default;\n } else {\n error = schema.validator ? !this.execute(schema.validator, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n disabled = schema.disabled ? this.execute(schema.disabled, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n hidden = schema.hidden ? this.execute(schema.hidden, false, this.props.data, this.props.arrayIndex, this.props.globalData) : false;\n defaultValue = schema.defaultFunc ? this.execute(schema.defaultFunc, schema.default, this.props.data, this.props.arrayIndex, this.props.globalData) : schema.default;\n }\n\n return { error, disabled, hidden, defaultValue };\n }\n\n onError(attr, error) {\n if (!error) {\n delete this.isError[attr];\n } else {\n this.isError[attr] = error;\n }\n\n this.props.onError && this.props.onError(attr, error);\n }\n\n renderItem(error, disabled, defaultValue) {\n return this.getText(this.props.schema.label) || this.getText(this.props.schema.text)\n }\n\n renderHelp(text, link, noTranslation) {\n if (!link) {\n text = this.getText(text, noTranslation) || '';\n if (text && text.includes('<a ')) {\n return Utils.renderTextWithA(text);\n } else {\n return text;\n }\n } else {\n return <a\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{ color: this.props.themeType === 'dark' ? '#a147ff' : '#5b238f', textDecoration: 'underline' }}\n >{this.getText(text, noTranslation)}</a>;\n }\n }\n\n getPattern(pattern, data) {\n data = data || this.props.data;\n if (!pattern) {\n return '';\n } else {\n if (typeof pattern === 'object') {\n pattern = pattern.func;\n }\n\n try {\n if (this.props.custom) {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', 'instanceObj', 'customObj', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.instanceObj, this.props.customObj, this.props.socket, this.props.arrayIndex, this.props.globalData);\n } else {\n // eslint-disable-next-line no-new-func\n const f = new Function('data', 'originalData', 'arrayIndex', 'globalData', '_system', '_alive', '_common', '_socket', 'return `' + pattern.replace(/`/g, '\\\\`') + '`');\n return f(data, this.props.originalData, this.props.arrayIndex, this.props.globalData, this.props.systemConfig, this.props.alive, this.props.common, this.props.socket);\n }\n } catch (e) {\n console.error(`Cannot execute ${pattern}: ${e}`);\n return pattern;\n }\n }\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n if (this.props.alive && this.defaultSendToDone === false) {\n this.sendToTimeout = setTimeout(() => {this.sendToTimeout = null; this.sendTo();}, 200);\n }\n\n const { error, disabled, hidden, defaultValue } = this.calculate(schema);\n\n if (hidden) {\n // Remove all errors if element is hidden\n if (Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themeType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>;\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else {\n // Add error\n if (schema.validatorNoSaveOnError) {\n if (error && !Object.keys(this.isError).length) {\n this.isError = {[this.props.attr]: schema.validatorErrorText ? I18n.t(schema.validatorErrorText) : true};\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr, isError[attr])),\n 100, JSON.parse(JSON.stringify(this.isError)));\n } else if (!error && Object.keys(this.isError).length) {\n setTimeout(isError =>\n Object.keys(isError).forEach(attr => this.props.onError(attr)),\n 100, JSON.parse(JSON.stringify(this.isError)));\n this.isError = {};\n }\n }\n\n const renderedItem = this.renderItem(error, disabled || this.props.commandRunning || this.props.disabled, defaultValue);\n\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n // marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n { this.props.schema.defaultSendTo && this.props.schema.button ? <Grid container style={{ width: '100%' }}>\n <Grid item flex={1}>{renderedItem}</Grid>\n <Grid item><Button\n variant=\"outlined\"\n onClick={() => this.sendTo()}\n title={this.props.schema.buttonTooltip ? this.getText(this.props.schema.buttonTooltip, this.props.schema.buttonTooltipNoTranslation) : I18n.t('ra_Request data by instance')}\n >{this.getText(this.props.schema.button)}</Button></Grid>\n </Grid>\n :\n renderedItem\n }\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n if (this.state.confirmDialog) {\n return <>\n {this.renderConfirmDialog()}\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n }\n}\n\nConfigGeneric.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object,\n originalData: PropTypes.object,\n schema: PropTypes.object,\n attr: PropTypes.string,\n value: PropTypes.any,\n themeName: PropTypes.string,\n style: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n forceUpdate: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n};\n\nexport default ConfigGeneric;\n"],"mappings":"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"}
|
|
@@ -110,7 +110,7 @@ var ConfigLanguage = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
this.setState({
|
|
113
|
-
value: value || _i18n["default"].getLanguage(),
|
|
113
|
+
value: this.props.schema.system ? value || '' : value || _i18n["default"].getLanguage(),
|
|
114
114
|
selectOptions: languages
|
|
115
115
|
});
|
|
116
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigLanguage.js","names":["styles","theme","fullWidth","width","LANGUAGES","value","label","ConfigLanguage","ConfigGeneric","getValue","props","data","attr","languages","schema","system","unshift","I18n","t","setState","getLanguage","selectOptions","error","disabled","defaultValue","state","item","find","classes","getText","val","noTranslation","e","target","onChange","changeGuiLanguage","setLanguage","changeLanguage","socket","getSystemConfig","then","systemConfig","common","language","map","help","renderHelp","helpLink","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigLanguage.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nconst LANGUAGES =[\n {\n value: 'en',\n label: 'English'\n },\n {\n value: 'de',\n label: 'Deutsch'\n },\n {\n value: 'ru',\n label: 'русский'\n },\n {\n value: 'pt',\n label: 'Portugues'\n },\n {\n value: 'nl',\n label: 'Nederlands'\n },\n {\n value: 'fr',\n label: 'français'\n },\n {\n value: 'it',\n label: 'Italiano'\n },\n {\n value: 'es',\n label: 'Espanol'\n },\n {\n value: 'pl',\n label: 'Polski'\n },\n {\n value: 'zh-ch',\n label: '简体中文'\n }\n];\n\nclass ConfigLanguage extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n const languages = [...LANGUAGES];\n if (this.props.schema.system) {\n languages.unshift({value: '', label: I18n.t('ra_System language')});\n }\n\n this.setState({value: value || I18n.getLanguage(), selectOptions: languages});\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value || (!item.value && !this.state.value));\n\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={val => this.getText(item?.label, this.props.schema.noTranslation)}\n onChange={e => {\n const value = e.target.value === '_' ? '' : e.target.value;\n this.setState({ value }, () => {\n this.onChange(this.props.attr, value);\n if (this.props.schema.changeGuiLanguage) {\n if (value) {\n if (value === I18n.getLanguage()) {\n return;\n }\n I18n.setLanguage(value);\n this.props.changeLanguage && this.props.changeLanguage();\n } else {\n this.props.socket.getSystemConfig()\n .then(systemConfig => {\n if (systemConfig.common.language === I18n.getLanguage()) {\n return;\n }\n if (systemConfig.common.language) {\n I18n.setLanguage(systemConfig.common.language);\n this.props.changeLanguage && this.props.changeLanguage();\n }\n });\n }\n }\n });\n }}\n >\n {this.state.selectOptions?.map(item =>\n <MenuItem key={item.value} value={item.value}>{item.label}</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigLanguage.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigLanguage);"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACrBC,SAAS,EAAE;MACPC,KAAK,EAAE;IADA;EADU,CAAL;AAAA,CAApB;;AAMA,IAAMC,SAAS,GAAE,CACb;EACIC,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CADa,EAKb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CALa,EASb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CATa,EAab;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAba,EAiBb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAjBa,EAqBb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CArBa,EAyBb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAzBa,EA6Bb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CA7Ba,EAiCb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAjCa,EAqCb;EACID,KAAK,EAAE,OADX;EAEIC,KAAK,EAAE;AAFX,CArCa,CAAjB;;IA2CMC,c;;;;;;;;;;;;WACF,6BAAoB;MAChB;;MACA,IAAMF,KAAK,GAAGG,0BAAA,CAAcC,QAAd,CAAuB,KAAKC,KAAL,CAAWC,IAAlC,EAAwC,KAAKD,KAAL,CAAWE,IAAnD,CAAd;;MACA,IAAMC,SAAS,aAAOT,SAAP,CAAf;;MACA,IAAI,KAAKM,KAAL,CAAWI,MAAX,CAAkBC,MAAtB,EAA8B;QAC1BF,SAAS,CAACG,OAAV,CAAkB;
|
|
1
|
+
{"version":3,"file":"ConfigLanguage.js","names":["styles","theme","fullWidth","width","LANGUAGES","value","label","ConfigLanguage","ConfigGeneric","getValue","props","data","attr","languages","schema","system","unshift","I18n","t","setState","getLanguage","selectOptions","error","disabled","defaultValue","state","item","find","classes","getText","val","noTranslation","e","target","onChange","changeGuiLanguage","setLanguage","changeLanguage","socket","getSystemConfig","then","systemConfig","common","language","map","help","renderHelp","helpLink","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigLanguage.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nconst LANGUAGES =[\n {\n value: 'en',\n label: 'English'\n },\n {\n value: 'de',\n label: 'Deutsch'\n },\n {\n value: 'ru',\n label: 'русский'\n },\n {\n value: 'pt',\n label: 'Portugues'\n },\n {\n value: 'nl',\n label: 'Nederlands'\n },\n {\n value: 'fr',\n label: 'français'\n },\n {\n value: 'it',\n label: 'Italiano'\n },\n {\n value: 'es',\n label: 'Espanol'\n },\n {\n value: 'pl',\n label: 'Polski'\n },\n {\n value: 'zh-ch',\n label: '简体中文'\n }\n];\n\nclass ConfigLanguage extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n const languages = [...LANGUAGES];\n if (this.props.schema.system) {\n languages.unshift({ value: '', label: I18n.t('ra_System language') });\n }\n\n this.setState({ value: this.props.schema.system ? (value || '') : (value || I18n.getLanguage()), selectOptions: languages });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value || (!item.value && !this.state.value));\n\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={val => this.getText(item?.label, this.props.schema.noTranslation)}\n onChange={e => {\n const value = e.target.value === '_' ? '' : e.target.value;\n this.setState({ value }, () => {\n this.onChange(this.props.attr, value);\n if (this.props.schema.changeGuiLanguage) {\n if (value) {\n if (value === I18n.getLanguage()) {\n return;\n }\n I18n.setLanguage(value);\n this.props.changeLanguage && this.props.changeLanguage();\n } else {\n this.props.socket.getSystemConfig()\n .then(systemConfig => {\n if (systemConfig.common.language === I18n.getLanguage()) {\n return;\n }\n if (systemConfig.common.language) {\n I18n.setLanguage(systemConfig.common.language);\n this.props.changeLanguage && this.props.changeLanguage();\n }\n });\n }\n }\n });\n }}\n >\n {this.state.selectOptions?.map(item =>\n <MenuItem key={item.value} value={item.value}>{item.label}</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigLanguage.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigLanguage);"],"mappings":"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"}
|