[MM-56005] Convert ./components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx from Class Component to Function Component (#25646)
* [MM-56005] Convert `./components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx` from Class Component to Function Component * refactor: use classNames to apply class --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
a11b27d1f2
Коммит
7afc14de36
@@ -1,7 +1,8 @@
|
|||||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||||
// See LICENSE.txt for license information.
|
// See LICENSE.txt for license information.
|
||||||
|
|
||||||
import React from 'react';
|
import classNames from 'classnames';
|
||||||
|
import React, {memo, useCallback} from 'react';
|
||||||
import {FormattedMessage} from 'react-intl';
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
import type {Team} from '@mattermost/types/teams';
|
import type {Team} from '@mattermost/types/teams';
|
||||||
@@ -16,41 +17,43 @@ type Props = {
|
|||||||
isDisabled: boolean;
|
isDisabled: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class TeamInList extends React.PureComponent<Props> {
|
const TeamInList = ({
|
||||||
handleRemoveTeam = () => {
|
team,
|
||||||
const {team, isDisabled, onRemoveTeam} = this.props;
|
isDisabled,
|
||||||
|
onRemoveTeam,
|
||||||
|
}: Props) => {
|
||||||
|
const handleRemoveTeam = useCallback(() => {
|
||||||
if (isDisabled) {
|
if (isDisabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
onRemoveTeam(team.id);
|
onRemoveTeam(team.id);
|
||||||
};
|
}, [isDisabled, team.id, onRemoveTeam]);
|
||||||
|
|
||||||
render() {
|
return (
|
||||||
const {team, isDisabled} = this.props;
|
<div
|
||||||
return (
|
className='team'
|
||||||
<div
|
key={team.id}
|
||||||
className='team'
|
>
|
||||||
key={team.id}
|
<div className='team-info-block'>
|
||||||
>
|
<TeamIcon
|
||||||
<div className='team-info-block'>
|
content={team.display_name}
|
||||||
<TeamIcon
|
url={imageURLForTeam(team)}
|
||||||
content={team.display_name}
|
/>
|
||||||
url={imageURLForTeam(team)}
|
<div className='team-data'>
|
||||||
/>
|
<div className='title'>{team.display_name}</div>
|
||||||
<div className='team-data'>
|
|
||||||
<div className='title'>{team.display_name}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<a
|
|
||||||
className={isDisabled ? 'remove disabled' : 'remove'}
|
|
||||||
onClick={this.handleRemoveTeam}
|
|
||||||
>
|
|
||||||
<FormattedMessage
|
|
||||||
id='admin.permissions.teamScheme.removeTeam'
|
|
||||||
defaultMessage='Remove'
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
<a
|
||||||
}
|
className={classNames('remove', {disabled: isDisabled})}
|
||||||
}
|
onClick={handleRemoveTeam}
|
||||||
|
>
|
||||||
|
<FormattedMessage
|
||||||
|
id='admin.permissions.teamScheme.removeTeam'
|
||||||
|
defaultMessage='Remove'
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default memo(TeamInList);
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user