@iobroker/adapter-react-v5 3.1.17 → 3.1.20
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/ObjectBrowser.js +14 -4
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Utils.js +3 -3
- package/Components/Utils.js.map +1 -1
- package/Dialogs/SelectID.js +3 -0
- package/Dialogs/SelectID.js.map +1 -1
- package/README.md +9 -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/i18n.js +19 -12
- package/i18n.js.map +1 -1
- package/package.json +12 -12
package/Dialogs/SelectID.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectID.js","names":["styles","theme","headerID","fontWeight","fontStyle","dialog","height","dialogMobile","padding","width","maxWidth","maxHeight","content","overflow","contentMobile","titleRoot","whiteSpace","display","textOverflow","DialogSelectID","props","dialogName","filters","window","_localStorage","localStorage","getItem","JSON","parse","e","selected","filter","id","state","name","isMobile","innerWidth","onClose","onOk","multiSelect","title","length","I18n","t","classes","paper","Utils","clsx","root","foldersFirst","imagePrefix","prefix","showExpertButton","undefined","columns","types","lang","getLanguage","socket","notEditable","themeName","themeType","customFilter","filterConfig","setItem","stringify","isDouble","setState","handleOk","filterFunc","ok","handleCancel","cancel","React","Component","propTypes","PropTypes","string","object","bool","func","isRequired","isFloatComma","dateFormat","oneOfType","array","statesOnly","_export","withStyles"],"sources":["SelectID.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\n\nimport IconCancel from '@mui/icons-material/Cancel';\nimport IconOk from '@mui/icons-material/Check';\n\nimport Utils from '../Components/Utils';\nimport I18n from '../i18n';\nimport ObjectBrowser from '../Components/ObjectBrowser';\n\nconst styles = theme => ({\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic'\n },\n dialog: {\n height: '95%'\n },\n dialogMobile: {\n padding: 4,\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n height: '100%'\n },\n content: {\n height: '100%',\n overflow: 'hidden'\n },\n contentMobile: {\n padding: '8px 4px'\n },\n titleRoot: {\n whiteSpace: 'nowrap',\n width: 'calc(100% - 72px)',\n overflow: 'hidden',\n display: 'inline-block',\n textOverflow: 'ellipsis',\n }\n});\n\n/**\n * @typedef {object} DialogSelectIDProps\n * @property {string} [dialogName] The internal name of the dialog; default: \"default\"\n * @property {string} [title] The dialog title; default: Please select object ID... (translated)\n * @property {boolean} [multiSelect] Set to true to allow the selection of multiple IDs.\n * @property {boolean} [foldersFirst] Show folders before any leaves.\n * @property {string} [imagePrefix] Prefix (default: '.')\n * @property {boolean} [showExpertButton] Show the expert button?\n * @property {import('../Components/types').ObjectBrowserColumn[]} [columns] Columns to display; default: 'name', 'type', 'role', 'room', 'func', 'val'\n * @property {import('../Components/types').ObjectBrowserType[]} [types] Object types to show; default: 'state' only\n * @property {ioBroker.Languages} [lang] The language.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {boolean} [notEditable] Can't objects be edited? (default: true)\n * @property {string} [themeName] Theme name.\n * @property {string} [themeType] Theme type.\n * @property {import('../Components/types').ObjectBrowserCustomFilter} [customFilter] Custom filter.\n * @property {string | string[]} [selected] The selected IDs.\n * @property {string} [ok] The ok button text; default: OK (translated)\n * @property {string} [cancel] The cancel button text; default: Cancel (translated)\n * @property {() => void} onClose Close handler that is always called when the dialog is closed.\n * @property {(selected: string | string[] | undefined, name: string) => void} onOk Handler that is called when the user presses OK.\n * @property {{headerID: string; dialog: string; content: string}} [classes] The styling class names.\n *\n * @extends {React.Component<DialogSelectIDProps>}\n */\nclass DialogSelectID extends React.Component {\n /**\n * @param {DialogSelectIDProps} props\n */\n constructor(props) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = 'SelectID.' + this.dialogName;\n\n this.filters = (window._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(this.filters);\n } catch (e) {\n this.filters = {};\n }\n\n let selected = this.props.selected || [];\n if (typeof selected !== 'object') {\n selected = [selected];\n }\n selected = selected.filter(id => id);\n\n this.state = {\n selected,\n name: '',\n isMobile: window.innerWidth < 800\n };\n }\n\n handleCancel() {\n this.props.onClose();\n };\n\n handleOk() {\n this.props.onOk(this.props.multiSelect ? this.state.selected : this.state.selected[0] || '', this.state.name);\n this.props.onClose();\n };\n\n render() {\n let title;\n if (this.state.name || this.state.selected.length) {\n if (this.state.selected.length === 1) {\n title = [\n <span key=\"selected\">{ I18n.t('ra_Selected') } </span>,\n <span key=\"id\" className={ this.props.classes.headerID }>{\n (this.state.name || this.state.selected) + (this.state.name ? ' [' + this.state.selected + ']' : '')\n }</span>\n ];\n } else {\n title = [\n <span key=\"selected\">{ I18n.t('ra_Selected') } </span>,\n <span key=\"id\" className={ this.props.classes.headerID }>{\n I18n.t('%s items', this.state.selected.length)\n }</span>\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select object ID...');\n }\n\n return <Dialog\n onClose={() => {}}\n maxWidth={false}\n classes={{paper: Utils.clsx(this.props.classes.dialog, this.props.classes.dialogMobile)}}\n fullWidth={true}\n open={true}\n aria-labelledby=\"selectid-dialog-title\"\n >\n <DialogTitle id=\"selectid-dialog-title\" classes={{root: this.props.classes.titleRoot}}>{ title }</DialogTitle>\n <DialogContent className={Utils.clsx(this.props.classes.content, this.props.classes.contentMobile)}>\n <ObjectBrowser\n foldersFirst={ this.props.foldersFirst }\n imagePrefix={ this.props.imagePrefix || this.props.prefix } // prefix is for back compatibility\n defaultFilters={ this.filters }\n dialogName={this.dialogName}\n showExpertButton={ this.props.showExpertButton !== undefined ? this.props.showExpertButton : true }\n style={ {width: '100%', height: '100%'} }\n columns={ this.props.columns || ['name', 'type', 'role', 'room', 'func', 'val'] }\n types={ this.props.types || ['state'] }\n t={ I18n.t }\n lang={ this.props.lang || I18n.getLanguage() }\n socket={ this.props.socket }\n selected={ this.state.selected }\n multiSelect={ this.props.multiSelect }\n notEditable={ this.props.notEditable === undefined ? true : this.props.notEditable }\n name={ this.state.name }\n themeName={ this.props.themeName }\n themeType={ this.props.themeType }\n customFilter={ this.props.customFilter }\n onFilterChanged={ filterConfig => {\n this.filters = filterConfig;\n (window._localStorage || window.localStorage).setItem(this.dialogName, JSON.stringify(filterConfig));\n } }\n onSelect={ (selected, name, isDouble) => {\n if (JSON.stringify(selected) !== JSON.stringify(this.state.selected)) {\n this.setState({selected, name}, () =>\n isDouble && this.handleOk());\n } else if (isDouble) {\n this.handleOk();\n }\n } }\n filterFunc={this.props.filterFunc}\n />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={ () => this.handleOk() } startIcon={<IconOk />} disabled={ !this.state.selected.length } color=\"primary\">{ this.props.ok || I18n.t('ra_Ok') }</Button>\n <Button color=\"grey\" variant=\"contained\" onClick={ () => this.handleCancel() } startIcon={<IconCancel />}>{ this.props.cancel || I18n.t('ra_Cancel') }</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogSelectID.propTypes = {\n dialogName: PropTypes.string, // where to store settings in localStorage\n classes: PropTypes.object,\n notEditable: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onOk: PropTypes.func.isRequired,\n title: PropTypes.string,\n lang: PropTypes.string,\n foldersFirst: PropTypes.bool,\n isFloatComma: PropTypes.bool,\n dateFormat: PropTypes.string,\n selected: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array\n ]),\n customFilter: PropTypes.object, // optional {common: {custom: true}} or {common: {custom: 'sql.0'}}\n statesOnly: PropTypes.bool,\n socket: PropTypes.object.isRequired,\n cancel: PropTypes.string,\n imagePrefix: PropTypes.string,\n ok: PropTypes.string,\n themeName: PropTypes.string,\n themeType: PropTypes.string,\n showExpertButton: PropTypes.bool,\n multiSelect: PropTypes.bool,\n types: PropTypes.array, // optional ['state', 'instance', 'channel']\n columns: PropTypes.array, // optional ['name', 'type', 'role', 'room', 'func', 'val', 'buttons']\n\n filterFunc: PropTypes.func, // function to filter out all unnecessary objects. It cannot be used together with \"types\"\n // Example for function: `obj => obj.common && obj.common.type === 'boolean'` to show only boolean states\n};\n\n/** @type {typeof DialogSelectID} */\nconst _export = withStyles(styles)(DialogSelectID);\nexport default _export;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectID.js","names":["styles","theme","headerID","fontWeight","fontStyle","dialog","height","dialogMobile","padding","width","maxWidth","maxHeight","content","overflow","contentMobile","titleRoot","whiteSpace","display","textOverflow","DialogSelectID","props","dialogName","filters","window","_localStorage","localStorage","getItem","JSON","parse","e","selected","filter","id","state","name","isMobile","innerWidth","onClose","onOk","multiSelect","title","length","I18n","t","classes","paper","Utils","clsx","root","foldersFirst","imagePrefix","prefix","showExpertButton","undefined","expertMode","columns","types","lang","getLanguage","socket","notEditable","themeName","themeType","customFilter","filterConfig","setItem","stringify","isDouble","setState","handleOk","filterFunc","ok","handleCancel","cancel","React","Component","propTypes","PropTypes","string","object","bool","func","isRequired","isFloatComma","dateFormat","oneOfType","array","statesOnly","_export","withStyles"],"sources":["SelectID.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\n\nimport IconCancel from '@mui/icons-material/Cancel';\nimport IconOk from '@mui/icons-material/Check';\n\nimport Utils from '../Components/Utils';\nimport I18n from '../i18n';\nimport ObjectBrowser from '../Components/ObjectBrowser';\n\nconst styles = theme => ({\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic'\n },\n dialog: {\n height: '95%'\n },\n dialogMobile: {\n padding: 4,\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n height: '100%'\n },\n content: {\n height: '100%',\n overflow: 'hidden'\n },\n contentMobile: {\n padding: '8px 4px'\n },\n titleRoot: {\n whiteSpace: 'nowrap',\n width: 'calc(100% - 72px)',\n overflow: 'hidden',\n display: 'inline-block',\n textOverflow: 'ellipsis',\n }\n});\n\n/**\n * @typedef {object} DialogSelectIDProps\n * @property {string} [dialogName] The internal name of the dialog; default: \"default\"\n * @property {string} [title] The dialog title; default: Please select object ID... (translated)\n * @property {boolean} [multiSelect] Set to true to allow the selection of multiple IDs.\n * @property {boolean} [foldersFirst] Show folders before any leaves.\n * @property {string} [imagePrefix] Prefix (default: '.')\n * @property {boolean} [showExpertButton] Show the expert button?\n * @property {import('../Components/types').ObjectBrowserColumn[]} [columns] Columns to display; default: 'name', 'type', 'role', 'room', 'func', 'val'\n * @property {import('../Components/types').ObjectBrowserType[]} [types] Object types to show; default: 'state' only\n * @property {ioBroker.Languages} [lang] The language.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {boolean} [notEditable] Can't objects be edited? (default: true)\n * @property {string} [themeName] Theme name.\n * @property {string} [themeType] Theme type.\n * @property {import('../Components/types').ObjectBrowserCustomFilter} [customFilter] Custom filter.\n * @property {string | string[]} [selected] The selected IDs.\n * @property {string} [ok] The ok button text; default: OK (translated)\n * @property {string} [cancel] The cancel button text; default: Cancel (translated)\n * @property {() => void} onClose Close handler that is always called when the dialog is closed.\n * @property {(selected: string | string[] | undefined, name: string) => void} onOk Handler that is called when the user presses OK.\n * @property {{headerID: string; dialog: string; content: string}} [classes] The styling class names.\n *\n * @extends {React.Component<DialogSelectIDProps>}\n */\nclass DialogSelectID extends React.Component {\n /**\n * @param {DialogSelectIDProps} props\n */\n constructor(props) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = 'SelectID.' + this.dialogName;\n\n this.filters = (window._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(this.filters);\n } catch (e) {\n this.filters = {};\n }\n\n let selected = this.props.selected || [];\n if (typeof selected !== 'object') {\n selected = [selected];\n }\n selected = selected.filter(id => id);\n\n this.state = {\n selected,\n name: '',\n isMobile: window.innerWidth < 800\n };\n }\n\n handleCancel() {\n this.props.onClose();\n };\n\n handleOk() {\n this.props.onOk(this.props.multiSelect ? this.state.selected : this.state.selected[0] || '', this.state.name);\n this.props.onClose();\n };\n\n render() {\n let title;\n if (this.state.name || this.state.selected.length) {\n if (this.state.selected.length === 1) {\n title = [\n <span key=\"selected\">{ I18n.t('ra_Selected') } </span>,\n <span key=\"id\" className={ this.props.classes.headerID }>{\n (this.state.name || this.state.selected) + (this.state.name ? ' [' + this.state.selected + ']' : '')\n }</span>\n ];\n } else {\n title = [\n <span key=\"selected\">{ I18n.t('ra_Selected') } </span>,\n <span key=\"id\" className={ this.props.classes.headerID }>{\n I18n.t('%s items', this.state.selected.length)\n }</span>\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select object ID...');\n }\n\n return <Dialog\n onClose={() => {}}\n maxWidth={false}\n classes={{paper: Utils.clsx(this.props.classes.dialog, this.props.classes.dialogMobile)}}\n fullWidth={true}\n open={true}\n aria-labelledby=\"selectid-dialog-title\"\n >\n <DialogTitle id=\"selectid-dialog-title\" classes={{root: this.props.classes.titleRoot}}>{ title }</DialogTitle>\n <DialogContent className={Utils.clsx(this.props.classes.content, this.props.classes.contentMobile)}>\n <ObjectBrowser\n foldersFirst={ this.props.foldersFirst }\n imagePrefix={ this.props.imagePrefix || this.props.prefix } // prefix is for back compatibility\n defaultFilters={ this.filters }\n dialogName={this.dialogName}\n showExpertButton={ this.props.showExpertButton !== undefined ? this.props.showExpertButton : true }\n expertMode={ this.props.expertMode }\n style={ {width: '100%', height: '100%'} }\n columns={ this.props.columns || ['name', 'type', 'role', 'room', 'func', 'val'] }\n types={ this.props.types || ['state'] }\n t={ I18n.t }\n lang={ this.props.lang || I18n.getLanguage() }\n socket={ this.props.socket }\n selected={ this.state.selected }\n multiSelect={ this.props.multiSelect }\n notEditable={ this.props.notEditable === undefined ? true : this.props.notEditable }\n name={ this.state.name }\n themeName={ this.props.themeName }\n themeType={ this.props.themeType }\n customFilter={ this.props.customFilter }\n onFilterChanged={ filterConfig => {\n this.filters = filterConfig;\n (window._localStorage || window.localStorage).setItem(this.dialogName, JSON.stringify(filterConfig));\n } }\n onSelect={(selected, name, isDouble) => {\n if (JSON.stringify(selected) !== JSON.stringify(this.state.selected)) {\n this.setState({selected, name}, () =>\n isDouble && this.handleOk());\n } else if (isDouble) {\n this.handleOk();\n }\n }}\n filterFunc={this.props.filterFunc}\n />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={ () => this.handleOk() } startIcon={<IconOk />} disabled={ !this.state.selected.length } color=\"primary\">{ this.props.ok || I18n.t('ra_Ok') }</Button>\n <Button color=\"grey\" variant=\"contained\" onClick={ () => this.handleCancel() } startIcon={<IconCancel />}>{ this.props.cancel || I18n.t('ra_Cancel') }</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogSelectID.propTypes = {\n dialogName: PropTypes.string, // where to store settings in localStorage\n classes: PropTypes.object,\n notEditable: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onOk: PropTypes.func.isRequired,\n title: PropTypes.string,\n lang: PropTypes.string,\n foldersFirst: PropTypes.bool,\n isFloatComma: PropTypes.bool,\n dateFormat: PropTypes.string,\n selected: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array\n ]),\n customFilter: PropTypes.object, // optional {common: {custom: true}} or {common: {custom: 'sql.0'}}\n statesOnly: PropTypes.bool,\n socket: PropTypes.object.isRequired,\n cancel: PropTypes.string,\n imagePrefix: PropTypes.string,\n ok: PropTypes.string,\n themeName: PropTypes.string,\n themeType: PropTypes.string,\n showExpertButton: PropTypes.bool,\n expertMode: PropTypes.bool, // force expert mode\n multiSelect: PropTypes.bool,\n types: PropTypes.array, // optional ['state', 'instance', 'channel']\n columns: PropTypes.array, // optional ['name', 'type', 'role', 'room', 'func', 'val', 'buttons']\n\n filterFunc: PropTypes.func, // function to filter out all unnecessary objects. It cannot be used together with \"types\"\n // Example for function: `obj => obj.common && obj.common.type === 'boolean'` to show only boolean states\n};\n\n/** @type {typeof DialogSelectID} */\nconst _export = withStyles(styles)(DialogSelectID);\nexport default _export;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACrBC,QAAQ,EAAE;MACNC,UAAU,EAAE,MADN;MAENC,SAAS,EAAE;IAFL,CADW;IAKrBC,MAAM,EAAE;MACJC,MAAM,EAAE;IADJ,CALa;IAQrBC,YAAY,EAAE;MACVC,OAAO,EAAE,CADC;MAEVC,KAAK,EAAE,MAFG;MAGVC,QAAQ,EAAE,MAHA;MAIVC,SAAS,EAAE,mBAJD;MAKVL,MAAM,EAAE;IALE,CARO;IAerBM,OAAO,EAAE;MACLN,MAAM,EAAE,MADH;MAELO,QAAQ,EAAE;IAFL,CAfY;IAmBrBC,aAAa,EAAE;MACXN,OAAO,EAAE;IADE,CAnBM;IAsBrBO,SAAS,EAAE;MACPC,UAAU,EAAE,QADL;MAEPP,KAAK,EAAE,mBAFA;MAGPI,QAAQ,EAAE,QAHH;MAIPI,OAAO,EAAE,cAJF;MAKPC,YAAY,EAAE;IALP;EAtBU,CAAL;AAAA,CAApB;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,c;;;;;EACF;AACJ;AACA;EACI,wBAAYC,KAAZ,EAAmB;IAAA;;IAAA;IACf,0BAAMA,KAAN;IACA,MAAKC,UAAL,GAAkB,MAAKD,KAAL,CAAWC,UAAX,IAAyB,SAA3C;IACA,MAAKA,UAAL,GAAkB,cAAc,MAAKA,UAArC;IAEA,MAAKC,OAAL,GAAe,CAACC,MAAM,CAACC,aAAP,IAAwBD,MAAM,CAACE,YAAhC,EAA8CC,OAA9C,CAAsD,MAAKL,UAA3D,KAA0E,IAAzF;;IAEA,IAAI;MACA,MAAKC,OAAL,GAAeK,IAAI,CAACC,KAAL,CAAW,MAAKN,OAAhB,CAAf;IACH,CAFD,CAEE,OAAOO,CAAP,EAAU;MACR,MAAKP,OAAL,GAAe,EAAf;IACH;;IAED,IAAIQ,QAAQ,GAAG,MAAKV,KAAL,CAAWU,QAAX,IAAuB,EAAtC;;IACA,IAAI,yBAAOA,QAAP,MAAoB,QAAxB,EAAkC;MAC9BA,QAAQ,GAAG,CAACA,QAAD,CAAX;IACH;;IACDA,QAAQ,GAAGA,QAAQ,CAACC,MAAT,CAAgB,UAAAC,EAAE;MAAA,OAAIA,EAAJ;IAAA,CAAlB,CAAX;IAEA,MAAKC,KAAL,GAAc;MACVH,QAAQ,EAARA,QADU;MAEVI,IAAI,EAAE,EAFI;MAGVC,QAAQ,EAAEZ,MAAM,CAACa,UAAP,GAAoB;IAHpB,CAAd;IAnBe;EAwBlB;;;;WAED,wBAAe;MACX,KAAKhB,KAAL,CAAWiB,OAAX;IACH;;;WAED,oBAAW;MACP,KAAKjB,KAAL,CAAWkB,IAAX,CAAgB,KAAKlB,KAAL,CAAWmB,WAAX,GAAyB,KAAKN,KAAL,CAAWH,QAApC,GAA+C,KAAKG,KAAL,CAAWH,QAAX,CAAoB,CAApB,KAA0B,EAAzF,EAA6F,KAAKG,KAAL,CAAWC,IAAxG;MACA,KAAKd,KAAL,CAAWiB,OAAX;IACH;;;WAED,kBAAS;MAAA;;MACL,IAAIG,KAAJ;;MACA,IAAI,KAAKP,KAAL,CAAWC,IAAX,IAAmB,KAAKD,KAAL,CAAWH,QAAX,CAAoBW,MAA3C,EAAmD;QAC/C,IAAI,KAAKR,KAAL,CAAWH,QAAX,CAAoBW,MAApB,KAA+B,CAAnC,EAAsC;UAClCD,KAAK,GAAG,cACJ;YAAM,GAAG,EAAC;UAAV,GAAuBE,gBAAA,CAAKC,CAAL,CAAO,aAAP,CAAvB,MADI,eAEJ;YAAM,GAAG,EAAC,IAAV;YAAe,SAAS,EAAG,KAAKvB,KAAL,CAAWwB,OAAX,CAAmB1C;UAA9C,GACI,CAAC,KAAK+B,KAAL,CAAWC,IAAX,IAAmB,KAAKD,KAAL,CAAWH,QAA/B,KAA4C,KAAKG,KAAL,CAAWC,IAAX,GAAkB,OAAO,KAAKD,KAAL,CAAWH,QAAlB,GAA6B,GAA/C,GAAqD,EAAjG,CADJ,CAFI,CAAR;QAMH,CAPD,MAOO;UACHU,KAAK,GAAG,cACJ;YAAM,GAAG,EAAC;UAAV,GAAuBE,gBAAA,CAAKC,CAAL,CAAO,aAAP,CAAvB,MADI,eAEJ;YAAM,GAAG,EAAC,IAAV;YAAe,SAAS,EAAG,KAAKvB,KAAL,CAAWwB,OAAX,CAAmB1C;UAA9C,GACIwC,gBAAA,CAAKC,CAAL,CAAO,UAAP,EAAmB,KAAKV,KAAL,CAAWH,QAAX,CAAoBW,MAAvC,CADJ,CAFI,CAAR;QAMH;MACJ,CAhBD,MAgBO;QACHD,KAAK,GAAG,KAAKpB,KAAL,CAAWoB,KAAX,IAAoBE,gBAAA,CAAKC,CAAL,CAAO,+BAAP,CAA5B;MACH;;MAED,oBAAO,gCAAC,kBAAD;QACH,OAAO,EAAE,mBAAM,CAAE,CADd;QAEH,QAAQ,EAAE,KAFP;QAGH,OAAO,EAAE;UAACE,KAAK,EAAEC,iBAAA,CAAMC,IAAN,CAAW,KAAK3B,KAAL,CAAWwB,OAAX,CAAmBvC,MAA9B,EAAsC,KAAKe,KAAL,CAAWwB,OAAX,CAAmBrC,YAAzD;QAAR,CAHN;QAIH,SAAS,EAAE,IAJR;QAKH,IAAI,EAAE,IALH;QAMH,mBAAgB;MANb,gBAQH,gCAAC,uBAAD;QAAa,EAAE,EAAC,uBAAhB;QAAwC,OAAO,EAAE;UAACyC,IAAI,EAAE,KAAK5B,KAAL,CAAWwB,OAAX,CAAmB7B;QAA1B;MAAjD,GAAyFyB,KAAzF,CARG,eASH,gCAAC,yBAAD;QAAe,SAAS,EAAEM,iBAAA,CAAMC,IAAN,CAAW,KAAK3B,KAAL,CAAWwB,OAAX,CAAmBhC,OAA9B,EAAuC,KAAKQ,KAAL,CAAWwB,OAAX,CAAmB9B,aAA1D;MAA1B,gBACI,gCAAC,yBAAD;QACI,YAAY,EAAG,KAAKM,KAAL,CAAW6B,YAD9B;QAEI,WAAW,EAAG,KAAK7B,KAAL,CAAW8B,WAAX,IAA0B,KAAK9B,KAAL,CAAW+B,MAFvD,CAEgE;QAFhE;QAGI,cAAc,EAAG,KAAK7B,OAH1B;QAII,UAAU,EAAE,KAAKD,UAJrB;QAKI,gBAAgB,EAAG,KAAKD,KAAL,CAAWgC,gBAAX,KAAgCC,SAAhC,GAA4C,KAAKjC,KAAL,CAAWgC,gBAAvD,GAA0E,IALjG;QAMI,UAAU,EAAG,KAAKhC,KAAL,CAAWkC,UAN5B;QAOI,KAAK,EAAG;UAAC7C,KAAK,EAAE,MAAR;UAAgBH,MAAM,EAAE;QAAxB,CAPZ;QAQI,OAAO,EAAG,KAAKc,KAAL,CAAWmC,OAAX,IAAsB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,MAAzB,EAAiC,MAAjC,EAAyC,KAAzC,CARpC;QASI,KAAK,EAAG,KAAKnC,KAAL,CAAWoC,KAAX,IAAoB,CAAC,OAAD,CAThC;QAUI,CAAC,EAAGd,gBAAA,CAAKC,CAVb;QAWI,IAAI,EAAG,KAAKvB,KAAL,CAAWqC,IAAX,IAAmBf,gBAAA,CAAKgB,WAAL,EAX9B;QAYI,MAAM,EAAG,KAAKtC,KAAL,CAAWuC,MAZxB;QAaI,QAAQ,EAAG,KAAK1B,KAAL,CAAWH,QAb1B;QAcI,WAAW,EAAG,KAAKV,KAAL,CAAWmB,WAd7B;QAeI,WAAW,EAAG,KAAKnB,KAAL,CAAWwC,WAAX,KAA2BP,SAA3B,GAAuC,IAAvC,GAA8C,KAAKjC,KAAL,CAAWwC,WAf3E;QAgBI,IAAI,EAAG,KAAK3B,KAAL,CAAWC,IAhBtB;QAiBI,SAAS,EAAG,KAAKd,KAAL,CAAWyC,SAjB3B;QAkBI,SAAS,EAAG,KAAKzC,KAAL,CAAW0C,SAlB3B;QAmBI,YAAY,EAAG,KAAK1C,KAAL,CAAW2C,YAnB9B;QAoBI,eAAe,EAAG,yBAAAC,YAAY,EAAI;UAC9B,MAAI,CAAC1C,OAAL,GAAe0C,YAAf;UACA,CAACzC,MAAM,CAACC,aAAP,IAAwBD,MAAM,CAACE,YAAhC,EAA8CwC,OAA9C,CAAsD,MAAI,CAAC5C,UAA3D,EAAuEM,IAAI,CAACuC,SAAL,CAAeF,YAAf,CAAvE;QACH,CAvBL;QAwBI,QAAQ,EAAE,kBAAClC,QAAD,EAAWI,IAAX,EAAiBiC,QAAjB,EAA8B;UACpC,IAAIxC,IAAI,CAACuC,SAAL,CAAepC,QAAf,MAA6BH,IAAI,CAACuC,SAAL,CAAe,MAAI,CAACjC,KAAL,CAAWH,QAA1B,CAAjC,EAAsE;YAClE,MAAI,CAACsC,QAAL,CAAc;cAACtC,QAAQ,EAARA,QAAD;cAAWI,IAAI,EAAJA;YAAX,CAAd,EAAgC;cAAA,OAC5BiC,QAAQ,IAAI,MAAI,CAACE,QAAL,EADgB;YAAA,CAAhC;UAEH,CAHD,MAGO,IAAIF,QAAJ,EAAc;YACjB,MAAI,CAACE,QAAL;UACH;QACJ,CA/BL;QAgCI,UAAU,EAAE,KAAKjD,KAAL,CAAWkD;MAhC3B,EADJ,CATG,eA6CH,gCAAC,yBAAD,qBACI,gCAAC,kBAAD;QAAQ,OAAO,EAAC,WAAhB;QAA4B,OAAO,EAAG;UAAA,OAAM,MAAI,CAACD,QAAL,EAAN;QAAA,CAAtC;QAA8D,SAAS,eAAE,gCAAC,iBAAD,OAAzE;QAAqF,QAAQ,EAAG,CAAC,KAAKpC,KAAL,CAAWH,QAAX,CAAoBW,MAArH;QAA8H,KAAK,EAAC;MAApI,GAAgJ,KAAKrB,KAAL,CAAWmD,EAAX,IAAiB7B,gBAAA,CAAKC,CAAL,CAAO,OAAP,CAAjK,CADJ,eAEI,gCAAC,kBAAD;QAAQ,KAAK,EAAC,MAAd;QAAqB,OAAO,EAAC,WAA7B;QAAyC,OAAO,EAAG;UAAA,OAAM,MAAI,CAAC6B,YAAL,EAAN;QAAA,CAAnD;QAA+E,SAAS,eAAE,gCAAC,kBAAD;MAA1F,GAA4G,KAAKpD,KAAL,CAAWqD,MAAX,IAAqB/B,gBAAA,CAAKC,CAAL,CAAO,WAAP,CAAjI,CAFJ,CA7CG,CAAP;IAkDH;;;EA/GwB+B,iBAAA,CAAMC,S;;AAkHnCxD,cAAc,CAACyD,SAAf,GAA2B;EACvBvD,UAAU,EAAEwD,qBAAA,CAAUC,MADC;EACO;EAC9BlC,OAAO,EAAEiC,qBAAA,CAAUE,MAFI;EAGvBnB,WAAW,EAAEiB,qBAAA,CAAUG,IAHA;EAIvB3C,OAAO,EAAEwC,qBAAA,CAAUI,IAAV,CAAeC,UAJD;EAKvB5C,IAAI,EAAEuC,qBAAA,CAAUI,IAAV,CAAeC,UALE;EAMvB1C,KAAK,EAAEqC,qBAAA,CAAUC,MANM;EAOvBrB,IAAI,EAAEoB,qBAAA,CAAUC,MAPO;EAQvB7B,YAAY,EAAE4B,qBAAA,CAAUG,IARD;EASvBG,YAAY,EAAEN,qBAAA,CAAUG,IATD;EAUvBI,UAAU,EAAEP,qBAAA,CAAUC,MAVC;EAWvBhD,QAAQ,EAAE+C,qBAAA,CAAUQ,SAAV,CAAoB,CAC1BR,qBAAA,CAAUC,MADgB,EAE1BD,qBAAA,CAAUS,KAFgB,CAApB,CAXa;EAevBvB,YAAY,EAAEc,qBAAA,CAAUE,MAfD;EAeS;EAChCQ,UAAU,EAAEV,qBAAA,CAAUG,IAhBC;EAiBvBrB,MAAM,EAAEkB,qBAAA,CAAUE,MAAV,CAAiBG,UAjBF;EAkBvBT,MAAM,EAAEI,qBAAA,CAAUC,MAlBK;EAmBvB5B,WAAW,EAAE2B,qBAAA,CAAUC,MAnBA;EAoBvBP,EAAE,EAAEM,qBAAA,CAAUC,MApBS;EAqBvBjB,SAAS,EAAEgB,qBAAA,CAAUC,MArBE;EAsBvBhB,SAAS,EAAEe,qBAAA,CAAUC,MAtBE;EAuBvB1B,gBAAgB,EAAEyB,qBAAA,CAAUG,IAvBL;EAwBvB1B,UAAU,EAAEuB,qBAAA,CAAUG,IAxBC;EAwBK;EAC5BzC,WAAW,EAAEsC,qBAAA,CAAUG,IAzBA;EA0BvBxB,KAAK,EAAEqB,qBAAA,CAAUS,KA1BM;EA0BG;EAC1B/B,OAAO,EAAEsB,qBAAA,CAAUS,KA3BI;EA2BG;EAE1BhB,UAAU,EAAEO,qBAAA,CAAUI,IA7BC,CA6Ba;EACA;;AA9Bb,CAA3B;AAiCA;;AACA,IAAMO,OAAO,GAAG,IAAAC,sBAAA,EAAWzF,MAAX,EAAmBmB,cAAnB,CAAhB;;eACeqE,O"}
|
package/README.md
CHANGED
|
@@ -642,6 +642,15 @@ If you still have questions, try to find an answer [here](https://mui.com/guides
|
|
|
642
642
|
-->
|
|
643
643
|
|
|
644
644
|
## Changelog
|
|
645
|
+
### 3.1.20 (2022-07-14)
|
|
646
|
+
* (bluefox) Allowed to show select dialog with the expert mode enabled
|
|
647
|
+
|
|
648
|
+
### 3.1.19 (2022-07-08)
|
|
649
|
+
* (bluefox) Allowed to extend translations for all languages together
|
|
650
|
+
|
|
651
|
+
### 3.1.18 (2022-07-06)
|
|
652
|
+
* (bluefox) Added translation
|
|
653
|
+
|
|
645
654
|
### 3.1.17 (2022-07-05)
|
|
646
655
|
* (bluefox) Deactivate JSON editor for JSONConfig because of space
|
|
647
656
|
|
package/i18n/de.json
CHANGED
|
@@ -315,5 +315,6 @@
|
|
|
315
315
|
"ra_Cannot retrieve options, as instance is offline": "Optionen können nicht abgerufen werden, da die Instanz offline ist",
|
|
316
316
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "Datei ist zu groß. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",
|
|
317
317
|
"ra_Cannot upload": "Kann nicht hochladen",
|
|
318
|
-
"ra_Crop": "Ernte"
|
|
318
|
+
"ra_Crop": "Ernte",
|
|
319
|
+
"ra_tooltip_comment": "Kommentar"
|
|
319
320
|
}
|
package/i18n/en.json
CHANGED
|
@@ -315,5 +315,6 @@
|
|
|
315
315
|
"ra_Cannot retrieve options, as instance is offline": "Cannot retrieve options, as instance is offline",
|
|
316
316
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "File is too big. Max %sk allowed. Try use SVG.",
|
|
317
317
|
"ra_Cannot upload": "Cannot upload",
|
|
318
|
-
"ra_Crop": "Crop"
|
|
318
|
+
"ra_Crop": "Crop",
|
|
319
|
+
"ra_tooltip_comment": "Comment"
|
|
319
320
|
}
|
package/i18n/es.json
CHANGED
|
@@ -302,5 +302,6 @@
|
|
|
302
302
|
"ra_Cannot retrieve options, as instance is offline": "No se pueden recuperar las opciones, ya que la instancia está fuera de línea",
|
|
303
303
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "El archivo es demasiado grande. Máximo de %sk permitido. Intenta usar SVG.",
|
|
304
304
|
"ra_Cannot upload": "no se puede cargar",
|
|
305
|
-
"ra_Crop": "Cultivo"
|
|
305
|
+
"ra_Crop": "Cultivo",
|
|
306
|
+
"ra_tooltip_comment": "Comentario"
|
|
306
307
|
}
|
package/i18n/fr.json
CHANGED
|
@@ -302,5 +302,6 @@
|
|
|
302
302
|
"ra_Cannot retrieve options, as instance is offline": "Impossible de récupérer les options, car l'instance est hors ligne",
|
|
303
303
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "Le fichier est trop volumineux. Max %sk autorisé. Essayez d'utiliser SVG.",
|
|
304
304
|
"ra_Cannot upload": "Impossible de télécharger",
|
|
305
|
-
"ra_Crop": "Recadrer"
|
|
305
|
+
"ra_Crop": "Recadrer",
|
|
306
|
+
"ra_tooltip_comment": "Commentaire"
|
|
306
307
|
}
|
package/i18n/it.json
CHANGED
|
@@ -302,5 +302,6 @@
|
|
|
302
302
|
"ra_Cannot retrieve options, as instance is offline": "Impossibile recuperare le opzioni, poiché l'istanza è offline",
|
|
303
303
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "Il file è troppo grande. Max %sk consentito. Prova a usare SVG.",
|
|
304
304
|
"ra_Cannot upload": "Impossibile caricare",
|
|
305
|
-
"ra_Crop": "Raccolto"
|
|
305
|
+
"ra_Crop": "Raccolto",
|
|
306
|
+
"ra_tooltip_comment": "Commento"
|
|
306
307
|
}
|
package/i18n/nl.json
CHANGED
|
@@ -302,5 +302,6 @@
|
|
|
302
302
|
"ra_Cannot retrieve options, as instance is offline": "Kan opties niet ophalen, omdat instantie offline is",
|
|
303
303
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.",
|
|
304
304
|
"ra_Cannot upload": "Kan niet uploaden",
|
|
305
|
-
"ra_Crop": "Bijsnijden"
|
|
305
|
+
"ra_Crop": "Bijsnijden",
|
|
306
|
+
"ra_tooltip_comment": "Opmerking"
|
|
306
307
|
}
|
package/i18n/pl.json
CHANGED
|
@@ -302,5 +302,6 @@
|
|
|
302
302
|
"ra_Cannot retrieve options, as instance is offline": "Nie można pobrać opcji, ponieważ instancja jest w trybie offline",
|
|
303
303
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "Plik jest za duży. Maksymalna dozwolona liczba %sk. Spróbuj użyć SVG.",
|
|
304
304
|
"ra_Cannot upload": "Nie można przesłać",
|
|
305
|
-
"ra_Crop": "Przyciąć"
|
|
305
|
+
"ra_Crop": "Przyciąć",
|
|
306
|
+
"ra_tooltip_comment": "Komentarz"
|
|
306
307
|
}
|
package/i18n/pt.json
CHANGED
|
@@ -302,5 +302,6 @@
|
|
|
302
302
|
"ra_Cannot retrieve options, as instance is offline": "Não é possível recuperar opções, pois a instância está off-line",
|
|
303
303
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "O arquivo é muito grande. Max %sk permitido. Tente usar SVG.",
|
|
304
304
|
"ra_Cannot upload": "Não é possível fazer upload",
|
|
305
|
-
"ra_Crop": "Colheita"
|
|
305
|
+
"ra_Crop": "Colheita",
|
|
306
|
+
"ra_tooltip_comment": "Comente"
|
|
306
307
|
}
|
package/i18n/ru.json
CHANGED
|
@@ -315,5 +315,6 @@
|
|
|
315
315
|
"ra_Cannot retrieve options, as instance is offline": "Невозможно получить параметры, так как экземпляр находится в автономном режиме.",
|
|
316
316
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "Файл слишком большой. Разрешено максимальное количество %sk. Попробуйте использовать SVG.",
|
|
317
317
|
"ra_Cannot upload": "Невозможно загрузить",
|
|
318
|
-
"ra_Crop": "Обрезать"
|
|
318
|
+
"ra_Crop": "Обрезать",
|
|
319
|
+
"ra_tooltip_comment": "Комментарий"
|
|
319
320
|
}
|
package/i18n/zh-cn.json
CHANGED
|
@@ -302,5 +302,6 @@
|
|
|
302
302
|
"ra_Cannot retrieve options, as instance is offline": "无法检索选项,因为实例处于脱机状态",
|
|
303
303
|
"ra_File is too big. Max %sk allowed. Try use SVG.": "文件太大。允许的最大字节%s数。尝试使用 SVG。",
|
|
304
304
|
"ra_Cannot upload": "无法上传",
|
|
305
|
-
"ra_Crop": "庄稼"
|
|
305
|
+
"ra_Crop": "庄稼",
|
|
306
|
+
"ra_tooltip_comment": "评论"
|
|
306
307
|
}
|
package/i18n.js
CHANGED
|
@@ -64,19 +64,26 @@ var I18n = /*#__PURE__*/function () {
|
|
|
64
64
|
value: function extendTranslations(words, lang) {
|
|
65
65
|
try {
|
|
66
66
|
if (!lang) {
|
|
67
|
-
|
|
68
|
-
Object.keys(words
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (!I18n.translations[lang][word]) {
|
|
74
|
-
I18n.translations[lang][word] = words[word][lang];
|
|
75
|
-
} else if (I18n.translations[lang][word] !== words[word][lang]) {
|
|
76
|
-
console.warn("Translation for word \"".concat(word, "\" in \"").concat(lang, "\" was ignored: existing = \"").concat(I18n.translations[lang][word], "\", new = ").concat(words[word][lang]));
|
|
77
|
-
}
|
|
67
|
+
if (words.en && words.de && words.ru) {
|
|
68
|
+
Object.keys(words).forEach(function (lang) {
|
|
69
|
+
I18n.translations[lang] = I18n.translations[lang] || {};
|
|
70
|
+
Object.assign(I18n.translations[lang], words[lang]);
|
|
78
71
|
});
|
|
79
|
-
}
|
|
72
|
+
} else {
|
|
73
|
+
Object.keys(words).forEach(function (word) {
|
|
74
|
+
Object.keys(words[word]).forEach(function (lang) {
|
|
75
|
+
if (!I18n.translations[lang]) {
|
|
76
|
+
console.warn("Used unknown language: ".concat(lang));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (!I18n.translations[lang][word]) {
|
|
80
|
+
I18n.translations[lang][word] = words[word][lang];
|
|
81
|
+
} else if (I18n.translations[lang][word] !== words[word][lang]) {
|
|
82
|
+
console.warn("Translation for word \"".concat(word, "\" in \"").concat(lang, "\" was ignored: existing = \"").concat(I18n.translations[lang][word], "\", new = ").concat(words[word][lang]));
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
80
87
|
} else {
|
|
81
88
|
if (!I18n.translations[lang]) {
|
|
82
89
|
console.warn("Used unknown language: ".concat(lang));
|
package/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","names":["I18n","lang","words","Object","keys","forEach","
|
|
1
|
+
{"version":3,"file":"i18n.js","names":["I18n","lang","words","en","de","ru","Object","keys","forEach","translations","assign","word","console","warn","e","error","translation","w","_disableWarning","log","args","arg","replace","disable","window","sysLang"],"sources":["i18n.js"],"sourcesContent":["/***\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n ***/\n\n /**\n * Translation string management.\n */\nclass I18n {\n /**\n * List of all languages with their translations.\n * @type {{ [lang in ioBroker.Languages]?: Record<string, string>; }}\n */\n static translations = {};\n\n /**\n * The currently displayed language.\n * @type {ioBroker.Languages}\n */\n static lang = window.sysLang || 'en';\n\n static _disableWarning = false;\n\n /**\n * Set the language to display.\n * @param {ioBroker.Languages} lang\n */\n static setLanguage(lang) {\n if (lang) {\n I18n.lang = lang;\n }\n }\n\n /**\n * Add translations\n * User can provide two types of structures:\n * - {\"word1\": \"translated word1\", \"word2\": \"translated word2\"}, but in this case the lang must be provided\n * - {\"word1\": {\"en\": \"translated en word1\", \"de\": \"translated de word1\"}, \"word2\": {\"en\": \"translated en word2\", \"de\": \"translated de word2\"}}, but no lang must be provided\n * @param {object} words additional words for specific language\n * @param {ioBroker.Languages} lang\n */\n static extendTranslations(words, lang) {\n try {\n if (!lang) {\n if (words.en && words.de && words.ru) {\n Object.keys(words).forEach(lang => {\n I18n.translations[lang] = I18n.translations[lang] || {};\n Object.assign(I18n.translations[lang], words[lang]);\n });\n } else {\n Object.keys(words).forEach(word => {\n Object.keys(words[word]).forEach(lang => {\n if (!I18n.translations[lang]) {\n console.warn(`Used unknown language: ${lang}`);\n }\n if (!I18n.translations[lang][word]) {\n I18n.translations[lang][word] = words[word][lang];\n } else if (I18n.translations[lang][word] !== words[word][lang]) {\n console.warn(`Translation for word \"${word}\" in \"${lang}\" was ignored: existing = \"${I18n.translations[lang][word]}\", new = ${words[word][lang]}`);\n }\n });\n });\n }\n } else {\n if (!I18n.translations[lang]) {\n console.warn(`Used unknown language: ${lang}`);\n }\n I18n.translations[lang] = I18n.translations[lang] || {};\n Object.keys(words)\n .forEach(word => {\n if (!I18n.translations[lang][word]) {\n I18n.translations[lang][word] = words[word];\n } else if (I18n.translations[lang][word] !== words[word]) {\n console.warn(`Translation for word \"${word}\" in \"${lang}\" was ignored: existing = \"${I18n.translations[lang][word]}\", new = ${words[word]}`);\n }\n });\n }\n } catch (e) {\n console.error(`Cannot apply translations: ${e}`);\n }\n }\n\n /**\n * Sets all translations (in all languages).\n * @param {{ [lang in ioBroker.Languages]?: Record<string, string>; }} translations\n */\n static setTranslations(translations) {\n if (translations) {\n I18n.translations = translations;\n }\n }\n\n /**\n * Get the currently chosen language.\n * @returns {ioBroker.Languages} The current language.\n */\n static getLanguage() {\n return I18n.lang;\n }\n\n /**\n * Translate the given string to the selected language.\n * @param {string} word The (key) word to look up the string.\n * @param {string[]} args Optional arguments which will replace the first (second, third, ...) occurrences of %s\n */\n static t(word, ...args) {\n const translation = I18n.translations[I18n.lang];\n if (translation) {\n const w = translation[word];\n if (w) {\n word = w;\n } else {\n I18n._disableWarning && console.log(`Translate: ${word}`);\n }\n }\n for (const arg of args) {\n word = word.replace('%s', arg);\n }\n return word;\n }\n\n /**\n * Disable warning about non-translated words\n * Required during development\n * @param {boolean} disable Do the warning should be disabled\n */\n static disableWarning(disable) {\n I18n._disableWarning = !!disable;\n }\n}\n\n/*I18n.translations = {\n 'en': require('./i18n/en'),\n 'ru': require('./i18n/ru'),\n 'de': require('./i18n/de'),\n};\nI18n.fallbacks = true;\nI18n.t = function () {};*/\n\nexport default I18n;"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iobroker/adapter-react-v5",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.20",
|
|
4
4
|
"description": "React classes to develop admin interfaces for ioBroker with react.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "bluefox",
|
|
@@ -27,20 +27,20 @@
|
|
|
27
27
|
"homepage": "https://github.com/ioBroker/adapter-react-v5#readme",
|
|
28
28
|
"devDependencies": {},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@emotion/react": "^11.9.
|
|
31
|
-
"@emotion/styled": "^11.
|
|
32
|
-
"@mui/icons-material": "^5.8.
|
|
33
|
-
"@mui/material": "^5.
|
|
34
|
-
"@mui/styles": "^5.
|
|
35
|
-
"@mui/x-date-pickers": "^5.0.0-
|
|
30
|
+
"@emotion/react": "^11.9.3",
|
|
31
|
+
"@emotion/styled": "^11.9.3",
|
|
32
|
+
"@mui/icons-material": "^5.8.4",
|
|
33
|
+
"@mui/material": "^5.9.0",
|
|
34
|
+
"@mui/styles": "^5.9.0",
|
|
35
|
+
"@mui/x-date-pickers": "^5.0.0-beta.0",
|
|
36
36
|
"react-cropper": "^2.1.8",
|
|
37
|
-
"@sentry/browser": "^6.
|
|
38
|
-
"@sentry/integrations": "^6.
|
|
39
|
-
"@types/iobroker": "^4.0.
|
|
37
|
+
"@sentry/browser": "^7.6.0",
|
|
38
|
+
"@sentry/integrations": "^7.6.0",
|
|
39
|
+
"@types/iobroker": "^4.0.4",
|
|
40
40
|
"react-color": "^2.19.3",
|
|
41
41
|
"react-colorful": "^5.5.1",
|
|
42
|
-
"react-dropzone": "^14.2.
|
|
43
|
-
"react-icons": "^4.
|
|
42
|
+
"react-dropzone": "^14.2.2",
|
|
43
|
+
"react-icons": "^4.4.0",
|
|
44
44
|
"react-inlinesvg": "^3.0.0",
|
|
45
45
|
"react-text-mask": "^5.4.3"
|
|
46
46
|
}
|