diff --git a/airflow-core/src/airflow/ui/src/pages/Plugins.tsx b/airflow-core/src/airflow/ui/src/pages/Plugins.tsx index 3c146face8c3b..9bc66839e677e 100644 --- a/airflow-core/src/airflow/ui/src/pages/Plugins.tsx +++ b/airflow-core/src/airflow/ui/src/pages/Plugins.tsx @@ -25,6 +25,7 @@ import { useTranslation } from "react-i18next"; import { usePluginServiceGetPlugins } from "openapi/queries"; import type { PluginResponse } from "openapi/requests/types.gen"; import { DataTable } from "src/components/DataTable"; +import { useTableURLState } from "src/components/DataTable/useTableUrlState"; import { ErrorAlert } from "src/components/ErrorAlert"; import { PluginImportErrors } from "./Dashboard/Stats/PluginImportErrors"; @@ -44,7 +45,12 @@ const createColumns = (translate: TFunction): Array> = export const Plugins = () => { const { t: translate } = useTranslation(["admin", "common"]); - const { data, error } = usePluginServiceGetPlugins(); + const { setTableURLState, tableURLState } = useTableURLState(); + const { pagination } = tableURLState; + const { data, error } = usePluginServiceGetPlugins({ + limit: pagination.pageSize, + offset: pagination.pageIndex * pagination.pageSize, + }); const columns = useMemo(() => createColumns(translate), [translate]); @@ -58,7 +64,9 @@ export const Plugins = () => { columns={columns} data={data?.plugins ?? []} errorMessage={} + initialState={tableURLState} modelName="common:admin.Plugins" + onStateChange={setTableURLState} showRowCountHeading={false} total={data?.total_entries} />