diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-09-14 11:57:49 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-09-14 11:57:49 +0200 |
commit | d592e0a9b2931c7c9cbedb27fb8efc9aaacad9bb (patch) | |
tree | 549b14b842de296efed846a11b3681efe08cfa9e /client/src/app/shared/rest/rest.service.ts | |
parent | 91f6f169b1110eeae6ebf5c387f4204b0d07703c (diff) | |
download | PeerTube-d592e0a9b2931c7c9cbedb27fb8efc9aaacad9bb.tar.gz PeerTube-d592e0a9b2931c7c9cbedb27fb8efc9aaacad9bb.tar.zst PeerTube-d592e0a9b2931c7c9cbedb27fb8efc9aaacad9bb.zip |
Move to HttpClient and PrimeNG data table
Diffstat (limited to 'client/src/app/shared/rest/rest.service.ts')
-rw-r--r-- | client/src/app/shared/rest/rest.service.ts | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/client/src/app/shared/rest/rest.service.ts b/client/src/app/shared/rest/rest.service.ts index 43dc20b34..f7838ba06 100644 --- a/client/src/app/shared/rest/rest.service.ts +++ b/client/src/app/shared/rest/rest.service.ts | |||
@@ -1,27 +1,34 @@ | |||
1 | import { Injectable } from '@angular/core' | 1 | import { Injectable } from '@angular/core' |
2 | import { URLSearchParams } from '@angular/http' | 2 | import { HttpParams } from '@angular/common/http' |
3 | import { SortMeta } from 'primeng/primeng' | ||
3 | 4 | ||
4 | import { RestPagination } from './rest-pagination' | 5 | import { RestPagination } from './rest-pagination' |
5 | 6 | ||
6 | @Injectable() | 7 | @Injectable() |
7 | export class RestService { | 8 | export class RestService { |
8 | 9 | ||
9 | buildRestGetParams (pagination?: RestPagination, sort?: string) { | 10 | addRestGetParams (params: HttpParams, pagination?: RestPagination, sort?: SortMeta | string) { |
10 | const params = new URLSearchParams() | 11 | let newParams = params |
11 | 12 | ||
12 | if (pagination) { | 13 | if (pagination !== undefined) { |
13 | const start: number = (pagination.currentPage - 1) * pagination.itemsPerPage | 14 | newParams = newParams.set('start', pagination.start.toString()) |
14 | const count: number = pagination.itemsPerPage | 15 | .set('count', pagination.count.toString()) |
15 | |||
16 | params.set('start', start.toString()) | ||
17 | params.set('count', count.toString()) | ||
18 | } | 16 | } |
19 | 17 | ||
20 | if (sort) { | 18 | if (sort !== undefined) { |
21 | params.set('sort', sort) | 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) | ||
22 | } | 29 | } |
23 | 30 | ||
24 | return params | 31 | return newParams |
25 | } | 32 | } |
26 | 33 | ||
27 | } | 34 | } |