[MM-54799] Convert ./components/widgets/menu/menu_header.tsx from Class Component to Function Component (#24847)

* Converted Menu Header to function Component

* Converted MenuHeader to Function Component an d fixed test file

* Added deprecated line

* added jsdoc above the component

* Added Suggested Changes

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Dipan Dhali
2023-10-30 08:26:53 +00:00
коммит произвёл GitHub
родитель dd1e5bc9d0
Коммит 1b706e0202
2 изменённых файлов: 29 добавлений и 32 удалений

Просмотреть файл

@@ -37,7 +37,7 @@ exports[`components/StatusDropdown should match snapshot in default state 1`] =
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -57,7 +57,7 @@ exports[`components/StatusDropdown should match snapshot in default state 1`] =
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -271,7 +271,7 @@ exports[`components/StatusDropdown should match snapshot with custom status and
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -291,7 +291,7 @@ exports[`components/StatusDropdown should match snapshot with custom status and
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -586,7 +586,7 @@ exports[`components/StatusDropdown should match snapshot with custom status enab
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -606,7 +606,7 @@ exports[`components/StatusDropdown should match snapshot with custom status enab
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -853,7 +853,7 @@ exports[`components/StatusDropdown should match snapshot with custom status expi
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -873,7 +873,7 @@ exports[`components/StatusDropdown should match snapshot with custom status expi
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -1120,7 +1120,7 @@ exports[`components/StatusDropdown should match snapshot with custom status puls
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -1140,7 +1140,7 @@ exports[`components/StatusDropdown should match snapshot with custom status puls
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -1392,7 +1392,7 @@ exports[`components/StatusDropdown should match snapshot with profile picture UR
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<Memo(Avatar) <Memo(Avatar)
@@ -1416,7 +1416,7 @@ exports[`components/StatusDropdown should match snapshot with profile picture UR
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -1630,7 +1630,7 @@ exports[`components/StatusDropdown should match snapshot with status dropdown op
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -1650,7 +1650,7 @@ exports[`components/StatusDropdown should match snapshot with status dropdown op
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -1864,7 +1864,7 @@ exports[`components/StatusDropdown should not show clear status button when cust
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -1884,7 +1884,7 @@ exports[`components/StatusDropdown should not show clear status button when cust
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"
@@ -2131,7 +2131,7 @@ exports[`components/StatusDropdown should show clear status button when custom s
id="statusDropdownMenu" id="statusDropdownMenu"
listId="status-drop-down-menu-list" listId="status-drop-down-menu-list"
> >
<MenuHeader <Memo(MenuHeader)
onClick={[Function]} onClick={[Function]}
> >
<div <div
@@ -2151,7 +2151,7 @@ exports[`components/StatusDropdown should show clear status button when custom s
@undefined @undefined
</Text> </Text>
</div> </div>
</MenuHeader> </Memo(MenuHeader)>
<MenuGroup> <MenuGroup>
<MenuItemAction <MenuItemAction
ariaLabel="out of office" ariaLabel="out of office"

Просмотреть файл

@@ -6,7 +6,6 @@ import React from 'react';
import './menu_header.scss'; import './menu_header.scss';
type Props = { type Props = {
divider?: React.ReactNode;
children?: React.ReactNode; children?: React.ReactNode;
onClick?: () => void; onClick?: () => void;
} }
@@ -14,17 +13,15 @@ type Props = {
/** /**
* @deprecated Use the "webapp/channels/src/components/menu" instead. * @deprecated Use the "webapp/channels/src/components/menu" instead.
*/ */
export default class MenuHeader extends React.PureComponent<Props> { const MenuHeader = ({children, onClick}: Props) => {
public render() { return (
const {children, onClick} = this.props; <li
className='MenuHeader'
onClick={onClick}
>
{children}
</li>
);
};
return ( export default React.memo(MenuHeader);
<li
className='MenuHeader'
onClick={onClick}
>
{children}
</li>
);
}
}