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>
Этот коммит содержится в:
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user