diff --git a/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.html b/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.html
index eb23745..7b49d8e 100644
--- a/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.html
+++ b/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.html
@@ -258,6 +258,16 @@
>
+
+
+ @if (showLoadMore) {
+
+
+
+ }
} @else {
diff --git a/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.ts b/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.ts
index 443d392..fab18ca 100644
--- a/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.ts
+++ b/frontend/projects/shared-meet-components/src/lib/components/recording-lists/recording-lists.component.ts
@@ -86,6 +86,7 @@ export class RecordingListsComponent implements OnInit, OnChanges {
@Input() showFilters = false;
@Input() showSelection = true;
@Input() showRoomInfo = true;
+ @Input() showLoadMore = false;
@Input() loading = false;
// Host binding for styling when recordings are selected
@@ -97,6 +98,7 @@ export class RecordingListsComponent implements OnInit, OnChanges {
// Output events
@Output() recordingAction = new EventEmitter();
@Output() filterChange = new EventEmitter<{ nameFilter: string; statusFilter: string }>();
+ @Output() loadMore = new EventEmitter<{ nameFilter: string; statusFilter: string }>();
@Output() refresh = new EventEmitter();
// Filter controls
@@ -274,6 +276,12 @@ export class RecordingListsComponent implements OnInit, OnChanges {
}
}
+ loadMoreRecordings() {
+ const nameFilter = this.nameFilterControl.value || '';
+ const statusFilter = this.statusFilterControl.value || '';
+ this.loadMore.emit({ nameFilter, statusFilter });
+ }
+
// ===== FILTER METHODS =====
hasActiveFilters(): boolean {
diff --git a/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.html b/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.html
index dd1690d..5de1178 100644
--- a/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.html
+++ b/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.html
@@ -317,6 +317,16 @@
>
+
+
+ @if (showLoadMore) {
+
+
+
+ }
} @else {
diff --git a/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.ts b/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.ts
index 00823bb..b866628 100644
--- a/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.ts
+++ b/frontend/projects/shared-meet-components/src/lib/components/rooms-lists/rooms-lists.component.ts
@@ -94,6 +94,7 @@ export class RoomsListsComponent implements OnInit, OnChanges {
@Input() rooms: MeetRoom[] = [];
@Input() showFilters = false;
@Input() showSelection = true;
+ @Input() showLoadMore = false;
@Input() loading = false;
// Host binding for styling when rooms are selected
@@ -105,6 +106,7 @@ export class RoomsListsComponent implements OnInit, OnChanges {
// Output events
@Output() roomAction = new EventEmitter();
@Output() filterChange = new EventEmitter<{ nameFilter: string; statusFilter: string }>();
+ @Output() loadMore = new EventEmitter();
@Output() refresh = new EventEmitter();
// Filter controls
diff --git a/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.html b/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.html
index a62f184..ee62353 100644
--- a/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.html
+++ b/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.html
@@ -32,9 +32,10 @@
[recordings]="recordings()"
[canDeleteRecordings]="true"
[loading]="isLoading"
- [showFilters]="true"
[showSelection]="true"
+ [showLoadMore]="hasMoreRecordings"
(recordingAction)="onRecordingAction($event)"
+ (loadMore)="loadMoreRecordings($event)"
(refresh)="refreshRecordings()"
(filterChange)="refreshRecordings($event)"
>
diff --git a/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.ts
index a704d90..99bab95 100644
--- a/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.ts
+++ b/frontend/projects/shared-meet-components/src/lib/pages/console/recordings/recordings.component.ts
@@ -110,9 +110,9 @@ export class RecordingsComponent implements OnInit {
}
}
- async loadMoreRecordings() {
+ async loadMoreRecordings(filters?: { nameFilter: string; statusFilter: string }) {
if (!this.hasMoreRecordings || this.isLoading) return;
- await this.loadRecordings();
+ await this.loadRecordings(filters);
}
async refreshRecordings(filters?: { nameFilter: string; statusFilter: string }) {
diff --git a/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.html b/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.html
index 42e78ab..5623bc8 100644
--- a/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.html
+++ b/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.html
@@ -35,7 +35,9 @@
[rooms]="rooms()"
[loading]="isLoading"
[showSelection]="true"
+ [showLoadMore]="hasMoreRooms"
(roomAction)="onRoomAction($event)"
+ (loadMore)="loadMoreRooms()"
(refresh)="refreshRooms()"
>