This is an automated email from the ASF dual-hosted git repository.
pierrejeambrun pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-1-test by this push:
new 47d7c3457a6 [v3-1-test] Plugins pagination fix #61055 (#61059)
(#61129)
47d7c3457a6 is described below
commit 47d7c3457a64c554c2f16e314d033febc899ecd2
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Jan 27 17:25:51 2026 +0100
[v3-1-test] Plugins pagination fix #61055 (#61059) (#61129)
* added E2E tests for Plugins Page #60571
* Added pagination to Plugins Page #61055
* removed unwanted commits
(cherry picked from commit 5382b56514313933fd68c67b56bdb9b5e56f2363)
Co-authored-by: Vishakha Agrawal
<[email protected]>
---
airflow-core/src/airflow/ui/src/pages/Plugins.tsx | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/airflow-core/src/airflow/ui/src/pages/Plugins.tsx
b/airflow-core/src/airflow/ui/src/pages/Plugins.tsx
index 3c146face8c..9bc66839e67 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<ColumnDef<PluginResponse>> =
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={<ErrorAlert error={error} />}
+ initialState={tableURLState}
modelName="common:admin.Plugins"
+ onStateChange={setTableURLState}
showRowCountHeading={false}
total={data?.total_entries}
/>