Skip to content

Commit d9fdf5a

Browse files
authored
Merge pull request #1151 from yaacov/paginate-inside-table
🐞 pagination is slow on pages with items > 10K
2 parents 8d16ff1 + 1d82875 commit d9fdf5a

File tree

9 files changed

+10
-35
lines changed

9 files changed

+10
-35
lines changed

packages/forklift-console-plugin/src/components/page/StandardPage.tsx

+2-10
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,6 @@ export interface StandardPageProps<T> {
176176
*/
177177
page: number;
178178

179-
/**
180-
* Update page number
181-
*
182-
* @param number Update page
183-
*/
184-
setPage: (number) => void;
185-
186179
/**
187180
* Prefix for filters stored in the query params part of the URL.
188181
* By default no prefix is used - the field ID is used directly.
@@ -271,7 +264,6 @@ export interface StandardPageProps<T> {
271264
* title="My List"
272265
* fieldsMetadata={myFieldsMetadata}
273266
* page={page}
274-
* setPage={setPage}
275267
* // ...other props
276268
* />
277269
*/
@@ -287,8 +279,7 @@ export function StandardPage<T>({
287279
customNoResultsFound,
288280
customNoResultsMatchFilter,
289281
pagination = DEFAULT_PER_PAGE,
290-
page,
291-
setPage,
282+
page: initialPage,
292283
userSettings,
293284
filterPrefix = '',
294285
extraSupportedMatchers,
@@ -303,6 +294,7 @@ export function StandardPage<T>({
303294
t,
304295
i18n: { resolvedLanguage },
305296
} = useForkliftTranslation();
297+
const [page, setPage] = useState(initialPage);
306298
const [filteredData, setFilteredData] = useState([]);
307299

308300
const [selectedFilters, setSelectedFilters] = useUrlFilters({

packages/forklift-console-plugin/src/modules/NetworkMaps/views/list/NetworkMapsListPage.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ const NetworkMapsListPage: React.FC<{
104104
}> = ({ namespace }) => {
105105
const { t } = useForkliftTranslation();
106106
const [userSettings] = useState(() => loadUserSettings({ pageId: 'NetworkMaps' }));
107-
const [page, setPage] = useState(1);
108107

109108
const [networkMaps, networkMapsLoaded, networkMapsLoadError] = useK8sWatchResource<
110109
V1beta1NetworkMap[]
@@ -152,8 +151,7 @@ const NetworkMapsListPage: React.FC<{
152151
title={t('NetworkMaps')}
153152
userSettings={userSettings}
154153
customNoResultsFound={EmptyState}
155-
page={page}
156-
setPage={setPage}
154+
page={1}
157155
/>
158156
);
159157
};

packages/forklift-console-plugin/src/modules/Plans/views/details/tabs/VirtualMachines/Migration/MigrationVirtualMachinesList.tsx

+1-4
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@ type PageGlobalActions = FC<GlobalActionWithSelection<VMData>>[];
105105

106106
export const MigrationVirtualMachinesList: FC<{ obj: PlanData }> = ({ obj }) => {
107107
const { t } = useForkliftTranslation();
108-
const [page, setPage] = useState(1);
109-
110108
const { plan } = obj;
111109

112110
const [lastMigration] = usePlanMigration(plan);
@@ -190,8 +188,7 @@ export const MigrationVirtualMachinesList: FC<{ obj: PlanData }> = ({ obj }) =>
190188
title: t('Virtual Machines'),
191189
userSettings: userSettings,
192190
namespace: '',
193-
page,
194-
setPage,
191+
page: 1,
195192
};
196193

197194
const extendedProps = {

packages/forklift-console-plugin/src/modules/Plans/views/details/tabs/VirtualMachines/Plan/PlanVirtualMachinesList.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ export const PlanVirtualMachinesList: FC<{ obj: PlanData }> = ({ obj }) => {
3838

3939
const { plan } = obj;
4040

41-
const [page, setPage] = useState(1);
4241
const [selectedIds, setSelectedIds] = useState([]);
4342
const [userSettings] = useState(() => loadUserSettings({ pageId: 'PlanVirtualMachines' }));
4443

@@ -68,8 +67,7 @@ export const PlanVirtualMachinesList: FC<{ obj: PlanData }> = ({ obj }) => {
6867
title: t('Virtual Machines'),
6968
userSettings: userSettings,
7069
namespace: '',
71-
page,
72-
setPage,
70+
page: 1,
7371
};
7472

7573
const extendedProps = {

packages/forklift-console-plugin/src/modules/Plans/views/list/PlansListPage.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,6 @@ const PlansListPage: React.FC<{
134134
}> = ({ namespace }) => {
135135
const { t } = useForkliftTranslation();
136136
const [userSettings] = useState(() => loadUserSettings({ pageId: 'Plans' }));
137-
const [page, setPage] = useState(1);
138137

139138
const [plans, plansLoaded, plansLoadError] = useK8sWatchResource<V1beta1Plan[]>({
140139
groupVersionKind: PlanModelGroupVersionKind,
@@ -178,8 +177,7 @@ const PlansListPage: React.FC<{
178177
title={t('Plans')}
179178
userSettings={userSettings}
180179
customNoResultsFound={EmptyState}
181-
page={page}
182-
setPage={setPage}
180+
page={1}
183181
/>
184182
</ModalHOC>
185183
);

packages/forklift-console-plugin/src/modules/Providers/views/details/tabs/Hosts/VSphereHostsList.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ export const VSphereHostsList: FC<ProviderHostsProps> = ({ obj }) => {
7777
const { provider, permissions } = obj;
7878
const { namespace } = provider?.metadata || {};
7979

80-
const [page, setPage] = useState(1);
8180
const [selectedIds, setSelectedIds] = useState([]);
8281
const [userSettings] = useState(() => loadUserSettings({ pageId: 'ProviderHosts' }));
8382

@@ -110,8 +109,7 @@ export const VSphereHostsList: FC<ProviderHostsProps> = ({ obj }) => {
110109
namespace: namespace,
111110
title: t('Hosts'),
112111
userSettings: userSettings,
113-
page,
114-
setPage,
112+
page: 1,
115113
};
116114

117115
const extendedProps: PageWithSelectionProps = permissions?.canPatch

packages/forklift-console-plugin/src/modules/Providers/views/details/tabs/VirtualMachines/components/ProviderVirtualMachinesList.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ export const ProviderVirtualMachinesList: FC<ProviderVirtualMachinesListProps> =
4949
className,
5050
}) => {
5151
const { t } = useForkliftTranslation();
52-
const [page, setPage] = useState(1);
5352
const [userSettings] = useState(() => loadUserSettings({ pageId }));
5453

5554
const initialSelectedIds_ = initialSelectedIds || [];
@@ -93,8 +92,7 @@ export const ProviderVirtualMachinesList: FC<ProviderVirtualMachinesListProps> =
9392
toId={toId}
9493
onSelect={onSelectedIds}
9594
selectedIds={initialSelectedIds_}
96-
page={page}
97-
setPage={setPage}
95+
page={1}
9896
expandedIds={initialExpandedIds_}
9997
ExpandedComponent={ConcernsTable}
10098
/>

packages/forklift-console-plugin/src/modules/Providers/views/list/ProvidersListPage.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ const ProvidersListPage: React.FC<{
170170
}> = ({ namespace }) => {
171171
const { t } = useForkliftTranslation();
172172
const [userSettings] = useState(() => loadUserSettings({ pageId: 'Providers' }));
173-
const [page, setPage] = useState(1);
174173

175174
const [providers, providersLoaded, providersLoadError] = useK8sWatchResource<V1beta1Provider[]>({
176175
groupVersionKind: ProviderModelGroupVersionKind,
@@ -225,8 +224,7 @@ const ProvidersListPage: React.FC<{
225224
: undefined
226225
}
227226
customNoResultsFound={EmptyState}
228-
page={page}
229-
setPage={setPage}
227+
page={1}
230228
/>
231229
);
232230
};

packages/forklift-console-plugin/src/modules/StorageMaps/views/list/StorageMapsListPage.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ const StorageMapsListPage: React.FC<{
104104
}> = ({ namespace }) => {
105105
const { t } = useForkliftTranslation();
106106
const [userSettings] = useState(() => loadUserSettings({ pageId: 'StorageMaps' }));
107-
const [page, setPage] = useState(1);
108107

109108
const [StorageMaps, StorageMapsLoaded, StorageMapsLoadError] = useK8sWatchResource<
110109
V1beta1StorageMap[]
@@ -152,8 +151,7 @@ const StorageMapsListPage: React.FC<{
152151
title={t('StorageMaps')}
153152
userSettings={userSettings}
154153
customNoResultsFound={EmptyState}
155-
page={page}
156-
setPage={setPage}
154+
page={1}
157155
/>
158156
);
159157
};

0 commit comments

Comments
 (0)