]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/eg2/src/app/share/util/hash-params.ts
LP1615805 No inputs after submit in patron search (AngularJS)
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / share / util / hash-params.ts
1 import {ParamMap} from '@angular/router';
2
3
4 /**
5  * Class to map a generic hash to an Angular ParamMap.
6  */
7 export class HashParams implements ParamMap {
8     private params: {[key: string]: any[]};
9
10     public get keys(): string[] {
11         return Object.keys(this.params);
12     }
13
14     constructor(params: {[key: string]: any}) {
15         this.params = params || {};
16     }
17
18     has(key: string): boolean {
19         return key in this.params;
20     }
21
22     get(key: string): string | null {
23         return this.has(key) ? [].concat(this.params[key])[0] : null;
24     }
25
26     getAll(key: string): string[] {
27         return this.has(key) ? [].concat(this.params[key]) : [];
28     }
29 }