Convert ./components/permissions_gates/any_team_permission_gate/any_t… (#24970)

* Convert ./components/permissions_gates/any_team_permission_gate/any_team_permission_gate.tsx

* React memo added

* linting issue resolved

---------

Co-authored-by: sjcode99 <misuraj2611@gmail.com>
Этот коммит содержится в:
sjcode99
2023-10-23 14:15:25 +05:30
коммит произвёл GitHub
родитель d0c22aa1cd
Коммит 13aaf6d363
2 изменённых файлов: 48 добавлений и 50 удалений

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

@@ -13,24 +13,25 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
permissions={ permissions={
Array [ Array [
"invalid_permission", "invalid_permission",
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={false} hasPermission={false}
invert={false}
permissions={ permissions={
Array [ Array [
"invalid_permission", "invalid_permission",
] ]
} }
/> >
</Connect(AnyTeamPermissionGate)> <p />
</Memo(AnyTeamPermissionGate)>
</Connect(Component)>
</Provider> </Provider>
`; `;
@@ -47,7 +48,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
permissions={ permissions={
Array [ Array [
"test_team_permission", "test_team_permission",
@@ -55,10 +56,9 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={true} hasPermission={true}
invert={false}
permissions={ permissions={
Array [ Array [
"test_team_permission", "test_team_permission",
@@ -69,8 +69,8 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
<p> <p>
Valid permission (shown) Valid permission (shown)
</p> </p>
</AnyTeamPermissionGate> </Memo(AnyTeamPermissionGate)>
</Connect(AnyTeamPermissionGate)> </Connect(Component)>
</Provider> </Provider>
`; `;
@@ -87,17 +87,16 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
permissions={ permissions={
Array [ Array [
"test_team_permission", "test_team_permission",
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={true} hasPermission={true}
invert={false}
permissions={ permissions={
Array [ Array [
"test_team_permission", "test_team_permission",
@@ -107,8 +106,8 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
<p> <p>
Valid permission (shown) Valid permission (shown)
</p> </p>
</AnyTeamPermissionGate> </Memo(AnyTeamPermissionGate)>
</Connect(AnyTeamPermissionGate)> </Connect(Component)>
</Provider> </Provider>
`; `;
@@ -125,7 +124,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
invert={true} invert={true}
permissions={ permissions={
Array [ Array [
@@ -133,7 +132,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={true} hasPermission={true}
invert={true} invert={true}
@@ -142,8 +141,10 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
"test_team_permission", "test_team_permission",
] ]
} }
/> >
</Connect(AnyTeamPermissionGate)> <p />
</Memo(AnyTeamPermissionGate)>
</Connect(Component)>
</Provider> </Provider>
`; `;
@@ -160,17 +161,16 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
permissions={ permissions={
Array [ Array [
"test_system_permission", "test_system_permission",
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={true} hasPermission={true}
invert={false}
permissions={ permissions={
Array [ Array [
"test_system_permission", "test_system_permission",
@@ -180,8 +180,8 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
<p> <p>
Valid permission (shown) Valid permission (shown)
</p> </p>
</AnyTeamPermissionGate> </Memo(AnyTeamPermissionGate)>
</Connect(AnyTeamPermissionGate)> </Connect(Component)>
</Provider> </Provider>
`; `;
@@ -198,17 +198,16 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
permissions={ permissions={
Array [ Array [
"other_permission", "other_permission",
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={true} hasPermission={true}
invert={false}
permissions={ permissions={
Array [ Array [
"other_permission", "other_permission",
@@ -218,8 +217,8 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
<p> <p>
Valid permission (shown) Valid permission (shown)
</p> </p>
</AnyTeamPermissionGate> </Memo(AnyTeamPermissionGate)>
</Connect(AnyTeamPermissionGate)> </Connect(Component)>
</Provider> </Provider>
`; `;
@@ -236,7 +235,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
invert={true} invert={true}
permissions={ permissions={
Array [ Array [
@@ -244,7 +243,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={true} hasPermission={true}
invert={true} invert={true}
@@ -253,8 +252,10 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
"other_permission", "other_permission",
] ]
} }
/> >
</Connect(AnyTeamPermissionGate)> <p />
</Memo(AnyTeamPermissionGate)>
</Connect(Component)>
</Provider> </Provider>
`; `;
@@ -271,7 +272,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
} }
} }
> >
<Connect(AnyTeamPermissionGate) <Connect(Component)
invert={true} invert={true}
permissions={ permissions={
Array [ Array [
@@ -279,7 +280,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
] ]
} }
> >
<AnyTeamPermissionGate <Memo(AnyTeamPermissionGate)
dispatch={[Function]} dispatch={[Function]}
hasPermission={false} hasPermission={false}
invert={true} invert={true}
@@ -292,7 +293,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w
<p> <p>
Invalid permission but inverted (shown) Invalid permission but inverted (shown)
</p> </p>
</AnyTeamPermissionGate> </Memo(AnyTeamPermissionGate)>
</Connect(AnyTeamPermissionGate)> </Connect(Component)>
</Provider> </Provider>
`; `;

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

@@ -18,23 +18,20 @@ export type Props = {
/** /**
* Invert the permission (used for else) * Invert the permission (used for else)
*/ */
invert: boolean; invert?: boolean;
/** /**
* Content protected by the permissions gate * Content protected by the permissions gate
*/ */
children: React.ReactNode; children: React.ReactNode;
} };
export default class AnyTeamPermissionGate extends React.PureComponent<Props> { const AnyTeamPermissionGate = ({hasPermission, children, invert = false}: Props) => {
static defaultProps = { return (
invert: false, <>
}; {hasPermission === invert ? null : children}
</>
);
};
render() { export default React.memo(AnyTeamPermissionGate);
if (this.props.hasPermission !== this.props.invert) {
return this.props.children;
}
return null;
}
}