* Дополнены названия полей TelemetryView

* Вынесен метод получения лейбла для TelemetryInfo
* Сменён тип смешивания проверки по правам и ролям
* WellIconState экспортирован из главного файла модуля components/icons
This commit is contained in:
Александр Сироткин 2021-12-21 15:37:23 +05:00
parent 997b701be4
commit 0e24780a91
4 changed files with 12 additions and 5 deletions

View File

@ -10,4 +10,4 @@ type PrivateMenuItemProps = {
}
export const PrivateMenuItem: React.FC<PrivateMenuItemProps> = ({ roles, permission, mixing, ...props }) =>
hasPermission(permission) || isInRole(roles) ? <Menu.Item {...props}/> : null
hasPermission(permission) && isInRole(roles) ? <Menu.Item {...props}/> : null

View File

@ -53,7 +53,7 @@ export const UserMenu: React.FC<UserMenuProps> = ({ isAdmin }) => {
placement={'bottomRight'}
overlay={(
<Menu style={{ textAlign: 'right' }}>
<PrivateMenuItem roles={['admin']}>
<PrivateMenuItem roles={'admin'}>
{isAdmin ? (
<Link to={'/'}>Вернуться на сайт</Link>
) : (

View File

@ -4,20 +4,27 @@ import { TelemetryInfoDto } from '../../services/api'
import { Grid, GridItem } from '../Grid'
const lables: { [labelKey: string]: string } = {
timeZoneId: 'Временная зона',
timeZoneOffsetTotalHours: 'Сдвиг временной зоны',
drillingStartDate: 'Начало бурения',
deposit: 'Месторождение',
cluster: 'Куст',
well: 'Скважина',
customer: 'Заказчик',
comment: 'Комментарий',
hmiVersion: 'Версия HMI',
saubPlcVersion: 'Версия САУБ',
spinPlcVersion: 'Версия Спин Мастер',
}
export const getTelemetryLabel = (info?: TelemetryInfoDto) => info ? `${info.deposit} / ${info.cluster} / ${info.well}` : '---'
export type TelemetryViewProps = {
info?: TelemetryInfoDto
}
export const TelemetryView = memo<TelemetryViewProps>(({ info }) => info ? (
<Tooltip title={
<Tooltip overlayInnerStyle={{ width: '400px' }} title={
<Grid>
{(Object.keys(info) as Array<keyof TelemetryInfoDto>).map((key, i) => (
<>
@ -27,7 +34,7 @@ export const TelemetryView = memo<TelemetryViewProps>(({ info }) => info ? (
))}
</Grid>
}>
{info.deposit}/{info.cluster}/{info.well}
{getTelemetryLabel(info)}
</Tooltip>
) : (
<Tooltip title={'нет данных'}>-</Tooltip>

View File

@ -1,5 +1,5 @@
export type { PointerIconColors, PointerIconProps } from './PointerIcon'
export type { WellIconColors, WellIconProps } from './WellIcon'
export type { WellIconColors, WellIconProps, WellIconState } from './WellIcon'
export { PointerIcon } from './PointerIcon'
export { WellIcon } from './WellIcon'