Keycloak

Форк
0
/
RealmRolesSection.tsx 
51 строка · 1.4 Кб
1
import { PageSection } from "@patternfly/react-core";
2

3
import { adminClient } from "../admin-client";
4
import { RolesList } from "../components/roles-list/RolesList";
5
import { ViewHeader } from "../components/view-header/ViewHeader";
6
import { useAccess } from "../context/access/Access";
7
import { useRealm } from "../context/realm-context/RealmContext";
8
import helpUrls from "../help-urls";
9
import { toAddRole } from "./routes/AddRole";
10
import { toRealmRole } from "./routes/RealmRole";
11

12
export default function RealmRolesSection() {
13
  const { realm } = useRealm();
14
  const { hasAccess } = useAccess();
15
  const isManager = hasAccess("manage-realm");
16

17
  const loader = (first?: number, max?: number, search?: string) => {
18
    const params: { [name: string]: string | number } = {
19
      first: first!,
20
      max: max!,
21
    };
22

23
    const searchParam = search || "";
24

25
    if (searchParam) {
26
      params.search = searchParam;
27
    }
28

29
    return adminClient.roles.find(params);
30
  };
31

32
  return (
33
    <>
34
      <ViewHeader
35
        titleKey="titleRoles"
36
        subKey="roleExplain"
37
        helpUrl={helpUrls.realmRolesUrl}
38
      />
39
      <PageSection variant="light" padding={{ default: "noPadding" }}>
40
        <RolesList
41
          loader={loader}
42
          toCreate={toAddRole({ realm })}
43
          toDetail={(roleId) =>
44
            toRealmRole({ realm, id: roleId, tab: "details" })
45
          }
46
          isReadOnly={!isManager}
47
        />
48
      </PageSection>
49
    </>
50
  );
51
}
52

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.