summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/models/home-filter.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/models/home-filter.ts')
-rw-r--r--catalog-ui/src/app/models/home-filter.ts30
1 files changed, 30 insertions, 0 deletions
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<string>;
+ distributed: Array<string>;
+ 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