]>
Commit | Line | Data |
---|---|---|
1 | import { Injectable } from '@angular/core' | |
2 | import { HttpParams } from '@angular/common/http' | |
3 | import { SortMeta } from 'primeng/components/common/sortmeta' | |
4 | ||
5 | import { RestPagination } from './rest-pagination' | |
6 | ||
7 | @Injectable() | |
8 | export class RestService { | |
9 | ||
10 | addRestGetParams (params: HttpParams, pagination?: RestPagination, sort?: SortMeta | string) { | |
11 | let newParams = params | |
12 | ||
13 | if (pagination !== undefined) { | |
14 | newParams = newParams.set('start', pagination.start.toString()) | |
15 | .set('count', pagination.count.toString()) | |
16 | } | |
17 | ||
18 | if (sort !== undefined) { | |
19 | let sortString = '' | |
20 | ||
21 | if (typeof sort === 'string') { | |
22 | sortString = sort | |
23 | } else { | |
24 | const sortPrefix = sort.order === 1 ? '' : '-' | |
25 | sortString = sortPrefix + sort.field | |
26 | } | |
27 | ||
28 | newParams = newParams.set('sort', sortString) | |
29 | } | |
30 | ||
31 | return newParams | |
32 | } | |
33 | ||
34 | } |