@ngageoint/mage.web-core-lib 6.3.0-beta.2 → 6.3.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +33 -2
  2. package/angular-cli/README.md +30 -0
  3. package/angular-cli/builders/fesm-amd.d.ts +2 -0
  4. package/angular-cli/builders/fesm-amd.js +112 -0
  5. package/angular-cli/builders/fesm-amd.js.map +1 -0
  6. package/angular-cli/builders/index.d.ts +1 -0
  7. package/angular-cli/builders/index.js +18 -0
  8. package/angular-cli/builders/index.js.map +1 -0
  9. package/angular-cli/builders/schema.json +23 -0
  10. package/angular-cli/builders.json +9 -0
  11. package/angular-cli/collection.json +14 -0
  12. package/angular-cli/schematics/ng-add/index.d.ts +8 -0
  13. package/angular-cli/schematics/ng-add/index.js +14 -0
  14. package/angular-cli/schematics/ng-add/index.js.map +1 -0
  15. package/angular-cli/schematics/plugin-library/index.d.ts +5 -0
  16. package/angular-cli/schematics/plugin-library/index.js +127 -0
  17. package/angular-cli/schematics/plugin-library/index.js.map +1 -0
  18. package/common/xhr-img.component.d.ts +2 -2
  19. package/common/xhr-img.component.d.ts.map +1 -1
  20. package/esm2020/common/xhr-img.component.mjs +4 -4
  21. package/esm2020/feed/feed.service.mjs +20 -20
  22. package/esm2020/paging/paging.cdk-data-source.adapter.mjs +1 -1
  23. package/esm2020/static-icon/static-icon.service.mjs +5 -5
  24. package/esm2020/user/user-read.service.mjs +4 -10
  25. package/feed/feed.service.d.ts +2 -2
  26. package/feed/feed.service.d.ts.map +1 -1
  27. package/fesm2015/ngageoint-mage.web-core-lib-common.mjs +3 -3
  28. package/fesm2015/ngageoint-mage.web-core-lib-common.mjs.map +1 -1
  29. package/fesm2015/ngageoint-mage.web-core-lib-feed.mjs +19 -19
  30. package/fesm2015/ngageoint-mage.web-core-lib-feed.mjs.map +1 -1
  31. package/fesm2015/ngageoint-mage.web-core-lib-paging.mjs.map +1 -1
  32. package/fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs +4 -4
  33. package/fesm2015/ngageoint-mage.web-core-lib-static-icon.mjs.map +1 -1
  34. package/fesm2015/ngageoint-mage.web-core-lib-user.mjs +3 -9
  35. package/fesm2015/ngageoint-mage.web-core-lib-user.mjs.map +1 -1
  36. package/fesm2020/ngageoint-mage.web-core-lib-common.mjs +3 -3
  37. package/fesm2020/ngageoint-mage.web-core-lib-common.mjs.map +1 -1
  38. package/fesm2020/ngageoint-mage.web-core-lib-feed.mjs +19 -19
  39. package/fesm2020/ngageoint-mage.web-core-lib-feed.mjs.map +1 -1
  40. package/fesm2020/ngageoint-mage.web-core-lib-paging.mjs.map +1 -1
  41. package/fesm2020/ngageoint-mage.web-core-lib-static-icon.mjs +4 -4
  42. package/fesm2020/ngageoint-mage.web-core-lib-static-icon.mjs.map +1 -1
  43. package/fesm2020/ngageoint-mage.web-core-lib-user.mjs +3 -9
  44. package/fesm2020/ngageoint-mage.web-core-lib-user.mjs.map +1 -1
  45. package/package.json +35 -21
  46. package/paging/paging.cdk-data-source.adapter.d.ts +1 -1
  47. package/paging/paging.cdk-data-source.adapter.d.ts.map +1 -1
  48. package/static-icon/static-icon.service.d.ts +2 -2
  49. package/static-icon/static-icon.service.d.ts.map +1 -1
  50. package/user/user-read.service.d.ts +2 -2
  51. package/user/user-read.service.d.ts.map +1 -1
