diff options
Diffstat (limited to '')
-rw-r--r-- | src/pybind/mgr/dashboard/frontend/src/app/shared/api/paginate.model.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/api/paginate.model.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/paginate.model.ts new file mode 100644 index 000000000..703792a75 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/paginate.model.ts @@ -0,0 +1,16 @@ +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +export class PaginateObservable<Type> { + observable: Observable<Type>; + count: number; + + constructor(obs: Observable<Type>) { + this.observable = obs.pipe( + map((response: any) => { + this.count = Number(response.headers?.get('X-Total-Count')); + return response['body']; + }) + ); + } +} |