@sumaris-net/ngx-components 18.14.15 → 18.14.16
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.
- package/doc/feed/feed-fr.json +8 -6
- package/esm2022/public_api.mjs +4 -4
- package/esm2022/src/app/social/feed/feed.component.mjs +3 -4
- package/esm2022/src/app/social/feed/feed.directive.mjs +4 -4
- package/esm2022/src/app/social/feed/feed.service.mjs +158 -2
- package/esm2022/src/app/social/message/message.form.mjs +4 -3
- package/esm2022/src/app/social/message/message.model.mjs +2 -2
- package/esm2022/src/environments/environment.mjs +4 -2
- package/fesm2022/sumaris-net.ngx-components.mjs +140 -312
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +0 -3
- package/src/app/social/feed/feed.directive.d.ts +1 -1
- package/src/app/social/feed/feed.service.d.ts +57 -0
- package/src/assets/manifest.json +1 -1
- package/esm2022/src/app/social/feed/discourse/discourse-feed.service.mjs +0 -170
- package/esm2022/src/app/social/feed/discourse/discourse.model.mjs +0 -2
- package/esm2022/src/app/social/feed/discourse/discourse.utils.mjs +0 -168
- package/src/app/social/feed/discourse/discourse-feed.service.d.ts +0 -56
- package/src/app/social/feed/discourse/discourse.model.d.ts +0 -7
- package/src/app/social/feed/discourse/discourse.utils.d.ts +0 -44
|
@@ -1,3 +1,159 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { from, switchMap } from 'rxjs';
|
|
2
|
+
import { JsonFeedUtils } from './feed.model';
|
|
3
|
+
import { Inject, inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
4
|
+
import { firstArrayValue, isEmptyArray, isNotEmptyArray, isNotNilOrBlank } from '../../shared/functions';
|
|
5
|
+
import { filter, map, mergeMap } from 'rxjs/operators';
|
|
6
|
+
import { StartableService } from '../../shared/services/startable-service.class';
|
|
7
|
+
import { NetworkService } from '../../core/services/network.service';
|
|
8
|
+
import { RxState } from '@rx-angular/state';
|
|
9
|
+
import { ENVIRONMENT } from '../../../environments/environment.class';
|
|
10
|
+
import { UrlUtils } from '../../shared/file/url.utils';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../../core/services/local-settings.service";
|
|
13
|
+
import * as i2 from "../../../environments/environment.class";
|
|
2
14
|
export const APP_FEED_SERVICE = new InjectionToken('FeeService');
|
|
3
|
-
|
|
15
|
+
export class FeedService extends StartableService {
|
|
16
|
+
settings;
|
|
17
|
+
environment;
|
|
18
|
+
_logPrefix = '[feed-service] ';
|
|
19
|
+
_state = new RxState();
|
|
20
|
+
network = inject(NetworkService);
|
|
21
|
+
locale$ = this._state.select('locale');
|
|
22
|
+
feedUrls$ = this._state.select('feedUrls');
|
|
23
|
+
get feedUrls() {
|
|
24
|
+
return this._state.get('feedUrls');
|
|
25
|
+
}
|
|
26
|
+
set feedUrls(urls) {
|
|
27
|
+
this._state.set('feedUrls', () => urls);
|
|
28
|
+
}
|
|
29
|
+
constructor(settings, environment) {
|
|
30
|
+
super(settings);
|
|
31
|
+
this.settings = settings;
|
|
32
|
+
this.environment = environment;
|
|
33
|
+
this._state.connect('locale', this.settings.locale$);
|
|
34
|
+
this._state.connect('feedUrls', this.locale$.pipe(filter(isNotNilOrBlank), map((locale) => (locale && environment.feed?.jsonFeed?.[locale]) ?? [])));
|
|
35
|
+
// DEBUG
|
|
36
|
+
this._debug = !environment.production;
|
|
37
|
+
if (this._debug)
|
|
38
|
+
console.debug(`${this._logPrefix}created`);
|
|
39
|
+
}
|
|
40
|
+
async ngOnStart() {
|
|
41
|
+
await this.settings.ready();
|
|
42
|
+
return {
|
|
43
|
+
locale: this.settings.locale,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
watchAll(opts) {
|
|
47
|
+
if (!this.started) {
|
|
48
|
+
return from(this.start()).pipe(switchMap(() => this.watchAll(opts)));
|
|
49
|
+
}
|
|
50
|
+
if (isNotEmptyArray(opts?.urls)) {
|
|
51
|
+
return this.locale$.pipe(mergeMap((locale) => this.loadAll(opts.urls, { locale, ...opts })));
|
|
52
|
+
}
|
|
53
|
+
return this.feedUrls$.pipe(filter(isNotEmptyArray), mergeMap((urls) => this.loadAll(urls, opts)));
|
|
54
|
+
}
|
|
55
|
+
getHomeUrl(feed) {
|
|
56
|
+
const feedUrl = feed?.feed_url ?? firstArrayValue(this.feedUrls);
|
|
57
|
+
return feedUrl ? UrlUtils.getRootUrl(feedUrl) : undefined;
|
|
58
|
+
}
|
|
59
|
+
getTagUrl(feed, tag) {
|
|
60
|
+
if (!feed || !tag)
|
|
61
|
+
throw new Error("Missing 'feed' or 'tag' argument");
|
|
62
|
+
const baseUrl = this.getHomeUrl(feed);
|
|
63
|
+
return feed.tag_template?.replace('{tag}', tag) ?? baseUrl + '/tag/' + tag;
|
|
64
|
+
}
|
|
65
|
+
async load(url, opts) {
|
|
66
|
+
const { data } = await this.loadAll([url], opts);
|
|
67
|
+
return data?.[0];
|
|
68
|
+
}
|
|
69
|
+
async loadAll(urls, opts) {
|
|
70
|
+
await this.ready();
|
|
71
|
+
urls = urls ?? this.feedUrls;
|
|
72
|
+
opts = {
|
|
73
|
+
maxAgeInMonths: opts?.maxAgeInMonths ?? this.environment.feed?.maxAgeInMonths,
|
|
74
|
+
maxContentLength: opts?.maxContentLength ?? this.environment.feed?.maxContentLength,
|
|
75
|
+
locale: this.settings.locale,
|
|
76
|
+
depth: 0,
|
|
77
|
+
...opts,
|
|
78
|
+
};
|
|
79
|
+
const feeds = await Promise.all((urls || []).map(async (url) => {
|
|
80
|
+
try {
|
|
81
|
+
// Get JSON
|
|
82
|
+
const json = await this.network.fetch(url);
|
|
83
|
+
console.debug(`${this._logPrefix}Loaded JSON from ${url}`, json);
|
|
84
|
+
// Resolve feed
|
|
85
|
+
return await this.resolveFeed(json, url, opts);
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if (err?.status === 404) {
|
|
89
|
+
console.error(`${this._logPrefix} Error while fetching feeds at ${url}. 404 (Not found)`);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
console.error(`${this._logPrefix} Error while fetching feeds at ${url}`, err);
|
|
93
|
+
}
|
|
94
|
+
return Promise.resolve([]);
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
const data = feeds.flat();
|
|
98
|
+
// Close opened resources
|
|
99
|
+
if (opts.depth === 0) {
|
|
100
|
+
this.onAfterLoadAll();
|
|
101
|
+
}
|
|
102
|
+
return { data, total: data.length };
|
|
103
|
+
}
|
|
104
|
+
async resolveFeed(json, url, opts) {
|
|
105
|
+
// Check json is JsonFeed compatible
|
|
106
|
+
if (JsonFeedUtils.isJsonFeed(json)) {
|
|
107
|
+
// Migrate from old versions
|
|
108
|
+
let feed = JsonFeedUtils.migrateFeed(json);
|
|
109
|
+
// Resolve items (e.g. using feed.next_url)
|
|
110
|
+
feed = await this.resolveFeedItems(feed, { ...opts, depth: opts?.depth ?? 0 });
|
|
111
|
+
// Truncate html
|
|
112
|
+
JsonFeedUtils.truncateFeedItemsHtml(feed, opts);
|
|
113
|
+
return isNotEmptyArray(feed?.items) ? [feed] : [];
|
|
114
|
+
}
|
|
115
|
+
// not resolved (unknown format)
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
async resolveFeedItems(json, opts) {
|
|
119
|
+
if (!json)
|
|
120
|
+
return json;
|
|
121
|
+
// Load items
|
|
122
|
+
if (isEmptyArray(json.items) && isNotNilOrBlank(json.next_url)) {
|
|
123
|
+
const depth = opts?.depth ?? 0;
|
|
124
|
+
if (depth >= 3) {
|
|
125
|
+
console.warn(`${this._logPrefix}Max depth reached (${depth}) for ${json.feed_url}`);
|
|
126
|
+
return json;
|
|
127
|
+
}
|
|
128
|
+
// Load items
|
|
129
|
+
const feed = await this.load(json.next_url, { ...opts, depth: depth + 1 });
|
|
130
|
+
if (isEmptyArray(feed?.items)) {
|
|
131
|
+
return json;
|
|
132
|
+
}
|
|
133
|
+
// Merge with the input json
|
|
134
|
+
return {
|
|
135
|
+
...json,
|
|
136
|
+
title: json.title ?? feed.title,
|
|
137
|
+
home_page_url: json.home_page_url ?? feed.home_page_url,
|
|
138
|
+
authors: isNotEmptyArray(json.authors) ? json.authors : feed.authors,
|
|
139
|
+
items: feed.items,
|
|
140
|
+
tag_template: json.tag_template ?? feed.tag_template,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
return json;
|
|
144
|
+
}
|
|
145
|
+
onAfterLoadAll() {
|
|
146
|
+
console.debug(`${this._logPrefix}Feeds loaded`);
|
|
147
|
+
}
|
|
148
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeedService, deps: [{ token: i1.LocalSettingsService }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
149
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeedService });
|
|
150
|
+
}
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeedService, decorators: [{
|
|
152
|
+
type: Injectable
|
|
153
|
+
}], ctorParameters: () => [{ type: i1.LocalSettingsService }, { type: i2.Environment, decorators: [{
|
|
154
|
+
type: Optional
|
|
155
|
+
}, {
|
|
156
|
+
type: Inject,
|
|
157
|
+
args: [ENVIRONMENT]
|
|
158
|
+
}] }] });
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvZmVlZC9mZWVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRXZELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFvQixZQUFZLENBQUMsQ0FBQztBQWdCcEYsTUFBTSxPQUFPLFdBQXdDLFNBQVEsZ0JBQW1CO0lBaUJwRTtJQUNtQztJQWpCbkMsVUFBVSxHQUFHLGlCQUFpQixDQUFDO0lBQy9CLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBSyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFM0MsT0FB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LElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCxhQUFhO1lBQ2IsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFM0UsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELDRCQUE0QjtZQUM1QixPQUFPO2dCQUNMLEdBQUcsSUFBSTtnQkFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSztnQkFDL0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWE7Z0JBQ3ZELE9BQU8sRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztnQkFDcEUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWTthQUNyRCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVTLGNBQWM7UUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7d0dBMU1VLFdBQVcsc0RBa0JBLFdBQVc7NEdBbEJ0QixXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVOzswQkFtQk4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2FkUmVzdWx0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IEpzb25GZWVkLCBKc29uRmVlZFV0aWxzIH0gZnJvbSAnLi9mZWVkLm1vZGVsJztcbmltcG9ydCB7IEluamVjdCwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZmlyc3RBcnJheVZhbHVlLCBpc0VtcHR5QXJyYXksIGlzTm90RW1wdHlBcnJheSwgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdGFydGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL3N0YXJ0YWJsZS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2xvY2FsLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnhTdGF0ZSB9IGZyb20gJ0ByeC1hbmd1bGFyL3N0YXRlJztcbmltcG9ydCB7IEVOVklST05NRU5ULCBFbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQgeyBVcmxVdGlscyB9IGZyb20gJy4uLy4uL3NoYXJlZC9maWxlL3VybC51dGlscyc7XG5cbmV4cG9ydCBjb25zdCBBUFBfRkVFRF9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElGZWVkU2VydmljZTxhbnk+PignRmVlU2VydmljZScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElGZWVkU2VydmljZTxUIGV4dGVuZHMgSnNvbkZlZWQgPSBKc29uRmVlZD4ge1xuICB3YXRjaEFsbChvcHRzPzogeyB1cmxzPzogc3RyaW5nW107IG1heEFnZUluTW9udGhzPzogbnVtYmVyOyBtYXhDb250ZW50TGVuZ3RoPzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPExvYWRSZXN1bHQ8VD4+O1xuXG4gIGdldEhvbWVVcmwoZmVlZD86IFQpOiBzdHJpbmc7XG5cbiAgZ2V0VGFnVXJsKGZlZWQ6IFQsIHRhZzogc3RyaW5nKTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRTZXJ2aWNlU3RhdGUge1xuICBsb2NhbGU6IHN0cmluZztcbiAgZmVlZFVybHM/OiBzdHJpbmdbXTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZlZWRTZXJ2aWNlPFMgZXh0ZW5kcyBGZWVkU2VydmljZVN0YXRlPiBleHRlbmRzIFN0YXJ0YWJsZVNlcnZpY2U8Uz4gaW1wbGVtZW50cyBJRmVlZFNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgX2xvZ1ByZWZpeCA9ICdbZmVlZC1zZXJ2aWNlXSAnO1xuICBwcm90ZWN0ZWQgX3N0YXRlID0gbmV3IFJ4U3RhdGU8Uz4oKTtcbiAgcHJvdGVjdGVkIG5ldHdvcmsgPSBpbmplY3QoTmV0d29ya1NlcnZpY2UpO1xuXG4gIGxvY2FsZSQgPSB0aGlzLl9zdGF0ZS5zZWxlY3QoJ2xvY2FsZScpO1xuICBmZWVkVXJscyQgPSB0aGlzLl9zdGF0ZS5zZWxlY3QoJ2ZlZWRVcmxzJyk7XG5cbiAgZ2V0IGZlZWRVcmxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUuZ2V0KCdmZWVkVXJscycpO1xuICB9XG5cbiAgc2V0IGZlZWRVcmxzKHVybHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fc3RhdGUuc2V0KCdmZWVkVXJscycsICgpID0+IHVybHMpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogTG9jYWxTZXR0aW5nc1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChFTlZJUk9OTUVOVCkgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFxuICApIHtcbiAgICBzdXBlcihzZXR0aW5ncyk7XG5cbiAgICB0aGlzLl9zdGF0ZS5jb25uZWN0KCdsb2NhbGUnLCB0aGlzLnNldHRpbmdzLmxvY2FsZSQpO1xuXG4gICAgdGhpcy5fc3RhdGUuY29ubmVjdChcbiAgICAgICdmZWVkVXJscycsXG4gICAgICB0aGlzLmxvY2FsZSQucGlwZShcbiAgICAgICAgZmlsdGVyKGlzTm90TmlsT3JCbGFuayksXG4gICAgICAgIG1hcCgobG9jYWxlKSA9PiAobG9jYWxlICYmIGVudmlyb25tZW50LmZlZWQ/Lmpzb25GZWVkPy5bbG9jYWxlXSkgPz8gW10pXG4gICAgICApXG4gICAgKTtcblxuICAgIC8vIERFQlVHXG4gICAgdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fWNyZWF0ZWRgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBuZ09uU3RhcnQoKTogUHJvbWlzZTxTPiB7XG4gICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5yZWFkeSgpO1xuICAgIHJldHVybiA8Uz57XG4gICAgICBsb2NhbGU6IHRoaXMuc2V0dGluZ3MubG9jYWxlLFxuICAgIH07XG4gIH1cblxuICB3YXRjaEFsbChvcHRzPzogeyB1cmxzPzogc3RyaW5nW107IG1heEFnZUluTW9udGhzPzogbnVtYmVyOyBtYXhDb250ZW50TGVuZ3RoPzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPExvYWRSZXN1bHQ8SnNvbkZlZWQ+PiB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuc3RhcnQoKSkucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy53YXRjaEFsbChvcHRzKSkpO1xuICAgIH1cbiAgICBpZiAoaXNOb3RFbXB0eUFycmF5KG9wdHM/LnVybHMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGUkLnBpcGUobWVyZ2VNYXAoKGxvY2FsZSkgPT4gdGhpcy5sb2FkQWxsKG9wdHMudXJscywgeyBsb2NhbGUsIC4uLm9wdHMgfSkpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmVlZFVybHMkLnBpcGUoXG4gICAgICBmaWx0ZXIoaXNOb3RFbXB0eUFycmF5KSxcbiAgICAgIG1lcmdlTWFwKCh1cmxzKSA9PiB0aGlzLmxvYWRBbGwodXJscywgb3B0cykpXG4gICAgKTtcbiAgfVxuXG4gIGdldEhvbWVVcmwoZmVlZD86IEpzb25GZWVkKSB7XG4gICAgY29uc3QgZmVlZFVybCA9IGZlZWQ/LmZlZWRfdXJsID8/IGZpcnN0QXJyYXlWYWx1ZSh0aGlzLmZlZWRVcmxzKTtcbiAgICByZXR1cm4gZmVlZFVybCA/IFVybFV0aWxzLmdldFJvb3RVcmwoZmVlZFVybCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRUYWdVcmwoZmVlZDogSnNvbkZlZWQsIHRhZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWZlZWQgfHwgIXRhZykgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyAnZmVlZCcgb3IgJ3RhZycgYXJndW1lbnRcIik7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuZ2V0SG9tZVVybChmZWVkKTtcbiAgICByZXR1cm4gZmVlZC50YWdfdGVtcGxhdGU/LnJlcGxhY2UoJ3t0YWd9JywgdGFnKSA/PyBiYXNlVXJsICsgJy90YWcvJyArIHRhZztcbiAgfVxuXG4gIGFzeW5jIGxvYWQoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgb3B0cz86IHtcbiAgICAgIGxvY2FsZT86IHN0cmluZztcbiAgICAgIG1heEFnZUluTW9udGhzPzogbnVtYmVyO1xuICAgICAgbWF4Q29udGVudExlbmd0aD86IG51bWJlcjtcbiAgICAgIC8vIEludGVybmFsIG9wdGlvbnMgKGZvciByZWN1cnNpdmUgY2FsbHMpXG4gICAgICBkZXB0aD86IG51bWJlcjtcbiAgICB9XG4gICk6IFByb21pc2U8SnNvbkZlZWQ+IHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMubG9hZEFsbChbdXJsXSwgb3B0cyk7XG4gICAgcmV0dXJuIGRhdGE/LlswXTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwoXG4gICAgdXJscz86IHN0cmluZ1tdLFxuICAgIG9wdHM/OiB7XG4gICAgICBsb2NhbGU/OiBzdHJpbmc7XG4gICAgICBtYXhBZ2VJbk1vbnRocz86IG51bWJlcjtcbiAgICAgIG1heENvbnRlbnRMZW5ndGg/OiBudW1iZXI7XG4gICAgICAvLyBJbnRlcm5hbCBvcHRpb25zIChmb3IgcmVjdXJzaXZlIGNhbGxzKVxuICAgICAgZGVwdGg/OiBudW1iZXI7XG4gICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgfVxuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8SnNvbkZlZWQ+PiB7XG4gICAgYXdhaXQgdGhpcy5yZWFkeSgpO1xuICAgIHVybHMgPSB1cmxzID8/IHRoaXMuZmVlZFVybHM7XG4gICAgb3B0cyA9IHtcbiAgICAgIG1heEFnZUluTW9udGhzOiBvcHRzPy5tYXhBZ2VJbk1vbnRocyA/PyB0aGlzLmVudmlyb25tZW50LmZlZWQ/Lm1heEFnZUluTW9udGhzLFxuICAgICAgbWF4Q29udGVudExlbmd0aDogb3B0cz8ubWF4Q29udGVudExlbmd0aCA/PyB0aGlzLmVudmlyb25tZW50LmZlZWQ/Lm1heENvbnRlbnRMZW5ndGgsXG4gICAgICBsb2NhbGU6IHRoaXMuc2V0dGluZ3MubG9jYWxlLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICAuLi5vcHRzLFxuICAgIH07XG4gICAgY29uc3QgZmVlZHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICh1cmxzIHx8IFtdKS5tYXAoYXN5bmMgKHVybCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEdldCBKU09OXG4gICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHRoaXMubmV0d29yay5mZXRjaCh1cmwpO1xuICAgICAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUxvYWRlZCBKU09OIGZyb20gJHt1cmx9YCwganNvbik7XG5cbiAgICAgICAgICAvLyBSZXNvbHZlIGZlZWRcbiAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5yZXNvbHZlRmVlZChqc29uLCB1cmwsIG9wdHMpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyPy5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLl9sb2dQcmVmaXh9IEVycm9yIHdoaWxlIGZldGNoaW5nIGZlZWRzIGF0ICR7dXJsfS4gNDA0IChOb3QgZm91bmQpYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCR7dGhpcy5fbG9nUHJlZml4fSBFcnJvciB3aGlsZSBmZXRjaGluZyBmZWVkcyBhdCAke3VybH1gLCBlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3QgZGF0YSA9IGZlZWRzLmZsYXQoKTtcblxuICAgIC8vIENsb3NlIG9wZW5lZCByZXNvdXJjZXNcbiAgICBpZiAob3B0cy5kZXB0aCA9PT0gMCkge1xuICAgICAgdGhpcy5vbkFmdGVyTG9hZEFsbCgpO1xuICAgIH1cblxuICAgIHJldHVybiB7IGRhdGEsIHRvdGFsOiBkYXRhLmxlbmd0aCB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJlc29sdmVGZWVkKFxuICAgIGpzb246IGFueSxcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRzPzoge1xuICAgICAgbG9jYWxlPzogc3RyaW5nO1xuICAgICAgbWF4QWdlSW5Nb250aHM/OiBudW1iZXI7XG4gICAgICBtYXhDb250ZW50TGVuZ3RoPzogbnVtYmVyO1xuICAgICAgLy8gSW50ZXJuYWwgb3B0aW9ucyAoZm9yIHJlY3Vyc2l2ZSBjYWxscylcbiAgICAgIGRlcHRoPzogbnVtYmVyO1xuICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH1cbiAgKTogUHJvbWlzZTxKc29uRmVlZFtdPiB7XG4gICAgLy8gQ2hlY2sganNvbiBpcyBKc29uRmVlZCBjb21wYXRpYmxlXG4gICAgaWYgKEpzb25GZWVkVXRpbHMuaXNKc29uRmVlZChqc29uKSkge1xuICAgICAgLy8gTWlncmF0ZSBmcm9tIG9sZCB2ZXJzaW9uc1xuICAgICAgbGV0IGZlZWQgPSBKc29uRmVlZFV0aWxzLm1pZ3JhdGVGZWVkKGpzb24pO1xuXG4gICAgICAvLyBSZXNvbHZlIGl0ZW1zIChlLmcuIHVzaW5nIGZlZWQubmV4dF91cmwpXG4gICAgICBmZWVkID0gYXdhaXQgdGhpcy5yZXNvbHZlRmVlZEl0ZW1zKGZlZWQsIHsgLi4ub3B0cywgZGVwdGg6IG9wdHM/LmRlcHRoID8/IDAgfSk7XG5cbiAgICAgIC8vIFRydW5jYXRlIGh0bWxcbiAgICAgIEpzb25GZWVkVXRpbHMudHJ1bmNhdGVGZWVkSXRlbXNIdG1sKGZlZWQsIG9wdHMpO1xuXG4gICAgICByZXR1cm4gaXNOb3RFbXB0eUFycmF5KGZlZWQ/Lml0ZW1zKSA/IFtmZWVkXSA6IFtdO1xuICAgIH1cblxuICAgIC8vIG5vdCByZXNvbHZlZCAodW5rbm93biBmb3JtYXQpXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyByZXNvbHZlRmVlZEl0ZW1zKFxuICAgIGpzb246IEpzb25GZWVkLFxuICAgIG9wdHM/OiB7XG4gICAgICBtYXhDb250ZW50TGVuZ3RoPzogbnVtYmVyO1xuICAgICAgZGVwdGg/OiBudW1iZXI7XG4gICAgfVxuICApOiBQcm9taXNlPEpzb25GZWVkPiB7XG4gICAgaWYgKCFqc29uKSByZXR1cm4ganNvbjtcblxuICAgIC8vIExvYWQgaXRlbXNcbiAgICBpZiAoaXNFbXB0eUFycmF5KGpzb24uaXRlbXMpICYmIGlzTm90TmlsT3JCbGFuayhqc29uLm5leHRfdXJsKSkge1xuICAgICAgY29uc3QgZGVwdGggPSBvcHRzPy5kZXB0aCA/PyAwO1xuICAgICAgaWYgKGRlcHRoID49IDMpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1NYXggZGVwdGggcmVhY2hlZCAoJHtkZXB0aH0pIGZvciAke2pzb24uZmVlZF91cmx9YCk7XG4gICAgICAgIHJldHVybiBqc29uO1xuICAgICAgfVxuXG4gICAgICAvLyBMb2FkIGl0ZW1zXG4gICAgICBjb25zdCBmZWVkID0gYXdhaXQgdGhpcy5sb2FkKGpzb24ubmV4dF91cmwsIHsgLi4ub3B0cywgZGVwdGg6IGRlcHRoICsgMSB9KTtcblxuICAgICAgaWYgKGlzRW1wdHlBcnJheShmZWVkPy5pdGVtcykpIHtcbiAgICAgICAgcmV0dXJuIGpzb247XG4gICAgICB9XG5cbiAgICAgIC8vIE1lcmdlIHdpdGggdGhlIGlucHV0IGpzb25cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmpzb24sXG4gICAgICAgIHRpdGxlOiBqc29uLnRpdGxlID8/IGZlZWQudGl0bGUsXG4gICAgICAgIGhvbWVfcGFnZV91cmw6IGpzb24uaG9tZV9wYWdlX3VybCA/PyBmZWVkLmhvbWVfcGFnZV91cmwsXG4gICAgICAgIGF1dGhvcnM6IGlzTm90RW1wdHlBcnJheShqc29uLmF1dGhvcnMpID8ganNvbi5hdXRob3JzIDogZmVlZC5hdXRob3JzLFxuICAgICAgICBpdGVtczogZmVlZC5pdGVtcyxcbiAgICAgICAgdGFnX3RlbXBsYXRlOiBqc29uLnRhZ190ZW1wbGF0ZSA/PyBmZWVkLnRhZ190ZW1wbGF0ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBwcm90ZWN0ZWQgb25BZnRlckxvYWRBbGwoKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9RmVlZHMgbG9hZGVkYCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -20,6 +20,7 @@ import * as i9 from "@angular/material/core";
|
|
|
20
20
|
import * as i10 from "../../shared/material/chips/material.chips";
|
|
21
21
|
import * as i11 from "../../shared/directives/autoresize.directive";
|
|
22
22
|
import * as i12 from "@angular/material/chips";
|
|
23
|
+
import * as i13 from "../../shared/pipes/form.pipes";
|
|
23
24
|
export class MessageForm extends AppForm {
|
|
24
25
|
formBuilder;
|
|
25
26
|
cd;
|
|
@@ -116,11 +117,11 @@ export class MessageForm extends AppForm {
|
|
|
116
117
|
this.cd.markForCheck();
|
|
117
118
|
}
|
|
118
119
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageForm, deps: [{ token: i0.Injector }, { token: i1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
120
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MessageForm, selector: "app-message-form", inputs: { suggestFn: "suggestFn", subjectMinLength: "subjectMinLength", subjectMaxLength: "subjectMaxLength", bodyMaxLength: "bodyMaxLength", bodyAutoHeight: "bodyAutoHeight", canSelectType: "canSelectType", canRecipientFilter: "canRecipientFilter", recipientFilterCount: "recipientFilterCount" }, usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\" class=\"form-container\">\n <!-- type -->\n <mat-form-field *ngIf=\"canSelectType\">\n <mat-label>{{ 'SOCIAL.MESSAGE.TYPE' | translate }}</mat-label>\n <mat-select formControlName=\"type\">\n @for (item of types; track item.id) {\n @if (canRecipientFilter || item.id !== 'FEED') {\n <mat-option [value]=\"item.id\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label | translate }}\n </mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n\n <!-- Recipients -->\n @if ((form | formGetValue: 'type') !== 'FEED') {\n <mat-chips-field\n formControlName=\"recipients\"\n chipColor=\"accent\"\n [placeholder]=\"'SOCIAL.MESSAGE.RECIPIENTS' | translate\"\n [config]=\"autocompleteFields.recipients\"\n [equals]=\"isSamePerson\"\n ></mat-chips-field>\n } @else {\n <mat-form-field>\n <input matInput hidden formControlName=\"recipients\" type=\"text\" />\n <mat-chip-grid>\n <mat-chip-row>\n {{ 'SOCIAL.MESSAGE.RECIPIENT_FILTER_COUNT' | translate: { count: recipientFilterCount } }}\n </mat-chip-row>\n </mat-chip-grid>\n </mat-form-field>\n }\n\n <!-- Subject -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.SUBJECT' | translate }}</mat-label>\n <input matInput type=\"text\" formControlName=\"subject\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"form.controls.subject.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('minlength')\">\n {{ 'ERROR.FIELD_MIN_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-hint *ngIf=\"subjectMaxLength\" align=\"end\">\n {{\n 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.subject.value?.length || 0, max: subjectMaxLength }\n }}\n </mat-hint>\n </mat-form-field>\n\n <!-- Body -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.BODY_HELP' | translate }}</mat-label>\n <textarea\n matInput\n type=\"text\"\n formControlName=\"body\"\n [class.fixed-height]=\"!bodyAutoHeight\"\n [cdkTextareaAutosize]=\"bodyAutoHeight\"\n (keydown.control.enter)=\"doSubmit($event)\"\n ></textarea>\n <mat-error *ngIf=\"form.controls.body.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: form.controls.body.errors.maxlength }}\n </mat-error>\n <mat-hint *ngIf=\"bodyMaxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.body.value?.length || 0, max: bodyMaxLength } }}\n </mat-hint>\n </mat-form-field>\n</form>\n", styles: ["textarea.fixed-height{height:11.5em}textarea{min-height:11.5em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i10.MatChipsField, selector: "mat-chips-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "placeholder", "suggestFn", "required", "mobile", "readonly", "clearable", "debounceTime", "displaySeparator", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "panelClass", "panelWidth", "disableRipple", "matAutocompletePosition", "itemSize", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "chipColor", "debug", "applyImplicitValue", "dropButtonTitle", "clearButtonTitle", "trimSearchText", "hideRequiredMarker", "colSizes", "separatorKeysCodes", "appearance", "subscriptSizing", "class", "filter", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "directive", type: i11.AutoResizeDirective, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMaxRows", "cdkAutosizeMinRows"] }, { kind: "component", type: i12.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "component", type: i12.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.FormGetValuePipe, name: "formGetValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
120
121
|
}
|
|
121
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageForm, decorators: [{
|
|
122
123
|
type: Component,
|
|
123
|
-
args: [{ selector: 'app-message-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" class=\"form-container\">\n <!-- type -->\n <mat-form-field *ngIf=\"canSelectType\">\n <mat-label>{{ 'SOCIAL.MESSAGE.TYPE' | translate }}</mat-label>\n <mat-select formControlName=\"type\">\n
|
|
124
|
+
args: [{ selector: 'app-message-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" class=\"form-container\">\n <!-- type -->\n <mat-form-field *ngIf=\"canSelectType\">\n <mat-label>{{ 'SOCIAL.MESSAGE.TYPE' | translate }}</mat-label>\n <mat-select formControlName=\"type\">\n @for (item of types; track item.id) {\n @if (canRecipientFilter || item.id !== 'FEED') {\n <mat-option [value]=\"item.id\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label | translate }}\n </mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n\n <!-- Recipients -->\n @if ((form | formGetValue: 'type') !== 'FEED') {\n <mat-chips-field\n formControlName=\"recipients\"\n chipColor=\"accent\"\n [placeholder]=\"'SOCIAL.MESSAGE.RECIPIENTS' | translate\"\n [config]=\"autocompleteFields.recipients\"\n [equals]=\"isSamePerson\"\n ></mat-chips-field>\n } @else {\n <mat-form-field>\n <input matInput hidden formControlName=\"recipients\" type=\"text\" />\n <mat-chip-grid>\n <mat-chip-row>\n {{ 'SOCIAL.MESSAGE.RECIPIENT_FILTER_COUNT' | translate: { count: recipientFilterCount } }}\n </mat-chip-row>\n </mat-chip-grid>\n </mat-form-field>\n }\n\n <!-- Subject -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.SUBJECT' | translate }}</mat-label>\n <input matInput type=\"text\" formControlName=\"subject\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"form.controls.subject.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('minlength')\">\n {{ 'ERROR.FIELD_MIN_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-hint *ngIf=\"subjectMaxLength\" align=\"end\">\n {{\n 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.subject.value?.length || 0, max: subjectMaxLength }\n }}\n </mat-hint>\n </mat-form-field>\n\n <!-- Body -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.BODY_HELP' | translate }}</mat-label>\n <textarea\n matInput\n type=\"text\"\n formControlName=\"body\"\n [class.fixed-height]=\"!bodyAutoHeight\"\n [cdkTextareaAutosize]=\"bodyAutoHeight\"\n (keydown.control.enter)=\"doSubmit($event)\"\n ></textarea>\n <mat-error *ngIf=\"form.controls.body.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: form.controls.body.errors.maxlength }}\n </mat-error>\n <mat-hint *ngIf=\"bodyMaxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.body.value?.length || 0, max: bodyMaxLength } }}\n </mat-hint>\n </mat-form-field>\n</form>\n", styles: ["textarea.fixed-height{height:11.5em}textarea{min-height:11.5em}\n"] }]
|
|
124
125
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }], propDecorators: { suggestFn: [{
|
|
125
126
|
type: Input
|
|
126
127
|
}], subjectMinLength: [{
|
|
@@ -138,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
138
139
|
}], recipientFilterCount: [{
|
|
139
140
|
type: Input
|
|
140
141
|
}] } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLmZvcm0udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UuZm9ybS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBVyxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQWdCO0lBZ0JyQztJQUNTO0lBaEJWLE1BQU0sQ0FBVTtJQUVoQixTQUFTLENBQWtDO0lBQzNDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNyQixnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFDdkIsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNyQixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsa0JBQWtCLEdBQUcsS0FBSyxDQUFD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Q0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztnQkFDRCxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztvQkFDOUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztnQkFDRCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUM7UUFFRCxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBNUdVLFdBQVc7NEZBQVgsV0FBVyx5WENsQnhCLDh5RkF1RUE7OzRGRHJEYSxXQUFXO2tCQU52QixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzhJQUt0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVR5cGVMaXN0LCBNZXNzYWdlVHlwZXMgfSBmcm9tICcuL21lc3NhZ2UubW9kZWwnO1xuaW1wb3J0IHsgQXBwRm9ybSB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQgeyBQZXJzb24sIFBlcnNvblV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgU3VnZ2VzdEZuIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IFBlcnNvbkZpbHRlciB9IGZyb20gJy4uLy4uL2FkbWluL3NlcnZpY2VzL2ZpbHRlci9wZXJzb24uZmlsdGVyJztcbmltcG9ydCB7IEVudGl0eVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgY2hhbmdlQ2FzZVRvVW5kZXJzY29yZSwgaXNOb3ROaWwsIHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbWVzc2FnZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3NhZ2UuZm9ybS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZS5mb3JtLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VGb3JtIGV4dGVuZHMgQXBwRm9ybTxNZXNzYWdlPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IG1vYmlsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzdWdnZXN0Rm46IFN1Z2dlc3RGbjxQZXJzb24sIFBlcnNvbkZpbHRlcj47XG4gIEBJbnB1dCgpIHN1YmplY3RNaW5MZW5ndGggPSA1O1xuICBASW5wdXQoKSBzdWJqZWN0TWF4TGVuZ3RoID0gMjU1O1xuICBASW5wdXQoKSBib2R5TWF4TGVuZ3RoID0gMjAwMDtcbiAgQElucHV0KCkgYm9keUF1dG9IZWlnaHQgPSB0cnVlO1xuICBASW5wdXQoKSBjYW5TZWxlY3RUeXBlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhblJlY2lwaWVudEZpbHRlciA9IGZhbHNlO1xuICBASW5wdXQoKSByZWNpcGllbnRGaWx0ZXJDb3VudCA9IDA7XG5cbiAgdHlwZXMgPSBNZXNzYWdlVHlwZUxpc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgdGhpcy5tb2JpbGUgPSB0aGlzLnNldHRpbmdzLm1vYmlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0Rm9ybShcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICB0eXBlOiBbTWVzc2FnZVR5cGVzLklOQk9YX01FU1NBR0UsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICByZWNpcGllbnRzOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHJlY2lwaWVudEZpbHRlcjogW251bGxdLFxuICAgICAgICBzdWJqZWN0OiBbXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICB0aGlzLnN1YmplY3RNYXhMZW5ndGhcbiAgICAgICAgICAgID8gVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCh0aGlzLnN1YmplY3RNaW5MZW5ndGgpLCBWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLnN1YmplY3RNYXhMZW5ndGgpXSlcbiAgICAgICAgICAgIDogVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgXSxcbiAgICAgICAgYm9keTogW251bGwsIHRoaXMuYm9keU1heExlbmd0aCA/IFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5ib2R5TWF4TGVuZ3RoKV0pIDogVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5fZm9ybVxuICAgICAgICAuZ2V0KCd0eXBlJylcbiAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKGZpbHRlcihpc05vdE5pbCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHR5cGUpID0+IHRoaXMudXBkYXRlRm9ybUdyb3VwKHRoaXMuX2Zvcm0sIHsgdHlwZSB9KSlcbiAgICApO1xuXG4gICAgLy8gUGVyc29uIGNvbWJvXG4gICAgY29uc3QgcGVyc29uQXR0cmlidXRlcyA9IHRoaXMuc2V0dGluZ3MuZ2V0RmllbGREaXNwbGF5QXR0cmlidXRlcygncGVyc29uJywgWydsYXN0TmFtZScsICdmaXJzdE5hbWUnLCAnZGVwYXJ0bWVudC5uYW1lJ10pO1xuICAgIHRoaXMucmVnaXN0ZXJBdXRvY29tcGxldGVGaWVsZCgncmVjaXBpZW50cycsIHtcbiAgICAgIHNob3dBbGxPbkZvY3VzOiBmYWxzZSxcbiAgICAgIHN1Z2dlc3RGbjogdGhpcy5zdWdnZXN0Rm4sXG4gICAgICBmaWx0ZXI6IHtcbiAgICAgICAgc3RhdHVzSWRzOiBbU3RhdHVzSWRzLlRFTVBPUkFSWSwgU3RhdHVzSWRzLkVOQUJMRV0sXG4gICAgICB9LFxuICAgICAgYXR0cmlidXRlczogcGVyc29uQXR0cmlidXRlcyxcbiAgICAgIGNvbHVtbk5hbWVzOiBwZXJzb25BdHRyaWJ1dGVzLm1hcCgoYXR0cikgPT4gYFVTRVIuJHtjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlKGF0dHIpLnRvVXBwZXJDYXNlKCl9YCksXG4gICAgICBkaXNwbGF5V2l0aDogUGVyc29uVXRpbHMucGVyc29uVG9TdHJpbmcsXG4gICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgIG1vYmlsZTogdGhpcy5tb2JpbGUsXG4gICAgfSk7XG4gIH1cblxuICBpc1NhbWVQZXJzb24obzE6IFBlcnNvbiwgbzI6IFBlcnNvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBFbnRpdHlVdGlscy5lcXVhbHMobzEsIG8yLCAnaWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtR3JvdXAoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBvcHRzPzogeyB0eXBlPzogc3RyaW5nOyByZWNpcGllbnRSZXF1aXJlZD86IGJvb2xlYW4gfSkge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttZXNzYWdlLWZvcm1dIFVwZGF0aW5nIGZvcm0gZ3JvdXAuLi4nLCBvcHRzKTtcblxuICAgIC8vIFJlY2lwaWVudCB2YWxpZGF0b3JcbiAgICBjb25zdCByZWNpcGllbnRzUmVxdWlyZWQgPSB0b0Jvb2xlYW4ob3B0cz8ucmVjaXBpZW50UmVxdWlyZWQsIG9wdHM/LnR5cGUgIT09IE1lc3NhZ2VUeXBlcy5GRUVEKTtcbiAgICB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldCgncmVjaXBpZW50cycpO1xuICAgICAgaWYgKHJlY2lwaWVudHNSZXF1aXJlZCkge1xuICAgICAgICBpZiAoIWNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgICAgICBjb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVjaXBpZW50IGZpbHRlciB2YWxpZGF0b3JcbiAgICBjb25zdCByZWNpcGllbnRGaWx0ZXJSZXF1aXJlZCA9IHRoaXMuY2FuUmVjaXBpZW50RmlsdGVyICYmICFyZWNpcGllbnRzUmVxdWlyZWQ7XG4gICAge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoJ3JlY2lwaWVudEZpbHRlcicpO1xuICAgICAgaWYgKHJlY2lwaWVudEZpbHRlclJlcXVpcmVkKSB7XG4gICAgICAgIGlmICghY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29udHJvbC5lbmFibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImZvcm0tY29udGFpbmVyXCI+XG4gIDwhLS0gdHlwZSAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY2FuU2VsZWN0VHlwZVwiPlxuICAgIDxtYXQtbGFiZWw+e3sgJ1NPQ0lBTC5NRVNTQUdFLlRZUEUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0eXBlc1wiPlxuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbS5pZFwiICpuZ0lmPVwiaXRlbS5pZCAhPT0gJ0ZFRUQnIHx8IGNhblJlY2lwaWVudEZpbHRlclwiPlxuICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJpdGVtLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDwhLS0gUmVjaXBpZW50cyAtLT5cbiAgPG1hdC1jaGlwcy1maWVsZFxuICAgICpuZ0lmPVwiKGZvcm0uY29udHJvbHMudHlwZS52YWx1ZUNoYW5nZXMgfCBhc3luYykgIT09ICdGRUVEJzsgZWxzZSByZWNpcGllbnRGaWx0ZXJcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cInJlY2lwaWVudHNcIlxuICAgIGNoaXBDb2xvcj1cImFjY2VudFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidTT0NJQUwuTUVTU0FHRS5SRUNJUElFTlRTJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2NvbmZpZ109XCJhdXRvY29tcGxldGVGaWVsZHMucmVjaXBpZW50c1wiXG4gICAgW2VxdWFsc109XCJpc1NhbWVQZXJzb25cIlxuICA+PC9tYXQtY2hpcHMtZmllbGQ+XG4gIDxuZy10ZW1wbGF0ZSAjcmVjaXBpZW50RmlsdGVyPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtY2hpcC1ncmlkPlxuICAgICAgICA8bWF0LWNoaXAtcm93PlxuICAgICAgICAgIHt7ICdTT0NJQUwuTUVTU0FHRS5SRUNJUElFTlRfRklMVEVSX0NPVU5UJyB8IHRyYW5zbGF0ZTogeyBjb3VudDogcmVjaXBpZW50RmlsdGVyQ291bnQgfSB9fVxuICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgIDwvbWF0LWNoaXAtZ3JpZD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBoaWRkZW4gdHlwZT1cIm51bWJlclwiIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIFN1YmplY3QgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7ICdTT0NJQUwuTUVTU0FHRS5TVUJKRUNUJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInN1YmplY3RcIiBhdXRvY29tcGxldGU9XCJvZmZcIiByZXF1aXJlZCAvPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnN1YmplY3QuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5zdWJqZWN0Lmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlxuICAgICAge3sgJ0VSUk9SLkZJRUxEX01JTl9MRU5HVEhfQ09NUEFDVCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5zdWJqZWN0Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPlxuICAgICAge3sgJ0VSUk9SLkZJRUxEX01BWF9MRU5HVEhfQ09NUEFDVCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJzdWJqZWN0TWF4TGVuZ3RoXCIgYWxpZ249XCJlbmRcIj5cbiAgICAgIHt7XG4gICAgICAgICdJTkZPLlRFWFRfUFJPR1JFU1MnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnQ6IGZvcm0uY29udHJvbHMuc3ViamVjdC52YWx1ZT8ubGVuZ3RoIHx8IDAsIG1heDogc3ViamVjdE1heExlbmd0aCB9XG4gICAgICB9fVxuICAgIDwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPCEtLSBCb2R5IC0tPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyAnU09DSUFMLk1FU1NBR0UuQk9EWV9IRUxQJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgbWF0SW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImJvZHlcIlxuICAgICAgW2NsYXNzLmZpeGVkLWhlaWdodF09XCIhYm9keUF1dG9IZWlnaHRcIlxuICAgICAgW2Nka1RleHRhcmVhQXV0b3NpemVdPVwiYm9keUF1dG9IZWlnaHRcIlxuICAgICAgKGtleWRvd24uY29udHJvbC5lbnRlcik9XCJkb1N1Ym1pdCgkZXZlbnQpXCJcbiAgICA+PC90ZXh0YXJlYT5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9scy5ib2R5Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPlxuICAgICAge3sgJ0VSUk9SLkZJRUxEX01BWF9MRU5HVEgnIHwgdHJhbnNsYXRlOiBmb3JtLmNvbnRyb2xzLmJvZHkuZXJyb3JzLm1heGxlbmd0aCB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtaGludCAqbmdJZj1cImJvZHlNYXhMZW5ndGhcIiBhbGlnbj1cImVuZFwiPlxuICAgICAge3sgJ0lORk8uVEVYVF9QUk9HUkVTUycgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogZm9ybS5jb250cm9scy5ib2R5LnZhbHVlPy5sZW5ndGggfHwgMCwgbWF4OiBib2R5TWF4TGVuZ3RoIH0gfX1cbiAgICA8L21hdC1oaW50PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9mb3JtPlxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLmZvcm0udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UuZm9ybS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBVyxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFReEMsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFnQjtJQWdCckM7SUFDUztJQWhCVixNQUFNLENBQVU7SUFFaEIsU0FBUyxDQUFrQztJQUMzQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDckIsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDckIsY0FBYyxHQUFHLElBQUksQ0FBQztJQUN0QixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixvQkFBb0IsR0FBRyxDQUFDLENBQUM7SUFFbEMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUV4QixZQUNFLFFBQWtCLEVBQ1YsV0FBK0IsRUFDdEIsRUFBcUI7UUFFdEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBR3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3JCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN2RCxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN2QyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDdkIsT0FBTyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osSUFBSSxDQUFDLGdCQUFnQjtvQkFDbkIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO29CQUNySSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVE7YUFDeEI7WUFDRCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUN4SCxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxvQkFBb0IsQ0FDdkIsSUFBSSxDQUFDLEtBQUs7YUFDUCxHQUFHLENBQUMsTUFBTSxDQUFDO2FBQ1gsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ25FLENBQUM7UUFFRixlQUFlO1FBQ2YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ3pILElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLEVBQUU7WUFDM0MsY0FBYyxFQUFFLEtBQUs7WUFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE1BQU0sRUFBRTtnQkFDTixTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDbkQ7WUFDRCxVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUNqRyxXQUFXLEVBQUUsV0FBVyxDQUFDLGNBQWM7WUFDdkMsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVLEVBQUUsRUFBVTtRQUNqQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRVMsZUFBZSxDQUFDLFNBQTJCLEVBQUUsSUFBcUQ7UUFDMUcsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3RCxzQkFBc0I7UUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hHLENBQUM7WUFDQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVDLElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQy9DLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO2dCQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUM5QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUNELE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUVELDZCQUE2QjtRQUM3QixNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQy9FLENBQUM7WUFDQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDakQsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztvQkFDL0MsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzdDLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQzlDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBRUQsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVTLFlBQVk7UUFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQTVHVSxXQUFXOzRGQUFYLFdBQVcseVhDbEJ4Qix1eEZBeUVBOzs0RkR2RGEsV0FBVztrQkFOdkIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4SUFLdEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VUeXBlTGlzdCwgTWVzc2FnZVR5cGVzIH0gZnJvbSAnLi9tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IEFwcEZvcm0gfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm0vZm9ybS5jbGFzcyc7XG5pbXBvcnQgeyBTdGF0dXNJZHMgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL21vZGVsLmVudW0nO1xuaW1wb3J0IHsgUGVyc29uLCBQZXJzb25VdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7IFN1Z2dlc3RGbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBQZXJzb25GaWx0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9zZXJ2aWNlcy9maWx0ZXIvcGVyc29uLmZpbHRlcic7XG5pbXBvcnQgeyBFbnRpdHlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IGNoYW5nZUNhc2VUb1VuZGVyc2NvcmUsIGlzTm90TmlsLCB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1lc3NhZ2UtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLmZvcm0uaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lc3NhZ2UuZm9ybS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlRm9ybSBleHRlbmRzIEFwcEZvcm08TWVzc2FnZT4gaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSBtb2JpbGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc3VnZ2VzdEZuOiBTdWdnZXN0Rm48UGVyc29uLCBQZXJzb25GaWx0ZXI+O1xuICBASW5wdXQoKSBzdWJqZWN0TWluTGVuZ3RoID0gNTtcbiAgQElucHV0KCkgc3ViamVjdE1heExlbmd0aCA9IDI1NTtcbiAgQElucHV0KCkgYm9keU1heExlbmd0aCA9IDIwMDA7XG4gIEBJbnB1dCgpIGJvZHlBdXRvSGVpZ2h0ID0gdHJ1ZTtcbiAgQElucHV0KCkgY2FuU2VsZWN0VHlwZSA9IGZhbHNlO1xuICBASW5wdXQoKSBjYW5SZWNpcGllbnRGaWx0ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVjaXBpZW50RmlsdGVyQ291bnQgPSAwO1xuXG4gIHR5cGVzID0gTWVzc2FnZVR5cGVMaXN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5zZXR0aW5ncy5tb2JpbGU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEZvcm0oXG4gICAgICB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgdHlwZTogW01lc3NhZ2VUeXBlcy5JTkJPWF9NRVNTQUdFLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgcmVjaXBpZW50czogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICByZWNpcGllbnRGaWx0ZXI6IFtudWxsXSxcbiAgICAgICAgc3ViamVjdDogW1xuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgdGhpcy5zdWJqZWN0TWF4TGVuZ3RoXG4gICAgICAgICAgICA/IFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgodGhpcy5zdWJqZWN0TWluTGVuZ3RoKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5zdWJqZWN0TWF4TGVuZ3RoKV0pXG4gICAgICAgICAgICA6IFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIF0sXG4gICAgICAgIGJvZHk6IFtudWxsLCB0aGlzLmJvZHlNYXhMZW5ndGggPyBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMuYm9keU1heExlbmd0aCldKSA6IFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbihcbiAgICAgIHRoaXMuX2Zvcm1cbiAgICAgICAgLmdldCgndHlwZScpXG4gICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShmaWx0ZXIoaXNOb3ROaWwpKVxuICAgICAgICAuc3Vic2NyaWJlKCh0eXBlKSA9PiB0aGlzLnVwZGF0ZUZvcm1Hcm91cCh0aGlzLl9mb3JtLCB7IHR5cGUgfSkpXG4gICAgKTtcblxuICAgIC8vIFBlcnNvbiBjb21ib1xuICAgIGNvbnN0IHBlcnNvbkF0dHJpYnV0ZXMgPSB0aGlzLnNldHRpbmdzLmdldEZpZWxkRGlzcGxheUF0dHJpYnV0ZXMoJ3BlcnNvbicsIFsnbGFzdE5hbWUnLCAnZmlyc3ROYW1lJywgJ2RlcGFydG1lbnQubmFtZSddKTtcbiAgICB0aGlzLnJlZ2lzdGVyQXV0b2NvbXBsZXRlRmllbGQoJ3JlY2lwaWVudHMnLCB7XG4gICAgICBzaG93QWxsT25Gb2N1czogZmFsc2UsXG4gICAgICBzdWdnZXN0Rm46IHRoaXMuc3VnZ2VzdEZuLFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIHN0YXR1c0lkczogW1N0YXR1c0lkcy5URU1QT1JBUlksIFN0YXR1c0lkcy5FTkFCTEVdLFxuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IHBlcnNvbkF0dHJpYnV0ZXMsXG4gICAgICBjb2x1bW5OYW1lczogcGVyc29uQXR0cmlidXRlcy5tYXAoKGF0dHIpID0+IGBVU0VSLiR7Y2hhbmdlQ2FzZVRvVW5kZXJzY29yZShhdHRyKS50b1VwcGVyQ2FzZSgpfWApLFxuICAgICAgZGlzcGxheVdpdGg6IFBlcnNvblV0aWxzLnBlcnNvblRvU3RyaW5nLFxuICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICBtb2JpbGU6IHRoaXMubW9iaWxlLFxuICAgIH0pO1xuICB9XG5cbiAgaXNTYW1lUGVyc29uKG8xOiBQZXJzb24sIG8yOiBQZXJzb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gRW50aXR5VXRpbHMuZXF1YWxzKG8xLCBvMiwgJ2lkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlRm9ybUdyb3VwKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgb3B0cz86IHsgdHlwZT86IHN0cmluZzsgcmVjaXBpZW50UmVxdWlyZWQ/OiBib29sZWFuIH0pIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbbWVzc2FnZS1mb3JtXSBVcGRhdGluZyBmb3JtIGdyb3VwLi4uJywgb3B0cyk7XG5cbiAgICAvLyBSZWNpcGllbnQgdmFsaWRhdG9yXG4gICAgY29uc3QgcmVjaXBpZW50c1JlcXVpcmVkID0gdG9Cb29sZWFuKG9wdHM/LnJlY2lwaWVudFJlcXVpcmVkLCBvcHRzPy50eXBlICE9PSBNZXNzYWdlVHlwZXMuRkVFRCk7XG4gICAge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoJ3JlY2lwaWVudHMnKTtcbiAgICAgIGlmIChyZWNpcGllbnRzUmVxdWlyZWQpIHtcbiAgICAgICAgaWYgKCFjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLmVuYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgY29udHJvbC5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlY2lwaWVudCBmaWx0ZXIgdmFsaWRhdG9yXG4gICAgY29uc3QgcmVjaXBpZW50RmlsdGVyUmVxdWlyZWQgPSB0aGlzLmNhblJlY2lwaWVudEZpbHRlciAmJiAhcmVjaXBpZW50c1JlcXVpcmVkO1xuICAgIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KCdyZWNpcGllbnRGaWx0ZXInKTtcbiAgICAgIGlmIChyZWNpcGllbnRGaWx0ZXJSZXF1aXJlZCkge1xuICAgICAgICBpZiAoIWNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgICAgICBjb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiPlxuICA8IS0tIHR5cGUgLS0+XG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImNhblNlbGVjdFR5cGVcIj5cbiAgICA8bWF0LWxhYmVsPnt7ICdTT0NJQUwuTUVTU0FHRS5UWVBFJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInR5cGVcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgdHlwZXM7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgQGlmIChjYW5SZWNpcGllbnRGaWx0ZXIgfHwgaXRlbS5pZCAhPT0gJ0ZFRUQnKSB7XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW0uaWRcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJpdGVtLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8IS0tIFJlY2lwaWVudHMgLS0+XG4gIEBpZiAoKGZvcm0gfCBmb3JtR2V0VmFsdWU6ICd0eXBlJykgIT09ICdGRUVEJykge1xuICAgIDxtYXQtY2hpcHMtZmllbGRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlY2lwaWVudHNcIlxuICAgICAgY2hpcENvbG9yPVwiYWNjZW50XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU09DSUFMLk1FU1NBR0UuUkVDSVBJRU5UUycgfCB0cmFuc2xhdGVcIlxuICAgICAgW2NvbmZpZ109XCJhdXRvY29tcGxldGVGaWVsZHMucmVjaXBpZW50c1wiXG4gICAgICBbZXF1YWxzXT1cImlzU2FtZVBlcnNvblwiXG4gICAgPjwvbWF0LWNoaXBzLWZpZWxkPlxuICB9IEBlbHNlIHtcbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgaGlkZGVuIGZvcm1Db250cm9sTmFtZT1cInJlY2lwaWVudHNcIiB0eXBlPVwidGV4dFwiIC8+XG4gICAgICA8bWF0LWNoaXAtZ3JpZD5cbiAgICAgICAgPG1hdC1jaGlwLXJvdz5cbiAgICAgICAgICB7eyAnU09DSUFMLk1FU1NBR0UuUkVDSVBJRU5UX0ZJTFRFUl9DT1VOVCcgfCB0cmFuc2xhdGU6IHsgY291bnQ6IHJlY2lwaWVudEZpbHRlckNvdW50IH0gfX1cbiAgICAgICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgfVxuXG4gIDwhLS0gU3ViamVjdCAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgJ1NPQ0lBTC5NRVNTQUdFLlNVQkpFQ1QnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwic3ViamVjdFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkIC8+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMuc3ViamVjdC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnN1YmplY3QuaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUlOX0xFTkdUSF9DT01QQUNUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnN1YmplY3QuaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUFYX0xFTkdUSF9DT01QQUNUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtaGludCAqbmdJZj1cInN1YmplY3RNYXhMZW5ndGhcIiBhbGlnbj1cImVuZFwiPlxuICAgICAge3tcbiAgICAgICAgJ0lORk8uVEVYVF9QUk9HUkVTUycgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogZm9ybS5jb250cm9scy5zdWJqZWN0LnZhbHVlPy5sZW5ndGggfHwgMCwgbWF4OiBzdWJqZWN0TWF4TGVuZ3RoIH1cbiAgICAgIH19XG4gICAgPC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8IS0tIEJvZHkgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7ICdTT0NJQUwuTUVTU0FHRS5CT0RZX0hFTFAnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPHRleHRhcmVhXG4gICAgICBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYm9keVwiXG4gICAgICBbY2xhc3MuZml4ZWQtaGVpZ2h0XT1cIiFib2R5QXV0b0hlaWdodFwiXG4gICAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJib2R5QXV0b0hlaWdodFwiXG4gICAgICAoa2V5ZG93bi5jb250cm9sLmVudGVyKT1cImRvU3VibWl0KCRldmVudClcIlxuICAgID48L3RleHRhcmVhPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmJvZHkuaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUFYX0xFTkdUSCcgfCB0cmFuc2xhdGU6IGZvcm0uY29udHJvbHMuYm9keS5lcnJvcnMubWF4bGVuZ3RoIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiYm9keU1heExlbmd0aFwiIGFsaWduPVwiZW5kXCI+XG4gICAgICB7eyAnSU5GTy5URVhUX1BST0dSRVNTJyB8IHRyYW5zbGF0ZTogeyBjdXJyZW50OiBmb3JtLmNvbnRyb2xzLmJvZHkudmFsdWU/Lmxlbmd0aCB8fCAwLCBtYXg6IGJvZHlNYXhMZW5ndGggfSB9fVxuICAgIDwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=
|
|
@@ -22,7 +22,7 @@ export const MessageTypeList = Object.freeze([
|
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
id: MessageTypes.FEED,
|
|
25
|
-
icon: '
|
|
25
|
+
icon: 'megaphone',
|
|
26
26
|
label: 'SOCIAL.MESSAGE.TYPE_ENUM.FEED',
|
|
27
27
|
},
|
|
28
28
|
]);
|
|
@@ -72,4 +72,4 @@ MessageFilter = __decorate([
|
|
|
72
72
|
EntityClass({ typename: 'MessageFilterVO' })
|
|
73
73
|
], MessageFilter);
|
|
74
74
|
export { MessageFilter };
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL21lc3NhZ2UvbWVzc2FnZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQXlCLE1BQU0sd0NBQXdDLENBQUM7QUFFdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHekUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07Q0FDYixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDM0M7UUFDRSxFQUFFLEVBQUUsWUFBWSxDQUFDLGFBQWE7UUFDOUIsSUFBSSxFQUFFLGVBQWU7UUFDckIsS0FBSyxFQUFFLHdDQUF3QztLQUNoRDtJQUNEO1FBQ0UsRUFBRSxFQUFFLFlBQVksQ0FBQyxLQUFLO1FBQ3RCLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLGdDQUFnQztLQUN4QztJQUNEO1FBQ0UsRUFBRSxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQ3JCLElBQUksRUFBRSxXQUFXO1FBQ2pCLEtBQUssRUFBRSwrQkFBK0I7S0FDdkM7Q0FDRixDQUFDLENBQUM7QUFFSCxXQUFXO0FBRUosSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFRLFNBQVEsTUFBZTtJQUMxQyxNQUFNLENBQUMsVUFBVSxDQUF1QztJQUV4RCxJQUFJLENBQVM7SUFDYixNQUFNLENBQVM7SUFDZixVQUFVLENBQVc7SUFDckIsZUFBZSxDQUFlO0lBQzlCLE9BQU8sQ0FBUztJQUNoQixJQUFJLENBQVM7SUFFYjtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFXLEVBQUUsSUFBVTtRQUNoQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDaEgsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQTRCO1FBQ25DLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEYsTUFBTSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDcEcsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUE5QlksT0FBTztJQURuQixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7R0FDMUIsT0FBTyxDQThCbkI7O0FBRUQsV0FBVztBQUVKLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWMsU0FBUSxZQUFvQztJQUNyRSxNQUFNLENBQUMsVUFBVSxDQUE2QztJQUU5RCxVQUFVLENBQUMsTUFBVyxFQUFFLElBQVU7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUNGLENBQUE7QUFWWSxhQUFhO0lBRHpCLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0dBQ2hDLGFBQWEsQ0FVekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlDbGFzcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5LmRlY29yYXRvcnMnO1xuaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlBc09iamVjdE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBTdG9yZU9iamVjdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgRW50aXR5RmlsdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVyc29uIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgUGVyc29uRmlsdGVyIH0gZnJvbSAnLi4vLi4vYWRtaW4vc2VydmljZXMvZmlsdGVyL3BlcnNvbi5maWx0ZXInO1xuaW1wb3J0IHsgRmlsdGVyRm4gfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgTWVzc2FnZVR5cGVzID0ge1xuICBJTkJPWF9NRVNTQUdFOiAnSU5CT1hfTUVTU0FHRScsXG4gIEVNQUlMOiAnRU1BSUwnLFxuICBGRUVEOiAnRkVFRCcsXG59O1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VUeXBlTGlzdCA9IE9iamVjdC5mcmVlemUoW1xuICB7XG4gICAgaWQ6IE1lc3NhZ2VUeXBlcy5JTkJPWF9NRVNTQUdFLFxuICAgIGljb246ICdub3RpZmljYXRpb25zJyxcbiAgICBsYWJlbDogJ1NPQ0lBTC5NRVNTQUdFLlRZUEVfRU5VTS5JTkJPWF9NRVNTQUdFJyxcbiAgfSxcbiAge1xuICAgIGlkOiBNZXNzYWdlVHlwZXMuRU1BSUwsXG4gICAgaWNvbjogJ21haWwnLFxuICAgIGxhYmVsOiAnU09DSUFMLk1FU1NBR0UuVFlQRV9FTlVNLkVNQUlMJyxcbiAgfSxcbiAge1xuICAgIGlkOiBNZXNzYWdlVHlwZXMuRkVFRCxcbiAgICBpY29uOiAnbWVnYXBob25lJyxcbiAgICBsYWJlbDogJ1NPQ0lBTC5NRVNTQUdFLlRZUEVfRU5VTS5GRUVEJyxcbiAgfSxcbl0pO1xuXG4vLyBAZHluYW1pY1xuQEVudGl0eUNsYXNzKHsgdHlwZW5hbWU6ICdNZXNzYWdlVk8nIH0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZSBleHRlbmRzIEVudGl0eTxNZXNzYWdlPiB7XG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IE1lc3NhZ2U7XG5cbiAgdHlwZTogc3RyaW5nO1xuICBpc3N1ZXI6IFBlcnNvbjtcbiAgcmVjaXBpZW50czogUGVyc29uW107XG4gIHJlY2lwaWVudEZpbHRlcjogUGVyc29uRmlsdGVyO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlLCBvcHRzKTtcbiAgICB0aGlzLnR5cGUgPSBzb3VyY2UudHlwZTtcbiAgICB0aGlzLmlzc3VlciA9IHNvdXJjZS5pc3N1ZXIgJiYgUGVyc29uLmZyb21PYmplY3Qoc291cmNlLmlzc3Vlcik7XG4gICAgdGhpcy5yZWNpcGllbnRzID0gc291cmNlLnJlY2lwaWVudHMgJiYgc291cmNlLnJlY2lwaWVudHMubWFwKFBlcnNvbi5mcm9tT2JqZWN0KTtcbiAgICB0aGlzLnJlY2lwaWVudEZpbHRlciA9IChzb3VyY2UucmVjaXBpZW50RmlsdGVyICYmIFBlcnNvbkZpbHRlci5mcm9tT2JqZWN0KHNvdXJjZS5yZWNpcGllbnRGaWx0ZXIpKSB8fCB1bmRlZmluZWQ7XG4gICAgdGhpcy5zdWJqZWN0ID0gc291cmNlLnN1YmplY3Q7XG4gICAgdGhpcy5ib2R5ID0gc291cmNlLmJvZHk7XG4gIH1cblxuICBhc09iamVjdChvcHRzPzogRW50aXR5QXNPYmplY3RPcHRpb25zKTogU3RvcmVPYmplY3Qge1xuICAgIGNvbnN0IHRhcmdldCA9IHN1cGVyLmFzT2JqZWN0KG9wdHMpO1xuICAgIHRhcmdldC5yZWNpcGllbnRzID0gdGhpcy5yZWNpcGllbnRzICYmIHRoaXMucmVjaXBpZW50cy5tYXAoKHApID0+IHAuYXNPYmplY3Qob3B0cykpO1xuICAgIHRhcmdldC5yZWNpcGllbnRGaWx0ZXIgPSAodGhpcy5yZWNpcGllbnRGaWx0ZXIgJiYgdGhpcy5yZWNpcGllbnRGaWx0ZXIuYXNPYmplY3Qob3B0cykpIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG59XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3MoeyB0eXBlbmFtZTogJ01lc3NhZ2VGaWx0ZXJWTycgfSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlRmlsdGVyIGV4dGVuZHMgRW50aXR5RmlsdGVyPE1lc3NhZ2VGaWx0ZXIsIE1lc3NhZ2U+IHtcbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gTWVzc2FnZUZpbHRlcjtcblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UsIG9wdHMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkRmlsdGVyKCk6IEZpbHRlckZuPE1lc3NhZ2U+W10ge1xuICAgIHJldHVybiBzdXBlci5idWlsZEZpbHRlcigpO1xuICB9XG59XG4iXX0=
|
|
@@ -109,8 +109,10 @@ export const environment = Object.freeze({
|
|
|
109
109
|
jsonFeed: {
|
|
110
110
|
fr: [
|
|
111
111
|
'https://gitlab.ifremer.fr/sih-public/sumaris/ngx-sumaris-components/-/raw/master/doc/feed/feed-fr.json',
|
|
112
|
-
//
|
|
112
|
+
// Example with JsonFeed version 1 (and not 1.1)
|
|
113
113
|
//'https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-fr.json',
|
|
114
|
+
// Example with discourse API :
|
|
115
|
+
//'https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-fr-FR.json',
|
|
114
116
|
],
|
|
115
117
|
en: ['https://gitlab.ifremer.fr/sih-public/sumaris/ngx-sumaris-components/-/raw/master/doc/feed/feed-en.json'],
|
|
116
118
|
},
|
|
@@ -119,4 +121,4 @@ export const environment = Object.freeze({
|
|
|
119
121
|
maxCount: 3,
|
|
120
122
|
},
|
|
121
123
|
});
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdGQUFnRjtBQUNoRiwyRUFBMkU7QUFDM0UsZ0VBQWdFO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdyRTs7Ozs7R0FLRztBQUNILHNDQUFzQztBQUV0QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxNQUFNLENBQWM7SUFDakUsSUFBSSxFQUFFLDZCQUE2QixFQUFFLGtDQUFrQztJQUN2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLGtDQUFrQztJQUVsRCxvRUFBb0U7SUFDcEUsVUFBVSxFQUFFLElBQUk7SUFFaEIsMkRBQTJEO0lBQzNELCtCQUErQjtJQUUvQixPQUFPLEVBQUUsR0FBRztJQUNaLGFBQWEsRUFBRSxJQUFJO0lBQ25CLG9CQUFvQixFQUFFLE1BQU07SUFDNUIsaUJBQWlCLEVBQUUsYUFBYTtJQUNoQyxPQUFPLEVBQUUsS0FBSztJQUNkLGFBQWEsRUFBRSxJQUFJO0lBRW5CLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFFbkIsc0JBQXNCO0lBQ3RCLFlBQVksRUFBRSxLQUFLO0lBRW5CLHdCQUF3QjtJQUN4QixnQkFBZ0I7SUFFaEIsY0FBYyxFQUFFLE9BQU87SUFFdkIseUJBQXlCLEVBQUUsSUFBSTtJQUUvQixXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUsSUFBSTtLQUNYO0lBRUQsWUFBWSxFQUFFO1FBQ1o7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsSUFBSTtTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsSUFBSTtTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsY0FBYztZQUNwQixJQUFJLEVBQUUsSUFBSTtTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsY0FBYztZQUNwQixJQUFJLEVBQUUsSUFBSTtTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsY0FBYztZQUNwQixJQUFJLEVBQUUsSUFBSTtTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsZUFBZTtZQUNyQixJQUFJLEVBQUUsSUFBSTtTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUUsR0FBRztTQUNWO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLElBQUksRUFBRSxHQUFHO1NBQ1Y7UUFDRDtZQUNFLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsSUFBSSxFQUFFLEdBQUc7U0FDVjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixJQUFJLEVBQUUsR0FBRztTQUNWO0tBQ0Y7SUFDRCxjQUFjLEVBQUUsU0FBUztJQUN6Qix3QkFBd0IsRUFBRSwrREFBK0Q7SUFDekYsb0JBQW9CLEVBQUUsb0RBQW9EO0lBQzFFLHdCQUF3QixFQUFFLHFFQUFxRTtJQUUvRixVQUFVO0lBQ1YsT0FBTyxFQUFFO1FBQ1AsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLFlBQVksQ0FBQztLQUNwSDtJQUVELFFBQVE7SUFDUixTQUFTLEVBQUUscUVBQXFFO0lBQ2hGLGNBQWMsRUFBRSw4RUFBOEU7SUFDOUYsUUFBUSxFQUFFLElBQUksRUFBRSw4QkFBOEI7SUFDOUMsT0FBTyxFQUFFLGdHQUFnRztJQUN6RyxnQkFBZ0IsRUFBRSxnR0FBZ0c7SUFDbEgsYUFBYSxFQUFFLDZHQUE2RztJQUU1SCxjQUFjO0lBQ2QsaUJBQWlCLEVBQUU7UUFDakIsbUNBQW1DO1FBQ25DLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsUUFBUSxFQUFFLE9BQU87S0FDbEI7SUFFRCxPQUFPLEVBQUU7UUFDUCxtQkFBbUIsRUFBRSxJQUFJO1FBQ3pCLHVCQUF1QixFQUFFLEVBQUU7S0FDNUI7SUFFRCxZQUFZLEVBQUU7UUFDWixtQkFBbUIsRUFBRSxJQUFJO1FBQ3pCLHVCQUF1QixFQUFFLEVBQUU7S0FDNUI7SUFFRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUU7WUFDUixFQUFFLEVBQUU7Z0JBQ0Ysd0dBQXdHO2dCQUN4RyxnREFBZ0Q7Z0JBQ2hELGtGQUFrRjtnQkFDbEYsK0JBQStCO2dCQUMvQix5RkFBeUY7YUFDMUY7WUFFRCxFQUFFLEVBQUUsQ0FBQyx3R0FBd0csQ0FBQztTQUMvRztRQUNELGdCQUFnQixFQUFFLElBQUk7UUFDdEIsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNsQixRQUFRLEVBQUUsQ0FBQztLQUNaO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmaWxlIGNhbiBiZSByZXBsYWNlZCBkdXJpbmcgYnVpbGQgYnkgdXNpbmcgdGhlIGBmaWxlUmVwbGFjZW1lbnRzYCBhcnJheS5cbi8vIGBuZyBidWlsZCAtLS1wcm9kYCByZXBsYWNlcyBgZW52aXJvbm1lbnQudHNgIHdpdGggYGVudmlyb25tZW50LnByb2QudHNgLlxuLy8gVGhlIGxpc3Qgb2YgZmlsZSByZXBsYWNlbWVudHMgY2FuIGJlIGZvdW5kIGluIGBhbmd1bGFyLmpzb25gLlxuaW1wb3J0IHsgU3RvcmFnZURyaXZlcnMgfSBmcm9tICcuLi9hcHAvc2hhcmVkL3N0b3JhZ2Uvc3RvcmFnZS51dGlscyc7XG5cbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi9lbnZpcm9ubWVudC5jbGFzcyc7XG4vKlxuICogSW4gZGV2ZWxvcG1lbnQgbW9kZSwgdG8gaWdub3JlIHpvbmUgcmVsYXRlZCBlcnJvciBzdGFjayBmcmFtZXMgc3VjaCBhc1xuICogYHpvbmUucnVuYCwgYHpvbmVEZWxlZ2F0ZS5pbnZva2VUYXNrYCBmb3IgZWFzaWVyIGRlYnVnZ2luZywgeW91IGNhblxuICogaW1wb3J0IHRoZSBmb2xsb3dpbmcgZmlsZSwgYnV0IHBsZWFzZSBjb21tZW50IGl0IG91dCBpbiBwcm9kdWN0aW9uIG1vZGVcbiAqIGJlY2F1c2UgaXQgd2lsbCBoYXZlIHBlcmZvcm1hbmNlIGltcGFjdCB3aGVuIHRocm93IGVycm9yXG4gKi9cbi8vaW1wb3J0ICd6b25lLmpzL3BsdWdpbnMvem9uZS1lcnJvcic7XG5cbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQgPSBPYmplY3QuZnJlZXplKDxFbnZpcm9ubWVudD57XG4gIG5hbWU6ICdAc3VtYXJpcy1uZXQvbmd4LWNvbXBvbmVudHMnLCAvLyBvdmVycmlkZGVuIGJ5IEVOVklST05NRU5UIHRva2VuXG4gIHZlcnNpb246ICcxLjAnLCAvLyBvdmVycmlkZGVuIGJ5IEVOVklST05NRU5UIHRva2VuXG5cbiAgLy8gRG8gTk9UIHNldCB0byBmYWxzZSAtIGJlY2F1c2UgdGhpcyB2YWx1ZSB3aWxsIGJlIHVzZWQgYnkgcmVsZWFzZXNcbiAgcHJvZHVjdGlvbjogdHJ1ZSxcblxuICAvLyBEbyBOT1Qgc2V0IC0gYmVjYXVzZSB0aGlzIHZhbHVlIHdpbGwgYmUgdXNlZCBieSByZWxlYXNlc1xuICAvL2V4dGVybmFsRW52aXJvbm1lbnRVcmw6IG51bGwsXG5cbiAgYmFzZVVybDogJy8nLFxuICBkZWZhdWx0TG9jYWxlOiAnZnInLFxuICBkZWZhdWx0TGF0TG9uZ0Zvcm1hdDogJ0RETU0nLFxuICBhcG9sbG9GZXRjaFBvbGljeTogJ2NhY2hlLWZpcnN0JyxcbiAgdXNlSGFzaDogZmFsc2UsXG4gIGFsbG93RGFya01vZGU6IHRydWUsXG5cbiAgLy9kZWZhdWx0Um91dGU6ICcvaG9tZScsXG4gIC8vZW5hYmxlTWVudTogdHJ1ZSxcblxuICAvLyBGSVhNRTogZW5hYmxlIGNhY2hlXG4gIHBlcnNpc3RDYWNoZTogZmFsc2UsXG5cbiAgLy8gVE9ETzogbWFrZSB0aGlzIHdvcmtzXG4gIC8vb2ZmbGluZTogdHJ1ZSxcblxuICBwZWVyTWluVmVyc2lvbjogJzEuOC4wJyxcblxuICBlbmFibGVTZWxlY3RQZWVyQnlGZWF0dXJlOiB0cnVlLFxuXG4gIGRlZmF1bHRQZWVyOiB7XG4gICAgaG9zdDogJ2xvY2FsaG9zdCcsXG4gICAgcG9ydDogODA4MSxcbiAgfSxcblxuICBkZWZhdWx0UGVlcnM6IFtcbiAgICB7XG4gICAgICBob3N0OiAnbG9jYWxob3N0JyxcbiAgICAgIHBvcnQ6IDgwODAsXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnbG9jYWxob3N0JyxcbiAgICAgIHBvcnQ6IDgwODEsXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnMTkyLjE2OC4wLjQ1JyxcbiAgICAgIHBvcnQ6IDgwODAsXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnMTkyLjE2OC4wLjI0JyxcbiAgICAgIHBvcnQ6IDgwODAsXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnMTkyLjE2OC4wLjI5JyxcbiAgICAgIHBvcnQ6IDgwODAsXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnMTkyLjE2OC4wLjEwNycsXG4gICAgICBwb3J0OiA4MDgwLFxuICAgIH0sXG4gICAge1xuICAgICAgaG9zdDogJ3NpaC5zZmEuc2MnLFxuICAgICAgcG9ydDogNDQzLFxuICAgIH0sXG4gICAge1xuICAgICAgaG9zdDogJ3Rlc3Quc3VtYXJpcy5uZXQnLFxuICAgICAgcG9ydDogNDQzLFxuICAgIH0sXG4gICAge1xuICAgICAgaG9zdDogJ29wZW4uc3VtYXJpcy5uZXQnLFxuICAgICAgcG9ydDogNDQzLFxuICAgIH0sXG4gICAge1xuICAgICAgaG9zdDogJ3NlcnZlci5lLWlzLnBybycsXG4gICAgICBwb3J0OiA0NDMsXG4gICAgfSxcbiAgXSxcbiAgZGVmYXVsdEFwcE5hbWU6ICdTVU1BUmlTJyxcbiAgZGVmYXVsdEFuZHJvaWRJbnN0YWxsVXJsOiAnaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW5ldC5zdW1hcmlzLmFwcCcsXG4gIGRlZmF1bHRJT1NJbnN0YWxsVXJsOiAnaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvc3VtYXJpcy9pZDY3MzY3NDc1MjMnLFxuICBkZWZhdWx0RGVza3RvcEluc3RhbGxVcmw6ICdodHRwczovL2dpdGxhYi5pZnJlbWVyLmZyL3NpaC1wdWJsaWMvc3VtYXJpcy9zdW1hcmlzLWFwcC8tL3JlbGVhc2VzJyxcblxuICAvLyBTdG9yYWdlXG4gIHN0b3JhZ2U6IHtcbiAgICBkcml2ZXJPcmRlcjogW1N0b3JhZ2VEcml2ZXJzLlNRTExpdGUsIFN0b3JhZ2VEcml2ZXJzLkluZGV4ZWREQiwgU3RvcmFnZURyaXZlcnMuV2ViU1FMLCBTdG9yYWdlRHJpdmVycy5Mb2NhbFN0b3JhZ2VdLFxuICB9LFxuXG4gIC8vIEFib3V0XG4gIHNvdXJjZVVybDogJ2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL25neC1zdW1hcmlzLWNvbXBvbmVudHMnLFxuICByZXBvcnRJc3N1ZVVybDogJ2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL25neC1zdW1hcmlzLWNvbXBvbmVudHMvLS9pc3N1ZXMnLFxuICBmb3J1bVVybDogbnVsbCwgLy8naHR0cHM6Ly9mb3J1bS5zdW1hcmlzLm5ldCcsXG4gIGhlbHBVcmw6ICdodHRwczovL2dpdGxhYi5pZnJlbWVyLmZyL3NpaC1wdWJsaWMvc3VtYXJpcy9zdW1hcmlzLWRvYy8tL2Jsb2IvbWFzdGVyL3VzZXItbWFudWFsL2luZGV4X2ZyLm1kJyxcbiAgcHJpdmFjeVBvbGljeVVybDogJ2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL3N1bWFyaXMtYXBwLy0vcmF3L21hc3Rlci9kb2MvcHJpdmFjeV9wb2xpY3lfZnIubWQnLFxuICB0ZXJtc09mVXNlVXJsOiAnaHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvc3VtYXJpcy1hcHAvLS9yYXcvbWFzdGVyL2RvYy90ZXJtc19vZl91c2VfZnIubWQ/cmVmX3R5cGU9aGVhZHMnLFxuXG4gIC8vIERldmVsb3BtZW50XG4gIGRlZmF1bHRBdXRoVmFsdWVzOiB7XG4gICAgLy8gVG9rZW4gYXV0aCAodXNpbmcgUGVyc29uLnB1YmtleSlcbiAgICB1c2VybmFtZTogJ2FkbWluQHN1bWFyaXMubmV0JyxcbiAgICBwYXNzd29yZDogJ2FkbWluJyxcbiAgfSxcblxuICBhY2NvdW50OiB7XG4gICAgZW5hYmxlTGlzdGVuQ2hhbmdlczogdHJ1ZSxcbiAgICBsaXN0ZW5JbnRlcnZhbEluU2Vjb25kczogNjAsXG4gIH0sXG5cbiAgZW50aXR5RWRpdG9yOiB7XG4gICAgZW5hYmxlTGlzdGVuQ2hhbmdlczogdHJ1ZSxcbiAgICBsaXN0ZW5JbnRlcnZhbEluU2Vjb25kczogNjAsXG4gIH0sXG5cbiAgZmVlZDoge1xuICAgIGpzb25GZWVkOiB7XG4gICAgICBmcjogW1xuICAgICAgICAnaHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvbmd4LXN1bWFyaXMtY29tcG9uZW50cy8tL3Jhdy9tYXN0ZXIvZG9jL2ZlZWQvZmVlZC1mci5qc29uJyxcbiAgICAgICAgLy8gRXhhbXBsZSB3aXRoIEpzb25GZWVkIHZlcnNpb24gMSAoYW5kIG5vdCAxLjEpXG4gICAgICAgIC8vJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9kdW5pdGVyL2Nlc2l1bS9tYXN0ZXIvZG9jL2ZlZWQvZmVlZC1mci5qc29uJyxcbiAgICAgICAgLy8gRXhhbXBsZSB3aXRoIGRpc2NvdXJzZSBBUEkgOlxuICAgICAgICAvLydodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZHVuaXRlci9jZXNpdW0vbWFzdGVyL2RvYy9mZWVkLzEuMS9mZWVkLWZyLUZSLmpzb24nLFxuICAgICAgXSxcblxuICAgICAgZW46IFsnaHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvbmd4LXN1bWFyaXMtY29tcG9uZW50cy8tL3Jhdy9tYXN0ZXIvZG9jL2ZlZWQvZmVlZC1lbi5qc29uJ10sXG4gICAgfSxcbiAgICBtYXhDb250ZW50TGVuZ3RoOiAxMDAwLFxuICAgIG1heEFnZUluTW9udGhzOiAtMSxcbiAgICBtYXhDb3VudDogMyxcbiAgfSxcbn0pO1xuIl19
|