@@ -4,8 +4,8 @@ import { map } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common/http";
6
6
  export class FeedService {
7
- constructor(http) {
8
- this.http = http;
7
+ constructor(webClient) {
8
+ this.webClient = webClient;
9
9
  // TODO: there is probably a better solution than maintaining this map here
10
10
  this._feeds = new BehaviorSubject([]);
11
11
  this.feeds = this._feeds.asObservable();
@@ -15,56 +15,56 @@ export class FeedService {
15
15
  return this._feedItems.get(feedId).asObservable();
16
16
  }
17
17
  fetchAllFeeds() {
18
- return this.http.get('/api/feeds/');
18
+ return this.webClient.get('/api/feeds/');
19
19
  }
20
20
  fetchFeed(feedId) {
21
- return this.http.get(`/api/feeds/${feedId}`);
21
+ return this.webClient.get(`/api/feeds/${feedId}`);
22
22
  }
23
23
  fetchService(serviceId) {
24
- return this.http.get(`/api/feeds/services/${serviceId}`);
24
+ return this.webClient.get(`/api/feeds/services/${serviceId}`);
25
25
  }
26
26
  createService(service) {
27
- return this.http.post(`/api/feeds/services`, service);
27
+ return this.webClient.post(`/api/feeds/services`, service);
28
28
  }
29
29
  fetchServices() {
30
- return this.http.get(`/api/feeds/services`);
30
+ return this.webClient.get(`/api/feeds/services`);
31
31
  }
32
32
  fetchServiceFeeds(serviceId) {
33
- return this.http.get(`/api/feeds/services/${serviceId}/feeds`);
33
+ return this.webClient.get(`/api/feeds/services/${serviceId}/feeds`);
34
34
  }
35
35
  fetchServiceType(serviceTypeId) {
36
- return this.http.get(`/api/feeds/service_types/${serviceTypeId}`);
36
+ return this.webClient.get(`/api/feeds/service_types/${serviceTypeId}`);
37
37
  }
38
38
  fetchTopics(serviceId) {
39
- return this.http.get(`/api/feeds/services/${serviceId}/topics`);
39
+ return this.webClient.get(`/api/feeds/services/${serviceId}/topics`);
40
40
  }
41
41
  previewFeed(serviceId, topicId, feedSpec, opts) {
42
42
  opts = opts || {};
43
43
  const skipContentFetch = opts.skipContentFetch === true;
44
- return this.http.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feed_preview?skip_content_fetch=${skipContentFetch}`, { feed: feedSpec });
44
+ return this.webClient.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feed_preview?skip_content_fetch=${skipContentFetch}`, { feed: feedSpec });
45
45
  }
46
46
  fetchTopic(serviceId, topicId) {
47
- return this.http.get(`/api/feeds/services/${serviceId}/topics/${topicId}`);
47
+ return this.webClient.get(`/api/feeds/services/${serviceId}/topics/${topicId}`);
48
48
  }
49
49
  fetchServiceTypes() {
50
- return this.http.get(`/api/feeds/service_types`);
50
+ return this.webClient.get(`/api/feeds/service_types`);
51
51
  }
52
52
  createFeed(serviceId, topicId, feedConfiguration) {
53
- return this.http.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feeds`, feedConfiguration);
53
+ return this.webClient.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feeds`, feedConfiguration);
54
54
  }
55
55
  updateFeed(feed) {
56
- return this.http.put(`/api/feeds/${feed.id}`, feed);
56
+ return this.webClient.put(`/api/feeds/${feed.id}`, feed);
57
57
  }
58
58
  deleteFeed(feed) {
59
- return this.http.delete(`/api/feeds/${feed.id}`, { responseType: 'text' });
59
+ return this.webClient.delete(`/api/feeds/${feed.id}`, { responseType: 'text' });
60
60
  }
61
61
  deleteService(service) {
62
62
  console.log('delete');
63
- return this.http.delete(`/api/feeds/services/${service.id}`, { responseType: 'text' });
63
+ return this.webClient.delete(`/api/feeds/services/${service.id}`, { responseType: 'text' });
64
64
  }
65
65
  fetchFeeds(eventId) {
66
66
  const subject = new Subject();
67
- this.http.get(`/api/events/${eventId}/feeds`).subscribe(feeds => {
67
+ this.webClient.get(`/api/events/${eventId}/feeds`).subscribe(feeds => {
68
68
  feeds.map(feed => {
69
69
  feed.id = feed.id.toString();
70
70
  return feed;
@@ -83,7 +83,7 @@ export class FeedService {
83
83
  }
84
84
  fetchFeedItems(event, feed) {
85
85
  const feedItems = this._feedItems.get(feed.id);
86
- return this.http.post(`/api/events/${event.id}/feeds/${feed.id}/content`, {}).pipe(map(content => {
86
+ return this.webClient.post(`/api/events/${event.id}/feeds/${feed.id}/content`, {}).pipe(map(content => {
87
87
  const features = content.items.features;
88
88
  features.forEach((feature) => {
89
89
  feature.id = String(feature.id);
@@ -102,4 +102,4 @@ FeedService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FeedService,
102
102
  providedIn: 'root'
103
103
  }]
104
104
  }], function () { return [{ type: i1.HttpClient }]; }, null); })();
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1saWIvZmVlZC9mZWVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQVdwQyxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRXBDLDJFQUEyRTtRQUNuRSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDN0MsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUFHLElBQUksR0FBRyxFQUEyQyxDQUFDO0lBTmhDLENBQUM7SUFPekMsU0FBUyxDQUFDLE1BQWM7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWUsY0FBYyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSx1QkFBdUIsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQTZFO1FB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RUFBRSxDQUFBO1lBQy9DLENBQUMsQ0FBQyxDQUFBO1lBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN4QixPQUFPLE9BQU8sQ0FBQTtRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzs7c0VBbEhVLFdBQVc7aUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTt1RkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEZlZWQsIEZlZWRDb250ZW50LCBGZWVkRXhwYW5kZWQsIEZlZWRQb3N0LCBGZWVkUHJldmlldywgRmVlZFRvcGljLCBTZXJ2aWNlLCBTZXJ2aWNlVHlwZSwgU3R5bGVkRmVhdHVyZSB9IGZyb20gJy4vZmVlZC5tb2RlbCdcblxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRQcmV2aWV3T3B0aW9ucyB7XG4gIHNraXBDb250ZW50RmV0Y2g/OiBib29sZWFuXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuXG4gIC8vIFRPRE86IHRoZXJlIGlzIHByb2JhYmx5IGEgYmV0dGVyIHNvbHV0aW9uIHRoYW4gbWFpbnRhaW5pbmcgdGhpcyBtYXAgaGVyZVxuICBwcml2YXRlIF9mZWVkcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RmVlZD4+KFtdKTtcbiAgcmVhZG9ubHkgZmVlZHMgPSB0aGlzLl9mZWVkcy5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIF9mZWVkSXRlbXMgPSBuZXcgTWFwPHN0cmluZywgQmVoYXZpb3JTdWJqZWN0PEFycmF5PEZlYXR1cmU+Pj4oKTtcbiAgZmVlZEl0ZW1zKGZlZWRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxGZWF0dXJlPj4ge1xuICAgIHJldHVybiB0aGlzLl9mZWVkSXRlbXMuZ2V0KGZlZWRJZCkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBmZXRjaEFsbEZlZWRzKCk6IE9ic2VydmFibGU8QXJyYXk8RmVlZD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcnJheTxGZWVkPj4oJy9hcGkvZmVlZHMvJyk7XG4gIH1cblxuICBmZXRjaEZlZWQoZmVlZElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZlZWRFeHBhbmRlZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZlZWRFeHBhbmRlZD4oYC9hcGkvZmVlZHMvJHtmZWVkSWR9YCk7XG4gIH1cblxuICBmZXRjaFNlcnZpY2Uoc2VydmljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlcnZpY2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTZXJ2aWNlPihgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2VJZH1gKTtcbiAgfVxuXG4gIGNyZWF0ZVNlcnZpY2Uoc2VydmljZTogeyB0aXRsZTogc3RyaW5nLCBzdW1tYXJ5Pzogc3RyaW5nLCBzZXJ2aWNlVHlwZTogc3RyaW5nLCBjb25maWc6IGFueX0pOiBPYnNlcnZhYmxlPFNlcnZpY2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2VydmljZT4oYC9hcGkvZmVlZHMvc2VydmljZXNgLCBzZXJ2aWNlKTtcbiAgfVxuXG4gIGZldGNoU2VydmljZXMoKTogT2JzZXJ2YWJsZTxBcnJheTxTZXJ2aWNlPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFNlcnZpY2U+PihgL2FwaS9mZWVkcy9zZXJ2aWNlc2ApO1xuICB9XG5cbiAgZmV0Y2hTZXJ2aWNlRmVlZHMoc2VydmljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PEZlZWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8RmVlZD4+KGAvYXBpL2ZlZWRzL3NlcnZpY2VzLyR7c2VydmljZUlkfS9mZWVkc2ApO1xuICB9XG5cbiAgZmV0Y2hTZXJ2aWNlVHlwZShzZXJ2aWNlVHlwZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlcnZpY2VUeXBlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2VydmljZVR5cGU+KGAvYXBpL2ZlZWRzL3NlcnZpY2VfdHlwZXMvJHtzZXJ2aWNlVHlwZUlkfWApO1xuICB9XG5cbiAgZmV0Y2hUb3BpY3Moc2VydmljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PEZlZWRUb3BpYz4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcnJheTxGZWVkVG9waWM+PihgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2VJZH0vdG9waWNzYCk7XG4gIH1cblxuICBwcmV2aWV3RmVlZChzZXJ2aWNlSWQ6IHN0cmluZywgdG9waWNJZDogc3RyaW5nLCBmZWVkU3BlYzogUGFydGlhbDxPbWl0PEZlZWRQb3N0LCAnc2VydmljZScgfCAndG9waWMnPj4sIG9wdHM/OiBGZWVkUHJldmlld09wdGlvbnMpOiBPYnNlcnZhYmxlPEZlZWRQcmV2aWV3PiB7XG4gICAgb3B0cyA9IG9wdHMgfHwge31cbiAgICBjb25zdCBza2lwQ29udGVudEZldGNoOiBib29sZWFuID0gb3B0cy5za2lwQ29udGVudEZldGNoID09PSB0cnVlXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEZlZWRQcmV2aWV3PihcbiAgICAgIGAvYXBpL2ZlZWRzL3NlcnZpY2VzLyR7c2VydmljZUlkfS90b3BpY3MvJHt0b3BpY0lkfS9mZWVkX3ByZXZpZXc/c2tpcF9jb250ZW50X2ZldGNoPSR7c2tpcENvbnRlbnRGZXRjaH1gLFxuICAgICAgeyBmZWVkOiBmZWVkU3BlYyB9KTtcbiAgfVxuXG4gIGZldGNoVG9waWMoc2VydmljZUlkOiBzdHJpbmcsIHRvcGljSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RmVlZFRvcGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RmVlZFRvcGljPihgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2VJZH0vdG9waWNzLyR7dG9waWNJZH1gKTtcbiAgfVxuXG4gIGZldGNoU2VydmljZVR5cGVzKCk6IE9ic2VydmFibGU8QXJyYXk8U2VydmljZVR5cGU+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8U2VydmljZVR5cGU+PihgL2FwaS9mZWVkcy9zZXJ2aWNlX3R5cGVzYCk7XG4gIH1cblxuICBjcmVhdGVGZWVkKHNlcnZpY2VJZDogc3RyaW5nLCB0b3BpY0lkOiBzdHJpbmcsIGZlZWRDb25maWd1cmF0aW9uOiBhbnkpOiBPYnNlcnZhYmxlPEZlZWRFeHBhbmRlZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGZWVkRXhwYW5kZWQ+KGAvYXBpL2ZlZWRzL3NlcnZpY2VzLyR7c2VydmljZUlkfS90b3BpY3MvJHt0b3BpY0lkfS9mZWVkc2AsIGZlZWRDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHVwZGF0ZUZlZWQoZmVlZDogUGFydGlhbDxPbWl0PEZlZWRQb3N0LCAnaWQnPj4gJiBQaWNrPEZlZWQsICdpZCc+KTogT2JzZXJ2YWJsZTxGZWVkRXhwYW5kZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxGZWVkRXhwYW5kZWQ+KGAvYXBpL2ZlZWRzLyR7ZmVlZC5pZH1gLCBmZWVkKTtcbiAgfVxuXG4gIGRlbGV0ZUZlZWQoZmVlZDogRmVlZCB8IEZlZWRFeHBhbmRlZCk6IE9ic2VydmFibGU8e30+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgL2FwaS9mZWVkcy8ke2ZlZWQuaWR9YCwge3Jlc3BvbnNlVHlwZTogJ3RleHQnfSk7XG4gIH1cblxuICBkZWxldGVTZXJ2aWNlKHNlcnZpY2U6IFNlcnZpY2UpOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgY29uc29sZS5sb2coJ2RlbGV0ZScpXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlLmlkfWAsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSk7XG4gIH1cblxuICBmZXRjaEZlZWRzKGV2ZW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXJyYXk8RmVlZD4+IHtcbiAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8QXJyYXk8RmVlZD4+KCk7XG4gICAgdGhpcy5odHRwLmdldDxBcnJheTxGZWVkPj4oYC9hcGkvZXZlbnRzLyR7ZXZlbnRJZH0vZmVlZHNgKS5zdWJzY3JpYmUoZmVlZHMgPT4ge1xuICAgICAgZmVlZHMubWFwKGZlZWQgPT4ge1xuICAgICAgICBmZWVkLmlkID0gZmVlZC5pZC50b1N0cmluZygpO1xuICAgICAgICByZXR1cm4gZmVlZDtcbiAgICAgIH0pO1xuXG4gICAgICBmZWVkcy5mb3JFYWNoKGZlZWQgPT4ge1xuICAgICAgICBsZXQgZmVlZEl0ZW1zID0gdGhpcy5fZmVlZEl0ZW1zLmdldChmZWVkLmlkKTtcbiAgICAgICAgaWYgKCFmZWVkSXRlbXMpIHtcbiAgICAgICAgICBmZWVkSXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PEZlYXR1cmU+PihbXSk7XG4gICAgICAgICAgdGhpcy5fZmVlZEl0ZW1zLnNldChmZWVkLmlkLCBmZWVkSXRlbXMpO1xuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBzdWJqZWN0Lm5leHQoZmVlZHMpO1xuICAgICAgdGhpcy5fZmVlZHMubmV4dChmZWVkcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3ViamVjdDtcbiAgfVxuXG4gIGZldGNoRmVlZEl0ZW1zKGV2ZW50OiBhbnksIGZlZWQ6IEZlZWQpOiBPYnNlcnZhYmxlPEZlZWRDb250ZW50PiB7XG4gICAgY29uc3QgZmVlZEl0ZW1zID0gdGhpcy5fZmVlZEl0ZW1zLmdldChmZWVkLmlkKVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGZWVkQ29udGVudD4oYC9hcGkvZXZlbnRzLyR7ZXZlbnQuaWR9L2ZlZWRzLyR7ZmVlZC5pZH0vY29udGVudGAsIHt9KS5waXBlKFxuICAgICAgbWFwKGNvbnRlbnQgPT4ge1xuICAgICAgICBjb25zdCBmZWF0dXJlcyA9IGNvbnRlbnQuaXRlbXMuZmVhdHVyZXNcbiAgICAgICAgZmVhdHVyZXMuZm9yRWFjaCgoZmVhdHVyZTogU3R5bGVkRmVhdHVyZSkgPT4ge1xuICAgICAgICAgIGZlYXR1cmUuaWQgPSBTdHJpbmcoZmVhdHVyZS5pZClcbiAgICAgICAgICBmZWF0dXJlLnByb3BlcnRpZXMgPSBmZWF0dXJlLnByb3BlcnRpZXMgfHwge31cbiAgICAgICAgfSlcbiAgICAgICAgZmVlZEl0ZW1zLm5leHQoZmVhdHVyZXMpXG4gICAgICAgIHJldHVybiBjb250ZW50XG4gICAgICB9KVxuICAgIClcbiAgfVxufVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1saWIvZmVlZC9mZWVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQVdwQyxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFvQixTQUFxQjtRQUFyQixjQUFTLEdBQVQsU0FBUyxDQUFZO1FBRXpDLDJFQUEyRTtRQUNuRSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDN0MsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUFHLElBQUksR0FBRyxFQUEyQyxDQUFDO0lBTjNCLENBQUM7SUFPOUMsU0FBUyxDQUFDLE1BQWM7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQWMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQWUsY0FBYyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBVSx1QkFBdUIsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQTZFO1FB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RUFBRSxDQUFBO1lBQy9DLENBQUMsQ0FBQyxDQUFBO1lBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN4QixPQUFPLE9BQU8sQ0FBQTtRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzs7c0VBbEhVLFdBQVc7aUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTt1RkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEZlZWQsIEZlZWRDb250ZW50LCBGZWVkRXhwYW5kZWQsIEZlZWRQb3N0LCBGZWVkUHJldmlldywgRmVlZFRvcGljLCBTZXJ2aWNlLCBTZXJ2aWNlVHlwZSwgU3R5bGVkRmVhdHVyZSB9IGZyb20gJy4vZmVlZC5tb2RlbCdcblxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRQcmV2aWV3T3B0aW9ucyB7XG4gIHNraXBDb250ZW50RmV0Y2g/OiBib29sZWFuXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdlYkNsaWVudDogSHR0cENsaWVudCkgeyB9XG5cbiAgLy8gVE9ETzogdGhlcmUgaXMgcHJvYmFibHkgYSBiZXR0ZXIgc29sdXRpb24gdGhhbiBtYWludGFpbmluZyB0aGlzIG1hcCBoZXJlXG4gIHByaXZhdGUgX2ZlZWRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxGZWVkPj4oW10pO1xuICByZWFkb25seSBmZWVkcyA9IHRoaXMuX2ZlZWRzLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgX2ZlZWRJdGVtcyA9IG5ldyBNYXA8c3RyaW5nLCBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RmVhdHVyZT4+PigpO1xuICBmZWVkSXRlbXMoZmVlZElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PEZlYXR1cmU+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlZWRJdGVtcy5nZXQoZmVlZElkKS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGZldGNoQWxsRmVlZHMoKTogT2JzZXJ2YWJsZTxBcnJheTxGZWVkPj4ge1xuICAgIHJldHVybiB0aGlzLndlYkNsaWVudC5nZXQ8QXJyYXk8RmVlZD4+KCcvYXBpL2ZlZWRzLycpO1xuICB9XG5cbiAgZmV0Y2hGZWVkKGZlZWRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxGZWVkRXhwYW5kZWQ+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJDbGllbnQuZ2V0PEZlZWRFeHBhbmRlZD4oYC9hcGkvZmVlZHMvJHtmZWVkSWR9YCk7XG4gIH1cblxuICBmZXRjaFNlcnZpY2Uoc2VydmljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlcnZpY2U+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJDbGllbnQuZ2V0PFNlcnZpY2U+KGAvYXBpL2ZlZWRzL3NlcnZpY2VzLyR7c2VydmljZUlkfWApO1xuICB9XG5cbiAgY3JlYXRlU2VydmljZShzZXJ2aWNlOiB7IHRpdGxlOiBzdHJpbmcsIHN1bW1hcnk/OiBzdHJpbmcsIHNlcnZpY2VUeXBlOiBzdHJpbmcsIGNvbmZpZzogYW55fSk6IE9ic2VydmFibGU8U2VydmljZT4ge1xuICAgIHJldHVybiB0aGlzLndlYkNsaWVudC5wb3N0PFNlcnZpY2U+KGAvYXBpL2ZlZWRzL3NlcnZpY2VzYCwgc2VydmljZSk7XG4gIH1cblxuICBmZXRjaFNlcnZpY2VzKCk6IE9ic2VydmFibGU8QXJyYXk8U2VydmljZT4+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJDbGllbnQuZ2V0PEFycmF5PFNlcnZpY2U+PihgL2FwaS9mZWVkcy9zZXJ2aWNlc2ApO1xuICB9XG5cbiAgZmV0Y2hTZXJ2aWNlRmVlZHMoc2VydmljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PEZlZWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmdldDxBcnJheTxGZWVkPj4oYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlSWR9L2ZlZWRzYCk7XG4gIH1cblxuICBmZXRjaFNlcnZpY2VUeXBlKHNlcnZpY2VUeXBlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U2VydmljZVR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJDbGllbnQuZ2V0PFNlcnZpY2VUeXBlPihgL2FwaS9mZWVkcy9zZXJ2aWNlX3R5cGVzLyR7c2VydmljZVR5cGVJZH1gKTtcbiAgfVxuXG4gIGZldGNoVG9waWNzKHNlcnZpY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxGZWVkVG9waWM+PiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmdldDxBcnJheTxGZWVkVG9waWM+PihgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2VJZH0vdG9waWNzYCk7XG4gIH1cblxuICBwcmV2aWV3RmVlZChzZXJ2aWNlSWQ6IHN0cmluZywgdG9waWNJZDogc3RyaW5nLCBmZWVkU3BlYzogUGFydGlhbDxPbWl0PEZlZWRQb3N0LCAnc2VydmljZScgfCAndG9waWMnPj4sIG9wdHM/OiBGZWVkUHJldmlld09wdGlvbnMpOiBPYnNlcnZhYmxlPEZlZWRQcmV2aWV3PiB7XG4gICAgb3B0cyA9IG9wdHMgfHwge31cbiAgICBjb25zdCBza2lwQ29udGVudEZldGNoOiBib29sZWFuID0gb3B0cy5za2lwQ29udGVudEZldGNoID09PSB0cnVlXG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LnBvc3Q8RmVlZFByZXZpZXc+KFxuICAgICAgYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlSWR9L3RvcGljcy8ke3RvcGljSWR9L2ZlZWRfcHJldmlldz9za2lwX2NvbnRlbnRfZmV0Y2g9JHtza2lwQ29udGVudEZldGNofWAsXG4gICAgICB7IGZlZWQ6IGZlZWRTcGVjIH0pO1xuICB9XG5cbiAgZmV0Y2hUb3BpYyhzZXJ2aWNlSWQ6IHN0cmluZywgdG9waWNJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxGZWVkVG9waWM+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJDbGllbnQuZ2V0PEZlZWRUb3BpYz4oYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlSWR9L3RvcGljcy8ke3RvcGljSWR9YCk7XG4gIH1cblxuICBmZXRjaFNlcnZpY2VUeXBlcygpOiBPYnNlcnZhYmxlPEFycmF5PFNlcnZpY2VUeXBlPj4ge1xuICAgIHJldHVybiB0aGlzLndlYkNsaWVudC5nZXQ8QXJyYXk8U2VydmljZVR5cGU+PihgL2FwaS9mZWVkcy9zZXJ2aWNlX3R5cGVzYCk7XG4gIH1cblxuICBjcmVhdGVGZWVkKHNlcnZpY2VJZDogc3RyaW5nLCB0b3BpY0lkOiBzdHJpbmcsIGZlZWRDb25maWd1cmF0aW9uOiBhbnkpOiBPYnNlcnZhYmxlPEZlZWRFeHBhbmRlZD4ge1xuICAgIHJldHVybiB0aGlzLndlYkNsaWVudC5wb3N0PEZlZWRFeHBhbmRlZD4oYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlSWR9L3RvcGljcy8ke3RvcGljSWR9L2ZlZWRzYCwgZmVlZENvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgdXBkYXRlRmVlZChmZWVkOiBQYXJ0aWFsPE9taXQ8RmVlZFBvc3QsICdpZCc+PiAmIFBpY2s8RmVlZCwgJ2lkJz4pOiBPYnNlcnZhYmxlPEZlZWRFeHBhbmRlZD4ge1xuICAgIHJldHVybiB0aGlzLndlYkNsaWVudC5wdXQ8RmVlZEV4cGFuZGVkPihgL2FwaS9mZWVkcy8ke2ZlZWQuaWR9YCwgZmVlZCk7XG4gIH1cblxuICBkZWxldGVGZWVkKGZlZWQ6IEZlZWQgfCBGZWVkRXhwYW5kZWQpOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmRlbGV0ZShgL2FwaS9mZWVkcy8ke2ZlZWQuaWR9YCwge3Jlc3BvbnNlVHlwZTogJ3RleHQnfSk7XG4gIH1cblxuICBkZWxldGVTZXJ2aWNlKHNlcnZpY2U6IFNlcnZpY2UpOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgY29uc29sZS5sb2coJ2RlbGV0ZScpXG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmRlbGV0ZShgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2UuaWR9YCwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KTtcbiAgfVxuXG4gIGZldGNoRmVlZHMoZXZlbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcnJheTxGZWVkPj4ge1xuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxBcnJheTxGZWVkPj4oKTtcbiAgICB0aGlzLndlYkNsaWVudC5nZXQ8QXJyYXk8RmVlZD4+KGAvYXBpL2V2ZW50cy8ke2V2ZW50SWR9L2ZlZWRzYCkuc3Vic2NyaWJlKGZlZWRzID0+IHtcbiAgICAgIGZlZWRzLm1hcChmZWVkID0+IHtcbiAgICAgICAgZmVlZC5pZCA9IGZlZWQuaWQudG9TdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIGZlZWQ7XG4gICAgICB9KTtcblxuICAgICAgZmVlZHMuZm9yRWFjaChmZWVkID0+IHtcbiAgICAgICAgbGV0IGZlZWRJdGVtcyA9IHRoaXMuX2ZlZWRJdGVtcy5nZXQoZmVlZC5pZCk7XG4gICAgICAgIGlmICghZmVlZEl0ZW1zKSB7XG4gICAgICAgICAgZmVlZEl0ZW1zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxGZWF0dXJlPj4oW10pO1xuICAgICAgICAgIHRoaXMuX2ZlZWRJdGVtcy5zZXQoZmVlZC5pZCwgZmVlZEl0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgc3ViamVjdC5uZXh0KGZlZWRzKTtcbiAgICAgIHRoaXMuX2ZlZWRzLm5leHQoZmVlZHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YmplY3Q7XG4gIH1cblxuICBmZXRjaEZlZWRJdGVtcyhldmVudDogYW55LCBmZWVkOiBGZWVkKTogT2JzZXJ2YWJsZTxGZWVkQ29udGVudD4ge1xuICAgIGNvbnN0IGZlZWRJdGVtcyA9IHRoaXMuX2ZlZWRJdGVtcy5nZXQoZmVlZC5pZClcbiAgICByZXR1cm4gdGhpcy53ZWJDbGllbnQucG9zdDxGZWVkQ29udGVudD4oYC9hcGkvZXZlbnRzLyR7ZXZlbnQuaWR9L2ZlZWRzLyR7ZmVlZC5pZH0vY29udGVudGAsIHt9KS5waXBlKFxuICAgICAgbWFwKGNvbnRlbnQgPT4ge1xuICAgICAgICBjb25zdCBmZWF0dXJlcyA9IGNvbnRlbnQuaXRlbXMuZmVhdHVyZXNcbiAgICAgICAgZmVhdHVyZXMuZm9yRWFjaCgoZmVhdHVyZTogU3R5bGVkRmVhdHVyZSkgPT4ge1xuICAgICAgICAgIGZlYXR1cmUuaWQgPSBTdHJpbmcoZmVhdHVyZS5pZClcbiAgICAgICAgICBmZWF0dXJlLnByb3BlcnRpZXMgPSBmZWF0dXJlLnByb3BlcnRpZXMgfHwge31cbiAgICAgICAgfSlcbiAgICAgICAgZmVlZEl0ZW1zLm5leHQoZmVhdHVyZXMpXG4gICAgICAgIHJldHVybiBjb250ZW50XG4gICAgICB9KVxuICAgIClcbiAgfVxufVxuIl19
@@ -49,4 +49,4 @@ export class PagingDataSource extends DataSource {
49
49
  });
50
50
  }
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5nLmNkay1kYXRhLXNvdXJjZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1saWIvcGFnaW5nL3BhZ2luZy5jZGstZGF0YS1zb3VyY2UuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBNEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUzRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsVUFBYTtJQU9wRCxZQUFvQixRQUFnQixFQUFVLFNBQThEO1FBQzFHLEtBQUssRUFBRSxDQUFBO1FBRFcsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQXFEO1FBTHBHLFNBQUksR0FBZSxJQUFJLENBQUE7UUFDdkIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtRQUNoQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFJekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBa0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ3BELEtBQUssSUFBSSxJQUFJLEdBQUcsU0FBUyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7YUFDakI7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ25CLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxPQUFPLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVPLEtBQUssQ0FBQyxTQUFpQjtRQUM3QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BDLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2QsSUFBSSxPQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFFBQVEsRUFBRTtvQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFBO2lCQUNyRjtnQkFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7YUFDcEQ7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBwYWdlRm9ySXRlbUluZGV4LCBQYWdlT2YsIFBhZ2luZ1BhcmFtZXRlcnMgfSBmcm9tICcuL3BhZ2luZy5tb2RlbCdcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIGFuIGFkYXB0YXRpb24gZnJvbSB0aGUgW0FuZ3VsYXIgTWF0ZXJpYWwgR3VpZGVdKGh0dHBzOi8vdjgubWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvc2Nyb2xsaW5nL292ZXJ2aWV3KSwgX1wiU3BlY2lmeWluZyBkYXRhXCIgZXhhbXBsZV8sIGFsc29cbiAqIGF2YWlsYWJsZSBvbiBbU3RhY2tCbGl0el0oaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9hbmd1bGFyL21yYmtqYWdubnJhP2ZpbGU9c3JjJTJGYXBwJTJGY2RrLXZpcnR1YWwtc2Nyb2xsLWRhdGEtc291cmNlLWV4YW1wbGUudHMpLlxuICovXG5leHBvcnQgY2xhc3MgUGFnaW5nRGF0YVNvdXJjZTxUPiBleHRlbmRzIERhdGFTb3VyY2U8VD4ge1xuXG4gIHByaXZhdGUgZGF0YTogVFtdIHwgbnVsbCA9IG51bGxcbiAgcHJpdmF0ZSBkYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSlcbiAgcHJpdmF0ZSBmZXRjaGVkUGFnZXMgPSBuZXcgU2V0PG51bWJlcj4oKVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZVNpemU6IG51bWJlciwgcHJpdmF0ZSBmZXRjaFBhZ2U6IChwYWdpbmc6IFBhZ2luZ1BhcmFtZXRlcnMpID0+IE9ic2VydmFibGU8UGFnZU9mPFQ+Pikge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKGNvbGxlY3Rpb25WaWV3ZXIudmlld0NoYW5nZS5zdWJzY3JpYmUocmFuZ2UgPT4ge1xuICAgICAgY29uc3Qgc3RhcnRQYWdlID0gdGhpcy5wYWdlRm9ySXRlbUluZGV4KHJhbmdlLnN0YXJ0KVxuICAgICAgY29uc3QgZW5kUGFnZSA9IHRoaXMucGFnZUZvckl0ZW1JbmRleChyYW5nZS5lbmQgLSAxKVxuICAgICAgZm9yIChsZXQgcGFnZSA9IHN0YXJ0UGFnZTsgcGFnZSA8PSBlbmRQYWdlOyBwYWdlKyspIHtcbiAgICAgICAgdGhpcy5mZXRjaChwYWdlKVxuICAgICAgfVxuICAgIH0pKVxuICAgIHJldHVybiB0aGlzLmRhdGEkXG4gIH1cblxuICBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIHByaXZhdGUgcGFnZUZvckl0ZW1JbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcGFnZUZvckl0ZW1JbmRleChpbmRleCwgdGhpcy5wYWdlU2l6ZSlcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2gocGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5mZXRjaGVkUGFnZXMuaGFzKHBhZ2VJbmRleCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLmZldGNoZWRQYWdlcy5hZGQocGFnZUluZGV4KVxuICAgIGNvbnN0IGluY2x1ZGVUb3RhbENvdW50ID0gIXRoaXMuZGF0YVxuICAgIHRoaXMuZmV0Y2hQYWdlKHsgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIHBhZ2VJbmRleDogcGFnZUluZGV4LCBpbmNsdWRlVG90YWxDb3VudCB9KS5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICBpZiAodHlwZW9mKHBhZ2UudG90YWxDb3VudCkgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhIGlzIG51bGwgYW5kIG5vIHRvdGFsIGNvdW50IGlzIGF2YWlsYWJsZSB0byBpbmZvcm0gYWxsb2NhdGlvbicpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kYXRhID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogcGFnZS50b3RhbENvdW50IH0pXG4gICAgICB9XG4gICAgICB0aGlzLmRhdGEuc3BsaWNlKHBhZ2VJbmRleCAqIHRoaXMucGFnZVNpemUsIHRoaXMucGFnZVNpemUsIC4uLnBhZ2UuaXRlbXMpXG4gICAgICB0aGlzLmRhdGEkLm5leHQodGhpcy5kYXRhKVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5nLmNkay1kYXRhLXNvdXJjZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1saWIvcGFnaW5nL3BhZ2luZy5jZGstZGF0YS1zb3VyY2UuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBNEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUzRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsVUFBYTtJQU9wRCxZQUFvQixRQUFnQixFQUFVLFNBQThEO1FBQzFHLEtBQUssRUFBRSxDQUFBO1FBRFcsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQXFEO1FBTHBHLFNBQUksR0FBZSxJQUFJLENBQUE7UUFDdkIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtRQUNoQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFJekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBa0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ3BELEtBQUssSUFBSSxJQUFJLEdBQUcsU0FBUyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7YUFDakI7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ25CLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxPQUFPLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVPLEtBQUssQ0FBQyxTQUFpQjtRQUM3QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BDLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2QsSUFBSSxPQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFFBQVEsRUFBRTtvQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFBO2lCQUNyRjtnQkFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7YUFDcEQ7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBwYWdlRm9ySXRlbUluZGV4LCBQYWdlT2YsIFBhZ2luZ1BhcmFtZXRlcnMgfSBmcm9tICcuL3BhZ2luZy5tb2RlbCdcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIGFuIGFkYXB0YXRpb24gZnJvbSB0aGUgW0FuZ3VsYXIgTWF0ZXJpYWwgR3VpZGVdKGh0dHBzOi8vdjgubWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvc2Nyb2xsaW5nL292ZXJ2aWV3KSwgX1wiU3BlY2lmeWluZyBkYXRhXCIgZXhhbXBsZV8sIGFsc29cbiAqIGF2YWlsYWJsZSBvbiBbU3RhY2tCbGl0el0oaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9hbmd1bGFyL21yYmtqYWdubnJhP2ZpbGU9c3JjJTJGYXBwJTJGY2RrLXZpcnR1YWwtc2Nyb2xsLWRhdGEtc291cmNlLWV4YW1wbGUudHMpLlxuICovXG5leHBvcnQgY2xhc3MgUGFnaW5nRGF0YVNvdXJjZTxUPiBleHRlbmRzIERhdGFTb3VyY2U8VD4ge1xuXG4gIHByaXZhdGUgZGF0YTogVFtdIHwgbnVsbCA9IG51bGxcbiAgcHJpdmF0ZSBkYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSlcbiAgcHJpdmF0ZSBmZXRjaGVkUGFnZXMgPSBuZXcgU2V0PG51bWJlcj4oKVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZVNpemU6IG51bWJlciwgcHJpdmF0ZSBmZXRjaFBhZ2U6IChwYWdpbmc6IFBhZ2luZ1BhcmFtZXRlcnMpID0+IE9ic2VydmFibGU8UGFnZU9mPFQ+Pikge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8cmVhZG9ubHkgVFtdPiB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKGNvbGxlY3Rpb25WaWV3ZXIudmlld0NoYW5nZS5zdWJzY3JpYmUocmFuZ2UgPT4ge1xuICAgICAgY29uc3Qgc3RhcnRQYWdlID0gdGhpcy5wYWdlRm9ySXRlbUluZGV4KHJhbmdlLnN0YXJ0KVxuICAgICAgY29uc3QgZW5kUGFnZSA9IHRoaXMucGFnZUZvckl0ZW1JbmRleChyYW5nZS5lbmQgLSAxKVxuICAgICAgZm9yIChsZXQgcGFnZSA9IHN0YXJ0UGFnZTsgcGFnZSA8PSBlbmRQYWdlOyBwYWdlKyspIHtcbiAgICAgICAgdGhpcy5mZXRjaChwYWdlKVxuICAgICAgfVxuICAgIH0pKVxuICAgIHJldHVybiB0aGlzLmRhdGEkXG4gIH1cblxuICBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIHByaXZhdGUgcGFnZUZvckl0ZW1JbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcGFnZUZvckl0ZW1JbmRleChpbmRleCwgdGhpcy5wYWdlU2l6ZSlcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2gocGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5mZXRjaGVkUGFnZXMuaGFzKHBhZ2VJbmRleCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLmZldGNoZWRQYWdlcy5hZGQocGFnZUluZGV4KVxuICAgIGNvbnN0IGluY2x1ZGVUb3RhbENvdW50ID0gIXRoaXMuZGF0YVxuICAgIHRoaXMuZmV0Y2hQYWdlKHsgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIHBhZ2VJbmRleDogcGFnZUluZGV4LCBpbmNsdWRlVG90YWxDb3VudCB9KS5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICBpZiAodHlwZW9mKHBhZ2UudG90YWxDb3VudCkgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhIGlzIG51bGwgYW5kIG5vIHRvdGFsIGNvdW50IGlzIGF2YWlsYWJsZSB0byBpbmZvcm0gYWxsb2NhdGlvbicpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kYXRhID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogcGFnZS50b3RhbENvdW50IH0pXG4gICAgICB9XG4gICAgICB0aGlzLmRhdGEuc3BsaWNlKHBhZ2VJbmRleCAqIHRoaXMucGFnZVNpemUsIHRoaXMucGFnZVNpemUsIC4uLnBhZ2UuaXRlbXMpXG4gICAgICB0aGlzLmRhdGEkLm5leHQodGhpcy5kYXRhKVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -5,8 +5,8 @@ import { catchError } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common/http";
7
7
  export class StaticIconService {
8
- constructor(http) {
9
- this.http = http;
8
+ constructor(webClient) {
9
+ this.webClient = webClient;
10
10
  }
11
11
  fetchIcons(fetch) {
12
12
  const now = Date.now();
@@ -39,7 +39,7 @@ export class StaticIconService {
39
39
  return results;
40
40
  }
41
41
  fetchIconById(id) {
42
- return this.http.get(`/api/icons/${id}`).pipe(catchError((err, caught) => {
42
+ return this.webClient.get(`/api/icons/${id}`).pipe(catchError((err, caught) => {
43
43
  // TODO: this is probably better practice to insulate app layer from
44
44
  // http errors
45
45
  // if (err instanceof HttpErrorResponse) {
@@ -51,7 +51,7 @@ export class StaticIconService {
51
51
  }));
52
52
  }
53
53
  fetchIconBySourceUrl(url) {
54
- return this.http.get(`/api/icons`, {
54
+ return this.webClient.get(`/api/icons`, {
55
55
  params: new HttpParams().set('source_url', url)
56
56
  });
57
57
  }
@@ -79,4 +79,4 @@ StaticIconService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Static
79
79
  providedIn: 'root'
80
80
  }]
81
81
  }], function () { return [{ type: i1.HttpClient }]; }, null); })();
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWljb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtbGliL3N0YXRpYy1pY29uL3N0YXRpYy1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFZM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUksQ0FBQztJQUV6QyxVQUFVLENBQUMsS0FBaUI7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFxQixRQUFRLENBQUMsRUFBRTtZQUM1RCxNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFBO1lBQzlCLElBQUksU0FBUyxHQUFHLEdBQUcsQ0FBQTtZQUNuQixPQUFPLFNBQVMsRUFBRSxFQUFFO2dCQUNsQixNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFBO2dCQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDO29CQUNaLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNkLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNO29CQUMxQixTQUFTLEVBQUUscUJBQXFCLEVBQUUsTUFBTTtvQkFDeEMsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVO2lCQUNwQyxDQUFDLENBQUE7YUFDSDtZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDWixRQUFRLEVBQUUsR0FBRztvQkFDYixTQUFTLEVBQUUsQ0FBQztvQkFDWixVQUFVLEVBQUUsR0FBRztvQkFDZixLQUFLLEVBQUUsS0FBSztpQkFDYixDQUFDLENBQUE7Z0JBQ0YsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQ3JCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNMLE9BQU87Z0JBQ0wsV0FBVyxLQUFLLENBQUM7YUFDbEIsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdkQsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3pCLG9FQUFvRTtZQUNwRSxjQUFjO1lBQ2QsMENBQTBDO1lBQzFDLDhCQUE4QjtZQUM5QixrQkFBa0I7WUFDbEIsTUFBTTtZQUNOLElBQUk7WUFDSixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQVc7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBb0IsWUFBWSxFQUFFO1lBQ3BELE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO1NBQ2hELENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUF3QjtRQUMzQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQ2xDO2FBQ0ksSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUNoRDtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDbEMsQ0FBQzs7a0ZBeEVVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFGaEIsTUFBTTt1RkFFUCxpQkFBaUI7Y0FIN0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBQYWdlT2YsIFBhZ2luZ1BhcmFtZXRlcnMgfSBmcm9tICdAbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL3BhZ2luZydcbmltcG9ydCB7IFN0YXRpY0ljb24sIFN0YXRpY0ljb25SZWZlcmVuY2UgfSBmcm9tICcuL3N0YXRpYy1pY29uLm1vZGVsJ1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkZldGNoIGV4dGVuZHMgUGFnaW5nUGFyYW1ldGVycyB7XG4gIHNlYXJjaFRleHQ/OiBzdHJpbmdcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGljSWNvblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cbiAgZmV0Y2hJY29ucyhmZXRjaD86IEljb25GZXRjaCk6IE9ic2VydmFibGU8UGFnZU9mPFN0YXRpY0ljb24+PiB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKVxuICAgIGNvbnN0IHJlc3VsdHMgPSBuZXcgT2JzZXJ2YWJsZTxQYWdlT2Y8U3RhdGljSWNvbj4+KG9ic2VydmVyID0+IHtcbiAgICAgIGNvbnN0IGljb25zOiBTdGF0aWNJY29uW10gPSBbXVxuICAgICAgbGV0IHJlbWFpbmluZyA9IDEwMFxuICAgICAgd2hpbGUgKHJlbWFpbmluZy0tKSB7XG4gICAgICAgIGNvbnN0IGlkID0gbm93IC0gcmVtYWluaW5nXG4gICAgICAgIGljb25zLnVuc2hpZnQoe1xuICAgICAgICAgIGlkOiBTdHJpbmcoaWQpLFxuICAgICAgICAgIHRpdGxlOiBgSWNvbiAke2lkfWAsXG4gICAgICAgICAgZmlsZU5hbWU6IGBpY29uLSR7aWR9LnBuZ2AsXG4gICAgICAgICAgc291cmNlVXJsOiBgaHR0cHM6Ly90ZXN0Lm1hZ2UvJHtpZH0ucG5nYCxcbiAgICAgICAgICBjb250ZW50UGF0aDogYC9pY29ucy8ke2lkfS9jb250ZW50YFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIG9ic2VydmVyLm5leHQoe1xuICAgICAgICAgIHBhZ2VTaXplOiAxMDAsXG4gICAgICAgICAgcGFnZUluZGV4OiAwLFxuICAgICAgICAgIHRvdGFsQ291bnQ6IDEwMCxcbiAgICAgICAgICBpdGVtczogaWNvbnNcbiAgICAgICAgfSlcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKVxuICAgICAgfSwgMClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVuc3Vic2NyaWJlKCkgeyB9XG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgZmV0Y2hJY29uQnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTdGF0aWNJY29uIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFN0YXRpY0ljb24+KGAvYXBpL2ljb25zLyR7aWR9YCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XG4gICAgICAgIC8vIFRPRE86IHRoaXMgaXMgcHJvYmFibHkgYmV0dGVyIHByYWN0aWNlIHRvIGluc3VsYXRlIGFwcCBsYXllciBmcm9tXG4gICAgICAgIC8vIGh0dHAgZXJyb3JzXG4gICAgICAgIC8vIGlmIChlcnIgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAvLyAgIGlmIChlcnIuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybiBudWxsXG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycilcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZmV0Y2hJY29uQnlTb3VyY2VVcmwodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXRpY0ljb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTdGF0aWNJY29uIHwgbnVsbD4oYC9hcGkvaWNvbnNgLCB7XG4gICAgICBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdzb3VyY2VfdXJsJywgdXJsKVxuICAgIH0pXG4gIH1cblxuICBmZXRjaEljb25CeVJlZmVyZW5jZShyZWY6IFN0YXRpY0ljb25SZWZlcmVuY2UpOiBPYnNlcnZhYmxlPFN0YXRpY0ljb24gfCBudWxsPiB7XG4gICAgaWYgKHJlZi5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hJY29uQnlJZChyZWYuaWQpXG4gICAgfVxuICAgIGVsc2UgaWYgKHJlZi5zb3VyY2VVcmwpIHtcbiAgICAgIHJldHVybiB0aGlzLmZldGNoSWNvbkJ5U291cmNlVXJsKHJlZi5zb3VyY2VVcmwpXG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignbm8gaWNvbiBpZCBvciBzb3VyY2UgdXJsJylcbiAgfVxuXG4gIHJlZ2lzdGVySWNvblVybCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8U3RhdGljSWNvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpXG4gIH1cblxuICB1cGxvYWRJY29uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpXG4gIH1cbn1cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWljb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtbGliL3N0YXRpYy1pY29uL3N0YXRpYy1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFZM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUFvQixTQUFxQjtRQUFyQixjQUFTLEdBQVQsU0FBUyxDQUFZO0lBQUksQ0FBQztJQUU5QyxVQUFVLENBQUMsS0FBaUI7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFxQixRQUFRLENBQUMsRUFBRTtZQUM1RCxNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFBO1lBQzlCLElBQUksU0FBUyxHQUFHLEdBQUcsQ0FBQTtZQUNuQixPQUFPLFNBQVMsRUFBRSxFQUFFO2dCQUNsQixNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFBO2dCQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDO29CQUNaLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNkLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNO29CQUMxQixTQUFTLEVBQUUscUJBQXFCLEVBQUUsTUFBTTtvQkFDeEMsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVO2lCQUNwQyxDQUFDLENBQUE7YUFDSDtZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDWixRQUFRLEVBQUUsR0FBRztvQkFDYixTQUFTLEVBQUUsQ0FBQztvQkFDWixVQUFVLEVBQUUsR0FBRztvQkFDZixLQUFLLEVBQUUsS0FBSztpQkFDYixDQUFDLENBQUE7Z0JBQ0YsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQ3JCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNMLE9BQU87Z0JBQ0wsV0FBVyxLQUFLLENBQUM7YUFDbEIsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQWEsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUQsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3pCLG9FQUFvRTtZQUNwRSxjQUFjO1lBQ2QsMENBQTBDO1lBQzFDLDhCQUE4QjtZQUM5QixrQkFBa0I7WUFDbEIsTUFBTTtZQUNOLElBQUk7WUFDSixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQVc7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBb0IsWUFBWSxFQUFFO1lBQ3pELE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO1NBQ2hELENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUF3QjtRQUMzQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQ2xDO2FBQ0ksSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUNoRDtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDbEMsQ0FBQzs7a0ZBeEVVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFGaEIsTUFBTTt1RkFFUCxpQkFBaUI7Y0FIN0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBQYWdlT2YsIFBhZ2luZ1BhcmFtZXRlcnMgfSBmcm9tICdAbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL3BhZ2luZydcbmltcG9ydCB7IFN0YXRpY0ljb24sIFN0YXRpY0ljb25SZWZlcmVuY2UgfSBmcm9tICcuL3N0YXRpYy1pY29uLm1vZGVsJ1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkZldGNoIGV4dGVuZHMgUGFnaW5nUGFyYW1ldGVycyB7XG4gIHNlYXJjaFRleHQ/OiBzdHJpbmdcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGljSWNvblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2ViQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cblxuICBmZXRjaEljb25zKGZldGNoPzogSWNvbkZldGNoKTogT2JzZXJ2YWJsZTxQYWdlT2Y8U3RhdGljSWNvbj4+IHtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpXG4gICAgY29uc3QgcmVzdWx0cyA9IG5ldyBPYnNlcnZhYmxlPFBhZ2VPZjxTdGF0aWNJY29uPj4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgY29uc3QgaWNvbnM6IFN0YXRpY0ljb25bXSA9IFtdXG4gICAgICBsZXQgcmVtYWluaW5nID0gMTAwXG4gICAgICB3aGlsZSAocmVtYWluaW5nLS0pIHtcbiAgICAgICAgY29uc3QgaWQgPSBub3cgLSByZW1haW5pbmdcbiAgICAgICAgaWNvbnMudW5zaGlmdCh7XG4gICAgICAgICAgaWQ6IFN0cmluZyhpZCksXG4gICAgICAgICAgdGl0bGU6IGBJY29uICR7aWR9YCxcbiAgICAgICAgICBmaWxlTmFtZTogYGljb24tJHtpZH0ucG5nYCxcbiAgICAgICAgICBzb3VyY2VVcmw6IGBodHRwczovL3Rlc3QubWFnZS8ke2lkfS5wbmdgLFxuICAgICAgICAgIGNvbnRlbnRQYXRoOiBgL2ljb25zLyR7aWR9L2NvbnRlbnRgXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh7XG4gICAgICAgICAgcGFnZVNpemU6IDEwMCxcbiAgICAgICAgICBwYWdlSW5kZXg6IDAsXG4gICAgICAgICAgdG90YWxDb3VudDogMTAwLFxuICAgICAgICAgIGl0ZW1zOiBpY29uc1xuICAgICAgICB9KVxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpXG4gICAgICB9LCAwKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdW5zdWJzY3JpYmUoKSB7IH1cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cblxuICBmZXRjaEljb25CeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXRpY0ljb24gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmdldDxTdGF0aWNJY29uPihgL2FwaS9pY29ucy8ke2lkfWApLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xuICAgICAgICAvLyBUT0RPOiB0aGlzIGlzIHByb2JhYmx5IGJldHRlciBwcmFjdGljZSB0byBpbnN1bGF0ZSBhcHAgbGF5ZXIgZnJvbVxuICAgICAgICAvLyBodHRwIGVycm9yc1xuICAgICAgICAvLyBpZiAoZXJyIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgLy8gICBpZiAoZXJyLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgIC8vICAgICByZXR1cm4gbnVsbFxuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGZldGNoSWNvbkJ5U291cmNlVXJsKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTdGF0aWNJY29uPiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQ2xpZW50LmdldDxTdGF0aWNJY29uIHwgbnVsbD4oYC9hcGkvaWNvbnNgLCB7XG4gICAgICBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdzb3VyY2VfdXJsJywgdXJsKVxuICAgIH0pXG4gIH1cblxuICBmZXRjaEljb25CeVJlZmVyZW5jZShyZWY6IFN0YXRpY0ljb25SZWZlcmVuY2UpOiBPYnNlcnZhYmxlPFN0YXRpY0ljb24gfCBudWxsPiB7XG4gICAgaWYgKHJlZi5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hJY29uQnlJZChyZWYuaWQpXG4gICAgfVxuICAgIGVsc2UgaWYgKHJlZi5zb3VyY2VVcmwpIHtcbiAgICAgIHJldHVybiB0aGlzLmZldGNoSWNvbkJ5U291cmNlVXJsKHJlZi5zb3VyY2VVcmwpXG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignbm8gaWNvbiBpZCBvciBzb3VyY2UgdXJsJylcbiAgfVxuXG4gIHJlZ2lzdGVySWNvblVybCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8U3RhdGljSWNvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpXG4gIH1cblxuICB1cGxvYWRJY29uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpXG4gIH1cbn1cbiJdfQ==
@@ -2,15 +2,9 @@ import { InjectionToken, Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common/http";
4
4
  export const USER_READ_BASE_URL = '/api/next-users';
5
- const reqKeys = {
6
- term: 'term',
7
- pageSize: 'page_size',
8
- pageIndex: 'page',
9
- includeTotalCount: 'total',
10
- };
11
5
  export class UserReadService {
12
- constructor(http) {
13
- this.http = http;
6
+ constructor(webClient) {
7
+ this.webClient = webClient;
14
8
  }
15
9
  search(which) {
16
10
  const queryParams = {
@@ -23,7 +17,7 @@ export class UserReadService {
23
17
  if (typeof which.includeTotalCount === 'boolean') {
24
18
  queryParams.total = which.includeTotalCount ? 'true' : 'false';
25
19
  }
26
- return this.http.get(`${USER_READ_BASE_URL}/search`, {
20
+ return this.webClient.get(`${USER_READ_BASE_URL}/search`, {
27
21
  params: queryParams
28
22
  });
29
23
  }
@@ -37,4 +31,4 @@ UserReadService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: UserRead
37
31
  }]
38
32
  }], function () { return [{ type: i1.HttpClient }]; }, null); })();
39
33
  export const USER_READ_SERVICE = new InjectionToken('UserReadService');
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWFkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWxpYi91c2VyL3VzZXItcmVhZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFLMUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUE7QUFTbkQsTUFBTSxPQUFPLEdBQTJEO0lBQ3RFLElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLFdBQVc7SUFDckIsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUUsT0FBTztDQUMzQixDQUFBO0FBS0QsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFJLENBQUM7SUFFekMsTUFBTSxDQUFDLEtBQXVCO1FBQzVCLE1BQU0sV0FBVyxHQUFzQjtZQUNyQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQzlCLENBQUE7UUFDRCxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbEMsV0FBVyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO1NBQzlCO1FBQ0QsSUFBSSxPQUFPLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7WUFDaEQsV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1NBQy9EO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMkIsR0FBRyxrQkFBa0IsU0FBUyxFQUFFO1lBQzdFLE1BQU0sRUFBRSxXQUFXO1NBQ3BCLENBQUMsQ0FBQTtJQUNKLENBQUM7OzhFQWxCVSxlQUFlO3FFQUFmLGVBQWUsV0FBZixlQUFlLG1CQUZkLE1BQU07dUZBRVAsZUFBZTtjQUgzQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O0FBaUNELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUGFnZU9mLCBQYWdpbmdQYXJhbWV0ZXJzIH0gZnJvbSAnQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi9wYWdpbmcnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIubW9kZWwnXG5cbmV4cG9ydCBjb25zdCBVU0VSX1JFQURfQkFTRV9VUkwgPSAnL2FwaS9uZXh0LXVzZXJzJ1xuXG50eXBlIFNlYXJjaFF1ZXJ5UGFyYW1zID0ge1xuICBwYWdlX3NpemU6IHN0cmluZyxcbiAgcGFnZTogc3RyaW5nLFxuICB0ZXJtPzogc3RyaW5nLFxuICB0b3RhbD86ICd0cnVlJyB8ICdmYWxzZSdcbn1cblxuY29uc3QgcmVxS2V5czogeyBbU2VhcmNoUGFyYW1LZXkgaW4ga2V5b2YgVXNlclNlYXJjaFBhcmFtc106IHN0cmluZyB9ID0ge1xuICB0ZXJtOiAndGVybScsXG4gIHBhZ2VTaXplOiAncGFnZV9zaXplJyxcbiAgcGFnZUluZGV4OiAncGFnZScsXG4gIGluY2x1ZGVUb3RhbENvdW50OiAndG90YWwnLFxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyUmVhZFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cbiAgc2VhcmNoKHdoaWNoOiBVc2VyU2VhcmNoUGFyYW1zKTogT2JzZXJ2YWJsZTxQYWdlT2Y8VXNlclNlYXJjaFJlc3VsdD4+IHtcbiAgICBjb25zdCBxdWVyeVBhcmFtczogU2VhcmNoUXVlcnlQYXJhbXMgPSB7XG4gICAgICBwYWdlX3NpemU6IFN0cmluZyh3aGljaC5wYWdlU2l6ZSksXG4gICAgICBwYWdlOiBTdHJpbmcod2hpY2gucGFnZUluZGV4KSxcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB3aGljaC50ZXJtID09PSAnc3RyaW5nJykge1xuICAgICAgcXVlcnlQYXJhbXMudGVybSA9IHdoaWNoLnRlcm1cbiAgICB9XG4gICAgaWYgKHR5cGVvZiB3aGljaC5pbmNsdWRlVG90YWxDb3VudCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICBxdWVyeVBhcmFtcy50b3RhbCA9IHdoaWNoLmluY2x1ZGVUb3RhbENvdW50ID8gJ3RydWUnIDogJ2ZhbHNlJ1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQYWdlT2Y8VXNlclNlYXJjaFJlc3VsdD4+KGAke1VTRVJfUkVBRF9CQVNFX1VSTH0vc2VhcmNoYCwge1xuICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtc1xuICAgIH0pXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyU2VhcmNoUGFyYW1zIGV4dGVuZHMgUGFnaW5nUGFyYW1ldGVycyB7XG4gIHRlcm0/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG59XG5cbmV4cG9ydCB0eXBlIFVzZXJTZWFyY2hSZXN1bHQgPSBQaWNrPFVzZXIsICdpZCcgfCAndXNlcm5hbWUnIHwgJ2Rpc3BsYXlOYW1lJyB8ICdlbWFpbCcgfCAnYWN0aXZlJyB8ICdlbmFibGVkJz4gJiB7XG4gIC8qKlxuICAgKiBBIHJlZHVjdGlvbiBvZiBhbGwgdGhlIHBob25lIG51bWJlcnMgdG8gYSBzaW5nbGUgc3RyaW5nXG4gICAqL1xuICBhbGxQaG9uZXM/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBjb25zdCBVU0VSX1JFQURfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxVc2VyUmVhZFNlcnZpY2U+KCdVc2VyUmVhZFNlcnZpY2UnKSJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWFkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWxpYi91c2VyL3VzZXItcmVhZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFLMUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUE7QUFhbkQsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IsU0FBcUI7UUFBckIsY0FBUyxHQUFULFNBQVMsQ0FBWTtJQUFJLENBQUM7SUFFOUMsTUFBTSxDQUFDLEtBQXVCO1FBQzVCLE1BQU0sV0FBVyxHQUFzQjtZQUNyQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQzlCLENBQUE7UUFDRCxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbEMsV0FBVyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO1NBQzlCO1FBQ0QsSUFBSSxPQUFPLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7WUFDaEQsV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1NBQy9EO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBMkIsR0FBRyxrQkFBa0IsU0FBUyxFQUFFO1lBQ2xGLE1BQU0sRUFBRSxXQUFXO1NBQ3BCLENBQUMsQ0FBQTtJQUNKLENBQUM7OzhFQWxCVSxlQUFlO3FFQUFmLGVBQWUsV0FBZixlQUFlLG1CQUZkLE1BQU07dUZBRVAsZUFBZTtjQUgzQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O0FBaUNELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUGFnZU9mLCBQYWdpbmdQYXJhbWV0ZXJzIH0gZnJvbSAnQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi9wYWdpbmcnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIubW9kZWwnXG5cbmV4cG9ydCBjb25zdCBVU0VSX1JFQURfQkFTRV9VUkwgPSAnL2FwaS9uZXh0LXVzZXJzJ1xuXG50eXBlIFNlYXJjaFF1ZXJ5UGFyYW1zID0ge1xuICBwYWdlX3NpemU6IHN0cmluZyxcbiAgcGFnZTogc3RyaW5nLFxuICB0ZXJtPzogc3RyaW5nLFxuICB0b3RhbD86ICd0cnVlJyB8ICdmYWxzZSdcbn1cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyUmVhZFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2ViQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cblxuICBzZWFyY2god2hpY2g6IFVzZXJTZWFyY2hQYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2VPZjxVc2VyU2VhcmNoUmVzdWx0Pj4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBTZWFyY2hRdWVyeVBhcmFtcyA9IHtcbiAgICAgIHBhZ2Vfc2l6ZTogU3RyaW5nKHdoaWNoLnBhZ2VTaXplKSxcbiAgICAgIHBhZ2U6IFN0cmluZyh3aGljaC5wYWdlSW5kZXgpLFxuICAgIH1cbiAgICBpZiAodHlwZW9mIHdoaWNoLnRlcm0gPT09ICdzdHJpbmcnKSB7XG4gICAgICBxdWVyeVBhcmFtcy50ZXJtID0gd2hpY2gudGVybVxuICAgIH1cbiAgICBpZiAodHlwZW9mIHdoaWNoLmluY2x1ZGVUb3RhbENvdW50ID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnRvdGFsID0gd2hpY2guaW5jbHVkZVRvdGFsQ291bnQgPyAndHJ1ZScgOiAnZmFsc2UnXG4gICAgfVxuICAgIHJldHVybiB0aGlzLndlYkNsaWVudC5nZXQ8UGFnZU9mPFVzZXJTZWFyY2hSZXN1bHQ+PihgJHtVU0VSX1JFQURfQkFTRV9VUkx9L3NlYXJjaGAsIHtcbiAgICAgIHBhcmFtczogcXVlcnlQYXJhbXNcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclNlYXJjaFBhcmFtcyBleHRlbmRzIFBhZ2luZ1BhcmFtZXRlcnMge1xuICB0ZXJtPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgdHlwZSBVc2VyU2VhcmNoUmVzdWx0ID0gUGljazxVc2VyLCAnaWQnIHwgJ3VzZXJuYW1lJyB8ICdkaXNwbGF5TmFtZScgfCAnZW1haWwnIHwgJ2FjdGl2ZScgfCAnZW5hYmxlZCc+ICYge1xuICAvKipcbiAgICogQSByZWR1Y3Rpb24gb2YgYWxsIHRoZSBwaG9uZSBudW1iZXJzIHRvIGEgc2luZ2xlIHN0cmluZ1xuICAgKi9cbiAgYWxsUGhvbmVzPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgY29uc3QgVVNFUl9SRUFEX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlclJlYWRTZXJ2aWNlPignVXNlclJlYWRTZXJ2aWNlJykiXX0=
@@ -7,8 +7,8 @@ export interface FeedPreviewOptions {
7
7
  skipContentFetch?: boolean;
8
8
  }
9
9
  export declare class FeedService {
10
- private http;
11
- constructor(http: HttpClient);
10
+ private webClient;
11
+ constructor(webClient: HttpClient);
12
12
  private _feeds;
13
13
  readonly feeds: Observable<Feed[]>;
14
14
  private _feedItems;
@@ -1 +1 @@
1
- {"version":3,"file":"feed.service.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/feed/feed.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAmB,UAAU,EAAW,MAAM,MAAM,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAA;;AAGrI,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,qBAGa,WAAW;IAEV,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAGpC,OAAO,CAAC,MAAM,CAAwC;IACtD,QAAQ,CAAC,KAAK,qBAA8B;IAE5C,OAAO,CAAC,UAAU,CAAsD;IACxE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIrD,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAIxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;IAInD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;IAIpD,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAC,GAAG,UAAU,CAAC,OAAO,CAAC;IAIjH,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAI3C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAI7D,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAI5D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC;IAQ3J,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;IAIrE,iBAAiB,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAInD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC;IAIhG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;IAI5F,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;IAIrD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC;IAK/C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAuBpD,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC;yCArGpD,WAAW;6CAAX,WAAW;CAmHvB"}
1
+ {"version":3,"file":"feed.service.d.ts","sourceRoot":"","sources":["../../../projects/core-lib/feed/feed.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAmB,UAAU,EAAW,MAAM,MAAM,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAA;;AAGrI,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,qBAGa,WAAW;IAEV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAGzC,OAAO,CAAC,MAAM,CAAwC;IACtD,QAAQ,CAAC,KAAK,qBAA8B;IAE5C,OAAO,CAAC,UAAU,CAAsD;IACxE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIrD,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAIxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;IAInD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;IAIpD,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAC,GAAG,UAAU,CAAC,OAAO,CAAC;IAIjH,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAI3C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAI7D,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAI5D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC;IAQ3J,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;IAIrE,iBAAiB,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAInD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC;IAIhG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;IAI5F,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;IAIrD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC;IAK/C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAuBpD,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC;yCArGpD,WAAW;6CAAX,WAAW;CAmHvB"}
@@ -34,9 +34,9 @@ const OBJECT_URL_SERVICE = new InjectionToken(`${selector}.objectUrlService`);
34
34
  * URLs for the image data, preventing memory leaks.
35
35
  */
36
36
  class XhrImgComponent {
37
- constructor(objectUrlService, http, sanitizer) {
37
+ constructor(objectUrlService, webClient, sanitizer) {
38
38
  this.objectUrlService = objectUrlService;
39
- this.http = http;
39
+ this.webClient = webClient;
40
40
  this.sanitizer = sanitizer;
41
41
  this.sourceUrl = null;
42
42
  this.safeBlobUrl = null;
@@ -52,7 +52,7 @@ class XhrImgComponent {
52
52
  if (!this.sourceUrl) {
53
53
  return;
54
54
  }
55
- this.subscription = this.http.get(this.sourceUrl, { responseType: 'blob' })
55
+ this.subscription = this.webClient.get(this.sourceUrl, { responseType: 'blob' })
56
56
  .subscribe(x => {
57
57
  this.objectUrlService.revokeObjectURL(this.blobUrl);
58
58
  this.blobUrl = this.objectUrlService.createObjectURL(x);
@@ -1 +1 @@
1
- {"version":3,"file":"ngageoint-mage.web-core-lib-common.mjs","sources":["../../../projects/core-lib/common/xhr-img.component.ts","../../../projects/core-lib/common/mage-common.module.ts","../../../projects/core-lib/common/ngageoint-mage.web-core-lib-common.ts"],"sourcesContent":["import { Component, ElementRef, Inject, InjectionToken, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser'\nimport { Subscription } from 'rxjs'\n\nconst selector = 'mage-xhr-img'\n\n/**\n * This is a simple interface that includes the [methods](https://www.w3.org/TR/FileAPI/#creating-revoking)\n * from the [URL API](https://developer.mozilla.org/en-US/docs/Web/API/URL) for\n * managing blob URLs. This allows a service to be injected into\n * `XhrImgComponent` and overridden for testing.\n */\nexport interface ObjectUrlService {\n createObjectURL: (typeof URL)['createObjectURL']\n revokeObjectURL: (typeof URL)['revokeObjectURL']\n}\nexport const OBJECT_URL_SERVICE = new InjectionToken<ObjectUrlService>(`${selector}.objectUrlService`)\n\n/**\n * This component allows fetching images by `XMLHttpRequest` rather than the\n * browser's native mechanism. These image requests are subject to HTTP\n * interceptors that can add authorization headers to the request instead of\n * using cache-defeating URL query parameters to set an auth token. Applying\n * headers to the browser's native `img` requests is impossible, so a query\n * parameter is necessary for authorization, but adding the parameter to the\n * URL effectively bypasses the browser's caching mechanism when the auth token\n * changes for images that\n * should otherwise be subject to caching.\n *\n * The catch to fetching images by XHR is the response must be fetched as a\n * `Blob`. The user then gets a browser-specific URL for the blob by\n * `URL.createObjectURL(blob)`, which can then be assigned to the `src`\n * attribute of an `img` tag. These blob URLs must then be \"revoked\" by\n * `URL.revokeObjectURL(url)` in order to reclaim object URL's associated\n * resources. See [Mozilla's docs](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications#example_using_object_urls_to_display_images)\n * on the subject.\n *\n * To use the component, simply add the tag to a template and bind the `src`\n * attribute to the source URL of the desired image.\n * ```\n * <mage-xhr-img [src]=\"someComponent.imageUrlRequiresAuth\"></mage-xhr-img>\n * ```\n * The component encapsulates the logic of creating and releasing the object\n * URLs for the image data, preventing memory leaks.\n */\n@Component({\n selector: `${selector}`,\n template: `<img [attr.src]=\"safeBlobUrl\" (load)=\"onImgLoad()\"/>`,\n styles: [ `img { height: 100%; width: 100% }` ],\n providers: [\n {\n provide: OBJECT_URL_SERVICE,\n useValue: URL\n }\n ]\n})\nexport class XhrImgComponent implements OnChanges, OnDestroy {\n\n @Input('src')\n sourceUrl: string | null = null\n safeBlobUrl: SafeUrl | null = null\n\n private blobUrl: string\n private subscription: Subscription\n\n constructor(@Inject(OBJECT_URL_SERVICE) private objectUrlService: ObjectUrlService, private http: HttpClient, private sanitizer: DomSanitizer) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes.sourceUrl) {\n return\n }\n if (changes.sourceUrl.isFirstChange() && !this.sourceUrl) {\n return\n }\n this.disposeCurrent()\n if (!this.sourceUrl) {\n return\n }\n this.subscription = this.http.get(this.sourceUrl, { responseType: 'blob' })\n .subscribe(x => {\n this.objectUrlService.revokeObjectURL(this.blobUrl)\n this.blobUrl = this.objectUrlService.createObjectURL(x)\n this.safeBlobUrl = this.sanitizer.bypassSecurityTrustUrl(this.blobUrl)\n })\n }\n\n ngOnDestroy() {\n this.disposeCurrent()\n }\n\n onImgLoad() {\n this.disposeCurrent()\n }\n\n private disposeCurrent() {\n if (this.blobUrl) {\n this.objectUrlService.revokeObjectURL(this.blobUrl)\n }\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.blobUrl = null\n }\n}","import { NgModule } from '@angular/core'\nimport { BrowserModule } from '@angular/platform-browser'\nimport { XhrImgComponent } from './xhr-img.component'\n\n@NgModule({\n imports: [\n BrowserModule\n ],\n declarations: [\n XhrImgComponent\n ],\n exports: [\n XhrImgComponent\n ]\n})\nexport class MageCommonModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib-common.mjs","sources":["../../../projects/core-lib/common/xhr-img.component.ts","../../../projects/core-lib/common/mage-common.module.ts","../../../projects/core-lib/common/ngageoint-mage.web-core-lib-common.ts"],"sourcesContent":["import { Component, Inject, InjectionToken, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser'\nimport { Subscription } from 'rxjs'\n\nconst selector = 'mage-xhr-img'\n\n/**\n * This is a simple interface that includes the [methods](https://www.w3.org/TR/FileAPI/#creating-revoking)\n * from the [URL API](https://developer.mozilla.org/en-US/docs/Web/API/URL) for\n * managing blob URLs. This allows a service to be injected into\n * `XhrImgComponent` and overridden for testing.\n */\nexport interface ObjectUrlService {\n createObjectURL: (typeof URL)['createObjectURL']\n revokeObjectURL: (typeof URL)['revokeObjectURL']\n}\nexport const OBJECT_URL_SERVICE = new InjectionToken<ObjectUrlService>(`${selector}.objectUrlService`)\n\n/**\n * This component allows fetching images by `XMLHttpRequest` rather than the\n * browser's native mechanism. These image requests are subject to HTTP\n * interceptors that can add authorization headers to the request instead of\n * using cache-defeating URL query parameters to set an auth token. Applying\n * headers to the browser's native `img` requests is impossible, so a query\n * parameter is necessary for authorization, but adding the parameter to the\n * URL effectively bypasses the browser's caching mechanism when the auth token\n * changes for images that\n * should otherwise be subject to caching.\n *\n * The catch to fetching images by XHR is the response must be fetched as a\n * `Blob`. The user then gets a browser-specific URL for the blob by\n * `URL.createObjectURL(blob)`, which can then be assigned to the `src`\n * attribute of an `img` tag. These blob URLs must then be \"revoked\" by\n * `URL.revokeObjectURL(url)` in order to reclaim object URL's associated\n * resources. See [Mozilla's docs](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications#example_using_object_urls_to_display_images)\n * on the subject.\n *\n * To use the component, simply add the tag to a template and bind the `src`\n * attribute to the source URL of the desired image.\n * ```\n * <mage-xhr-img [src]=\"someComponent.imageUrlRequiresAuth\"></mage-xhr-img>\n * ```\n * The component encapsulates the logic of creating and releasing the object\n * URLs for the image data, preventing memory leaks.\n */\n@Component({\n selector: `${selector}`,\n template: `<img [attr.src]=\"safeBlobUrl\" (load)=\"onImgLoad()\"/>`,\n styles: [ `img { height: 100%; width: 100% }` ],\n providers: [\n {\n provide: OBJECT_URL_SERVICE,\n useValue: URL\n }\n ]\n})\nexport class XhrImgComponent implements OnChanges, OnDestroy {\n\n @Input('src')\n sourceUrl: string | null = null\n safeBlobUrl: SafeUrl | null = null\n\n private blobUrl: string\n private subscription: Subscription\n\n constructor(@Inject(OBJECT_URL_SERVICE) private objectUrlService: ObjectUrlService, private webClient: HttpClient, private sanitizer: DomSanitizer) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.sourceUrl) {\n return\n }\n if (changes.sourceUrl.isFirstChange() && !this.sourceUrl) {\n return\n }\n this.disposeCurrent()\n if (!this.sourceUrl) {\n return\n }\n this.subscription = this.webClient.get(this.sourceUrl, { responseType: 'blob' })\n .subscribe(x => {\n this.objectUrlService.revokeObjectURL(this.blobUrl)\n this.blobUrl = this.objectUrlService.createObjectURL(x)\n this.safeBlobUrl = this.sanitizer.bypassSecurityTrustUrl(this.blobUrl)\n })\n }\n\n ngOnDestroy(): void {\n this.disposeCurrent()\n }\n\n onImgLoad(): void {\n this.disposeCurrent()\n }\n\n private disposeCurrent(): void {\n if (this.blobUrl) {\n this.objectUrlService.revokeObjectURL(this.blobUrl)\n }\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.blobUrl = null\n }\n}","import { NgModule } from '@angular/core'\nimport { BrowserModule } from '@angular/platform-browser'\nimport { XhrImgComponent } from './xhr-img.component'\n\n@NgModule({\n imports: [\n BrowserModule\n ],\n declarations: [\n XhrImgComponent\n ],\n exports: [\n XhrImgComponent\n ]\n})\nexport class MageCommonModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import { map } from 'rxjs/operators';
5
5
  import * as i1 from '@angular/common/http';
6
6
 
7
7
  class FeedService {
8
- constructor(http) {
9
- this.http = http;
8
+ constructor(webClient) {
9
+ this.webClient = webClient;
10
10
  // TODO: there is probably a better solution than maintaining this map here
11
11
  this._feeds = new BehaviorSubject([]);
12
12
  this.feeds = this._feeds.asObservable();
@@ -16,56 +16,56 @@ class FeedService {
16
16
  return this._feedItems.get(feedId).asObservable();
17
17
  }
18
18
  fetchAllFeeds() {
19
- return this.http.get('/api/feeds/');
19
+ return this.webClient.get('/api/feeds/');
20
20
  }
21
21
  fetchFeed(feedId) {
22
- return this.http.get(`/api/feeds/${feedId}`);
22
+ return this.webClient.get(`/api/feeds/${feedId}`);
23
23
  }
24
24
  fetchService(serviceId) {
25
- return this.http.get(`/api/feeds/services/${serviceId}`);
25
+ return this.webClient.get(`/api/feeds/services/${serviceId}`);
26
26
  }
27
27
  createService(service) {
28
- return this.http.post(`/api/feeds/services`, service);
28
+ return this.webClient.post(`/api/feeds/services`, service);
29
29
  }
30
30
  fetchServices() {
31
- return this.http.get(`/api/feeds/services`);
31
+ return this.webClient.get(`/api/feeds/services`);
32
32
  }
33
33
  fetchServiceFeeds(serviceId) {
34
- return this.http.get(`/api/feeds/services/${serviceId}/feeds`);
34
+ return this.webClient.get(`/api/feeds/services/${serviceId}/feeds`);
35
35
  }
36
36
  fetchServiceType(serviceTypeId) {
37
- return this.http.get(`/api/feeds/service_types/${serviceTypeId}`);
37
+ return this.webClient.get(`/api/feeds/service_types/${serviceTypeId}`);
38
38
  }
39
39
  fetchTopics(serviceId) {
40
- return this.http.get(`/api/feeds/services/${serviceId}/topics`);
40
+ return this.webClient.get(`/api/feeds/services/${serviceId}/topics`);
41
41
  }
42
42
  previewFeed(serviceId, topicId, feedSpec, opts) {
43
43
  opts = opts || {};
44
44
  const skipContentFetch = opts.skipContentFetch === true;
45
- return this.http.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feed_preview?skip_content_fetch=${skipContentFetch}`, { feed: feedSpec });
45
+ return this.webClient.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feed_preview?skip_content_fetch=${skipContentFetch}`, { feed: feedSpec });
46
46
  }
47
47
  fetchTopic(serviceId, topicId) {
48
- return this.http.get(`/api/feeds/services/${serviceId}/topics/${topicId}`);
48
+ return this.webClient.get(`/api/feeds/services/${serviceId}/topics/${topicId}`);
49
49
  }
50
50
  fetchServiceTypes() {
51
- return this.http.get(`/api/feeds/service_types`);
51
+ return this.webClient.get(`/api/feeds/service_types`);
52
52
  }
53
53
  createFeed(serviceId, topicId, feedConfiguration) {
54
- return this.http.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feeds`, feedConfiguration);
54
+ return this.webClient.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feeds`, feedConfiguration);
55
55
  }
56
56
  updateFeed(feed) {
57
- return this.http.put(`/api/feeds/${feed.id}`, feed);
57
+ return this.webClient.put(`/api/feeds/${feed.id}`, feed);
58
58
  }
59
59
  deleteFeed(feed) {
60
- return this.http.delete(`/api/feeds/${feed.id}`, { responseType: 'text' });
60
+ return this.webClient.delete(`/api/feeds/${feed.id}`, { responseType: 'text' });
61
61
  }
62
62
  deleteService(service) {
63
63
  console.log('delete');
64
- return this.http.delete(`/api/feeds/services/${service.id}`, { responseType: 'text' });
64
+ return this.webClient.delete(`/api/feeds/services/${service.id}`, { responseType: 'text' });
65
65
  }
66
66
  fetchFeeds(eventId) {
67
67
  const subject = new Subject();
68
- this.http.get(`/api/events/${eventId}/feeds`).subscribe(feeds => {
68
+ this.webClient.get(`/api/events/${eventId}/feeds`).subscribe(feeds => {
69
69
  feeds.map(feed => {
70
70
  feed.id = feed.id.toString();
71
71
  return feed;
@@ -84,7 +84,7 @@ class FeedService {
84
84
  }
85
85
  fetchFeedItems(event, feed) {
86
86
  const feedItems = this._feedItems.get(feed.id);
87
- return this.http.post(`/api/events/${event.id}/feeds/${feed.id}/content`, {}).pipe(map(content => {
87
+ return this.webClient.post(`/api/events/${event.id}/feeds/${feed.id}/content`, {}).pipe(map(content => {
88
88
  const features = content.items.features;
89
89
  features.forEach((feature) => {
90
90
  feature.id = String(feature.id);
@@ -1 +1 @@
1
- {"version":3,"file":"ngageoint-mage.web-core-lib-feed.mjs","sources":["../../../projects/core-lib/feed/feed.service.ts","../../../projects/core-lib/feed/ngageoint-mage.web-core-lib-feed.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Feature } from 'geojson'\nimport { BehaviorSubject, Observable, Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\nimport { Feed, FeedContent, FeedExpanded, FeedPost, FeedPreview, FeedTopic, Service, ServiceType, StyledFeature } from './feed.model'\n\n\nexport interface FeedPreviewOptions {\n skipContentFetch?: boolean\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeedService {\n\n constructor(private http: HttpClient) { }\n\n // TODO: there is probably a better solution than maintaining this map here\n private _feeds = new BehaviorSubject<Array<Feed>>([]);\n readonly feeds = this._feeds.asObservable();\n\n private _feedItems = new Map<string, BehaviorSubject<Array<Feature>>>();\n feedItems(feedId: string): Observable<Array<Feature>> {\n return this._feedItems.get(feedId).asObservable();\n }\n\n fetchAllFeeds(): Observable<Array<Feed>> {\n return this.http.get<Array<Feed>>('/api/feeds/');\n }\n\n fetchFeed(feedId: string): Observable<FeedExpanded> {\n return this.http.get<FeedExpanded>(`/api/feeds/${feedId}`);\n }\n\n fetchService(serviceId: string): Observable<Service> {\n return this.http.get<Service>(`/api/feeds/services/${serviceId}`);\n }\n\n createService(service: { title: string, summary?: string, serviceType: string, config: any}): Observable<Service> {\n return this.http.post<Service>(`/api/feeds/services`, service);\n }\n\n fetchServices(): Observable<Array<Service>> {\n return this.http.get<Array<Service>>(`/api/feeds/services`);\n }\n\n fetchServiceFeeds(serviceId: string): Observable<Array<Feed>> {\n return this.http.get<Array<Feed>>(`/api/feeds/services/${serviceId}/feeds`);\n }\n\n fetchServiceType(serviceTypeId: string): Observable<ServiceType> {\n return this.http.get<ServiceType>(`/api/feeds/service_types/${serviceTypeId}`);\n }\n\n fetchTopics(serviceId: string): Observable<Array<FeedTopic>> {\n return this.http.get<Array<FeedTopic>>(`/api/feeds/services/${serviceId}/topics`);\n }\n\n previewFeed(serviceId: string, topicId: string, feedSpec: Partial<Omit<FeedPost, 'service' | 'topic'>>, opts?: FeedPreviewOptions): Observable<FeedPreview> {\n opts = opts || {}\n const skipContentFetch: boolean = opts.skipContentFetch === true\n return this.http.post<FeedPreview>(\n `/api/feeds/services/${serviceId}/topics/${topicId}/feed_preview?skip_content_fetch=${skipContentFetch}`,\n { feed: feedSpec });\n }\n\n fetchTopic(serviceId: string, topicId: string): Observable<FeedTopic> {\n return this.http.get<FeedTopic>(`/api/feeds/services/${serviceId}/topics/${topicId}`);\n }\n\n fetchServiceTypes(): Observable<Array<ServiceType>> {\n return this.http.get<Array<ServiceType>>(`/api/feeds/service_types`);\n }\n\n createFeed(serviceId: string, topicId: string, feedConfiguration: any): Observable<FeedExpanded> {\n return this.http.post<FeedExpanded>(`/api/feeds/services/${serviceId}/topics/${topicId}/feeds`, feedConfiguration);\n }\n\n updateFeed(feed: Partial<Omit<FeedPost, 'id'>> & Pick<Feed, 'id'>): Observable<FeedExpanded> {\n return this.http.put<FeedExpanded>(`/api/feeds/${feed.id}`, feed);\n }\n\n deleteFeed(feed: Feed | FeedExpanded): Observable<{}> {\n return this.http.delete(`/api/feeds/${feed.id}`, {responseType: 'text'});\n }\n\n deleteService(service: Service): Observable<{}> {\n console.log('delete')\n return this.http.delete(`/api/feeds/services/${service.id}`, { responseType: 'text' });\n }\n\n fetchFeeds(eventId: number): Observable<Array<Feed>> {\n const subject = new Subject<Array<Feed>>();\n this.http.get<Array<Feed>>(`/api/events/${eventId}/feeds`).subscribe(feeds => {\n feeds.map(feed => {\n feed.id = feed.id.toString();\n return feed;\n });\n\n feeds.forEach(feed => {\n let feedItems = this._feedItems.get(feed.id);\n if (!feedItems) {\n feedItems = new BehaviorSubject<Array<Feature>>([]);\n this._feedItems.set(feed.id, feedItems);\n }\n })\n\n subject.next(feeds);\n this._feeds.next(feeds);\n });\n\n return subject;\n }\n\n fetchFeedItems(event: any, feed: Feed): Observable<FeedContent> {\n const feedItems = this._feedItems.get(feed.id)\n return this.http.post<FeedContent>(`/api/events/${event.id}/feeds/${feed.id}/content`, {}).pipe(\n map(content => {\n const features = content.items.features\n features.forEach((feature: StyledFeature) => {\n feature.id = String(feature.id)\n feature.properties = feature.properties || {}\n })\n feedItems.next(features)\n return content\n })\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib-feed.mjs","sources":["../../../projects/core-lib/feed/feed.service.ts","../../../projects/core-lib/feed/ngageoint-mage.web-core-lib-feed.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Feature } from 'geojson'\nimport { BehaviorSubject, Observable, Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\nimport { Feed, FeedContent, FeedExpanded, FeedPost, FeedPreview, FeedTopic, Service, ServiceType, StyledFeature } from './feed.model'\n\n\nexport interface FeedPreviewOptions {\n skipContentFetch?: boolean\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeedService {\n\n constructor(private webClient: HttpClient) { }\n\n // TODO: there is probably a better solution than maintaining this map here\n private _feeds = new BehaviorSubject<Array<Feed>>([]);\n readonly feeds = this._feeds.asObservable();\n\n private _feedItems = new Map<string, BehaviorSubject<Array<Feature>>>();\n feedItems(feedId: string): Observable<Array<Feature>> {\n return this._feedItems.get(feedId).asObservable();\n }\n\n fetchAllFeeds(): Observable<Array<Feed>> {\n return this.webClient.get<Array<Feed>>('/api/feeds/');\n }\n\n fetchFeed(feedId: string): Observable<FeedExpanded> {\n return this.webClient.get<FeedExpanded>(`/api/feeds/${feedId}`);\n }\n\n fetchService(serviceId: string): Observable<Service> {\n return this.webClient.get<Service>(`/api/feeds/services/${serviceId}`);\n }\n\n createService(service: { title: string, summary?: string, serviceType: string, config: any}): Observable<Service> {\n return this.webClient.post<Service>(`/api/feeds/services`, service);\n }\n\n fetchServices(): Observable<Array<Service>> {\n return this.webClient.get<Array<Service>>(`/api/feeds/services`);\n }\n\n fetchServiceFeeds(serviceId: string): Observable<Array<Feed>> {\n return this.webClient.get<Array<Feed>>(`/api/feeds/services/${serviceId}/feeds`);\n }\n\n fetchServiceType(serviceTypeId: string): Observable<ServiceType> {\n return this.webClient.get<ServiceType>(`/api/feeds/service_types/${serviceTypeId}`);\n }\n\n fetchTopics(serviceId: string): Observable<Array<FeedTopic>> {\n return this.webClient.get<Array<FeedTopic>>(`/api/feeds/services/${serviceId}/topics`);\n }\n\n previewFeed(serviceId: string, topicId: string, feedSpec: Partial<Omit<FeedPost, 'service' | 'topic'>>, opts?: FeedPreviewOptions): Observable<FeedPreview> {\n opts = opts || {}\n const skipContentFetch: boolean = opts.skipContentFetch === true\n return this.webClient.post<FeedPreview>(\n `/api/feeds/services/${serviceId}/topics/${topicId}/feed_preview?skip_content_fetch=${skipContentFetch}`,\n { feed: feedSpec });\n }\n\n fetchTopic(serviceId: string, topicId: string): Observable<FeedTopic> {\n return this.webClient.get<FeedTopic>(`/api/feeds/services/${serviceId}/topics/${topicId}`);\n }\n\n fetchServiceTypes(): Observable<Array<ServiceType>> {\n return this.webClient.get<Array<ServiceType>>(`/api/feeds/service_types`);\n }\n\n createFeed(serviceId: string, topicId: string, feedConfiguration: any): Observable<FeedExpanded> {\n return this.webClient.post<FeedExpanded>(`/api/feeds/services/${serviceId}/topics/${topicId}/feeds`, feedConfiguration);\n }\n\n updateFeed(feed: Partial<Omit<FeedPost, 'id'>> & Pick<Feed, 'id'>): Observable<FeedExpanded> {\n return this.webClient.put<FeedExpanded>(`/api/feeds/${feed.id}`, feed);\n }\n\n deleteFeed(feed: Feed | FeedExpanded): Observable<{}> {\n return this.webClient.delete(`/api/feeds/${feed.id}`, {responseType: 'text'});\n }\n\n deleteService(service: Service): Observable<{}> {\n console.log('delete')\n return this.webClient.delete(`/api/feeds/services/${service.id}`, { responseType: 'text' });\n }\n\n fetchFeeds(eventId: number): Observable<Array<Feed>> {\n const subject = new Subject<Array<Feed>>();\n this.webClient.get<Array<Feed>>(`/api/events/${eventId}/feeds`).subscribe(feeds => {\n feeds.map(feed => {\n feed.id = feed.id.toString();\n return feed;\n });\n\n feeds.forEach(feed => {\n let feedItems = this._feedItems.get(feed.id);\n if (!feedItems) {\n feedItems = new BehaviorSubject<Array<Feature>>([]);\n this._feedItems.set(feed.id, feedItems);\n }\n })\n\n subject.next(feeds);\n this._feeds.next(feeds);\n });\n\n return subject;\n }\n\n fetchFeedItems(event: any, feed: Feed): Observable<FeedContent> {\n const feedItems = this._feedItems.get(feed.id)\n return this.webClient.post<FeedContent>(`/api/events/${event.id}/feeds/${feed.id}/content`, {}).pipe(\n map(content => {\n const features = content.items.features\n features.forEach((feature: StyledFeature) => {\n feature.id = String(feature.id)\n feature.properties = feature.properties || {}\n })\n feedItems.next(features)\n return content\n })\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAea,WAAW,CAAA;AAEtB,IAAA,WAAA,CAAoB,SAAqB,EAAA;AAArB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAY;;QAGjC,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAc,EAAE,CAAC,CAAC;QAC7C,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAEpC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,GAAG,EAA2C,CAAC;KAN1B;AAO9C,IAAA,SAAS,CAAC,MAAc,EAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;KACnD;IAED,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAc,aAAa,CAAC,CAAC;KACvD;AAED,IAAA,SAAS,CAAC,MAAc,EAAA;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAe,CAAc,WAAA,EAAA,MAAM,CAAE,CAAA,CAAC,CAAC;KACjE;AAED,IAAA,YAAY,CAAC,SAAiB,EAAA;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,CAAuB,oBAAA,EAAA,SAAS,CAAE,CAAA,CAAC,CAAC;KACxE;AAED,IAAA,aAAa,CAAC,OAA6E,EAAA;QACzF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAU,CAAqB,mBAAA,CAAA,EAAE,OAAO,CAAC,CAAC;KACrE;IAED,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAA,mBAAA,CAAqB,CAAC,CAAC;KAClE;AAED,IAAA,iBAAiB,CAAC,SAAiB,EAAA;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAc,CAAuB,oBAAA,EAAA,SAAS,CAAQ,MAAA,CAAA,CAAC,CAAC;KAClF;AAED,IAAA,gBAAgB,CAAC,aAAqB,EAAA;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAc,CAA4B,yBAAA,EAAA,aAAa,CAAE,CAAA,CAAC,CAAC;KACrF;AAED,IAAA,WAAW,CAAC,SAAiB,EAAA;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAmB,CAAuB,oBAAA,EAAA,SAAS,CAAS,OAAA,CAAA,CAAC,CAAC;KACxF;AAED,IAAA,WAAW,CAAC,SAAiB,EAAE,OAAe,EAAE,QAAsD,EAAE,IAAyB,EAAA;AAC/H,QAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;AACjB,QAAA,MAAM,gBAAgB,GAAY,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAA;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,CAAA,oBAAA,EAAuB,SAAS,CAAW,QAAA,EAAA,OAAO,oCAAoC,gBAAgB,CAAA,CAAE,EACxG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;KACvB;IAED,UAAU,CAAC,SAAiB,EAAE,OAAe,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAY,CAAuB,oBAAA,EAAA,SAAS,CAAW,QAAA,EAAA,OAAO,CAAE,CAAA,CAAC,CAAC;KAC5F;IAED,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqB,CAAA,wBAAA,CAA0B,CAAC,CAAC;KAC3E;AAED,IAAA,UAAU,CAAC,SAAiB,EAAE,OAAe,EAAE,iBAAsB,EAAA;AACnE,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAe,CAAA,oBAAA,EAAuB,SAAS,CAAA,QAAA,EAAW,OAAO,CAAA,MAAA,CAAQ,EAAE,iBAAiB,CAAC,CAAC;KACzH;AAED,IAAA,UAAU,CAAC,IAAsD,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAe,CAAA,WAAA,EAAc,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC;KACxE;AAED,IAAA,UAAU,CAAC,IAAyB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;KAC/E;AAED,IAAA,aAAa,CAAC,OAAgB,EAAA;AAC5B,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACrB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,OAAO,CAAC,EAAE,CAAA,CAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;KAC7F;AAED,IAAA,UAAU,CAAC,OAAe,EAAA;AACxB,QAAA,MAAM,OAAO,GAAG,IAAI,OAAO,EAAe,CAAC;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAc,CAAe,YAAA,EAAA,OAAO,CAAQ,MAAA,CAAA,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AAChF,YAAA,KAAK,CAAC,GAAG,CAAC,IAAI,IAAG;gBACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC7B,gBAAA,OAAO,IAAI,CAAC;AACd,aAAC,CAAC,CAAC;AAEH,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACnB,gBAAA,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,SAAS,EAAE;AACd,oBAAA,SAAS,GAAG,IAAI,eAAe,CAAiB,EAAE,CAAC,CAAC;oBACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACzC,iBAAA;AACH,aAAC,CAAC,CAAA;AAEF,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,OAAO,CAAC;KAChB;IAED,cAAc,CAAC,KAAU,EAAE,IAAU,EAAA;AACnC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAc,CAAe,YAAA,EAAA,KAAK,CAAC,EAAE,CAAU,OAAA,EAAA,IAAI,CAAC,EAAE,CAAA,QAAA,CAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAClG,GAAG,CAAC,OAAO,IAAG;AACZ,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAA;AACvC,YAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAsB,KAAI;gBAC1C,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAC/B,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAA;AAC/C,aAAC,CAAC,CAAA;AACF,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACxB,YAAA,OAAO,OAAO,CAAA;SACf,CAAC,CACH,CAAA;KACF;;sEAlHU,WAAW,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;iEAAX,WAAW,EAAA,OAAA,EAAX,WAAW,CAAA,IAAA,EAAA,UAAA,EAFV,MAAM,EAAA,CAAA,CAAA;;4EAEP,WAAW,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;ACdD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ngageoint-mage.web-core-lib-paging.mjs","sources":["../../../projects/core-lib/paging/paging.model.ts","../../../projects/core-lib/paging/paging.cdk-data-source.adapter.ts","../../../projects/core-lib/paging/ngageoint-mage.web-core-lib-paging.ts"],"sourcesContent":["\nexport interface PagingParameters {\n pageSize: number,\n pageIndex: number,\n includeTotalCount?: boolean | null\n}\n\nexport interface PageOf<T> {\n pageSize: number,\n pageIndex: number,\n totalCount?: number | null,\n next?: PagingParameters | null\n prev?: PagingParameters | null\n items: T[]\n}\n\nexport const pageForItemIndex = (itemIndex: number, pageSize: number | PagingParameters): number => {\n if (typeof pageSize === 'object') {\n pageSize = pageSize.pageSize\n }\n return Math.floor(itemIndex / pageSize)\n}\n\n/**\n * Return the range of item indexes for the given page and page size. The last\n * end portion of the range is exclusive, so when indexing an array the last\n * item of the page would have position `end - 1`. This allows one to pass the\n * values to `Array.slice()`.\n * @param pageIndex\n * @param pageSize\n * @returns\n */\nexport const itemRangeOfPage: {\n (pageIndex: number, pageSize: number): [ number, number ]\n (paging: PagingParameters)\n} = (pageIndex: number | PagingParameters, pageSize?: number): [ number, number ] => {\n if (typeof pageIndex === 'object') {\n pageSize = pageIndex.pageSize\n pageIndex = pageIndex.pageIndex\n }\n const start = pageSize * pageIndex\n const end = start + pageSize\n return [ start, end ]\n}\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections'\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs'\nimport { pageForItemIndex, PageOf, PagingParameters } from './paging.model'\n\n/**\n * This class is an adaptation from the [Angular Material Guide](https://v8.material.angular.io/cdk/scrolling/overview), _\"Specifying data\" example_, also\n * available on [StackBlitz](https://stackblitz.com/angular/mrbkjagnnra?file=src%2Fapp%2Fcdk-virtual-scroll-data-source-example.ts).\n */\nexport class PagingDataSource<T> extends DataSource<T> {\n\n private data: T[] | null = null\n private data$ = new BehaviorSubject<T[]>([])\n private fetchedPages = new Set<number>()\n private subscription = new Subscription()\n\n constructor(private pageSize: number, private fetchPage: (paging: PagingParameters) => Observable<PageOf<T>>) {\n super()\n }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n this.subscription.add(collectionViewer.viewChange.subscribe(range => {\n const startPage = this.pageForItemIndex(range.start)\n const endPage = this.pageForItemIndex(range.end - 1)\n for (let page = startPage; page <= endPage; page++) {\n this.fetch(page)\n }\n }))\n return this.data$\n }\n\n disconnect(): void {\n this.subscription.unsubscribe()\n }\n\n private pageForItemIndex(index: number): number {\n return pageForItemIndex(index, this.pageSize)\n }\n\n private fetch(pageIndex: number) {\n if (this.fetchedPages.has(pageIndex)) {\n return\n }\n this.fetchedPages.add(pageIndex)\n const includeTotalCount = !this.data\n this.fetchPage({ pageSize: this.pageSize, pageIndex: pageIndex, includeTotalCount }).subscribe(page => {\n if (!this.data) {\n if (typeof(page.totalCount) !== 'number') {\n throw new Error('data is null and no total count is available to inform allocation')\n }\n this.data = Array.from({ length: page.totalCount })\n }\n this.data.splice(pageIndex * this.pageSize, this.pageSize, ...page.items)\n this.data$.next(this.data)\n })\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngageoint-mage.web-core-lib-paging.mjs","sources":["../../../projects/core-lib/paging/paging.model.ts","../../../projects/core-lib/paging/paging.cdk-data-source.adapter.ts","../../../projects/core-lib/paging/ngageoint-mage.web-core-lib-paging.ts"],"sourcesContent":["\nexport interface PagingParameters {\n pageSize: number,\n pageIndex: number,\n includeTotalCount?: boolean | null\n}\n\nexport interface PageOf<T> {\n pageSize: number,\n pageIndex: number,\n totalCount?: number | null,\n next?: PagingParameters | null\n prev?: PagingParameters | null\n items: T[]\n}\n\nexport const pageForItemIndex = (itemIndex: number, pageSize: number | PagingParameters): number => {\n if (typeof pageSize === 'object') {\n pageSize = pageSize.pageSize\n }\n return Math.floor(itemIndex / pageSize)\n}\n\n/**\n * Return the range of item indexes for the given page and page size. The last\n * end portion of the range is exclusive, so when indexing an array the last\n * item of the page would have position `end - 1`. This allows one to pass the\n * values to `Array.slice()`.\n * @param pageIndex\n * @param pageSize\n * @returns\n */\nexport const itemRangeOfPage: {\n (pageIndex: number, pageSize: number): [ number, number ]\n (paging: PagingParameters)\n} = (pageIndex: number | PagingParameters, pageSize?: number): [ number, number ] => {\n if (typeof pageIndex === 'object') {\n pageSize = pageIndex.pageSize\n pageIndex = pageIndex.pageIndex\n }\n const start = pageSize * pageIndex\n const end = start + pageSize\n return [ start, end ]\n}\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections'\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs'\nimport { pageForItemIndex, PageOf, PagingParameters } from './paging.model'\n\n/**\n * This class is an adaptation from the [Angular Material Guide](https://v8.material.angular.io/cdk/scrolling/overview), _\"Specifying data\" example_, also\n * available on [StackBlitz](https://stackblitz.com/angular/mrbkjagnnra?file=src%2Fapp%2Fcdk-virtual-scroll-data-source-example.ts).\n */\nexport class PagingDataSource<T> extends DataSource<T> {\n\n private data: T[] | null = null\n private data$ = new BehaviorSubject<T[]>([])\n private fetchedPages = new Set<number>()\n private subscription = new Subscription()\n\n constructor(private pageSize: number, private fetchPage: (paging: PagingParameters) => Observable<PageOf<T>>) {\n super()\n }\n\n connect(collectionViewer: CollectionViewer): Observable<readonly T[]> {\n this.subscription.add(collectionViewer.viewChange.subscribe(range => {\n const startPage = this.pageForItemIndex(range.start)\n const endPage = this.pageForItemIndex(range.end - 1)\n for (let page = startPage; page <= endPage; page++) {\n this.fetch(page)\n }\n }))\n return this.data$\n }\n\n disconnect(): void {\n this.subscription.unsubscribe()\n }\n\n private pageForItemIndex(index: number): number {\n return pageForItemIndex(index, this.pageSize)\n }\n\n private fetch(pageIndex: number) {\n if (this.fetchedPages.has(pageIndex)) {\n return\n }\n this.fetchedPages.add(pageIndex)\n const includeTotalCount = !this.data\n this.fetchPage({ pageSize: this.pageSize, pageIndex: pageIndex, includeTotalCount }).subscribe(page => {\n if (!this.data) {\n if (typeof(page.totalCount) !== 'number') {\n throw new Error('data is null and no total count is available to inform allocation')\n }\n this.data = Array.from({ length: page.totalCount })\n }\n this.data.splice(pageIndex * this.pageSize, this.pageSize, ...page.items)\n this.data$.next(this.data)\n })\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -27,8 +27,8 @@ const contentPathOfIcon = (icon) => {
27
27
  };
28
28
 
29
29
  class StaticIconService {
30
- constructor(http) {
31
- this.http = http;
30
+ constructor(webClient) {
31
+ this.webClient = webClient;
32
32
  }
33
33
  fetchIcons(fetch) {
34
34
  const now = Date.now();
@@ -61,7 +61,7 @@ class StaticIconService {
61
61
  return results;
62
62
  }
63
63
  fetchIconById(id) {
64
- return this.http.get(`/api/icons/${id}`).pipe(catchError((err, caught) => {
64
+ return this.webClient.get(`/api/icons/${id}`).pipe(catchError((err, caught) => {
65
65
  // TODO: this is probably better practice to insulate app layer from
66
66
  // http errors
67
67
  // if (err instanceof HttpErrorResponse) {
@@ -73,7 +73,7 @@ class StaticIconService {
73
73
  }));
74
74
  }
75
75
  fetchIconBySourceUrl(url) {
76
- return this.http.get(`/api/icons`, {
76
+ return this.webClient.get(`/api/icons`, {
77
77
  params: new HttpParams().set('source_url', url)
78
78
  });
79
79
  }