@iobroker/adapter-react-v5 4.0.13 → 4.0.14
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/AdminConnection.js.map +1 -1
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.d.ts +1 -0
- package/Components/ColorPicker.js +12 -9
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +24 -22
- package/Components/ComplexCron.js.map +1 -1
- package/Components/CustomModal.js.map +1 -1
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ChipInput.js +8 -10
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/Icon.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/UploadImage.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Components/Utils.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Error.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Message.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/i18n.js.map +1 -1
- package/Components/JsonConfigComponent/wrapper/icons/IconCopy.js.map +1 -1
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +26 -21
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cron2text.js.map +1 -1
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js +38 -32
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js.map +1 -1
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js.map +1 -1
- package/Components/Utils.js.map +1 -1
- package/Components/copy-to-clipboard.js.map +1 -1
- package/Components/withWidth.js.map +1 -1
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js +1 -1
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +6 -6
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +2 -2
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.d.ts +11 -0
- package/GenericApp.js +109 -42
- package/GenericApp.js.map +1 -1
- package/Prompt.js.map +1 -1
- package/README.md +3 -0
- package/Theme.js.map +1 -1
- package/_Connection.js.map +1 -1
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconDocumentReadOnly.js.map +1 -1
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconNoIcon.js.map +1 -1
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js.map +1 -1
- package/package.json +1 -1
package/Dialogs/SelectID.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectID.js","names":["styles","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 = () => ({\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 if (props.filters) {\n this.filters = {...this.filters, ...props.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\">\n {I18n.t('ra_Selected')}\n \n </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\">\n {I18n.t('ra_Selected')}\n \n </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\n open={!0}\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 filters: PropTypes.object, // predefined filter fields, like {\"id\":\"\",\"name\":\"\",\"room\":\"\",\"func\":\"\",\"role\":\"level\",\"type\":\"\",\"custom\":\"\"}\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":"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"}
|
|
1
|
+
{"version":3,"file":"SelectID.js","names":["_react","_interopRequireDefault","require","_propTypes","_withStyles","_Button","_DialogTitle","_DialogContent","_DialogActions","_Dialog","_Cancel","_Check","_Utils","_i18n","_ObjectBrowser","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","headerID","fontWeight","fontStyle","dialog","height","dialogMobile","padding","width","maxWidth","maxHeight","content","overflow","contentMobile","titleRoot","whiteSpace","display","textOverflow","DialogSelectID","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","dialogName","concat","filters","window","_localStorage","localStorage","getItem","JSON","parse","selected","_typeof2","id","state","name","isMobile","innerWidth","_createClass2","value","handleCancel","onClose","handleOk","onOk","multiSelect","render","_this2","title","createElement","I18n","t","className","classes","paper","Utils","clsx","fullWidth","open","root","foldersFirst","imagePrefix","prefix","defaultFilters","showExpertButton","undefined","expertMode","style","columns","types","lang","getLanguage","socket","notEditable","themeName","themeType","customFilter","onFilterChanged","filterConfig","setItem","stringify","onSelect","isDouble","setState","filterFunc","variant","onClick","startIcon","disabled","color","ok","cancel","React","Component","propTypes","PropTypes","string","bool","func","isRequired","isFloatComma","dateFormat","oneOfType","array","statesOnly","_export","withStyles","_default","exports"],"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 = () => ({\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 if (props.filters) {\n this.filters = {...this.filters, ...props.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\">\n {I18n.t('ra_Selected')}\n \n </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\">\n {I18n.t('ra_Selected')}\n \n </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\n open={!0}\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 filters: PropTypes.object, // predefined filter fields, like {\"id\":\"\",\"name\":\"\",\"room\":\"\",\"func\":\"\",\"role\":\"level\",\"type\":\"\",\"custom\":\"\"}\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":"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"}
|
package/Dialogs/SimpleCron.js
CHANGED
|
@@ -24,9 +24,9 @@ var _SimpleCron = _interopRequireDefault(require("../Components/SimpleCron"));
|
|
|
24
24
|
var _i18n = _interopRequireDefault(require("../i18n"));
|
|
25
25
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
26
26
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
27
|
-
//
|
|
27
|
+
// Generates cron expression
|
|
28
28
|
|
|
29
|
-
var styles = function styles(
|
|
29
|
+
var styles = function styles() {
|
|
30
30
|
return {
|
|
31
31
|
headerID: {
|
|
32
32
|
fontWeight: 'bold',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleCron.js","names":["
|
|
1
|
+
{"version":3,"file":"SimpleCron.js","names":["_react","_interopRequireDefault","require","_propTypes","_withStyles","_Button","_DialogTitle","_DialogContent","_DialogActions","_Dialog","_Check","_Cancel","_SimpleCron","_i18n","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","headerID","fontWeight","fontStyle","radio","display","dialogPaper","height","DialogSimpleCron","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","cron","replace","trim","state","_createClass2","key","value","handleCancel","onClose","handleOk","onOk","render","_this2","createElement","maxWidth","fullWidth","classes","paper","open","id","title","I18n","t","style","overflow","cronExpression","onChange","setState","language","getLanguage","variant","onClick","color","startIcon","ok","cancel","React","Component","propTypes","PropTypes","object","func","isRequired","string","simple","bool","_default","withStyles","exports"],"sources":["SimpleCron.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\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 IconOk from '@mui/icons-material/Check';\nimport IconCancel from '@mui/icons-material/Cancel';\n\nimport SimpleCron from '../Components/SimpleCron';\n\nimport I18n from '../i18n';\n\n// Generates cron expression\n\nconst styles = () => ({\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n },\n radio: {\n display: 'inline-block',\n },\n dialogPaper: {\n height: 'calc(100% - 96px)',\n },\n});\n\nclass DialogSimpleCron extends React.Component {\n constructor(props) {\n super(props);\n\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n cron,\n };\n }\n\n handleCancel() {\n this.props.onClose();\n }\n\n handleOk() {\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n render() {\n return <Dialog\n onClose={() => {}}\n maxWidth=\"md\"\n fullWidth\n classes={{paper: this.props.classes.dialogPaper}}\n open={!0}\n aria-labelledby=\"cron-dialog-title\"\n >\n <DialogTitle id=\"cron-dialog-title\">{this.props.title || I18n.t('ra_Define CRON...')}</DialogTitle>\n <DialogContent style={{height: '100%', overflow: 'hidden'}}>\n <SimpleCron\n cronExpression={this.state.cron}\n onChange={cron => this.setState({cron})}\n language={I18n.getLanguage()}\n />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => this.handleOk()} color=\"primary\" startIcon={<IconOk />}>{this.props.ok || I18n.t('ra_Ok')}</Button>\n <Button variant=\"contained\" onClick={() => this.handleCancel()} color=\"grey\" startIcon={<IconCancel />}>{this.props.cancel || I18n.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogSimpleCron.propTypes = {\n classes: PropTypes.object,\n onClose: PropTypes.func.isRequired,\n onOk: PropTypes.func.isRequired,\n title: PropTypes.string,\n cron: PropTypes.string,\n cancel: PropTypes.string,\n ok: PropTypes.string,\n simple: PropTypes.bool,\n language: PropTypes.string\n\n};\n\nexport default withStyles(styles)(DialogSimpleCron);\n"],"mappings":"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"}
|
package/Dialogs/TextInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","names":["TextInput","props","state","text","input","value","error","onClose","fullWidth","undefined","titleText","promptText","labelText","type","e","charCode","verify","target","rule","setState","applyText","I18n","t","cancelText","React","Component","propTypes","PropTypes","bool","func","isRequired","string","replace","_export","withWidth"],"sources":["TextInput.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\n\nimport I18n from '../i18n';\n\nimport IconClose from '@mui/icons-material/Close';\nimport IconCheck from '@mui/icons-material/Check';\n\nimport withWidth from '../Components/withWidth';\n\n/**\n * @typedef {object} TextInputProps\n * @property {(text: string | null) => void} onClose The dialog close callback.\n * @property {string} titleText The title text.\n * @property {string} [promptText] Prompt text (default: empty).\n * @property {string} [labelText] Label text (default: empty).\n * @property {string} cancelText The text of the cancel button.\n * @property {string} applyText The text of the apply button.\n * @property {(text: string) => string} [verify] The verification callback. Return a non-empty string if there was an error.\n * @property {(text: string) => string} [rule] The text replacement callback.\n * @property {'text' | 'number' | 'password' | 'email'} [type] The type of the textbox (default: text).\n * @property {string} [input] The input when opening the dialog.\n *\n * @extends {React.Component<TextInputProps>}\n */\nclass TextInput extends React.Component {\n /**\n * @param {Readonly<TextInputProps>} props\n */\n constructor(props) {\n super(props);\n\n this.state = {\n text: this.props.input || this.props.value || '', // input is deprecated\n error: ''\n }\n }\n render() {\n return <Dialog\n open={!0}\n onClose={() => this.props.onClose(null)}\n aria-labelledby=\"form-dialog-title\"\n fullWidth={this.props.fullWidth !== undefined ? this.props.fullWidth : false}\n >\n <DialogTitle id=\"form-dialog-title\">{this.props.titleText}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {this.props.promptText}\n </DialogContentText>\n <TextField\n variant=\"standard\"\n autoFocus\n margin=\"dense\"\n error={!!this.state.error}\n title={this.state.error}\n value={this.state.text}\n label={this.props.labelText || ''}\n type={this.props.type || 'text'}\n onKeyPress={e => e.charCode === 13 && this.state.text && this.props.onClose(this.state.text)}\n onChange={e => {\n let error = '';\n if (this.props.verify) {\n error = !this.props.verify(e.target.value);\n }\n\n if (this.props.rule) {\n this.setState({ text: this.props.rule(e.target.value), error });\n } else {\n this.setState({ text: e.target.value, error });\n }\n }}\n fullWidth\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n disabled={!this.state.text || this.state.error}\n onClick={() => this.props.onClose(this.state.text)}\n color=\"primary\"\n startIcon={<IconCheck />}\n >\n {this.props.applyText || I18n.t('ra_Ok')}\n </Button>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => this.props.onClose(null)}\n startIcon={<IconClose />}\n >\n {this.props.cancelText || I18n.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nTextInput.propTypes = {\n fullWidth: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n titleText: PropTypes.string.isRequired,\n promptText: PropTypes.string,\n labelText: PropTypes.string,\n cancelText: PropTypes.string,\n applyText: PropTypes.string,\n verify: PropTypes.func,\n replace: PropTypes.func,\n type: PropTypes.string, // text, number, password, email\n value: PropTypes.string,\n};\n\n/** @type {typeof TextInput} */\nconst _export = withWidth()(TextInput);\nexport default _export;"],"mappings":";;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAAgD;AAAA;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,IAeMA,SAAS;EAAA;EAAA;EACX;AACJ;AACA;EACI,mBAAYC,KAAK,EAAE;IAAA;IAAA;IACf,0BAAMA,KAAK;IAEX,MAAKC,KAAK,GAAG;MACTC,IAAI,EAAE,MAAKF,KAAK,CAACG,KAAK,IAAI,MAAKH,KAAK,CAACI,KAAK,IAAI,EAAE;MAAE;MAClDC,KAAK,EAAE;IACX,CAAC;IAAA;EACL;EAAC;IAAA;IAAA,OACD,kBAAS;MAAA;MACL,oBAAO,gCAAC,kBAAM;QACV,IAAI,EAAE,CAAC,CAAE;QACT,OAAO,EAAE;UAAA,OAAM,MAAI,CAACL,KAAK,CAACM,OAAO,CAAC,IAAI,CAAC;QAAA,CAAC;QACxC,mBAAgB,mBAAmB;QACnC,SAAS,EAAE,IAAI,CAACN,KAAK,CAACO,SAAS,KAAKC,SAAS,GAAG,IAAI,CAACR,KAAK,CAACO,SAAS,GAAG;MAAM,gBAE7E,gCAAC,uBAAW;QAAC,EAAE,EAAC;MAAmB,GAAE,IAAI,CAACP,KAAK,CAACS,SAAS,CAAe,eACxE,gCAAC,yBAAa,qBACV,gCAAC,6BAAiB,QACb,IAAI,CAACT,KAAK,CAACU,UAAU,CACN,eACpB,gCAAC,qBAAS;QACN,OAAO,EAAC,UAAU;QAClB,SAAS;QACT,MAAM,EAAC,OAAO;QACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAACT,KAAK,CAACI,KAAM;QAC1B,KAAK,EAAE,IAAI,CAACJ,KAAK,CAACI,KAAM;QACxB,KAAK,EAAE,IAAI,CAACJ,KAAK,CAACC,IAAK;QACvB,KAAK,EAAE,IAAI,CAACF,KAAK,CAACW,SAAS,IAAI,EAAG;QAClC,IAAI,EAAE,IAAI,CAACX,KAAK,CAACY,IAAI,IAAI,MAAO;QAChC,UAAU,EAAE,oBAAAC,CAAC;UAAA,OAAIA,CAAC,CAACC,QAAQ,KAAK,EAAE,IAAI,MAAI,CAACb,KAAK,CAACC,IAAI,IAAI,MAAI,CAACF,KAAK,CAACM,OAAO,CAAC,MAAI,CAACL,KAAK,CAACC,IAAI,CAAC;QAAA,CAAC;QAC7F,QAAQ,EAAE,kBAAAW,CAAC,EAAI;UACX,IAAIR,KAAK,GAAG,EAAE;UACd,IAAI,MAAI,CAACL,KAAK,CAACe,MAAM,EAAE;YACnBV,KAAK,GAAG,CAAC,MAAI,CAACL,KAAK,CAACe,MAAM,CAACF,CAAC,CAACG,MAAM,CAACZ,KAAK,CAAC;UAC9C;UAEA,IAAI,MAAI,CAACJ,KAAK,CAACiB,IAAI,EAAE;YACjB,MAAI,CAACC,QAAQ,CAAC;cAAEhB,IAAI,EAAE,MAAI,CAACF,KAAK,CAACiB,IAAI,CAACJ,CAAC,CAACG,MAAM,CAACZ,KAAK,CAAC;cAAEC,KAAK,EAALA;YAAM,CAAC,CAAC;UACnE,CAAC,MAAM;YACH,MAAI,CAACa,QAAQ,CAAC;cAAEhB,IAAI,EAAEW,CAAC,CAACG,MAAM,CAACZ,KAAK;cAAEC,KAAK,EAALA;YAAM,CAAC,CAAC;UAClD;QACJ,CAAE;QACF,SAAS;MAAA,EACX,CACU,eAChB,gCAAC,yBAAa,qBACV,gCAAC,kBAAM;QACH,OAAO,EAAC,WAAW;QACnB,QAAQ,EAAE,CAAC,IAAI,CAACJ,KAAK,CAACC,IAAI,IAAI,IAAI,CAACD,KAAK,CAACI,KAAM;QAC/C,OAAO,EAAE;UAAA,OAAM,MAAI,CAACL,KAAK,CAACM,OAAO,CAAC,MAAI,CAACL,KAAK,CAACC,IAAI,CAAC;QAAA,CAAC;QACnD,KAAK,EAAC,SAAS;QACf,SAAS,eAAE,gCAAC,iBAAS;MAAI,GAExB,IAAI,CAACF,KAAK,CAACmB,SAAS,IAAIC,gBAAI,CAACC,CAAC,CAAC,OAAO,CAAC,CACnC,eACT,gCAAC,kBAAM;QACH,KAAK,EAAC,MAAM;QACZ,OAAO,EAAC,WAAW;QACnB,OAAO,EAAE;UAAA,OAAM,MAAI,CAACrB,KAAK,CAACM,OAAO,CAAC,IAAI,CAAC;QAAA,CAAC;QACxC,SAAS,eAAE,gCAAC,iBAAS;MAAI,GAExB,IAAI,CAACN,KAAK,CAACsB,UAAU,IAAIF,gBAAI,CAACC,CAAC,CAAC,WAAW,CAAC,CACxC,CACG,CACX;IACb;EAAC;EAAA;AAAA,EArEmBE,iBAAK,CAACC,SAAS;AAwEvCzB,SAAS,CAAC0B,SAAS,GAAG;EAClBlB,SAAS,EAAEmB,qBAAS,CAACC,IAAI;EACzBrB,OAAO,EAAEoB,qBAAS,CAACE,IAAI,CAACC,UAAU;EAClCpB,SAAS,EAAEiB,qBAAS,CAACI,MAAM,CAACD,UAAU;EACtCnB,UAAU,EAAEgB,qBAAS,CAACI,MAAM;EAC5BnB,SAAS,EAAEe,qBAAS,CAACI,MAAM;EAC3BR,UAAU,EAAEI,qBAAS,CAACI,MAAM;EAC5BX,SAAS,EAAEO,qBAAS,CAACI,MAAM;EAC3Bf,MAAM,EAAEW,qBAAS,CAACE,IAAI;EACtBG,OAAO,EAAEL,qBAAS,CAACE,IAAI;EACvBhB,IAAI,EAAEc,qBAAS,CAACI,MAAM;EAAE;EACxB1B,KAAK,EAAEsB,qBAAS,CAACI;AACrB,CAAC;;AAED;AACA,IAAME,OAAO,GAAG,IAAAC,qBAAS,GAAE,CAAClC,SAAS,CAAC;AAAC,eACxBiC,OAAO;AAAA"}
|
|
1
|
+
{"version":3,"file":"TextInput.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_TextField","_Dialog","_DialogActions","_DialogContent","_DialogContentText","_DialogTitle","_i18n","_Close","_Check","_withWidth","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","TextInput","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","state","text","input","value","error","_createClass2","key","render","_this2","createElement","open","onClose","fullWidth","undefined","id","titleText","promptText","variant","autoFocus","margin","title","label","labelText","type","onKeyPress","charCode","onChange","verify","target","rule","setState","disabled","onClick","color","startIcon","applyText","I18n","t","cancelText","React","Component","propTypes","PropTypes","bool","func","isRequired","string","replace","_export","withWidth","_default","exports"],"sources":["TextInput.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\n\nimport I18n from '../i18n';\n\nimport IconClose from '@mui/icons-material/Close';\nimport IconCheck from '@mui/icons-material/Check';\n\nimport withWidth from '../Components/withWidth';\n\n/**\n * @typedef {object} TextInputProps\n * @property {(text: string | null) => void} onClose The dialog close callback.\n * @property {string} titleText The title text.\n * @property {string} [promptText] Prompt text (default: empty).\n * @property {string} [labelText] Label text (default: empty).\n * @property {string} cancelText The text of the cancel button.\n * @property {string} applyText The text of the apply button.\n * @property {(text: string) => string} [verify] The verification callback. Return a non-empty string if there was an error.\n * @property {(text: string) => string} [rule] The text replacement callback.\n * @property {'text' | 'number' | 'password' | 'email'} [type] The type of the textbox (default: text).\n * @property {string} [input] The input when opening the dialog.\n *\n * @extends {React.Component<TextInputProps>}\n */\nclass TextInput extends React.Component {\n /**\n * @param {Readonly<TextInputProps>} props\n */\n constructor(props) {\n super(props);\n\n this.state = {\n text: this.props.input || this.props.value || '', // input is deprecated\n error: ''\n }\n }\n render() {\n return <Dialog\n open={!0}\n onClose={() => this.props.onClose(null)}\n aria-labelledby=\"form-dialog-title\"\n fullWidth={this.props.fullWidth !== undefined ? this.props.fullWidth : false}\n >\n <DialogTitle id=\"form-dialog-title\">{this.props.titleText}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {this.props.promptText}\n </DialogContentText>\n <TextField\n variant=\"standard\"\n autoFocus\n margin=\"dense\"\n error={!!this.state.error}\n title={this.state.error}\n value={this.state.text}\n label={this.props.labelText || ''}\n type={this.props.type || 'text'}\n onKeyPress={e => e.charCode === 13 && this.state.text && this.props.onClose(this.state.text)}\n onChange={e => {\n let error = '';\n if (this.props.verify) {\n error = !this.props.verify(e.target.value);\n }\n\n if (this.props.rule) {\n this.setState({ text: this.props.rule(e.target.value), error });\n } else {\n this.setState({ text: e.target.value, error });\n }\n }}\n fullWidth\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n disabled={!this.state.text || this.state.error}\n onClick={() => this.props.onClose(this.state.text)}\n color=\"primary\"\n startIcon={<IconCheck />}\n >\n {this.props.applyText || I18n.t('ra_Ok')}\n </Button>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => this.props.onClose(null)}\n startIcon={<IconClose />}\n >\n {this.props.cancelText || I18n.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nTextInput.propTypes = {\n fullWidth: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n titleText: PropTypes.string.isRequired,\n promptText: PropTypes.string,\n labelText: PropTypes.string,\n cancelText: PropTypes.string,\n applyText: PropTypes.string,\n verify: PropTypes.func,\n replace: PropTypes.func,\n type: PropTypes.string, // text, number, password, email\n value: PropTypes.string,\n};\n\n/** @type {typeof TextInput} */\nconst _export = withWidth()(TextInput);\nexport default _export;"],"mappings":"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"}
|
package/GenericApp.d.ts
CHANGED
|
@@ -39,16 +39,22 @@ declare class GenericApp extends Router<import("./types").GenericAppProps, impor
|
|
|
39
39
|
bottomButtons: boolean;
|
|
40
40
|
width: import("./types").Width;
|
|
41
41
|
confirmClose: boolean;
|
|
42
|
+
_alert: boolean;
|
|
43
|
+
_alertType: string;
|
|
44
|
+
_alertMessage: string;
|
|
42
45
|
};
|
|
43
46
|
savedNative: {};
|
|
44
47
|
encryptedFields: string[];
|
|
45
48
|
sentryDSN: any;
|
|
49
|
+
alerDialogRendered: boolean;
|
|
46
50
|
socket: any;
|
|
47
51
|
_secret: any;
|
|
48
52
|
_systemConfig: any;
|
|
49
53
|
sentryStarted: boolean;
|
|
50
54
|
sentryInited: boolean;
|
|
51
55
|
common: any;
|
|
56
|
+
showAlert(message: any, type: any): void;
|
|
57
|
+
renderAlertSnackbar(): JSX.Element;
|
|
52
58
|
onSystemConfigChanged: (id: any, obj: any) => void;
|
|
53
59
|
onReceiveMessage: (message: any) => void;
|
|
54
60
|
/**
|
|
@@ -194,6 +200,11 @@ declare class GenericApp extends Router<import("./types").GenericAppProps, impor
|
|
|
194
200
|
* @param {string} toast
|
|
195
201
|
*/
|
|
196
202
|
showToast(toast: string): void;
|
|
203
|
+
/**
|
|
204
|
+
* Renders helper dialogs
|
|
205
|
+
* @returns {JSX.Element} The JSX element.
|
|
206
|
+
*/
|
|
207
|
+
renderHelperDialogs(): JSX.Element;
|
|
197
208
|
/**
|
|
198
209
|
* Renders this component.
|
|
199
210
|
* @returns {JSX.Element} The JSX element.
|
package/GenericApp.js
CHANGED
|
@@ -124,6 +124,9 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
|
+
/**
|
|
128
|
+
* @private
|
|
129
|
+
*/
|
|
127
130
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResize", function () {
|
|
128
131
|
_this.resizeTimer && clearTimeout(_this.resizeTimer);
|
|
129
132
|
_this.resizeTimer = setTimeout(function () {
|
|
@@ -175,7 +178,10 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
175
178
|
themeType: _this.getThemeType(themeInstance),
|
|
176
179
|
bottomButtons: (settings && settings.bottomButtons) === false ? false : (props && props.bottomButtons) === false ? false : true,
|
|
177
180
|
width: GenericApp.getWidth(),
|
|
178
|
-
confirmClose: false
|
|
181
|
+
confirmClose: false,
|
|
182
|
+
_alert: false,
|
|
183
|
+
_alertType: 'info',
|
|
184
|
+
_alertMessage: ''
|
|
179
185
|
};
|
|
180
186
|
|
|
181
187
|
// init translations
|
|
@@ -215,6 +221,21 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
215
221
|
window.socketUrl = "".concat(window.location.protocol, "//").concat(window.socketUrl);
|
|
216
222
|
}
|
|
217
223
|
}
|
|
224
|
+
_this.alerDialogRendered = false;
|
|
225
|
+
window.oldAlert = window.alert;
|
|
226
|
+
window.alert = function (message) {
|
|
227
|
+
if (!_this.alerDialogRendered) {
|
|
228
|
+
window.oldAlert(message);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
if (message && message.toString().toLowerCase().includes('error')) {
|
|
232
|
+
console.error(message);
|
|
233
|
+
_this.showAlert(message.toString(), 'error');
|
|
234
|
+
} else {
|
|
235
|
+
console.log(message);
|
|
236
|
+
_this.showAlert(message.toString(), 'info');
|
|
237
|
+
}
|
|
238
|
+
};
|
|
218
239
|
_this.socket = new ConnectionClass(_objectSpread(_objectSpread({}, (props === null || props === void 0 ? void 0 : props.socket) || (settings === null || settings === void 0 ? void 0 : settings.socket)), {}, {
|
|
219
240
|
name: _this.adapterName,
|
|
220
241
|
doNotLoadAllObjects: settings === null || settings === void 0 ? void 0 : settings.doNotLoadAllObjects,
|
|
@@ -233,7 +254,8 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
233
254
|
});
|
|
234
255
|
}
|
|
235
256
|
},
|
|
236
|
-
onReady: function onReady(objects, scripts
|
|
257
|
+
onReady: function onReady( /* objects, scripts */
|
|
258
|
+
) {
|
|
237
259
|
_i18n["default"].setLanguage(_this.socket.systemLang);
|
|
238
260
|
|
|
239
261
|
// subscribe because of language and expert mode
|
|
@@ -295,6 +317,8 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
295
317
|
});
|
|
296
318
|
}
|
|
297
319
|
});
|
|
320
|
+
})["catch"](function (e) {
|
|
321
|
+
return window.alert("Cannot settings: ".concat(e));
|
|
298
322
|
});
|
|
299
323
|
},
|
|
300
324
|
onError: function onError(err) {
|
|
@@ -305,6 +329,39 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
305
329
|
return _this;
|
|
306
330
|
}
|
|
307
331
|
(0, _createClass2["default"])(GenericApp, [{
|
|
332
|
+
key: "showAlert",
|
|
333
|
+
value: function showAlert(message, type) {
|
|
334
|
+
if (type !== 'error' && type !== 'warning' && type !== 'info' && type !== 'success') {
|
|
335
|
+
type = 'info';
|
|
336
|
+
}
|
|
337
|
+
this.setState({
|
|
338
|
+
_alert: true,
|
|
339
|
+
_alertType: type,
|
|
340
|
+
_alertMessage: message
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
}, {
|
|
344
|
+
key: "renderAlertSnackbar",
|
|
345
|
+
value: function renderAlertSnackbar() {
|
|
346
|
+
var _this2 = this;
|
|
347
|
+
this.alerDialogRendered = true;
|
|
348
|
+
return /*#__PURE__*/_react["default"].createElement(_Snackbar["default"], {
|
|
349
|
+
style: this.state._alertType === 'error' ? {
|
|
350
|
+
backgroundColor: '#f44336'
|
|
351
|
+
} : this.state._alertType === 'success' ? {
|
|
352
|
+
backgroundColor: '#4caf50'
|
|
353
|
+
} : undefined,
|
|
354
|
+
open: this.state._alert,
|
|
355
|
+
autoHideDuration: 6000,
|
|
356
|
+
onClose: function onClose(reason) {
|
|
357
|
+
return reason !== 'clickaway' && _this2.setState({
|
|
358
|
+
_alert: false
|
|
359
|
+
});
|
|
360
|
+
},
|
|
361
|
+
message: this.state.alertMessage
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
}, {
|
|
308
365
|
key: "componentDidMount",
|
|
309
366
|
value:
|
|
310
367
|
/**
|
|
@@ -367,7 +424,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
367
424
|
}, {
|
|
368
425
|
key: "toggleTheme",
|
|
369
426
|
value: function toggleTheme() {
|
|
370
|
-
var
|
|
427
|
+
var _this3 = this;
|
|
371
428
|
var themeName = this.state.themeName;
|
|
372
429
|
|
|
373
430
|
// dark => blue => colored => light => dark
|
|
@@ -379,8 +436,8 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
379
436
|
themeName: this.getThemeName(theme),
|
|
380
437
|
themeType: this.getThemeType(theme)
|
|
381
438
|
}, function () {
|
|
382
|
-
|
|
383
|
-
|
|
439
|
+
_this3.props.onThemeChange && _this3.props.onThemeChange(newThemeName);
|
|
440
|
+
_this3.onThemeChanged && _this3.onThemeChanged(newThemeName);
|
|
384
441
|
});
|
|
385
442
|
}
|
|
386
443
|
|
|
@@ -478,11 +535,11 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
478
535
|
}, {
|
|
479
536
|
key: "onPrepareSave",
|
|
480
537
|
value: function onPrepareSave(settings) {
|
|
481
|
-
var
|
|
538
|
+
var _this4 = this;
|
|
482
539
|
// here you can encode values
|
|
483
540
|
this.encryptedFields && this.encryptedFields.forEach(function (attr) {
|
|
484
541
|
if (settings[attr]) {
|
|
485
|
-
settings[attr] =
|
|
542
|
+
settings[attr] = _this4.encrypt(settings[attr]);
|
|
486
543
|
}
|
|
487
544
|
});
|
|
488
545
|
return true;
|
|
@@ -497,18 +554,18 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
497
554
|
}, {
|
|
498
555
|
key: "onPrepareLoad",
|
|
499
556
|
value: function onPrepareLoad(settings, encryptedNative) {
|
|
500
|
-
var
|
|
557
|
+
var _this5 = this;
|
|
501
558
|
// here you can encode values
|
|
502
559
|
this.encryptedFields && this.encryptedFields.forEach(function (attr) {
|
|
503
560
|
if (settings[attr]) {
|
|
504
|
-
settings[attr] =
|
|
561
|
+
settings[attr] = _this5.decrypt(settings[attr]);
|
|
505
562
|
}
|
|
506
563
|
});
|
|
507
564
|
encryptedNative && encryptedNative.forEach(function (attr) {
|
|
508
|
-
|
|
509
|
-
!
|
|
565
|
+
_this5.encryptedFields = _this5.encryptedFields || [];
|
|
566
|
+
!_this5.encryptedFields.includes(attr) && _this5.encryptedFields.push(attr);
|
|
510
567
|
if (settings[attr]) {
|
|
511
|
-
settings[attr] =
|
|
568
|
+
settings[attr] = _this5.decrypt(settings[attr]);
|
|
512
569
|
}
|
|
513
570
|
});
|
|
514
571
|
}
|
|
@@ -520,9 +577,9 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
520
577
|
}, {
|
|
521
578
|
key: "getExtendableInstances",
|
|
522
579
|
value: function getExtendableInstances() {
|
|
523
|
-
var
|
|
580
|
+
var _this6 = this;
|
|
524
581
|
return new Promise(function (resolve) {
|
|
525
|
-
|
|
582
|
+
_this6.socket._socket.emit('getObjectView', 'system', 'instance', null, function (err, doc) {
|
|
526
583
|
if (err) {
|
|
527
584
|
resolve([]);
|
|
528
585
|
} else {
|
|
@@ -543,9 +600,9 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
543
600
|
}, {
|
|
544
601
|
key: "getIpAddresses",
|
|
545
602
|
value: function getIpAddresses(host) {
|
|
546
|
-
var
|
|
603
|
+
var _this7 = this;
|
|
547
604
|
return new Promise(function (resolve, reject) {
|
|
548
|
-
|
|
605
|
+
_this7.socket._socket.emit('getHostByIp', host || _this7.common.host, function (ip, _host) {
|
|
549
606
|
var IPs4 = [{
|
|
550
607
|
name: "[IPv4] 0.0.0.0 - ".concat(_i18n["default"].t('ra_Listen on all IPs')),
|
|
551
608
|
address: '0.0.0.0',
|
|
@@ -593,7 +650,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
593
650
|
}, {
|
|
594
651
|
key: "onSave",
|
|
595
652
|
value: function onSave(isClose) {
|
|
596
|
-
var
|
|
653
|
+
var _this8 = this;
|
|
597
654
|
var oldObj;
|
|
598
655
|
if (this.state.isConfigurationError) {
|
|
599
656
|
this.setState({
|
|
@@ -603,42 +660,42 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
603
660
|
}
|
|
604
661
|
this.socket.getObject(this.instanceId).then(function (_oldObj) {
|
|
605
662
|
oldObj = _oldObj || {};
|
|
606
|
-
for (var a in
|
|
607
|
-
if (
|
|
608
|
-
if (
|
|
663
|
+
for (var a in _this8.state["native"]) {
|
|
664
|
+
if (_this8.state["native"].hasOwnProperty(a)) {
|
|
665
|
+
if (_this8.state["native"][a] === null) {
|
|
609
666
|
oldObj["native"][a] = null;
|
|
610
|
-
} else if (
|
|
611
|
-
oldObj["native"][a] = JSON.parse(JSON.stringify(
|
|
667
|
+
} else if (_this8.state["native"][a] !== undefined) {
|
|
668
|
+
oldObj["native"][a] = JSON.parse(JSON.stringify(_this8.state["native"][a]));
|
|
612
669
|
} else {
|
|
613
670
|
delete oldObj["native"][a];
|
|
614
671
|
}
|
|
615
672
|
}
|
|
616
673
|
}
|
|
617
|
-
if (
|
|
618
|
-
for (var b in
|
|
619
|
-
if (
|
|
674
|
+
if (_this8.state.common) {
|
|
675
|
+
for (var b in _this8.state.common) {
|
|
676
|
+
if (_this8.state.common[b] === null) {
|
|
620
677
|
oldObj.common[b] = null;
|
|
621
|
-
} else if (
|
|
622
|
-
oldObj.common[b] = JSON.parse(JSON.stringify(
|
|
678
|
+
} else if (_this8.state.common[b] !== undefined) {
|
|
679
|
+
oldObj.common[b] = JSON.parse(JSON.stringify(_this8.state.common[b]));
|
|
623
680
|
} else {
|
|
624
681
|
delete oldObj.common[b];
|
|
625
682
|
}
|
|
626
683
|
}
|
|
627
684
|
}
|
|
628
|
-
if (
|
|
629
|
-
return
|
|
685
|
+
if (_this8.onPrepareSave(oldObj["native"]) !== false) {
|
|
686
|
+
return _this8.socket.setObject(_this8.instanceId, oldObj);
|
|
630
687
|
} else {
|
|
631
688
|
return Promise.reject('Invalid configuration');
|
|
632
689
|
}
|
|
633
690
|
}).then(function () {
|
|
634
|
-
|
|
691
|
+
_this8.savedNative = oldObj["native"];
|
|
635
692
|
globalThis.changed = false;
|
|
636
693
|
try {
|
|
637
694
|
window.parent.postMessage('nochange', '*');
|
|
638
695
|
} catch (e) {
|
|
639
696
|
// ignore
|
|
640
697
|
}
|
|
641
|
-
|
|
698
|
+
_this8.setState({
|
|
642
699
|
changed: false
|
|
643
700
|
});
|
|
644
701
|
isClose && GenericApp.onClose();
|
|
@@ -654,7 +711,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
654
711
|
}, {
|
|
655
712
|
key: "renderToast",
|
|
656
713
|
value: function renderToast() {
|
|
657
|
-
var
|
|
714
|
+
var _this9 = this;
|
|
658
715
|
if (!this.state.toast) {
|
|
659
716
|
return null;
|
|
660
717
|
}
|
|
@@ -666,7 +723,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
666
723
|
open: !0,
|
|
667
724
|
autoHideDuration: 6000,
|
|
668
725
|
onClose: function onClose() {
|
|
669
|
-
return
|
|
726
|
+
return _this9.setState({
|
|
670
727
|
toast: ''
|
|
671
728
|
});
|
|
672
729
|
},
|
|
@@ -682,7 +739,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
682
739
|
color: "inherit",
|
|
683
740
|
className: this.props.classes.close,
|
|
684
741
|
onClick: function onClick() {
|
|
685
|
-
return
|
|
742
|
+
return _this9.setState({
|
|
686
743
|
toast: ''
|
|
687
744
|
});
|
|
688
745
|
},
|
|
@@ -703,14 +760,14 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
703
760
|
* @returns {JSX.Element | null} The JSX element.
|
|
704
761
|
*/
|
|
705
762
|
function renderError() {
|
|
706
|
-
var
|
|
763
|
+
var _this10 = this;
|
|
707
764
|
if (!this.state.errorText) {
|
|
708
765
|
return null;
|
|
709
766
|
} else {
|
|
710
767
|
return /*#__PURE__*/_react["default"].createElement(_Error["default"], {
|
|
711
768
|
text: this.state.errorText,
|
|
712
769
|
onClose: function onClose() {
|
|
713
|
-
return
|
|
770
|
+
return _this10.setState({
|
|
714
771
|
errorText: ''
|
|
715
772
|
});
|
|
716
773
|
}
|
|
@@ -767,7 +824,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
767
824
|
}, {
|
|
768
825
|
key: "renderSaveCloseButtons",
|
|
769
826
|
value: function renderSaveCloseButtons() {
|
|
770
|
-
var
|
|
827
|
+
var _this11 = this;
|
|
771
828
|
if (!this.state.confirmClose && !this.state.bottomButtons) {
|
|
772
829
|
return null;
|
|
773
830
|
}
|
|
@@ -777,11 +834,11 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
777
834
|
noTextOnButtons: this.state.width === 'xs' || this.state.width === 'sm' || this.state.width === 'md',
|
|
778
835
|
changed: this.state.changed,
|
|
779
836
|
onSave: function onSave(isClose) {
|
|
780
|
-
return
|
|
837
|
+
return _this11.onSave(isClose);
|
|
781
838
|
},
|
|
782
839
|
onClose: function onClose() {
|
|
783
|
-
if (
|
|
784
|
-
|
|
840
|
+
if (_this11.state.changed) {
|
|
841
|
+
_this11.setState({
|
|
785
842
|
confirmClose: true
|
|
786
843
|
});
|
|
787
844
|
} else {
|
|
@@ -794,7 +851,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
794
851
|
ok: _i18n["default"].t('ra_Discard'),
|
|
795
852
|
cancel: _i18n["default"].t('ra_Cancel'),
|
|
796
853
|
onClose: function onClose(isYes) {
|
|
797
|
-
return
|
|
854
|
+
return _this11.setState({
|
|
798
855
|
confirmClose: false
|
|
799
856
|
}, function () {
|
|
800
857
|
return isYes && GenericApp.onClose();
|
|
@@ -888,6 +945,16 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
888
945
|
});
|
|
889
946
|
}
|
|
890
947
|
|
|
948
|
+
/**
|
|
949
|
+
* Renders helper dialogs
|
|
950
|
+
* @returns {JSX.Element} The JSX element.
|
|
951
|
+
*/
|
|
952
|
+
}, {
|
|
953
|
+
key: "renderHelperDialogs",
|
|
954
|
+
value: function renderHelperDialogs() {
|
|
955
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, this.renderError(), this.renderToast(), this.renderSaveCloseButtons(), this.renderAlertSnackbar());
|
|
956
|
+
}
|
|
957
|
+
|
|
891
958
|
/**
|
|
892
959
|
* Renders this component.
|
|
893
960
|
* @returns {JSX.Element} The JSX element.
|
|
@@ -902,7 +969,7 @@ var GenericApp = /*#__PURE__*/function (_Router) {
|
|
|
902
969
|
}
|
|
903
970
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
904
971
|
className: "App"
|
|
905
|
-
}, this.renderError(), this.renderToast(), this.renderSaveCloseButtons());
|
|
972
|
+
}, this.renderError(), this.renderToast(), this.renderSaveCloseButtons(), this.renderAlertSnackbar());
|
|
906
973
|
}
|
|
907
974
|
}], [{
|
|
908
975
|
key: "getWidth",
|