fix bundling issues (#34387)
fixes: #34386 Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
This commit is contained in:
parent
2e8b01aec1
commit
28c469cf2c
10 changed files with 44 additions and 40 deletions
|
@ -1,7 +1,10 @@
|
||||||
import { fetchWithError } from "@keycloak/keycloak-admin-client";
|
import { fetchWithError } from "@keycloak/keycloak-admin-client";
|
||||||
import type AuthenticationFlowRepresentation from "@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation";
|
import {
|
||||||
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
KeycloakDataTable,
|
||||||
import { useAlerts } from "@keycloak/keycloak-ui-shared";
|
KeycloakSpinner,
|
||||||
|
ListEmptyState,
|
||||||
|
useAlerts,
|
||||||
|
} from "@keycloak/keycloak-ui-shared";
|
||||||
import {
|
import {
|
||||||
AlertVariant,
|
AlertVariant,
|
||||||
Button,
|
Button,
|
||||||
|
@ -16,16 +19,12 @@ import { sortBy } from "lodash-es";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { Trans, useTranslation } from "react-i18next";
|
import { Trans, useTranslation } from "react-i18next";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
import { useAdminClient } from "../admin-client";
|
import { useAdminClient } from "../admin-client";
|
||||||
import { useConfirmDialog } from "../components/confirm-dialog/ConfirmDialog";
|
import { useConfirmDialog } from "../components/confirm-dialog/ConfirmDialog";
|
||||||
import { KeycloakSpinner } from "@keycloak/keycloak-ui-shared";
|
|
||||||
import { ListEmptyState } from "@keycloak/keycloak-ui-shared";
|
|
||||||
import {
|
import {
|
||||||
RoutableTabs,
|
RoutableTabs,
|
||||||
useRoutableTab,
|
useRoutableTab,
|
||||||
} from "../components/routable-tabs/RoutableTabs";
|
} from "../components/routable-tabs/RoutableTabs";
|
||||||
import { KeycloakDataTable } from "@keycloak/keycloak-ui-shared";
|
|
||||||
import { ViewHeader } from "../components/view-header/ViewHeader";
|
import { ViewHeader } from "../components/view-header/ViewHeader";
|
||||||
import { useRealm } from "../context/realm-context/RealmContext";
|
import { useRealm } from "../context/realm-context/RealmContext";
|
||||||
import helpUrls from "../help-urls";
|
import helpUrls from "../help-urls";
|
||||||
|
@ -37,28 +36,12 @@ import { BindFlowDialog } from "./BindFlowDialog";
|
||||||
import { DuplicateFlowModal } from "./DuplicateFlowModal";
|
import { DuplicateFlowModal } from "./DuplicateFlowModal";
|
||||||
import { RequiredActions } from "./RequiredActions";
|
import { RequiredActions } from "./RequiredActions";
|
||||||
import { UsedBy } from "./components/UsedBy";
|
import { UsedBy } from "./components/UsedBy";
|
||||||
|
import { AuthenticationType } from "./constants";
|
||||||
import { Policies } from "./policies/Policies";
|
import { Policies } from "./policies/Policies";
|
||||||
import { AuthenticationTab, toAuthentication } from "./routes/Authentication";
|
import { AuthenticationTab, toAuthentication } from "./routes/Authentication";
|
||||||
import { toCreateFlow } from "./routes/CreateFlow";
|
import { toCreateFlow } from "./routes/CreateFlow";
|
||||||
import { toFlow } from "./routes/Flow";
|
import { toFlow } from "./routes/Flow";
|
||||||
|
|
||||||
type UsedBy = "SPECIFIC_CLIENTS" | "SPECIFIC_PROVIDERS" | "DEFAULT";
|
|
||||||
|
|
||||||
export type AuthenticationType = AuthenticationFlowRepresentation & {
|
|
||||||
usedBy?: { type?: UsedBy; values: string[] };
|
|
||||||
realm: RealmRepresentation;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const REALM_FLOWS = new Map<string, string>([
|
|
||||||
["browserFlow", "browser"],
|
|
||||||
["registrationFlow", "registration"],
|
|
||||||
["directGrantFlow", "direct grant"],
|
|
||||||
["resetCredentialsFlow", "reset credentials"],
|
|
||||||
["clientAuthenticationFlow", "clients"],
|
|
||||||
["dockerAuthenticationFlow", "docker auth"],
|
|
||||||
["firstBrokerLoginFlow", "firstBrokerLogin"],
|
|
||||||
]);
|
|
||||||
|
|
||||||
const AliasRenderer = ({ id, alias, usedBy, builtIn }: AuthenticationType) => {
|
const AliasRenderer = ({ id, alias, usedBy, builtIn }: AuthenticationType) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { realm } = useRealm();
|
const { realm } = useRealm();
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import type RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
import type RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
||||||
|
import { SelectControl, useAlerts } from "@keycloak/keycloak-ui-shared";
|
||||||
import {
|
import {
|
||||||
AlertVariant,
|
AlertVariant,
|
||||||
Button,
|
Button,
|
||||||
|
@ -8,11 +9,9 @@ import {
|
||||||
} from "@patternfly/react-core";
|
} from "@patternfly/react-core";
|
||||||
import { FormProvider, useForm } from "react-hook-form";
|
import { FormProvider, useForm } from "react-hook-form";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
|
||||||
import { useAlerts } from "@keycloak/keycloak-ui-shared";
|
|
||||||
import { useRealm } from "../context/realm-context/RealmContext";
|
|
||||||
import { REALM_FLOWS } from "./AuthenticationSection";
|
|
||||||
import { useAdminClient } from "../admin-client";
|
import { useAdminClient } from "../admin-client";
|
||||||
|
import { useRealm } from "../context/realm-context/RealmContext";
|
||||||
|
import { REALM_FLOWS } from "./constants";
|
||||||
|
|
||||||
type BindingForm = {
|
type BindingForm = {
|
||||||
bindingType: keyof RealmRepresentation;
|
bindingType: keyof RealmRepresentation;
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { KeycloakDataTable } from "@keycloak/keycloak-ui-shared";
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
Modal,
|
Modal,
|
||||||
|
@ -11,12 +12,11 @@ import { CheckCircleIcon } from "@patternfly/react-icons";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { useAdminClient } from "../../admin-client";
|
import { useAdminClient } from "../../admin-client";
|
||||||
import { fetchUsedBy } from "../../components/role-mapping/resource";
|
import { fetchUsedBy } from "../../components/role-mapping/resource";
|
||||||
import { KeycloakDataTable } from "@keycloak/keycloak-ui-shared";
|
import { useRealm } from "../../context/realm-context/RealmContext";
|
||||||
import useToggle from "../../utils/useToggle";
|
import useToggle from "../../utils/useToggle";
|
||||||
import { AuthenticationType, REALM_FLOWS } from "../AuthenticationSection";
|
import { AuthenticationType, REALM_FLOWS } from "../constants";
|
||||||
|
|
||||||
import style from "./used-by.module.css";
|
import style from "./used-by.module.css";
|
||||||
import { useRealm } from "../../context/realm-context/RealmContext";
|
|
||||||
|
|
||||||
type UsedByProps = {
|
type UsedByProps = {
|
||||||
authType: AuthenticationType;
|
authType: AuthenticationType;
|
||||||
|
|
19
js/apps/admin-ui/src/authentication/constants.ts
Normal file
19
js/apps/admin-ui/src/authentication/constants.ts
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
import AuthenticationFlowRepresentation from "@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation";
|
||||||
|
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
||||||
|
|
||||||
|
type UsedBy = "SPECIFIC_CLIENTS" | "SPECIFIC_PROVIDERS" | "DEFAULT";
|
||||||
|
|
||||||
|
export type AuthenticationType = AuthenticationFlowRepresentation & {
|
||||||
|
usedBy?: { type?: UsedBy; values: string[] };
|
||||||
|
realm: RealmRepresentation;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const REALM_FLOWS = new Map<string, string>([
|
||||||
|
["browserFlow", "browser"],
|
||||||
|
["registrationFlow", "registration"],
|
||||||
|
["directGrantFlow", "direct grant"],
|
||||||
|
["resetCredentialsFlow", "reset credentials"],
|
||||||
|
["clientAuthenticationFlow", "clients"],
|
||||||
|
["dockerAuthenticationFlow", "docker auth"],
|
||||||
|
["firstBrokerLoginFlow", "firstBrokerLogin"],
|
||||||
|
]);
|
|
@ -22,7 +22,7 @@ import {
|
||||||
} from "react-router-dom";
|
} from "react-router-dom";
|
||||||
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
|
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
|
||||||
import { PageHandler } from "../../page/PageHandler";
|
import { PageHandler } from "../../page/PageHandler";
|
||||||
import { TAB_PROVIDER } from "../../page/PageList";
|
import { TAB_PROVIDER } from "../../page/constants";
|
||||||
import useIsFeatureEnabled, { Feature } from "../../utils/useIsFeatureEnabled";
|
import useIsFeatureEnabled, { Feature } from "../../utils/useIsFeatureEnabled";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ import { ViewHeader } from "../components/view-header/ViewHeader";
|
||||||
import { useRealm } from "../context/realm-context/RealmContext";
|
import { useRealm } from "../context/realm-context/RealmContext";
|
||||||
import { useServerInfo } from "../context/server-info/ServerInfoProvider";
|
import { useServerInfo } from "../context/server-info/ServerInfoProvider";
|
||||||
import { PageHandler } from "./PageHandler";
|
import { PageHandler } from "./PageHandler";
|
||||||
import { PAGE_PROVIDER } from "./PageList";
|
import { PAGE_PROVIDER } from "./constants";
|
||||||
import { PageParams, toPage } from "./routes";
|
import { PageParams, toPage } from "./routes";
|
||||||
|
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { useAdminClient } from "../admin-client";
|
||||||
import { DynamicComponents } from "../components/dynamic/DynamicComponents";
|
import { DynamicComponents } from "../components/dynamic/DynamicComponents";
|
||||||
import { useRealm } from "../context/realm-context/RealmContext";
|
import { useRealm } from "../context/realm-context/RealmContext";
|
||||||
import { useParams } from "../utils/useParams";
|
import { useParams } from "../utils/useParams";
|
||||||
import { type PAGE_PROVIDER, TAB_PROVIDER } from "./PageList";
|
import { type PAGE_PROVIDER, TAB_PROVIDER } from "./constants";
|
||||||
import { toPage } from "./routes";
|
import { toPage } from "./routes";
|
||||||
|
|
||||||
type PageHandlerProps = {
|
type PageHandlerProps = {
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
import ComponentRepresentation from "@keycloak/keycloak-admin-client/lib/defs/componentRepresentation";
|
import ComponentRepresentation from "@keycloak/keycloak-admin-client/lib/defs/componentRepresentation";
|
||||||
import type { ComponentQuery } from "@keycloak/keycloak-admin-client/lib/resources/components";
|
import type { ComponentQuery } from "@keycloak/keycloak-admin-client/lib/resources/components";
|
||||||
import { useAlerts } from "@keycloak/keycloak-ui-shared";
|
import {
|
||||||
|
KeycloakDataTable,
|
||||||
|
ListEmptyState,
|
||||||
|
useAlerts,
|
||||||
|
} from "@keycloak/keycloak-ui-shared";
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
ButtonVariant,
|
ButtonVariant,
|
||||||
|
@ -14,16 +18,12 @@ import { useTranslation } from "react-i18next";
|
||||||
import { Link, useNavigate, useParams } from "react-router-dom";
|
import { Link, useNavigate, useParams } from "react-router-dom";
|
||||||
import { useAdminClient } from "../admin-client";
|
import { useAdminClient } from "../admin-client";
|
||||||
import { useConfirmDialog } from "../components/confirm-dialog/ConfirmDialog";
|
import { useConfirmDialog } from "../components/confirm-dialog/ConfirmDialog";
|
||||||
import { ListEmptyState } from "@keycloak/keycloak-ui-shared";
|
|
||||||
import { KeycloakDataTable } from "@keycloak/keycloak-ui-shared";
|
|
||||||
import { ViewHeader } from "../components/view-header/ViewHeader";
|
import { ViewHeader } from "../components/view-header/ViewHeader";
|
||||||
import { useRealm } from "../context/realm-context/RealmContext";
|
import { useRealm } from "../context/realm-context/RealmContext";
|
||||||
import { useServerInfo } from "../context/server-info/ServerInfoProvider";
|
import { useServerInfo } from "../context/server-info/ServerInfoProvider";
|
||||||
|
import { PAGE_PROVIDER } from "./constants";
|
||||||
import { addDetailPage, PageListParams, toDetailPage } from "./routes";
|
import { addDetailPage, PageListParams, toDetailPage } from "./routes";
|
||||||
|
|
||||||
export const PAGE_PROVIDER = "org.keycloak.services.ui.extend.UiPageProvider";
|
|
||||||
export const TAB_PROVIDER = "org.keycloak.services.ui.extend.UiTabProvider";
|
|
||||||
|
|
||||||
type DetailLinkProps = {
|
type DetailLinkProps = {
|
||||||
obj: ComponentRepresentation;
|
obj: ComponentRepresentation;
|
||||||
field: string;
|
field: string;
|
||||||
|
|
2
js/apps/admin-ui/src/page/constants.ts
Normal file
2
js/apps/admin-ui/src/page/constants.ts
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
export const PAGE_PROVIDER = "org.keycloak.services.ui.extend.UiPageProvider";
|
||||||
|
export const TAB_PROVIDER = "org.keycloak.services.ui.extend.UiTabProvider";
|
|
@ -25,6 +25,7 @@ export default defineConfig(({ mode }) => {
|
||||||
}
|
}
|
||||||
: {
|
: {
|
||||||
outDir: "target/classes/theme/keycloak.v2/admin/resources",
|
outDir: "target/classes/theme/keycloak.v2/admin/resources",
|
||||||
|
external: ["src/index.ts"],
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
base: "",
|
base: "",
|
||||||
|
|
Loading…
Reference in a new issue