From 16a9fce0e104a38371a9e5a567ec611ae3fc7f33 Mon Sep 17 00:00:00 2001 From: ys9693 Date: Sun, 19 Jan 2020 13:50:02 +0200 Subject: Catalog alignment Issue-ID: SDC-2724 Signed-off-by: ys9693 Change-Id: I52b4aacb58cbd432ca0e1ff7ff1f7dd52099c6fe --- catalog-ui/src/app/models/home-filter.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 catalog-ui/src/app/models/home-filter.ts (limited to 'catalog-ui/src/app/models/home-filter.ts') diff --git a/catalog-ui/src/app/models/home-filter.ts b/catalog-ui/src/app/models/home-filter.ts new file mode 100644 index 0000000000..2aa509b3d8 --- /dev/null +++ b/catalog-ui/src/app/models/home-filter.ts @@ -0,0 +1,30 @@ +import { IEntityFilterObject, ISearchFilter } from "app/ng2/pipes/entity-filter.pipe"; + +export interface IHomeFilterParams { + 'filter.term': string; + 'filter.distributed': string; + 'filter.status': string +} + + +export class HomeFilter implements IEntityFilterObject{ + selectedStatuses: Array; + distributed: Array; + search: ISearchFilter; + + constructor(params = {}) { + this.search = { filterTerm : params['filter.term'] || "" }; + this.selectedStatuses = params['filter.status']? params['filter.status'].split(',') : []; + this.distributed = params['filter.distributed']? params['filter.distributed'].split(',') : [] + + } + + public toUrlParam = ():IHomeFilterParams => { + return { + 'filter.term': this.search.filterTerm, + 'filter.distributed': this.distributed && this.distributed.join(',') || null, + 'filter.status': this.selectedStatuses && this.selectedStatuses.join(',') || null + }; + } + +} \ No newline at end of file -- cgit 1.2.3-korg