@iobroker/gui-components 10.3.8 → 10.3.10
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/README.md +7 -1
- package/build/Components/DeviceType/i18n/de.json +3 -3
- package/build/Components/DeviceType/i18n/en.json +3 -3
- package/build/Components/DeviceType/i18n/es.json +3 -3
- package/build/Components/DeviceType/i18n/fr.json +3 -3
- package/build/Components/DeviceType/i18n/it.json +3 -3
- package/build/Components/DeviceType/i18n/nl.json +3 -3
- package/build/Components/DeviceType/i18n/pl.json +3 -3
- package/build/Components/DeviceType/i18n/pt.json +3 -3
- package/build/Components/DeviceType/i18n/ru.json +3 -3
- package/build/Components/DeviceType/i18n/uk.json +3 -3
- package/build/Components/DeviceType/i18n/zh-cn.json +3 -3
- package/build/Components/ObjectBrowser/ObjectBrowserClass.d.ts +9 -0
- package/build/Components/ObjectBrowser/ObjectBrowserClass.js +30 -0
- package/build/Components/ObjectBrowser/ObjectBrowserClass.js.map +1 -1
- package/build/Components/ObjectBrowser/contextMenu.js +18 -2
- package/build/Components/ObjectBrowser/contextMenu.js.map +1 -1
- package/build/Components/ObjectBrowser/dialogs.d.ts +10 -0
- package/build/Components/ObjectBrowser/dialogs.js +42 -0
- package/build/Components/ObjectBrowser/dialogs.js.map +1 -1
- package/build/Components/ObjectBrowser/styles.js +3 -0
- package/build/Components/ObjectBrowser/styles.js.map +1 -1
- package/build/Components/ObjectBrowser/types.d.ts +8 -0
- package/build/i18n/de.json +2 -0
- package/build/i18n/en.json +2 -0
- package/build/i18n/es.json +2 -0
- package/build/i18n/fr.json +2 -0
- package/build/i18n/it.json +2 -0
- package/build/i18n/nl.json +2 -0
- package/build/i18n/pl.json +2 -0
- package/build/i18n/pt.json +2 -0
- package/build/i18n/ru.json +2 -0
- package/build/i18n/uk.json +2 -0
- package/build/i18n/zh-cn.json +2 -0
- package/i18n/de.json +2 -0
- package/i18n/en.json +2 -0
- package/i18n/es.json +2 -0
- package/i18n/fr.json +2 -0
- package/i18n/it.json +2 -0
- package/i18n/nl.json +2 -0
- package/i18n/pl.json +2 -0
- package/i18n/pt.json +2 -0
- package/i18n/ru.json +2 -0
- package/i18n/uk.json +2 -0
- package/i18n/zh-cn.json +2 -0
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogs.js","sourceRoot":"./src/","sources":["Components/ObjectBrowser/dialogs.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright 2020-2026, Denis Haev <dogafox@gmail.com>\n *\n * MIT License\n *\n * Part of the object browser, see ./ObjectBrowserClass.tsx\n */\nimport React, { type JSX } from 'react';\nimport { Utils } from '../Utils';\nimport {\n Box,\n Button,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Fab,\n FormControlLabel,\n IconButton,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Snackbar,\n Switch,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { Check as IconCheck, Close as IconClose } from '@mui/icons-material';\nimport { IconExpert } from '../../icons/IconExpert';\nimport { getCustomValue, getName, getSelectIdIconFromObjects, onCtrlEnter } from './utils';\nimport { type ObjectBrowserPossibleColumns } from './types';\nimport { styles } from './styles';\nimport { DEFAULT_DATE_FORMAT } from './constants';\nimport type { ObjectBrowserClass } from './ObjectBrowserClass';\n\n/**\n * Renders the error dialog.\n */\nexport function renderErrorDialog(that: ObjectBrowserClass): JSX.Element | null {\n return that.state.error ? (\n <Dialog\n open={!0}\n maxWidth=\"sm\"\n fullWidth\n onClose={() => that.setState({ error: '' })}\n aria-labelledby=\"error-dialog-title\"\n aria-describedby=\"error-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">{that.props.t('ra_Error')}</DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">{that.state.error}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => that.setState({ error: '' })}\n color=\"primary\"\n autoFocus\n startIcon={<IconCheck />}\n >\n {that.props.t('ra_Ok')}\n </Button>\n </DialogActions>\n </Dialog>\n ) : null;\n}\n\nexport function _renderDefinedList(that: ObjectBrowserClass, isLast: boolean): JSX.Element[] {\n const cols = [...that.possibleCols];\n cols.unshift('id');\n if (that.props.columns && !that.props.columns.includes('buttons')) {\n const pos = cols.indexOf('buttons');\n if (pos !== -1) {\n cols.splice(pos, 1);\n }\n }\n return cols\n .filter(id => (isLast && (id === 'val' || id === 'buttons')) || (!isLast && id !== 'val' && id !== 'buttons'))\n .map(id => (\n <ListItemButton\n onClick={() => {\n if (!that.state.columnsAuto && id !== 'id') {\n const columns = [...(that.state.columns || [])];\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n that.localStorage.setItem(`${that.props.dialogName || 'App'}.columns`, JSON.stringify(columns));\n that.calculateColumnsVisibility(null, columns);\n that.setState({ columns });\n }\n }}\n key={id}\n >\n <Checkbox\n edge=\"start\"\n disabled={id === 'id' || that.state.columnsAuto}\n checked={\n id === 'id' ||\n !!(that.state.columnsAuto ? that.visibleCols.includes(id) : that.state.columns?.includes(id))\n }\n disableRipple\n />\n <ListItemText primary={that.texts[`filter_${id}`] || that.props.t(`ra_${id}`)} />\n </ListItemButton>\n ));\n}\n\n/**\n * Renders the columns' selector.\n */\nexport function renderColumnsSelectorDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.columnsSelectorShow) {\n return null;\n }\n return (\n <Dialog\n onClose={() => that.setState({ columnsSelectorShow: false })}\n open={!0}\n sx={{\n '& .MuiPaper-root': Utils.getStyle(\n that.props.theme,\n styles.dialogColumns,\n styles[`transparent_${that.state.columnsDialogTransparent}`],\n ),\n }}\n >\n <DialogTitle sx={styles.fontSizeTitle}>{that.props.t('ra_Configure')}</DialogTitle>\n <DialogContent sx={styles.fontSizeTitle}>\n <FormControlLabel\n style={styles.switchColumnAuto}\n control={\n <Switch\n checked={that.state.foldersFirst}\n onChange={() => {\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.foldersFirst`,\n that.state.foldersFirst ? 'false' : 'true',\n );\n that.setState({ foldersFirst: !that.state.foldersFirst });\n }}\n />\n }\n label={that.props.t('ra_Folders always first')}\n />\n <FormControlLabel\n style={styles.switchColumnAuto}\n control={\n <Switch\n checked={that.state.linesEnabled}\n onChange={() => {\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.lines`,\n that.state.linesEnabled ? 'false' : 'true',\n );\n that.setState({ linesEnabled: !that.state.linesEnabled });\n }}\n />\n }\n label={that.props.t('ra_Show lines between rows')}\n />\n <FormControlLabel\n style={styles.switchColumnAuto}\n control={\n <Switch\n checked={that.state.columnsAuto}\n onChange={() => {\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.columnsAuto`,\n that.state.columnsAuto ? 'false' : 'true',\n );\n if (!that.state.columnsAuto) {\n that.calculateColumnsVisibility(true);\n that.setState({ columnsAuto: true });\n } else if (!that.state.columns) {\n // The columns that are visible now become the manual selection.\n // Without storing them, the selection would be empty after a\n // reload and the table would show nothing but the ID column.\n const columns = [...that.visibleCols];\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n that.calculateColumnsVisibility(false, columns);\n that.setState({ columnsAuto: false, columns });\n } else {\n that.calculateColumnsVisibility(false);\n that.setState({ columnsAuto: false });\n }\n }}\n />\n }\n label={that.props.t('ra_Auto (no custom columns)')}\n />\n <List>\n {_renderDefinedList(that, false)}\n\n {that.state.columnsForAdmin &&\n Object.keys(that.state.columnsForAdmin)\n .sort()\n .map(adapter =>\n that.state.columnsForAdmin?.[adapter].map(column => (\n <ListItemButton\n onClick={() => {\n if (!that.state.columnsAuto) {\n const columns = [...(that.state.columns || [])];\n const id: ObjectBrowserPossibleColumns =\n `_${adapter}_${column.path}` as ObjectBrowserPossibleColumns;\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n that.calculateColumnsVisibility(null, columns);\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n that.setState({ columns });\n }\n }}\n key={`${adapter}_${column.name}`}\n >\n <ListItemIcon>\n <Checkbox\n disabled={that.state.columnsAuto}\n edge=\"start\"\n checked={\n !that.state.columnsAuto &&\n that.state.columns?.includes(\n `_${adapter}_${column.path}` as ObjectBrowserPossibleColumns,\n )\n }\n disableRipple\n />\n </ListItemIcon>\n <ListItemText primary={`${column.name} (${adapter})`} />\n </ListItemButton>\n )),\n )}\n {_renderDefinedList(that, true)}\n </List>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => that.setState({ columnsSelectorShow: false })}\n color=\"primary\"\n startIcon={<IconClose />}\n >\n {that.texts.close}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport function renderExportDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (that.state.showExportDialog === false) {\n return null;\n }\n\n /** The \"Only selected\" button and CTRL+ENTER end up here */\n const onExportSelected = (): void =>\n that.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n that._exportObjects({\n isAll: false,\n noStatesByExportImport: that.state.noStatesByExportImport,\n beautify: that.state.beautifyJsonExport,\n excludeSystemRepositories: that.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: that.state.excludeTranslations,\n }),\n );\n\n return (\n <Dialog\n open={!0}\n maxWidth=\"lg\"\n onKeyDown={e => onCtrlEnter(e, onExportSelected)}\n >\n <DialogTitle>{that.props.t('ra_Select type of export')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {that.state.filter.expertMode || that.state.showAllExportOptions ? (\n <>\n {that.props.t('ra_You can export all objects or just the selected branch.')}\n <br />\n {that.props.t('ra_Selected %s object(s)', that.state.showExportDialog)}\n <br />\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.noStatesByExportImport}\n onChange={e => that.setState({ noStatesByExportImport: e.target.checked })}\n />\n }\n label={that.props.t('ra_Do not export values of states')}\n />\n <br />\n {that.props.t('These options can reduce the size of the export file:')}\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.beautifyJsonExport}\n onChange={e => that.setState({ beautifyJsonExport: e.target.checked })}\n />\n }\n label={that.props.t('Beautify JSON output')}\n />\n <br />\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.excludeSystemRepositoriesFromExport}\n onChange={e =>\n that.setState({ excludeSystemRepositoriesFromExport: e.target.checked })\n }\n />\n }\n label={that.props.t('Exclude system repositories from export JSON')}\n />\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.excludeTranslations}\n onChange={e => that.setState({ excludeTranslations: e.target.checked })}\n />\n }\n label={that.props.t('Exclude translations (except english) from export JSON')}\n />\n </>\n ) : null}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n {that.state.filter.expertMode || that.state.showAllExportOptions ? (\n <Button\n color=\"grey\"\n variant=\"outlined\"\n onClick={() =>\n that.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n that._exportObjects({\n isAll: true,\n noStatesByExportImport: that.state.noStatesByExportImport,\n beautify: that.state.beautifyJsonExport,\n excludeSystemRepositories: that.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: that.state.excludeTranslations,\n }),\n )\n }\n >\n <span style={{ marginRight: 8 }}>{that.props.t('ra_All objects')}</span>(\n {Object.keys(that.objects).length})\n </Button>\n ) : (\n <Button\n color=\"grey\"\n variant=\"outlined\"\n startIcon={<IconExpert />}\n onClick={() => that.setState({ showAllExportOptions: true })}\n >\n {that.props.t('ra_Advanced options')}\n </Button>\n )}\n <Tooltip title={that.props.t('ra_Press CTRL+ENTER to confirm')}>\n <Button\n color=\"primary\"\n variant=\"contained\"\n autoFocus\n onClick={onExportSelected}\n >\n <span style={{ marginRight: 8 }}>{that.props.t('ra_Only selected')}</span>(\n {that.state.showExportDialog})\n </Button>\n </Tooltip>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => that.setState({ showExportDialog: false, showAllExportOptions: false })}\n startIcon={<IconClose />}\n >\n {that.props.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport function renderRenameDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.showRenameDialog) {\n return null;\n }\n const ObjectMoveRenameDialog = that.props.objectMoveRenameDialog!;\n return (\n <ObjectMoveRenameDialog\n expertMode={!!that.props.expertMode}\n onClose={() => that.setState({ showRenameDialog: null })}\n id={that.state.showRenameDialog.id}\n childrenIds={that.state.showRenameDialog.childrenIds}\n theme={that.props.theme}\n socket={that.props.socket}\n t={that.props.t}\n objectType={that.objects[that.state.showRenameDialog.id]?.type}\n />\n );\n}\n\nexport function renderInputJsonDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.showImportDialog) {\n return null;\n }\n const ObjectBrowserInsertJsonObjects = that.props.objectBrowserInsertJsonObjects!;\n return (\n <ObjectBrowserInsertJsonObjects\n onClose={(text?: string): void => {\n that.setState({ showImportDialog: false });\n if (text) {\n void that.parseJsonFile(text);\n }\n }}\n themeName={that.props.themeName}\n themeType={that.props.themeType}\n t={that.props.t}\n />\n );\n}\n\nexport function renderEnumDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.enumDialog) {\n return null;\n }\n const type = that.state.enumDialog.type;\n const item = that.state.enumDialog.item;\n const itemEnums: string[] = that.state.enumDialogEnums!;\n const enumsOriginal = that.state.enumDialog.enumsOriginal;\n\n const enums = (type === 'room' ? that.info.roomEnums : that.info.funcEnums)\n .map(id => ({\n name: getName(that.objects[id]?.common?.name || id.split('.').pop() || '', that.props.lang),\n value: id,\n icon: getSelectIdIconFromObjects(that.objects, id, that.props.lang, that.imagePrefix),\n }))\n .sort((a, b) => (a.name > b.name ? 1 : -1));\n\n enums.forEach(_item => {\n if (_item.icon && typeof _item.icon === 'string') {\n _item.icon = (\n <Box style={styles.enumIconDiv}>\n <img\n src={_item.icon}\n style={styles.enumIcon}\n alt={_item.name}\n />\n </Box>\n );\n }\n });\n\n // const hasIcons = !!enums.find(item => item.icon);\n\n /** The button in the title and CTRL+ENTER end up here */\n const onApplyEnums = (): void => {\n if (enumsOriginal !== JSON.stringify(itemEnums)) {\n void that\n .syncEnum(item.data.id, type, itemEnums)\n .then(() => that.setState({ enumDialog: null, enumDialogEnums: null }));\n }\n };\n\n return (\n <Dialog\n sx={{ '& .MuiPaper-root': styles.enumDialog }}\n onClose={() => that.setState({ enumDialog: null })}\n onKeyDown={e => onCtrlEnter(e, onApplyEnums)}\n aria-labelledby=\"enum-dialog-title\"\n open={!0} // true\n >\n <DialogTitle\n id=\"enum-dialog-title\"\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n flexWrap: 'nowrap',\n gap: 8,\n paddingRight: 12,\n }}\n >\n {type === 'func' ? that.props.t('ra_Define functions') : that.props.t('ra_Define rooms')}\n <Tooltip title={that.props.t('ra_Press CTRL+ENTER to confirm')}>\n <span>\n <Fab\n color=\"primary\"\n disabled={enumsOriginal === JSON.stringify(itemEnums)}\n size=\"small\"\n onClick={onApplyEnums}\n >\n <IconCheck />\n </Fab>\n </span>\n </Tooltip>\n </DialogTitle>\n <List sx={{ '&.MuiList-root': styles.enumList }}>\n {enums.map(_item => {\n let id;\n let name;\n let icon;\n\n if (typeof _item === 'object') {\n id = _item.value;\n name = _item.name;\n icon = _item.icon;\n } else {\n id = _item;\n name = _item;\n }\n const labelId = `checkbox-list-label-${id}`;\n\n return (\n <ListItem\n sx={styles.headerCellSelectItem}\n key={id}\n onClick={() => {\n const pos = itemEnums.indexOf(id);\n const enumDialogEnums: string[] = JSON.parse(\n JSON.stringify(that.state.enumDialogEnums),\n );\n if (pos === -1) {\n enumDialogEnums.push(id);\n enumDialogEnums.sort();\n } else {\n enumDialogEnums.splice(pos, 1);\n }\n that.setState({ enumDialogEnums });\n }}\n secondaryAction={icon}\n >\n <ListItemIcon sx={{ '&.MuiListItemIcon-root': styles.enumCheckbox }}>\n <Checkbox\n edge=\"start\"\n checked={itemEnums.includes(id)}\n tabIndex={-1}\n disableRipple\n slotProps={{\n input: { 'aria-labelledby': labelId },\n }}\n />\n </ListItemIcon>\n <ListItemText id={labelId}>{name}</ListItemText>\n </ListItem>\n );\n })}\n </List>\n </Dialog>\n );\n}\n\nexport function renderEditRoleDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.roleDialog || !that.props.objectBrowserEditRole) {\n return null;\n }\n\n if (that.state.roleDialog && that.props.objectBrowserEditRole) {\n const ObjectBrowserEditRole = that.props.objectBrowserEditRole;\n\n return (\n <ObjectBrowserEditRole\n key=\"objectBrowserEditRole\"\n id={that.state.roleDialog}\n socket={that.props.socket}\n t={that.props.t}\n roleArray={that.info.roles}\n commonType={that.info.objects[that.state.roleDialog]?.common?.type}\n onClose={(obj?: ioBroker.Object | null) => {\n if (obj && that.state.roleDialog) {\n that.info.objects[that.state.roleDialog] = obj;\n }\n that.setState({ roleDialog: null });\n }}\n />\n );\n }\n return null;\n}\n\nexport function renderColumnsEditCustomDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.columnsEditCustomDialog) {\n return null;\n }\n if (!that.customColumnDialog) {\n const value = getCustomValue(that.state.columnsEditCustomDialog.obj, that.state.columnsEditCustomDialog.it);\n that.customColumnDialog = {\n type: (that.state.columnsEditCustomDialog.it.type || typeof value) as 'boolean' | 'string' | 'number',\n initValue: (value === null || value === undefined ? '' : value).toString(),\n value: (value === null || value === undefined ? '' : value).toString(),\n };\n }\n\n return (\n <Dialog\n onClose={() => that.setState({ columnsEditCustomDialog: null })}\n onKeyDown={e =>\n onCtrlEnter(e, () => {\n if (that.state.customColumnDialogValueChanged) {\n that.onColumnsEditCustomDialogClose(true);\n }\n })\n }\n maxWidth=\"md\"\n aria-labelledby=\"custom-dialog-title\"\n open={!0}\n >\n <DialogTitle id=\"custom-dialog-title\">\n {`${that.props.t('ra_Edit object field')}: ${that.state.columnsEditCustomDialog.obj._id}`}\n </DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n {that.customColumnDialog.type === 'boolean' ? (\n <FormControlLabel\n control={\n <Checkbox\n onKeyUp={e => e.key === 'Enter' && that.onColumnsEditCustomDialogClose(true)}\n defaultChecked={that.customColumnDialog.value === 'true'}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = that.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.checked.toString();\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !that.state.customColumnDialogValueChanged) {\n that.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n />\n }\n label={`${that.state.columnsEditCustomDialog.it.name} (${that.state.columnsEditCustomDialog.it.pathText})`}\n />\n ) : (\n <TextField\n variant=\"standard\"\n defaultValue={that.customColumnDialog.value}\n fullWidth\n onKeyUp={e => e.key === 'Enter' && that.onColumnsEditCustomDialogClose(true)}\n label={`${that.state.columnsEditCustomDialog.it.name} (${that.state.columnsEditCustomDialog.it.pathText})`}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = that.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.value;\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !that.state.customColumnDialogValueChanged) {\n that.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n autoFocus\n />\n )}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Tooltip title={that.props.t('ra_Press CTRL+ENTER to confirm')}>\n <span>\n <Button\n variant=\"contained\"\n onClick={() => that.onColumnsEditCustomDialogClose(true)}\n disabled={!that.state.customColumnDialogValueChanged}\n color=\"primary\"\n startIcon={<IconCheck />}\n >\n {that.props.t('ra_Update')}\n </Button>\n </span>\n </Tooltip>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => that.onColumnsEditCustomDialogClose()}\n startIcon={<IconClose />}\n >\n {that.props.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport function renderToast(that: ObjectBrowserClass): JSX.Element {\n return (\n <Snackbar\n open={!!that.state.toast}\n autoHideDuration={3000}\n onClick={() => that.setState({ toast: '' })}\n onClose={() => that.setState({ toast: '' })}\n message={that.state.toast}\n action={\n <IconButton\n size=\"small\"\n aria-label=\"close\"\n color=\"inherit\"\n onClick={() => that.setState({ toast: '' })}\n >\n <IconClose fontSize=\"small\" />\n </IconButton>\n }\n />\n );\n}\n\nexport function renderCustomDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (that.state.customDialog && that.props.objectCustomDialog && that.systemConfig) {\n const ObjectCustomDialog = that.props.objectCustomDialog;\n\n return (\n <ObjectCustomDialog\n reportChangedIds={(changedIds: string[]) => (that.changedIds = [...changedIds])}\n objectIDs={that.state.customDialog}\n allVisibleObjects={!!that.state.customDialogAll}\n expertMode={that.state.filter.expertMode}\n isFloatComma={\n that.props.isFloatComma === undefined\n ? (that.systemConfig?.common.isFloatComma ?? true)\n : that.props.isFloatComma\n }\n t={that.props.t}\n lang={that.props.lang}\n socket={that.props.socket}\n themeName={that.props.themeName}\n themeType={that.props.themeType}\n theme={that.props.theme}\n objects={that.objects}\n customsInstances={that.info.customs}\n onClose={() => {\n that.pauseSubscribe(false);\n that.setState({ customDialog: null });\n if (that.changedIds) {\n that.changedIds = null;\n // update all changed IDs\n that.forceUpdate();\n }\n\n that.props.router?.doNavigate('tab-objects');\n }}\n systemConfig={that.systemConfig}\n />\n );\n }\n return null;\n}\n\nexport function renderEditObjectDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.editObjectDialog || !that.props.objectBrowserEditObject) {\n return null;\n }\n\n // Guard against opening the editor for a node without a real object (e.g. a virtual folder\n // that only exists because child states share an ID prefix). Its constructor reads obj._id.\n if (!that.objects[that.state.editObjectDialog]) {\n return null;\n }\n\n const ObjectBrowserEditObject = that.props.objectBrowserEditObject;\n\n return (\n <ObjectBrowserEditObject\n key={that.state.editObjectDialog}\n obj={that.objects[that.state.editObjectDialog]}\n roleArray={that.info.roles}\n objects={that.objects}\n dateFormat={that.props.dateFormat || that.systemConfig?.common.dateFormat || DEFAULT_DATE_FORMAT}\n isFloatComma={\n that.props.isFloatComma === undefined\n ? (that.systemConfig?.common.isFloatComma ?? true)\n : that.props.isFloatComma\n }\n themeType={that.props.themeType}\n theme={that.props.theme}\n socket={that.props.socket}\n dialogName={that.props.dialogName}\n aliasTab={that.state.editObjectAlias}\n t={that.props.t}\n expertMode={!!that.state.filter.expertMode}\n onNewObject={(obj: ioBroker.AnyObject) =>\n that.props.socket\n .setObject(obj._id, obj)\n .then(() =>\n that.setState({ editObjectDialog: obj._id, editObjectAlias: false }, () =>\n that.onSelect(obj._id),\n ),\n )\n .catch(e => that.showError(`Cannot write object: ${e}`))\n }\n onClose={(obj?: ioBroker.AnyObject) => {\n if (obj) {\n let updateAlias: string;\n if (that.state.editObjectDialog.startsWith('alias.')) {\n if (\n JSON.stringify(that.objects[that.state.editObjectDialog].common?.alias) !==\n JSON.stringify((obj as ioBroker.StateObject).common?.alias)\n ) {\n updateAlias = that.state.editObjectDialog;\n }\n }\n\n that.props.socket\n .setObject(obj._id, obj)\n .then(() => {\n if (updateAlias && that.subscribes.has(updateAlias)) {\n that.unsubscribe(updateAlias);\n setTimeout(() => that.subscribe(updateAlias), 100);\n }\n })\n .catch(e => that.showError(`Cannot write object: ${e}`));\n }\n that.setState({ editObjectDialog: '', editObjectAlias: false });\n }}\n width={that.width}\n />\n );\n}\n\nexport function renderViewObjectFileDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.viewFileDialog || !that.props.objectBrowserViewFile) {\n return null;\n }\n const ObjectBrowserViewFile = that.props.objectBrowserViewFile;\n\n return (\n <ObjectBrowserViewFile\n key=\"viewFile\"\n obj={that.objects[that.state.viewFileDialog]}\n socket={that.props.socket}\n t={that.props.t}\n onClose={() => that.setState({ viewFileDialog: '' })}\n />\n );\n}\n\nexport function renderAliasEditorDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.props.objectBrowserAliasEditor || !that.state.showAliasEditor) {\n return null;\n }\n const ObjectBrowserAliasEditor = that.props.objectBrowserAliasEditor;\n\n return (\n <ObjectBrowserAliasEditor\n key=\"editAlias\"\n obj={that.objects[that.state.showAliasEditor]}\n roleArray={that.info.roles}\n objects={that.objects}\n socket={that.props.socket}\n t={that.props.t}\n onClose={() => that.setState({ showAliasEditor: '' })}\n onRedirect={(id: string, timeout?: number) =>\n setTimeout(\n () =>\n that.onSelect(id, false, () =>\n that.expandAllSelected(() => {\n that.scrollToItem(id);\n setTimeout(\n () =>\n that.setState({\n editObjectDialog: id,\n showAliasEditor: '',\n editObjectAlias: true,\n }),\n 300,\n );\n }),\n ),\n timeout || 0,\n )\n }\n />\n );\n}\n\nexport function renderAliasMenu(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.aliasMenu) {\n return null;\n }\n\n return (\n <Menu\n key=\"aliasmenu\"\n open={!0}\n anchorEl={window.document.getElementById(`alias_${that.state.aliasMenu}`)}\n onClose={() => that.setState({ aliasMenu: '' })}\n >\n {that.info.aliasesMap[that.state.aliasMenu].map((aliasId, i) => (\n <MenuItem\n key={aliasId}\n onClick={() => that.onSelect(aliasId)}\n >\n <ListItemText>\n {that.renderAliasLink(that.state.aliasMenu, i, {\n '& .admin-browser-arrow': {\n mr: '8px',\n },\n })}\n </ListItemText>\n </MenuItem>\n ))}\n </Menu>\n );\n}\n\nexport function renderEditValueDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.updateOpened || !that.props.objectBrowserValue) {\n return null;\n }\n\n if (!that.edit.id) {\n console.error(`Invalid ID for edit: ${JSON.stringify(that.edit)}`);\n return null;\n }\n\n if (!that.objects[that.edit.id]) {\n console.error(`Something went wrong. Possibly the object ${that.edit.id} was deleted.`);\n return null;\n }\n\n // The value editor only understands 'states' | 'string' | 'number' | 'boolean' | 'json'. Without\n // `common.type` the type was taken from the value - but a state that was never written has\n // `val === null`, and `typeof null` is \"object\". The editor then got a type it does not know and\n // showed nothing at all, so such a state could not be edited.\n const valueType = typeof that.edit.val;\n const type =\n that.objects[that.edit.id].common?.type ||\n (valueType === 'number' || valueType === 'boolean' ? valueType : 'string');\n\n const role = that.objects[that.edit.id].common.role;\n\n const ObjectBrowserValue = that.props.objectBrowserValue;\n\n return (\n <ObjectBrowserValue\n t={that.props.t}\n lang={that.props.lang}\n type={type}\n role={role || ''}\n states={Utils.getStates(that.objects[that.edit.id] as ioBroker.StateObject)}\n themeType={that.props.themeType}\n theme={that.props.theme}\n expertMode={!!that.state.filter.expertMode}\n value={that.edit.val}\n socket={that.props.socket}\n object={that.objects[that.edit.id] as ioBroker.StateObject}\n defaultHistory={that.defaultHistory}\n dateFormat={that.props.dateFormat || that.systemConfig?.common.dateFormat || DEFAULT_DATE_FORMAT}\n isFloatComma={\n that.props.isFloatComma === undefined\n ? (that.systemConfig?.common.isFloatComma ?? true)\n : that.props.isFloatComma\n }\n onClose={(res?: {\n val: ioBroker.StateValue;\n ack: boolean;\n q: ioBroker.STATE_QUALITY[keyof ioBroker.STATE_QUALITY];\n expire: number | undefined;\n }) => {\n that.setState({ updateOpened: false });\n if (res) {\n that.onUpdate(res);\n }\n }}\n width={that.width}\n />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dialogs.js","sourceRoot":"./src/","sources":["Components/ObjectBrowser/dialogs.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright 2020-2026, Denis Haev <dogafox@gmail.com>\n *\n * MIT License\n *\n * Part of the object browser, see ./ObjectBrowserClass.tsx\n */\nimport React, { type JSX } from 'react';\nimport { Utils } from '../Utils';\nimport {\n Box,\n Button,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Fab,\n FormControlLabel,\n IconButton,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Snackbar,\n Switch,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { Check as IconCheck, Close as IconClose } from '@mui/icons-material';\nimport { IconExpert } from '../../icons/IconExpert';\nimport { getCustomValue, getName, getSelectIdIconFromObjects, onCtrlEnter } from './utils';\nimport { type ObjectBrowserPossibleColumns } from './types';\nimport { styles } from './styles';\nimport { DEFAULT_DATE_FORMAT } from './constants';\nimport type { ObjectBrowserClass } from './ObjectBrowserClass';\n\n/**\n * Renders the error dialog.\n */\nexport function renderErrorDialog(that: ObjectBrowserClass): JSX.Element | null {\n return that.state.error ? (\n <Dialog\n open={!0}\n maxWidth=\"sm\"\n fullWidth\n onClose={() => that.setState({ error: '' })}\n aria-labelledby=\"error-dialog-title\"\n aria-describedby=\"error-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">{that.props.t('ra_Error')}</DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">{that.state.error}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => that.setState({ error: '' })}\n color=\"primary\"\n autoFocus\n startIcon={<IconCheck />}\n >\n {that.props.t('ra_Ok')}\n </Button>\n </DialogActions>\n </Dialog>\n ) : null;\n}\n\nexport function _renderDefinedList(that: ObjectBrowserClass, isLast: boolean): JSX.Element[] {\n const cols = [...that.possibleCols];\n cols.unshift('id');\n if (that.props.columns && !that.props.columns.includes('buttons')) {\n const pos = cols.indexOf('buttons');\n if (pos !== -1) {\n cols.splice(pos, 1);\n }\n }\n return cols\n .filter(id => (isLast && (id === 'val' || id === 'buttons')) || (!isLast && id !== 'val' && id !== 'buttons'))\n .map(id => (\n <ListItemButton\n onClick={() => {\n if (!that.state.columnsAuto && id !== 'id') {\n const columns = [...(that.state.columns || [])];\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n that.localStorage.setItem(`${that.props.dialogName || 'App'}.columns`, JSON.stringify(columns));\n that.calculateColumnsVisibility(null, columns);\n that.setState({ columns });\n }\n }}\n key={id}\n >\n <Checkbox\n edge=\"start\"\n disabled={id === 'id' || that.state.columnsAuto}\n checked={\n id === 'id' ||\n !!(that.state.columnsAuto ? that.visibleCols.includes(id) : that.state.columns?.includes(id))\n }\n disableRipple\n />\n <ListItemText primary={that.texts[`filter_${id}`] || that.props.t(`ra_${id}`)} />\n </ListItemButton>\n ));\n}\n\n/**\n * Renders the columns' selector.\n */\nexport function renderColumnsSelectorDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.columnsSelectorShow) {\n return null;\n }\n return (\n <Dialog\n onClose={() => that.setState({ columnsSelectorShow: false })}\n open={!0}\n sx={{\n '& .MuiPaper-root': Utils.getStyle(\n that.props.theme,\n styles.dialogColumns,\n styles[`transparent_${that.state.columnsDialogTransparent}`],\n ),\n }}\n >\n <DialogTitle sx={styles.fontSizeTitle}>{that.props.t('ra_Configure')}</DialogTitle>\n <DialogContent sx={styles.fontSizeTitle}>\n <FormControlLabel\n style={styles.switchColumnAuto}\n control={\n <Switch\n checked={that.state.foldersFirst}\n onChange={() => {\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.foldersFirst`,\n that.state.foldersFirst ? 'false' : 'true',\n );\n that.setState({ foldersFirst: !that.state.foldersFirst });\n }}\n />\n }\n label={that.props.t('ra_Folders always first')}\n />\n <FormControlLabel\n style={styles.switchColumnAuto}\n control={\n <Switch\n checked={that.state.linesEnabled}\n onChange={() => {\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.lines`,\n that.state.linesEnabled ? 'false' : 'true',\n );\n that.setState({ linesEnabled: !that.state.linesEnabled });\n }}\n />\n }\n label={that.props.t('ra_Show lines between rows')}\n />\n <FormControlLabel\n style={styles.switchColumnAuto}\n control={\n <Switch\n checked={that.state.columnsAuto}\n onChange={() => {\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.columnsAuto`,\n that.state.columnsAuto ? 'false' : 'true',\n );\n if (!that.state.columnsAuto) {\n that.calculateColumnsVisibility(true);\n that.setState({ columnsAuto: true });\n } else if (!that.state.columns) {\n // The columns that are visible now become the manual selection.\n // Without storing them, the selection would be empty after a\n // reload and the table would show nothing but the ID column.\n const columns = [...that.visibleCols];\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n that.calculateColumnsVisibility(false, columns);\n that.setState({ columnsAuto: false, columns });\n } else {\n that.calculateColumnsVisibility(false);\n that.setState({ columnsAuto: false });\n }\n }}\n />\n }\n label={that.props.t('ra_Auto (no custom columns)')}\n />\n <List>\n {_renderDefinedList(that, false)}\n\n {that.state.columnsForAdmin &&\n Object.keys(that.state.columnsForAdmin)\n .sort()\n .map(adapter =>\n that.state.columnsForAdmin?.[adapter].map(column => (\n <ListItemButton\n onClick={() => {\n if (!that.state.columnsAuto) {\n const columns = [...(that.state.columns || [])];\n const id: ObjectBrowserPossibleColumns =\n `_${adapter}_${column.path}` as ObjectBrowserPossibleColumns;\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n that.calculateColumnsVisibility(null, columns);\n that.localStorage.setItem(\n `${that.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n that.setState({ columns });\n }\n }}\n key={`${adapter}_${column.name}`}\n >\n <ListItemIcon>\n <Checkbox\n disabled={that.state.columnsAuto}\n edge=\"start\"\n checked={\n !that.state.columnsAuto &&\n that.state.columns?.includes(\n `_${adapter}_${column.path}` as ObjectBrowserPossibleColumns,\n )\n }\n disableRipple\n />\n </ListItemIcon>\n <ListItemText primary={`${column.name} (${adapter})`} />\n </ListItemButton>\n )),\n )}\n {_renderDefinedList(that, true)}\n </List>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => that.setState({ columnsSelectorShow: false })}\n color=\"primary\"\n startIcon={<IconClose />}\n >\n {that.texts.close}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport function renderExportDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (that.state.showExportDialog === false) {\n return null;\n }\n\n /** The \"Only selected\" button and CTRL+ENTER end up here */\n const onExportSelected = (): void =>\n that.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n that._exportObjects({\n isAll: false,\n noStatesByExportImport: that.state.noStatesByExportImport,\n beautify: that.state.beautifyJsonExport,\n excludeSystemRepositories: that.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: that.state.excludeTranslations,\n }),\n );\n\n return (\n <Dialog\n open={!0}\n maxWidth=\"lg\"\n onKeyDown={e => onCtrlEnter(e, onExportSelected)}\n >\n <DialogTitle>{that.props.t('ra_Select type of export')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {that.state.filter.expertMode || that.state.showAllExportOptions ? (\n <>\n {that.props.t('ra_You can export all objects or just the selected branch.')}\n <br />\n {that.props.t('ra_Selected %s object(s)', that.state.showExportDialog)}\n <br />\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.noStatesByExportImport}\n onChange={e => that.setState({ noStatesByExportImport: e.target.checked })}\n />\n }\n label={that.props.t('ra_Do not export values of states')}\n />\n <br />\n {that.props.t('These options can reduce the size of the export file:')}\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.beautifyJsonExport}\n onChange={e => that.setState({ beautifyJsonExport: e.target.checked })}\n />\n }\n label={that.props.t('Beautify JSON output')}\n />\n <br />\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.excludeSystemRepositoriesFromExport}\n onChange={e =>\n that.setState({ excludeSystemRepositoriesFromExport: e.target.checked })\n }\n />\n }\n label={that.props.t('Exclude system repositories from export JSON')}\n />\n <FormControlLabel\n control={\n <Checkbox\n checked={that.state.excludeTranslations}\n onChange={e => that.setState({ excludeTranslations: e.target.checked })}\n />\n }\n label={that.props.t('Exclude translations (except english) from export JSON')}\n />\n </>\n ) : null}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n {that.state.filter.expertMode || that.state.showAllExportOptions ? (\n <Button\n color=\"grey\"\n variant=\"outlined\"\n onClick={() =>\n that.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n that._exportObjects({\n isAll: true,\n noStatesByExportImport: that.state.noStatesByExportImport,\n beautify: that.state.beautifyJsonExport,\n excludeSystemRepositories: that.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: that.state.excludeTranslations,\n }),\n )\n }\n >\n <span style={{ marginRight: 8 }}>{that.props.t('ra_All objects')}</span>(\n {Object.keys(that.objects).length})\n </Button>\n ) : (\n <Button\n color=\"grey\"\n variant=\"outlined\"\n startIcon={<IconExpert />}\n onClick={() => that.setState({ showAllExportOptions: true })}\n >\n {that.props.t('ra_Advanced options')}\n </Button>\n )}\n <Tooltip title={that.props.t('ra_Press CTRL+ENTER to confirm')}>\n <Button\n color=\"primary\"\n variant=\"contained\"\n autoFocus\n onClick={onExportSelected}\n >\n <span style={{ marginRight: 8 }}>{that.props.t('ra_Only selected')}</span>(\n {that.state.showExportDialog})\n </Button>\n </Tooltip>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => that.setState({ showExportDialog: false, showAllExportOptions: false })}\n startIcon={<IconClose />}\n >\n {that.props.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport function renderRenameDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.showRenameDialog) {\n return null;\n }\n const ObjectMoveRenameDialog = that.props.objectMoveRenameDialog!;\n return (\n <ObjectMoveRenameDialog\n expertMode={!!that.props.expertMode}\n onClose={() => that.setState({ showRenameDialog: null })}\n id={that.state.showRenameDialog.id}\n childrenIds={that.state.showRenameDialog.childrenIds}\n theme={that.props.theme}\n socket={that.props.socket}\n t={that.props.t}\n objectType={that.objects[that.state.showRenameDialog.id]?.type}\n />\n );\n}\n\n/**\n * The dialog that changes `common.name` of an object.\n *\n * It writes nothing but the name, so it needs neither the expert mode nor the big \"Edit object\"\n * dialog, where the name used to be hidden.\n *\n * A name that is translated stays translated: only the language of the GUI is written and everything\n * the adapter delivered in the other languages is kept.\n */\nexport function renderNameDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.showNameDialog) {\n return null;\n }\n const { id, originalName, name } = that.state.showNameDialog;\n const changed = name !== originalName;\n\n const onApply = (): void => {\n if (!changed) {\n return;\n }\n that.setState({ showNameDialog: null }, () => void that.setObjectName(id, name));\n };\n\n const currentName = that.objects[id]?.common?.name;\n const otherLanguages =\n currentName && typeof currentName === 'object'\n ? Object.keys(currentName).filter(\n language => language !== that.props.lang && (currentName as Record<string, string>)[language],\n )\n : [];\n\n return (\n <Dialog\n key=\"nameDialog\"\n open={!0} // true\n maxWidth=\"sm\"\n fullWidth\n onClose={() => that.setState({ showNameDialog: null })}\n onKeyDown={e => onCtrlEnter(e, onApply)}\n aria-labelledby=\"name-dialog-title\"\n >\n <DialogTitle id=\"name-dialog-title\">{that.props.t('ra_Edit name')}</DialogTitle>\n <DialogContent>\n <TextField\n variant=\"standard\"\n fullWidth\n autoFocus\n label={that.texts.name}\n value={name}\n helperText={\n otherLanguages.length\n ? that.props.t('ra_The name in %s stays unchanged', otherLanguages.join(', '))\n : id\n }\n onChange={e => that.setState({ showNameDialog: { id, originalName, name: e.target.value } })}\n slotProps={{\n input: {\n endAdornment: name ? (\n <IconButton\n size=\"small\"\n onClick={() => that.setState({ showNameDialog: { id, originalName, name: '' } })}\n >\n <IconClose />\n </IconButton>\n ) : null,\n },\n }}\n />\n </DialogContent>\n <DialogActions>\n <Tooltip title={that.props.t('ra_Press CTRL+ENTER to confirm')}>\n <span>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={!changed}\n onClick={onApply}\n startIcon={<IconCheck />}\n >\n {that.props.t('ra_Save')}\n </Button>\n </span>\n </Tooltip>\n <Button\n variant=\"contained\"\n color=\"grey\"\n onClick={() => that.setState({ showNameDialog: null })}\n startIcon={<IconClose />}\n >\n {that.props.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport function renderInputJsonDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.showImportDialog) {\n return null;\n }\n const ObjectBrowserInsertJsonObjects = that.props.objectBrowserInsertJsonObjects!;\n return (\n <ObjectBrowserInsertJsonObjects\n onClose={(text?: string): void => {\n that.setState({ showImportDialog: false });\n if (text) {\n void that.parseJsonFile(text);\n }\n }}\n themeName={that.props.themeName}\n themeType={that.props.themeType}\n t={that.props.t}\n />\n );\n}\n\nexport function renderEnumDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.enumDialog) {\n return null;\n }\n const type = that.state.enumDialog.type;\n const item = that.state.enumDialog.item;\n const itemEnums: string[] = that.state.enumDialogEnums!;\n const enumsOriginal = that.state.enumDialog.enumsOriginal;\n\n const enums = (type === 'room' ? that.info.roomEnums : that.info.funcEnums)\n .map(id => ({\n name: getName(that.objects[id]?.common?.name || id.split('.').pop() || '', that.props.lang),\n value: id,\n icon: getSelectIdIconFromObjects(that.objects, id, that.props.lang, that.imagePrefix),\n }))\n .sort((a, b) => (a.name > b.name ? 1 : -1));\n\n enums.forEach(_item => {\n if (_item.icon && typeof _item.icon === 'string') {\n _item.icon = (\n <Box style={styles.enumIconDiv}>\n <img\n src={_item.icon}\n style={styles.enumIcon}\n alt={_item.name}\n />\n </Box>\n );\n }\n });\n\n // const hasIcons = !!enums.find(item => item.icon);\n\n /** The button in the title and CTRL+ENTER end up here */\n const onApplyEnums = (): void => {\n if (enumsOriginal !== JSON.stringify(itemEnums)) {\n void that\n .syncEnum(item.data.id, type, itemEnums)\n .then(() => that.setState({ enumDialog: null, enumDialogEnums: null }));\n }\n };\n\n return (\n <Dialog\n sx={{ '& .MuiPaper-root': styles.enumDialog }}\n onClose={() => that.setState({ enumDialog: null })}\n onKeyDown={e => onCtrlEnter(e, onApplyEnums)}\n aria-labelledby=\"enum-dialog-title\"\n open={!0} // true\n >\n <DialogTitle\n id=\"enum-dialog-title\"\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n flexWrap: 'nowrap',\n gap: 8,\n paddingRight: 12,\n }}\n >\n {type === 'func' ? that.props.t('ra_Define functions') : that.props.t('ra_Define rooms')}\n <Tooltip title={that.props.t('ra_Press CTRL+ENTER to confirm')}>\n <span>\n <Fab\n color=\"primary\"\n disabled={enumsOriginal === JSON.stringify(itemEnums)}\n size=\"small\"\n onClick={onApplyEnums}\n >\n <IconCheck />\n </Fab>\n </span>\n </Tooltip>\n </DialogTitle>\n <List sx={{ '&.MuiList-root': styles.enumList }}>\n {enums.map(_item => {\n let id;\n let name;\n let icon;\n\n if (typeof _item === 'object') {\n id = _item.value;\n name = _item.name;\n icon = _item.icon;\n } else {\n id = _item;\n name = _item;\n }\n const labelId = `checkbox-list-label-${id}`;\n\n return (\n <ListItem\n sx={styles.headerCellSelectItem}\n key={id}\n onClick={() => {\n const pos = itemEnums.indexOf(id);\n const enumDialogEnums: string[] = JSON.parse(\n JSON.stringify(that.state.enumDialogEnums),\n );\n if (pos === -1) {\n enumDialogEnums.push(id);\n enumDialogEnums.sort();\n } else {\n enumDialogEnums.splice(pos, 1);\n }\n that.setState({ enumDialogEnums });\n }}\n secondaryAction={icon}\n >\n <ListItemIcon sx={{ '&.MuiListItemIcon-root': styles.enumCheckbox }}>\n <Checkbox\n edge=\"start\"\n checked={itemEnums.includes(id)}\n tabIndex={-1}\n disableRipple\n slotProps={{\n input: { 'aria-labelledby': labelId },\n }}\n />\n </ListItemIcon>\n <ListItemText id={labelId}>{name}</ListItemText>\n </ListItem>\n );\n })}\n </List>\n </Dialog>\n );\n}\n\nexport function renderEditRoleDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.roleDialog || !that.props.objectBrowserEditRole) {\n return null;\n }\n\n if (that.state.roleDialog && that.props.objectBrowserEditRole) {\n const ObjectBrowserEditRole = that.props.objectBrowserEditRole;\n\n return (\n <ObjectBrowserEditRole\n key=\"objectBrowserEditRole\"\n id={that.state.roleDialog}\n socket={that.props.socket}\n t={that.props.t}\n roleArray={that.info.roles}\n commonType={that.info.objects[that.state.roleDialog]?.common?.type}\n onClose={(obj?: ioBroker.Object | null) => {\n if (obj && that.state.roleDialog) {\n that.info.objects[that.state.roleDialog] = obj;\n }\n that.setState({ roleDialog: null });\n }}\n />\n );\n }\n return null;\n}\n\nexport function renderColumnsEditCustomDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.columnsEditCustomDialog) {\n return null;\n }\n if (!that.customColumnDialog) {\n const value = getCustomValue(that.state.columnsEditCustomDialog.obj, that.state.columnsEditCustomDialog.it);\n that.customColumnDialog = {\n type: (that.state.columnsEditCustomDialog.it.type || typeof value) as 'boolean' | 'string' | 'number',\n initValue: (value === null || value === undefined ? '' : value).toString(),\n value: (value === null || value === undefined ? '' : value).toString(),\n };\n }\n\n return (\n <Dialog\n onClose={() => that.setState({ columnsEditCustomDialog: null })}\n onKeyDown={e =>\n onCtrlEnter(e, () => {\n if (that.state.customColumnDialogValueChanged) {\n that.onColumnsEditCustomDialogClose(true);\n }\n })\n }\n maxWidth=\"md\"\n aria-labelledby=\"custom-dialog-title\"\n open={!0}\n >\n <DialogTitle id=\"custom-dialog-title\">\n {`${that.props.t('ra_Edit object field')}: ${that.state.columnsEditCustomDialog.obj._id}`}\n </DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n {that.customColumnDialog.type === 'boolean' ? (\n <FormControlLabel\n control={\n <Checkbox\n onKeyUp={e => e.key === 'Enter' && that.onColumnsEditCustomDialogClose(true)}\n defaultChecked={that.customColumnDialog.value === 'true'}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = that.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.checked.toString();\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !that.state.customColumnDialogValueChanged) {\n that.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n />\n }\n label={`${that.state.columnsEditCustomDialog.it.name} (${that.state.columnsEditCustomDialog.it.pathText})`}\n />\n ) : (\n <TextField\n variant=\"standard\"\n defaultValue={that.customColumnDialog.value}\n fullWidth\n onKeyUp={e => e.key === 'Enter' && that.onColumnsEditCustomDialogClose(true)}\n label={`${that.state.columnsEditCustomDialog.it.name} (${that.state.columnsEditCustomDialog.it.pathText})`}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = that.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.value;\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !that.state.customColumnDialogValueChanged) {\n that.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n autoFocus\n />\n )}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Tooltip title={that.props.t('ra_Press CTRL+ENTER to confirm')}>\n <span>\n <Button\n variant=\"contained\"\n onClick={() => that.onColumnsEditCustomDialogClose(true)}\n disabled={!that.state.customColumnDialogValueChanged}\n color=\"primary\"\n startIcon={<IconCheck />}\n >\n {that.props.t('ra_Update')}\n </Button>\n </span>\n </Tooltip>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => that.onColumnsEditCustomDialogClose()}\n startIcon={<IconClose />}\n >\n {that.props.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport function renderToast(that: ObjectBrowserClass): JSX.Element {\n return (\n <Snackbar\n open={!!that.state.toast}\n autoHideDuration={3000}\n onClick={() => that.setState({ toast: '' })}\n onClose={() => that.setState({ toast: '' })}\n message={that.state.toast}\n action={\n <IconButton\n size=\"small\"\n aria-label=\"close\"\n color=\"inherit\"\n onClick={() => that.setState({ toast: '' })}\n >\n <IconClose fontSize=\"small\" />\n </IconButton>\n }\n />\n );\n}\n\nexport function renderCustomDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (that.state.customDialog && that.props.objectCustomDialog && that.systemConfig) {\n const ObjectCustomDialog = that.props.objectCustomDialog;\n\n return (\n <ObjectCustomDialog\n reportChangedIds={(changedIds: string[]) => (that.changedIds = [...changedIds])}\n objectIDs={that.state.customDialog}\n allVisibleObjects={!!that.state.customDialogAll}\n expertMode={that.state.filter.expertMode}\n isFloatComma={\n that.props.isFloatComma === undefined\n ? (that.systemConfig?.common.isFloatComma ?? true)\n : that.props.isFloatComma\n }\n t={that.props.t}\n lang={that.props.lang}\n socket={that.props.socket}\n themeName={that.props.themeName}\n themeType={that.props.themeType}\n theme={that.props.theme}\n objects={that.objects}\n customsInstances={that.info.customs}\n onClose={() => {\n that.pauseSubscribe(false);\n that.setState({ customDialog: null });\n if (that.changedIds) {\n that.changedIds = null;\n // update all changed IDs\n that.forceUpdate();\n }\n\n that.props.router?.doNavigate('tab-objects');\n }}\n systemConfig={that.systemConfig}\n />\n );\n }\n return null;\n}\n\nexport function renderEditObjectDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.editObjectDialog || !that.props.objectBrowserEditObject) {\n return null;\n }\n\n // Guard against opening the editor for a node without a real object (e.g. a virtual folder\n // that only exists because child states share an ID prefix). Its constructor reads obj._id.\n if (!that.objects[that.state.editObjectDialog]) {\n return null;\n }\n\n const ObjectBrowserEditObject = that.props.objectBrowserEditObject;\n\n return (\n <ObjectBrowserEditObject\n key={that.state.editObjectDialog}\n obj={that.objects[that.state.editObjectDialog]}\n roleArray={that.info.roles}\n objects={that.objects}\n dateFormat={that.props.dateFormat || that.systemConfig?.common.dateFormat || DEFAULT_DATE_FORMAT}\n isFloatComma={\n that.props.isFloatComma === undefined\n ? (that.systemConfig?.common.isFloatComma ?? true)\n : that.props.isFloatComma\n }\n themeType={that.props.themeType}\n theme={that.props.theme}\n socket={that.props.socket}\n dialogName={that.props.dialogName}\n aliasTab={that.state.editObjectAlias}\n t={that.props.t}\n expertMode={!!that.state.filter.expertMode}\n onNewObject={(obj: ioBroker.AnyObject) =>\n that.props.socket\n .setObject(obj._id, obj)\n .then(() =>\n that.setState({ editObjectDialog: obj._id, editObjectAlias: false }, () =>\n that.onSelect(obj._id),\n ),\n )\n .catch(e => that.showError(`Cannot write object: ${e}`))\n }\n onClose={(obj?: ioBroker.AnyObject) => {\n if (obj) {\n let updateAlias: string;\n if (that.state.editObjectDialog.startsWith('alias.')) {\n if (\n JSON.stringify(that.objects[that.state.editObjectDialog].common?.alias) !==\n JSON.stringify((obj as ioBroker.StateObject).common?.alias)\n ) {\n updateAlias = that.state.editObjectDialog;\n }\n }\n\n that.props.socket\n .setObject(obj._id, obj)\n .then(() => {\n if (updateAlias && that.subscribes.has(updateAlias)) {\n that.unsubscribe(updateAlias);\n setTimeout(() => that.subscribe(updateAlias), 100);\n }\n })\n .catch(e => that.showError(`Cannot write object: ${e}`));\n }\n that.setState({ editObjectDialog: '', editObjectAlias: false });\n }}\n width={that.width}\n />\n );\n}\n\nexport function renderViewObjectFileDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.viewFileDialog || !that.props.objectBrowserViewFile) {\n return null;\n }\n const ObjectBrowserViewFile = that.props.objectBrowserViewFile;\n\n return (\n <ObjectBrowserViewFile\n key=\"viewFile\"\n obj={that.objects[that.state.viewFileDialog]}\n socket={that.props.socket}\n t={that.props.t}\n onClose={() => that.setState({ viewFileDialog: '' })}\n />\n );\n}\n\nexport function renderAliasEditorDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.props.objectBrowserAliasEditor || !that.state.showAliasEditor) {\n return null;\n }\n const ObjectBrowserAliasEditor = that.props.objectBrowserAliasEditor;\n\n return (\n <ObjectBrowserAliasEditor\n key=\"editAlias\"\n obj={that.objects[that.state.showAliasEditor]}\n roleArray={that.info.roles}\n objects={that.objects}\n socket={that.props.socket}\n t={that.props.t}\n onClose={() => that.setState({ showAliasEditor: '' })}\n onRedirect={(id: string, timeout?: number) =>\n setTimeout(\n () =>\n that.onSelect(id, false, () =>\n that.expandAllSelected(() => {\n that.scrollToItem(id);\n setTimeout(\n () =>\n that.setState({\n editObjectDialog: id,\n showAliasEditor: '',\n editObjectAlias: true,\n }),\n 300,\n );\n }),\n ),\n timeout || 0,\n )\n }\n />\n );\n}\n\nexport function renderAliasMenu(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.aliasMenu) {\n return null;\n }\n\n return (\n <Menu\n key=\"aliasmenu\"\n open={!0}\n anchorEl={window.document.getElementById(`alias_${that.state.aliasMenu}`)}\n onClose={() => that.setState({ aliasMenu: '' })}\n >\n {that.info.aliasesMap[that.state.aliasMenu].map((aliasId, i) => (\n <MenuItem\n key={aliasId}\n onClick={() => that.onSelect(aliasId)}\n >\n <ListItemText>\n {that.renderAliasLink(that.state.aliasMenu, i, {\n '& .admin-browser-arrow': {\n mr: '8px',\n },\n })}\n </ListItemText>\n </MenuItem>\n ))}\n </Menu>\n );\n}\n\nexport function renderEditValueDialog(that: ObjectBrowserClass): JSX.Element | null {\n if (!that.state.updateOpened || !that.props.objectBrowserValue) {\n return null;\n }\n\n if (!that.edit.id) {\n console.error(`Invalid ID for edit: ${JSON.stringify(that.edit)}`);\n return null;\n }\n\n if (!that.objects[that.edit.id]) {\n console.error(`Something went wrong. Possibly the object ${that.edit.id} was deleted.`);\n return null;\n }\n\n // The value editor only understands 'states' | 'string' | 'number' | 'boolean' | 'json'. Without\n // `common.type` the type was taken from the value - but a state that was never written has\n // `val === null`, and `typeof null` is \"object\". The editor then got a type it does not know and\n // showed nothing at all, so such a state could not be edited.\n const valueType = typeof that.edit.val;\n const type =\n that.objects[that.edit.id].common?.type ||\n (valueType === 'number' || valueType === 'boolean' ? valueType : 'string');\n\n const role = that.objects[that.edit.id].common.role;\n\n const ObjectBrowserValue = that.props.objectBrowserValue;\n\n return (\n <ObjectBrowserValue\n t={that.props.t}\n lang={that.props.lang}\n type={type}\n role={role || ''}\n states={Utils.getStates(that.objects[that.edit.id] as ioBroker.StateObject)}\n themeType={that.props.themeType}\n theme={that.props.theme}\n expertMode={!!that.state.filter.expertMode}\n value={that.edit.val}\n socket={that.props.socket}\n object={that.objects[that.edit.id] as ioBroker.StateObject}\n defaultHistory={that.defaultHistory}\n dateFormat={that.props.dateFormat || that.systemConfig?.common.dateFormat || DEFAULT_DATE_FORMAT}\n isFloatComma={\n that.props.isFloatComma === undefined\n ? (that.systemConfig?.common.isFloatComma ?? true)\n : that.props.isFloatComma\n }\n onClose={(res?: {\n val: ioBroker.StateValue;\n ack: boolean;\n q: ioBroker.STATE_QUALITY[keyof ioBroker.STATE_QUALITY];\n expire: number | undefined;\n }) => {\n that.setState({ updateOpened: false });\n if (res) {\n that.onUpdate(res);\n }\n }}\n width={that.width}\n />\n );\n}\n"]}
|
|
@@ -722,6 +722,9 @@ export const styles = {
|
|
|
722
722
|
contextMenuRole: (theme) => ({
|
|
723
723
|
color: theme.palette.mode === 'dark' ? '#ffdb43' : '#562d00',
|
|
724
724
|
}),
|
|
725
|
+
contextMenuName: (theme) => ({
|
|
726
|
+
color: theme.palette.mode === 'dark' ? '#74b7ff' : '#00417a',
|
|
727
|
+
}),
|
|
725
728
|
contextMenuDelete: (theme) => ({
|
|
726
729
|
color: theme.palette.mode === 'dark' ? '#ff4f4f' : '#cf0000',
|
|
727
730
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"./src/","sources":["Components/ObjectBrowser/styles.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright 2020-2026, Denis Haev <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n\nimport type React from 'react';\nimport type { SxProps } from '@mui/material';\n\nimport type { IobTheme } from '../../types';\nimport { Utils } from '../Utils';\nimport { ICON_SIZE, ROW_HEIGHT, styles as utilStyles } from './utils';\nimport {\n COLOR_NAME_CONNECTED_DARK,\n COLOR_NAME_CONNECTED_LIGHT,\n COLOR_NAME_DISCONNECTED_DARK,\n COLOR_NAME_DISCONNECTED_LIGHT,\n COLOR_NAME_ERROR_DARK,\n COLOR_NAME_ERROR_LIGHT,\n SMALL_BUTTON_SIZE,\n} from './constants';\n\nexport const styles: Record<string, any> = {\n toolbar: {\n minHeight: 38, // Theme.toolbar.height,\n // boxShadow: '0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)'\n },\n toolbarButtons: {\n padding: 4,\n marginLeft: 4,\n },\n switchColumnAuto: {\n marginLeft: 16,\n },\n dialogColumns: {\n transition: 'opacity 1s',\n },\n dialogColumnsLabel: {\n fontSize: 12,\n paddingTop: 8,\n },\n columnCustom: {\n width: '100%',\n display: 'inline-block',\n },\n columnCustomEditable: {\n cursor: 'text',\n },\n columnCustom_center: {\n textAlign: 'center',\n },\n columnCustom_left: {\n textAlign: 'left',\n },\n columnCustom_right: {\n textAlign: 'right',\n },\n width100: {\n width: '100%',\n },\n transparent_10: {\n opacity: 0.1,\n },\n transparent_20: {\n opacity: 0.2,\n },\n transparent_30: {\n opacity: 0.3,\n },\n transparent_40: {\n opacity: 0.4,\n },\n transparent_50: {\n opacity: 0.5,\n },\n transparent_60: {\n opacity: 0.6,\n },\n transparent_70: {\n opacity: 0.7,\n },\n transparent_80: {\n opacity: 0.8,\n },\n transparent_90: {\n opacity: 0.9,\n },\n transparent_100: {\n opacity: 1,\n },\n // The header is a part of the scrolling container, so it scrolls horizontally together with the\n // rows and no synchronisation is required. `top: 0` pins it only vertically.\n headerRow: (theme: IobTheme): React.CSSProperties => ({\n paddingLeft: 8,\n height: 38,\n whiteSpace: 'nowrap',\n userSelect: 'none',\n position: 'sticky',\n top: 0,\n zIndex: 2,\n // the header uses the same layout rules as the rows, so both compute identical widths\n display: 'flex',\n flexWrap: 'nowrap',\n // the rows can be wider than the visible area\n width: 'fit-content',\n minWidth: '100%',\n // the rows are `border-box` (MUI), the padding must be inside of the width here too,\n // otherwise the growing column would be wider in the header than in the rows\n boxSizing: 'border-box',\n backgroundColor: theme.palette.background.paper,\n }),\n buttonClearFilter: {\n position: 'relative',\n float: 'right',\n padding: 0,\n },\n buttonClearFilterIcon: {\n zIndex: 2,\n position: 'absolute',\n top: 0,\n left: 0,\n color: '#FF0000',\n opacity: 0.7,\n },\n\n // The header is rendered inside this container (see `headerRow`), so it uses the full height\n tableDiv: {\n paddingTop: 0,\n paddingLeft: 0,\n width: 'calc(100% - 8px)',\n height: '100%',\n overflow: 'auto',\n position: 'relative',\n },\n tableRow: (theme: IobTheme): SxProps => ({\n pl: 1,\n height: ROW_HEIGHT,\n lineHeight: `${ROW_HEIGHT}px`,\n verticalAlign: 'top',\n userSelect: 'none',\n position: 'relative',\n // Rows outside the viewport keep their size but skip layout and paint. The `auto` keyword\n // makes the browser remember the last rendered size, which is needed because not every row\n // is ROW_HEIGHT high: alias rows (`tableRowAlias`, `tableRowAliasReadWrite`) are higher and\n // the focused row of the narrow view has no fixed height at all. `content-visibility`\n // contains both axes, so the width is remembered as well - otherwise a skipped row would\n // collapse to `minWidth` and re-expand when it scrolls into view.\n contentVisibility: 'auto',\n containIntrinsicHeight: `auto ${ROW_HEIGHT}px`,\n containIntrinsicWidth: 'auto none',\n // The row is as wide as the sum of the columns, exactly like the header. If that is wider\n // than the container, the container scrolls horizontally and takes the header with it.\n // Without `flexShrink: 0` the cells would be squeezed and would not match the header anymore.\n width: 'fit-content',\n minWidth: '100%',\n '& > *': {\n flexShrink: 0,\n boxSizing: 'border-box',\n },\n '&:hover': {\n background: `${\n theme.palette.mode === 'dark' ? theme.palette.primary.dark : theme.palette.primary.light\n } !important`,\n color: Utils.invertColor(theme.palette.primary.main, true),\n },\n whiteSpace: 'nowrap',\n flexWrap: 'nowrap',\n }),\n tableRowLines: (theme: IobTheme): SxProps => ({\n borderBottom: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n '& > div': {\n borderRight: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n },\n }),\n tableRowNoDragging: {\n cursor: 'pointer',\n },\n tableRowAlias: {\n height: ROW_HEIGHT + 10,\n },\n tableRowAliasReadWrite: {\n height: ROW_HEIGHT + 22,\n },\n tableRowFocused: (theme: IobTheme): SxProps => ({\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n top: 1,\n left: 1,\n right: 1,\n bottom: 1,\n border: theme.palette.mode ? '1px dotted #000' : '1px dotted #FFF',\n },\n }),\n checkBox: {\n padding: 0,\n },\n cellId: {\n position: 'relative',\n fontSize: '1rem',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // verticalAlign: 'top',\n // position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n '& .iconOwn': {\n display: 'block',\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n mt: '2px',\n float: 'right',\n },\n '&:hover .iconOwn': {\n display: 'none',\n },\n '& *': {\n width: 'initial',\n },\n },\n cellIdSpan: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n // display: 'inline-block',\n // verticalAlign: 'top',\n },\n // This style is used for simple div. Do not migrate it to \"secondary.main\"\n cellIdIconFolder: (theme: IobTheme): React.CSSProperties => ({\n marginRight: 8,\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n cursor: 'pointer',\n color: theme.palette.secondary.main || '#fbff7d',\n verticalAlign: 'top',\n }),\n cellIdIconDocument: {\n verticalAlign: 'middle',\n marginLeft: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n marginRight: 8,\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n },\n cellIdIconOwn: {},\n cellCopyButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n opacity: 0.8,\n position: 'absolute',\n right: 3,\n },\n cellEditButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n color: 'white',\n position: 'absolute',\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n right: SMALL_BUTTON_SIZE + 3,\n opacity: 0.7,\n '&:hover': {\n opacity: 1,\n },\n },\n cellName: {\n display: 'inline-block',\n verticalAlign: 'top',\n fontSize: 14,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellNameWithDesc: {\n lineHeight: 'normal',\n },\n cellNameDivDiv: {},\n cellDescription: {\n fontSize: 10,\n opacity: 0.5,\n fontStyle: 'italic',\n },\n cellIdAlias: (theme: IobTheme): SxProps => ({\n fontStyle: 'italic',\n fontSize: 12,\n opacity: 0.7,\n '&:hover': {\n color: theme.palette.mode === 'dark' ? '#009900' : '#007700',\n },\n }),\n cellIdAliasReadWriteDiv: {\n height: 24,\n marginTop: -5,\n },\n cellIdAliasAlone: {\n lineHeight: 0,\n },\n cellIdAliasReadWrite: {\n lineHeight: '12px',\n },\n cellType: {\n display: 'inline-block',\n verticalAlign: 'top',\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n '& .itemIconFolder': {\n marginLeft: 3,\n },\n },\n cellRole: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellRoom: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellEnumParent: {\n opacity: 0.4,\n },\n cellFunc: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValue: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValueButton: {\n marginTop: 5,\n },\n cellValueButtonFalse: {\n opacity: 0.3,\n },\n cellAdapter: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellValueTooltip: {\n fontSize: 12,\n },\n cellValueText: {\n width: '100%',\n height: ROW_HEIGHT,\n fontSize: 16,\n display: 'flex',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n verticalAlign: 'top',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellValueFile: {\n color: '#2837b9',\n },\n cellValueTooltipTitle: {\n fontStyle: 'italic',\n width: 100,\n display: 'inline-block',\n },\n cellValueTooltipValue: {\n width: 120,\n display: 'inline-block',\n // overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n cellValueTooltipImage: {\n width: 100,\n height: 'auto',\n },\n cellValueTooltipBoth: {\n width: 220,\n display: 'inline-block',\n whiteSpace: 'nowrap',\n },\n cellValueTooltipBox: {\n width: 250,\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n tooltip: {\n pointerEvents: 'none',\n },\n cellValueTextUnit: {\n marginLeft: 4,\n opacity: 0.8,\n display: 'inline-block',\n },\n cellValueTextState: {\n opacity: 0.7,\n },\n cellValueTooltipCopy: {\n position: 'absolute',\n bottom: 3,\n right: 3,\n },\n cellValueTooltipEdit: {\n position: 'absolute',\n bottom: 3,\n right: 15,\n },\n cellButtons: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellButtonsButton: {\n display: 'inline-block',\n opacity: 0.5,\n width: SMALL_BUTTON_SIZE + 4,\n height: SMALL_BUTTON_SIZE + 4,\n '&:hover': {\n opacity: 1,\n },\n p: 0,\n mt: '-2px',\n },\n cellButtonsEmptyButton: {\n fontSize: 12,\n },\n cellButtonMinWidth: {\n minWidth: 40,\n },\n cellButtonsButtonAlone: {\n ml: `${SMALL_BUTTON_SIZE + 6}px`,\n pt: 0,\n mt: '-2px',\n },\n cellButtonsButtonWithCustoms: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.secondary.main,\n }),\n cellButtonsButtonWithoutCustoms: {\n opacity: 0.2,\n },\n cellButtonsValueButton: (theme: IobTheme): SxProps => ({\n position: 'absolute',\n top: SMALL_BUTTON_SIZE / 2 - 2,\n opacity: 0.7,\n width: SMALL_BUTTON_SIZE - 2,\n height: SMALL_BUTTON_SIZE - 2,\n color: theme.palette.action.active,\n '&:hover': {\n opacity: 1,\n },\n }),\n cellButtonsValueButtonCopy: {\n right: 8,\n cursor: 'pointer',\n },\n cellButtonsValueButtonEdit: {\n right: SMALL_BUTTON_SIZE / 2 + 16,\n },\n /** Details of the selected object in the narrow (xs) view, shown below its row */\n cellDetails: {\n width: '100%',\n // the padding must be inside of the width, else the panel is wider than the table\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n gap: '2px',\n pl: 1.5,\n pr: 0.5,\n py: 1,\n borderRadius: 0,\n borderLeft: '3px solid',\n borderLeftColor: 'primary.main',\n bgcolor: 'action.hover',\n },\n cellDetailsHeader: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: 8,\n },\n cellDetailsHeaderWithLines: {\n paddingBottom: 6,\n marginBottom: 4,\n borderBottom: '1px solid rgba(128, 128, 128, 0.3)',\n },\n cellDetailsId: {\n flexGrow: 1,\n minWidth: 0,\n pt: '6px',\n fontFamily: 'monospace',\n fontSize: 13,\n lineHeight: '20px',\n wordBreak: 'break-all',\n },\n cellDetailsLine: {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n width: '100%',\n minHeight: 32,\n fontSize: 14,\n },\n cellDetailsName: {\n flexShrink: 0,\n width: 80,\n fontSize: 13,\n opacity: 0.7,\n },\n cellDetailsValue: {\n flexGrow: 1,\n minWidth: 0,\n overflowWrap: 'anywhere',\n // the cells are made for one line in the table, here they may wrap\n '& > div': {\n whiteSpace: 'normal',\n overflow: 'visible',\n height: 'auto',\n },\n },\n cellDetailsEmpty: {\n opacity: 0.5,\n },\n cellDetailsButton: {\n flexShrink: 0,\n color: 'text.secondary',\n },\n cellDetailsIcon: {\n width: 18,\n height: 18,\n },\n cellDetailsButtons: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'flex-end',\n // strings, because numbers are multiplied with the theme spacing in `sx`\n gap: '4px',\n pt: '6px',\n mt: '4px',\n borderTop: '1px solid rgba(128, 128, 128, 0.3)',\n // `renderColumnButtons` may render only an empty container\n '&:not(:has(button))': {\n display: 'none',\n },\n },\n\n filteredOut: {\n opacity: 0.5,\n },\n filteredParentOut: {\n opacity: 0.3,\n },\n filterInput: {\n mt: 0,\n mb: 0,\n },\n selectIcon: {\n width: 24,\n height: 24,\n marginRight: 4,\n },\n\n itemSelected: (theme: IobTheme): React.CSSProperties => ({\n background: `${theme.palette.primary.main} !important`,\n color: `${Utils.invertColor(theme.palette.primary.main, true)} !important`,\n }),\n header: {\n width: '100%',\n },\n headerCell: {\n display: 'inline-block',\n verticalAlign: 'top',\n flexShrink: 0,\n boxSizing: 'border-box',\n },\n headerCellValue: {\n paddingTop: 4,\n // paddingLeft: 5,\n fontSize: 16,\n },\n\n visibleButtons: {\n color: '#2196f3',\n opacity: 0.7,\n },\n grow: {\n flexGrow: 1,\n },\n enumIconDiv: {\n marginRight: 8,\n width: 32,\n height: 32,\n borderRadius: 8,\n background: '#FFFFFF',\n },\n enumIcon: {\n marginTop: 4,\n marginLeft: 4,\n width: 24,\n height: 24,\n },\n enumDialog: {\n overflow: 'hidden',\n },\n enumList: {\n minWidth: 250,\n height: 'calc(100% - 50px)',\n overflow: 'auto',\n },\n enumCheckbox: {\n minWidth: 0,\n },\n buttonDiv: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n },\n aclText: {\n fontSize: 13,\n marginTop: 6,\n },\n rightsObject: {\n color: '#55ff55',\n paddingLeft: 3,\n },\n rightsState: {\n color: '#86b6ff',\n paddingLeft: 3,\n },\n textCenter: {\n padding: 12,\n textAlign: 'center',\n },\n tooltipAccessControl: {\n display: 'flex',\n flexDirection: 'column',\n },\n fontSizeTitle: {\n '@media screen and (max-width: 465px)': {\n '& *': {\n fontSize: 12,\n },\n },\n },\n draggable: {\n cursor: 'copy',\n },\n nonDraggable: {\n cursor: 'no-drop',\n },\n iconDeviceConnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceDisconnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_DISCONNECTED_DARK : COLOR_NAME_DISCONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceError: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 50,\n width: 20,\n }),\n resizeHandle: {\n display: 'block',\n position: 'absolute',\n cursor: 'col-resize',\n width: 7,\n top: 2,\n bottom: 2,\n zIndex: 1,\n },\n resizeHandleRight: {\n right: 3,\n borderRight: '2px dotted #888',\n '&:hover': {\n borderColor: '#ccc',\n borderRightStyle: 'solid',\n },\n '&.active': {\n borderColor: '#517ea5',\n borderRightStyle: 'solid',\n },\n },\n invertedBackground: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n padding: '0 3px',\n borderRadius: '2px 0 0 2px',\n }),\n invertedBackgroundFlex: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n borderRadius: '0 2px 2px 0',\n }),\n contextMenuEdit: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffee48' : '#cbb801',\n }),\n contextMenuEditValue: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#5dff45' : '#1cd301',\n }),\n contextMenuView: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n }),\n contextMenuCustom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#42eaff' : '#01bbc2',\n }),\n contextMenuACL: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#e079ff' : '#500070',\n }),\n contextMenuRoom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff9a33' : '#642a00',\n }),\n contextMenuRole: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffdb43' : '#562d00',\n }),\n contextMenuDelete: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff4f4f' : '#cf0000',\n }),\n contextMenuKeys: {\n marginLeft: 8,\n opacity: 0.7,\n fontSize: 'smaller',\n },\n contextMenuWithSubMenu: {\n display: 'flex',\n },\n ...utilStyles,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"./src/","sources":["Components/ObjectBrowser/styles.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright 2020-2026, Denis Haev <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n\nimport type React from 'react';\nimport type { SxProps } from '@mui/material';\n\nimport type { IobTheme } from '../../types';\nimport { Utils } from '../Utils';\nimport { ICON_SIZE, ROW_HEIGHT, styles as utilStyles } from './utils';\nimport {\n COLOR_NAME_CONNECTED_DARK,\n COLOR_NAME_CONNECTED_LIGHT,\n COLOR_NAME_DISCONNECTED_DARK,\n COLOR_NAME_DISCONNECTED_LIGHT,\n COLOR_NAME_ERROR_DARK,\n COLOR_NAME_ERROR_LIGHT,\n SMALL_BUTTON_SIZE,\n} from './constants';\n\nexport const styles: Record<string, any> = {\n toolbar: {\n minHeight: 38, // Theme.toolbar.height,\n // boxShadow: '0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)'\n },\n toolbarButtons: {\n padding: 4,\n marginLeft: 4,\n },\n switchColumnAuto: {\n marginLeft: 16,\n },\n dialogColumns: {\n transition: 'opacity 1s',\n },\n dialogColumnsLabel: {\n fontSize: 12,\n paddingTop: 8,\n },\n columnCustom: {\n width: '100%',\n display: 'inline-block',\n },\n columnCustomEditable: {\n cursor: 'text',\n },\n columnCustom_center: {\n textAlign: 'center',\n },\n columnCustom_left: {\n textAlign: 'left',\n },\n columnCustom_right: {\n textAlign: 'right',\n },\n width100: {\n width: '100%',\n },\n transparent_10: {\n opacity: 0.1,\n },\n transparent_20: {\n opacity: 0.2,\n },\n transparent_30: {\n opacity: 0.3,\n },\n transparent_40: {\n opacity: 0.4,\n },\n transparent_50: {\n opacity: 0.5,\n },\n transparent_60: {\n opacity: 0.6,\n },\n transparent_70: {\n opacity: 0.7,\n },\n transparent_80: {\n opacity: 0.8,\n },\n transparent_90: {\n opacity: 0.9,\n },\n transparent_100: {\n opacity: 1,\n },\n // The header is a part of the scrolling container, so it scrolls horizontally together with the\n // rows and no synchronisation is required. `top: 0` pins it only vertically.\n headerRow: (theme: IobTheme): React.CSSProperties => ({\n paddingLeft: 8,\n height: 38,\n whiteSpace: 'nowrap',\n userSelect: 'none',\n position: 'sticky',\n top: 0,\n zIndex: 2,\n // the header uses the same layout rules as the rows, so both compute identical widths\n display: 'flex',\n flexWrap: 'nowrap',\n // the rows can be wider than the visible area\n width: 'fit-content',\n minWidth: '100%',\n // the rows are `border-box` (MUI), the padding must be inside of the width here too,\n // otherwise the growing column would be wider in the header than in the rows\n boxSizing: 'border-box',\n backgroundColor: theme.palette.background.paper,\n }),\n buttonClearFilter: {\n position: 'relative',\n float: 'right',\n padding: 0,\n },\n buttonClearFilterIcon: {\n zIndex: 2,\n position: 'absolute',\n top: 0,\n left: 0,\n color: '#FF0000',\n opacity: 0.7,\n },\n\n // The header is rendered inside this container (see `headerRow`), so it uses the full height\n tableDiv: {\n paddingTop: 0,\n paddingLeft: 0,\n width: 'calc(100% - 8px)',\n height: '100%',\n overflow: 'auto',\n position: 'relative',\n },\n tableRow: (theme: IobTheme): SxProps => ({\n pl: 1,\n height: ROW_HEIGHT,\n lineHeight: `${ROW_HEIGHT}px`,\n verticalAlign: 'top',\n userSelect: 'none',\n position: 'relative',\n // Rows outside the viewport keep their size but skip layout and paint. The `auto` keyword\n // makes the browser remember the last rendered size, which is needed because not every row\n // is ROW_HEIGHT high: alias rows (`tableRowAlias`, `tableRowAliasReadWrite`) are higher and\n // the focused row of the narrow view has no fixed height at all. `content-visibility`\n // contains both axes, so the width is remembered as well - otherwise a skipped row would\n // collapse to `minWidth` and re-expand when it scrolls into view.\n contentVisibility: 'auto',\n containIntrinsicHeight: `auto ${ROW_HEIGHT}px`,\n containIntrinsicWidth: 'auto none',\n // The row is as wide as the sum of the columns, exactly like the header. If that is wider\n // than the container, the container scrolls horizontally and takes the header with it.\n // Without `flexShrink: 0` the cells would be squeezed and would not match the header anymore.\n width: 'fit-content',\n minWidth: '100%',\n '& > *': {\n flexShrink: 0,\n boxSizing: 'border-box',\n },\n '&:hover': {\n background: `${\n theme.palette.mode === 'dark' ? theme.palette.primary.dark : theme.palette.primary.light\n } !important`,\n color: Utils.invertColor(theme.palette.primary.main, true),\n },\n whiteSpace: 'nowrap',\n flexWrap: 'nowrap',\n }),\n tableRowLines: (theme: IobTheme): SxProps => ({\n borderBottom: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n '& > div': {\n borderRight: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n },\n }),\n tableRowNoDragging: {\n cursor: 'pointer',\n },\n tableRowAlias: {\n height: ROW_HEIGHT + 10,\n },\n tableRowAliasReadWrite: {\n height: ROW_HEIGHT + 22,\n },\n tableRowFocused: (theme: IobTheme): SxProps => ({\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n top: 1,\n left: 1,\n right: 1,\n bottom: 1,\n border: theme.palette.mode ? '1px dotted #000' : '1px dotted #FFF',\n },\n }),\n checkBox: {\n padding: 0,\n },\n cellId: {\n position: 'relative',\n fontSize: '1rem',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // verticalAlign: 'top',\n // position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n '& .iconOwn': {\n display: 'block',\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n mt: '2px',\n float: 'right',\n },\n '&:hover .iconOwn': {\n display: 'none',\n },\n '& *': {\n width: 'initial',\n },\n },\n cellIdSpan: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n // display: 'inline-block',\n // verticalAlign: 'top',\n },\n // This style is used for simple div. Do not migrate it to \"secondary.main\"\n cellIdIconFolder: (theme: IobTheme): React.CSSProperties => ({\n marginRight: 8,\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n cursor: 'pointer',\n color: theme.palette.secondary.main || '#fbff7d',\n verticalAlign: 'top',\n }),\n cellIdIconDocument: {\n verticalAlign: 'middle',\n marginLeft: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n marginRight: 8,\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n },\n cellIdIconOwn: {},\n cellCopyButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n opacity: 0.8,\n position: 'absolute',\n right: 3,\n },\n cellEditButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n color: 'white',\n position: 'absolute',\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n right: SMALL_BUTTON_SIZE + 3,\n opacity: 0.7,\n '&:hover': {\n opacity: 1,\n },\n },\n cellName: {\n display: 'inline-block',\n verticalAlign: 'top',\n fontSize: 14,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellNameWithDesc: {\n lineHeight: 'normal',\n },\n cellNameDivDiv: {},\n cellDescription: {\n fontSize: 10,\n opacity: 0.5,\n fontStyle: 'italic',\n },\n cellIdAlias: (theme: IobTheme): SxProps => ({\n fontStyle: 'italic',\n fontSize: 12,\n opacity: 0.7,\n '&:hover': {\n color: theme.palette.mode === 'dark' ? '#009900' : '#007700',\n },\n }),\n cellIdAliasReadWriteDiv: {\n height: 24,\n marginTop: -5,\n },\n cellIdAliasAlone: {\n lineHeight: 0,\n },\n cellIdAliasReadWrite: {\n lineHeight: '12px',\n },\n cellType: {\n display: 'inline-block',\n verticalAlign: 'top',\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n '& .itemIconFolder': {\n marginLeft: 3,\n },\n },\n cellRole: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellRoom: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellEnumParent: {\n opacity: 0.4,\n },\n cellFunc: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValue: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValueButton: {\n marginTop: 5,\n },\n cellValueButtonFalse: {\n opacity: 0.3,\n },\n cellAdapter: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellValueTooltip: {\n fontSize: 12,\n },\n cellValueText: {\n width: '100%',\n height: ROW_HEIGHT,\n fontSize: 16,\n display: 'flex',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n verticalAlign: 'top',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellValueFile: {\n color: '#2837b9',\n },\n cellValueTooltipTitle: {\n fontStyle: 'italic',\n width: 100,\n display: 'inline-block',\n },\n cellValueTooltipValue: {\n width: 120,\n display: 'inline-block',\n // overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n cellValueTooltipImage: {\n width: 100,\n height: 'auto',\n },\n cellValueTooltipBoth: {\n width: 220,\n display: 'inline-block',\n whiteSpace: 'nowrap',\n },\n cellValueTooltipBox: {\n width: 250,\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n tooltip: {\n pointerEvents: 'none',\n },\n cellValueTextUnit: {\n marginLeft: 4,\n opacity: 0.8,\n display: 'inline-block',\n },\n cellValueTextState: {\n opacity: 0.7,\n },\n cellValueTooltipCopy: {\n position: 'absolute',\n bottom: 3,\n right: 3,\n },\n cellValueTooltipEdit: {\n position: 'absolute',\n bottom: 3,\n right: 15,\n },\n cellButtons: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellButtonsButton: {\n display: 'inline-block',\n opacity: 0.5,\n width: SMALL_BUTTON_SIZE + 4,\n height: SMALL_BUTTON_SIZE + 4,\n '&:hover': {\n opacity: 1,\n },\n p: 0,\n mt: '-2px',\n },\n cellButtonsEmptyButton: {\n fontSize: 12,\n },\n cellButtonMinWidth: {\n minWidth: 40,\n },\n cellButtonsButtonAlone: {\n ml: `${SMALL_BUTTON_SIZE + 6}px`,\n pt: 0,\n mt: '-2px',\n },\n cellButtonsButtonWithCustoms: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.secondary.main,\n }),\n cellButtonsButtonWithoutCustoms: {\n opacity: 0.2,\n },\n cellButtonsValueButton: (theme: IobTheme): SxProps => ({\n position: 'absolute',\n top: SMALL_BUTTON_SIZE / 2 - 2,\n opacity: 0.7,\n width: SMALL_BUTTON_SIZE - 2,\n height: SMALL_BUTTON_SIZE - 2,\n color: theme.palette.action.active,\n '&:hover': {\n opacity: 1,\n },\n }),\n cellButtonsValueButtonCopy: {\n right: 8,\n cursor: 'pointer',\n },\n cellButtonsValueButtonEdit: {\n right: SMALL_BUTTON_SIZE / 2 + 16,\n },\n /** Details of the selected object in the narrow (xs) view, shown below its row */\n cellDetails: {\n width: '100%',\n // the padding must be inside of the width, else the panel is wider than the table\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n gap: '2px',\n pl: 1.5,\n pr: 0.5,\n py: 1,\n borderRadius: 0,\n borderLeft: '3px solid',\n borderLeftColor: 'primary.main',\n bgcolor: 'action.hover',\n },\n cellDetailsHeader: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: 8,\n },\n cellDetailsHeaderWithLines: {\n paddingBottom: 6,\n marginBottom: 4,\n borderBottom: '1px solid rgba(128, 128, 128, 0.3)',\n },\n cellDetailsId: {\n flexGrow: 1,\n minWidth: 0,\n pt: '6px',\n fontFamily: 'monospace',\n fontSize: 13,\n lineHeight: '20px',\n wordBreak: 'break-all',\n },\n cellDetailsLine: {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n width: '100%',\n minHeight: 32,\n fontSize: 14,\n },\n cellDetailsName: {\n flexShrink: 0,\n width: 80,\n fontSize: 13,\n opacity: 0.7,\n },\n cellDetailsValue: {\n flexGrow: 1,\n minWidth: 0,\n overflowWrap: 'anywhere',\n // the cells are made for one line in the table, here they may wrap\n '& > div': {\n whiteSpace: 'normal',\n overflow: 'visible',\n height: 'auto',\n },\n },\n cellDetailsEmpty: {\n opacity: 0.5,\n },\n cellDetailsButton: {\n flexShrink: 0,\n color: 'text.secondary',\n },\n cellDetailsIcon: {\n width: 18,\n height: 18,\n },\n cellDetailsButtons: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'flex-end',\n // strings, because numbers are multiplied with the theme spacing in `sx`\n gap: '4px',\n pt: '6px',\n mt: '4px',\n borderTop: '1px solid rgba(128, 128, 128, 0.3)',\n // `renderColumnButtons` may render only an empty container\n '&:not(:has(button))': {\n display: 'none',\n },\n },\n\n filteredOut: {\n opacity: 0.5,\n },\n filteredParentOut: {\n opacity: 0.3,\n },\n filterInput: {\n mt: 0,\n mb: 0,\n },\n selectIcon: {\n width: 24,\n height: 24,\n marginRight: 4,\n },\n\n itemSelected: (theme: IobTheme): React.CSSProperties => ({\n background: `${theme.palette.primary.main} !important`,\n color: `${Utils.invertColor(theme.palette.primary.main, true)} !important`,\n }),\n header: {\n width: '100%',\n },\n headerCell: {\n display: 'inline-block',\n verticalAlign: 'top',\n flexShrink: 0,\n boxSizing: 'border-box',\n },\n headerCellValue: {\n paddingTop: 4,\n // paddingLeft: 5,\n fontSize: 16,\n },\n\n visibleButtons: {\n color: '#2196f3',\n opacity: 0.7,\n },\n grow: {\n flexGrow: 1,\n },\n enumIconDiv: {\n marginRight: 8,\n width: 32,\n height: 32,\n borderRadius: 8,\n background: '#FFFFFF',\n },\n enumIcon: {\n marginTop: 4,\n marginLeft: 4,\n width: 24,\n height: 24,\n },\n enumDialog: {\n overflow: 'hidden',\n },\n enumList: {\n minWidth: 250,\n height: 'calc(100% - 50px)',\n overflow: 'auto',\n },\n enumCheckbox: {\n minWidth: 0,\n },\n buttonDiv: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n },\n aclText: {\n fontSize: 13,\n marginTop: 6,\n },\n rightsObject: {\n color: '#55ff55',\n paddingLeft: 3,\n },\n rightsState: {\n color: '#86b6ff',\n paddingLeft: 3,\n },\n textCenter: {\n padding: 12,\n textAlign: 'center',\n },\n tooltipAccessControl: {\n display: 'flex',\n flexDirection: 'column',\n },\n fontSizeTitle: {\n '@media screen and (max-width: 465px)': {\n '& *': {\n fontSize: 12,\n },\n },\n },\n draggable: {\n cursor: 'copy',\n },\n nonDraggable: {\n cursor: 'no-drop',\n },\n iconDeviceConnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceDisconnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_DISCONNECTED_DARK : COLOR_NAME_DISCONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceError: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 50,\n width: 20,\n }),\n resizeHandle: {\n display: 'block',\n position: 'absolute',\n cursor: 'col-resize',\n width: 7,\n top: 2,\n bottom: 2,\n zIndex: 1,\n },\n resizeHandleRight: {\n right: 3,\n borderRight: '2px dotted #888',\n '&:hover': {\n borderColor: '#ccc',\n borderRightStyle: 'solid',\n },\n '&.active': {\n borderColor: '#517ea5',\n borderRightStyle: 'solid',\n },\n },\n invertedBackground: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n padding: '0 3px',\n borderRadius: '2px 0 0 2px',\n }),\n invertedBackgroundFlex: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n borderRadius: '0 2px 2px 0',\n }),\n contextMenuEdit: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffee48' : '#cbb801',\n }),\n contextMenuEditValue: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#5dff45' : '#1cd301',\n }),\n contextMenuView: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n }),\n contextMenuCustom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#42eaff' : '#01bbc2',\n }),\n contextMenuACL: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#e079ff' : '#500070',\n }),\n contextMenuRoom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff9a33' : '#642a00',\n }),\n contextMenuRole: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffdb43' : '#562d00',\n }),\n contextMenuName: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#74b7ff' : '#00417a',\n }),\n contextMenuDelete: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff4f4f' : '#cf0000',\n }),\n contextMenuKeys: {\n marginLeft: 8,\n opacity: 0.7,\n fontSize: 'smaller',\n },\n contextMenuWithSubMenu: {\n display: 'flex',\n },\n ...utilStyles,\n};\n"]}
|
|
@@ -499,5 +499,13 @@ export interface ObjectBrowserState {
|
|
|
499
499
|
id: string;
|
|
500
500
|
childrenIds: string[];
|
|
501
501
|
} | null;
|
|
502
|
+
/** Show the dialog that changes `common.name` of an object */
|
|
503
|
+
showNameDialog: {
|
|
504
|
+
id: string;
|
|
505
|
+
/** The name in the language of the GUI as the dialog found it */
|
|
506
|
+
originalName: string;
|
|
507
|
+
/** The name while it is edited */
|
|
508
|
+
name: string;
|
|
509
|
+
} | null;
|
|
502
510
|
showImportMenu: HTMLButtonElement | null;
|
|
503
511
|
}
|
package/build/i18n/de.json
CHANGED
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"ra_Edit custom config": "Bearbeite Benutzerdefinierte Konfiguration",
|
|
73
73
|
"ra_Edit full path": "Vollständigen Pfad bearbeiten",
|
|
74
74
|
"ra_Edit function": "Funktion bearbeiten",
|
|
75
|
+
"ra_Edit name": "Name bearbeiten",
|
|
75
76
|
"ra_Edit object field": "Objektfeld bearbeiten",
|
|
76
77
|
"ra_Edit role": "Rolle bearbeiten",
|
|
77
78
|
"ra_Edit room": "Raum bearbeiten",
|
|
@@ -178,6 +179,7 @@
|
|
|
178
179
|
"ra_Suppress question for next %s minutes": "Frage für die nächsten %s Minuten unterdrücken",
|
|
179
180
|
"ra_System language": "Systemsprache",
|
|
180
181
|
"ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").": "Die Experten können Objekte überall erstellen, außer auf der zweiten Ebene (z. B. \"vis.0\" oder \"javascript.0\").",
|
|
182
|
+
"ra_The name in %s stays unchanged": "Der Name in %s bleibt unverändert",
|
|
181
183
|
"ra_The page you are looking for was not found": "Die gesuchte Seite wurde nicht gefunden",
|
|
182
184
|
"ra_The schedule will be executed every minute. Are you sure?": "Der Zeitplan wird jede Minute ausgeführt. Sind Sie sicher?",
|
|
183
185
|
"ra_The schedule will be executed every second. Are you sure?": "Der Zeitplan wird jede Sekunde ausgeführt. Sind Sie sicher?",
|