jconsumer-shared 1.2.15 → 1.2.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.
|
@@ -92,9 +92,54 @@ export class AccountService {
|
|
|
92
92
|
resolve(_this.sharedService.getAccountInfo());
|
|
93
93
|
}
|
|
94
94
|
else {
|
|
95
|
+
const uniqueId = _this.sharedService.getUniqueID();
|
|
96
|
+
const cacheKey = 'account_info_data_' + uniqueId;
|
|
97
|
+
const cachedAccountStr = localStorage.getItem(cacheKey);
|
|
98
|
+
let cachedAccount = null;
|
|
99
|
+
if (cachedAccountStr) {
|
|
100
|
+
try {
|
|
101
|
+
cachedAccount = JSON.parse(cachedAccountStr);
|
|
102
|
+
_this.sharedService.setAccountInfo(cachedAccount);
|
|
103
|
+
const accountProfile = _this.getJson(cachedAccount['businessProfile']);
|
|
104
|
+
_this.titleService.setTitle(accountProfile.businessName);
|
|
105
|
+
if (accountProfile.logo && accountProfile.logo.url) {
|
|
106
|
+
_this.setIcon(accountProfile.logo.url);
|
|
107
|
+
}
|
|
108
|
+
_this.metaService.addTags([
|
|
109
|
+
{ name: 'description', content: accountProfile.businessDesc },
|
|
110
|
+
{ property: 'og:title', content: accountProfile.businessName },
|
|
111
|
+
{ property: 'og:site_name', content: accountProfile.businessName },
|
|
112
|
+
{ property: 'og:description', content: accountProfile.businessDesc },
|
|
113
|
+
{ property: 'og:image', content: (accountProfile.logo?.url) || '' },
|
|
114
|
+
{ property: 'og:url', content: window.location.href }
|
|
115
|
+
]);
|
|
116
|
+
// Cache configuration loading
|
|
117
|
+
const configCacheKey = 'account_config_' + uniqueId;
|
|
118
|
+
const cachedConfigStr = localStorage.getItem(configCacheKey);
|
|
119
|
+
if (cachedConfigStr) {
|
|
120
|
+
try {
|
|
121
|
+
_this.sharedService.setAccountConfig(JSON.parse(cachedConfigStr));
|
|
122
|
+
}
|
|
123
|
+
catch (e) { }
|
|
124
|
+
}
|
|
125
|
+
resolve(cachedAccount);
|
|
126
|
+
}
|
|
127
|
+
catch (e) { }
|
|
128
|
+
}
|
|
95
129
|
_this.getAccountInfoPromise().then((account) => {
|
|
130
|
+
try {
|
|
131
|
+
localStorage.setItem(cacheKey, JSON.stringify(account));
|
|
132
|
+
}
|
|
133
|
+
catch (e) { }
|
|
96
134
|
_this.getAccountConfiguration().then((config) => {
|
|
97
|
-
|
|
135
|
+
if (config) {
|
|
136
|
+
const configCacheKey = 'account_config_' + uniqueId;
|
|
137
|
+
try {
|
|
138
|
+
localStorage.setItem(configCacheKey, JSON.stringify(config));
|
|
139
|
+
}
|
|
140
|
+
catch (e) { }
|
|
141
|
+
_this.sharedService.setAccountConfig(config);
|
|
142
|
+
}
|
|
98
143
|
});
|
|
99
144
|
_this.sharedService.setAccountInfo(account);
|
|
100
145
|
const accountProfile = _this.getJson(account['businessProfile']);
|
|
@@ -104,19 +149,20 @@ export class AccountService {
|
|
|
104
149
|
}
|
|
105
150
|
_this.metaService.addTags([
|
|
106
151
|
{ name: 'description', content: accountProfile.businessDesc },
|
|
107
|
-
{
|
|
108
|
-
{
|
|
109
|
-
{
|
|
110
|
-
{
|
|
111
|
-
|
|
112
|
-
// <meta property="og:image" content="https://yourwebsite.com/image.jpg">
|
|
113
|
-
// {name: 'keywords', content: 'Angular, Universal, Example'},
|
|
114
|
-
// {name: 'robots', content: 'index, follow'}
|
|
152
|
+
{ property: 'og:title', content: accountProfile.businessName },
|
|
153
|
+
{ property: 'og:site_name', content: accountProfile.businessName },
|
|
154
|
+
{ property: 'og:description', content: accountProfile.businessDesc },
|
|
155
|
+
{ property: 'og:image', content: (accountProfile.logo?.url) || '' },
|
|
156
|
+
{ property: 'og:url', content: window.location.href }
|
|
115
157
|
]);
|
|
116
|
-
|
|
158
|
+
if (!cachedAccount) {
|
|
159
|
+
resolve(account);
|
|
160
|
+
}
|
|
117
161
|
}).catch((error) => {
|
|
118
162
|
console.log(error);
|
|
119
|
-
|
|
163
|
+
if (!cachedAccount) {
|
|
164
|
+
resolve(_this.sharedService.getAccountInfo());
|
|
165
|
+
}
|
|
120
166
|
});
|
|
121
167
|
}
|
|
122
168
|
});
|
|
@@ -167,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
167
213
|
providedIn: 'root'
|
|
168
214
|
}]
|
|
169
215
|
}], ctorParameters: () => [{ type: i1.Title }, { type: i1.Meta }, { type: i2.ServiceMeta }, { type: i3.SharedService }] });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2FjY291bnQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVEzQyxNQUFNLE9BQU8sY0FBYztJQVNmO0lBQ0E7SUFDQTtJQUNBO0lBVlYsYUFBYSxDQUFNO0lBQ25CLGNBQWMsQ0FBTTtJQUNwQixnQkFBZ0IsQ0FBTTtJQUN0QixXQUFXLENBQU07SUFDakIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUVqQixZQUNVLFlBQW1CLEVBQ25CLFdBQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLGFBQTRCO1FBSDVCLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFNO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUksQ0FBQztJQUUzQyxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxTQUFTLENBQUMsTUFBTTtRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxRQUFRO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFj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QUFDLFVBQVUsT0FBTztZQUNsQyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUM1RCxDQUFDLFdBQWdCLEVBQUUsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FDRixDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO3dHQS9KVSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJy4vc2hhcmVkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlTWV0YSB9IGZyb20gJy4vc2VydmljZS1tZXRhJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXJ2aWNlIHtcclxuXHJcbiAgYWNjb3VudENvbmZpZzogYW55O1xyXG4gIGFjdGl2ZUxvY2F0aW9uOiBhbnk7XHJcbiAgYWNjb3VudExvY2F0aW9uczogYW55O1xyXG4gIGFjdGl2ZVN0b3JlOiBhbnk7XHJcbiAgc3RvcmVzOiBhbnkgPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGUsXHJcbiAgICBwcml2YXRlIG1ldGFTZXJ2aWNlOiBNZXRhLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlTWV0YTogU2VydmljZU1ldGEsXHJcbiAgICBwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UpIHsgfVxyXG5cclxuICBzZXRBY3RpdmVTdG9yZShzdG9yZTogYW55KSB7XHJcbiAgICB0aGlzLmFjdGl2ZVN0b3JlID0gc3RvcmU7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmVTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN0b3JlO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWNjb3VudENvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFjY291bnRDb25maWc7XHJcbiAgfVxyXG4gIHNldFN0b3JlcyhzdG9yZXMpIHtcclxuICAgIHRoaXMuc3RvcmVzID0gc3RvcmVzO1xyXG4gIH1cclxuICBnZXRTdG9yZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZXM7XHJcbiAgfVxyXG4gIHNldEFjdGl2ZUxvY2F0aW9uKGxvY2F0aW9uKSB7XHJcbiAgICB0aGlzLmFjdGl2ZUxvY2F0aW9uID0gbG9jYXRpb247XHJcbiAgfVxyXG4gIGdldEFjdGl2ZUxvY2F0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlTG9jYXRpb247XHJcbiAgfVxyXG4gIHNldEFjY291bnRMb2NhdGlvbnMobG9jYXRpb25zKSB7XHJcbiAgICB0aGlzLmFjY291bnRMb2NhdGlvbnMgPSBsb2NhdGlvbnM7XHJcbiAgfVxyXG4gIGdldEFjY291bnRMb2NhdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY2NvdW50TG9jYXRpb25zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICAqIE1ldGhvZCB3aGljaCByZXR1cm5zIHRoZSBKc29uc1xyXG4gICAgKiBAcGFyYW0gYWNjb3VudFVuaXF1ZUlkIFRoZSBVbmlxdWUgSWQgd2hpY2ggcmVwcmVzZW50cyBTMyBCdWNrZXQgZm9yIGEgcGFydGljdWxhciBBY2NvdW50XHJcbiAgICAqIEBwYXJhbSBsaXN0T2ZVcmxUeXBlcyBUeXBlIG9mIHRoZSBVcmwgZWcuIHNlcnZpY2VzLCBidXNpbmVzc1Byb2ZpbGUgZXRjLlxyXG4gICAgKiBAcmV0dXJucyB7IFwic2VydmljZXNcIjogJ3NlcnZpY2VzLmpzb24nLCBcImJ1c2luZXNzUHJvZmlsZVwiOiBidXNpbmVzc3Byb2ZpbGUuanNvbn1cclxuICAqL1xyXG4gIGdldEpzb25zYnlUeXBlcyhhY2NvdW50VW5pcXVlSWQ6IGFueSwgdXNlcklkOiBhbnksIGxpc3RPZlVybFR5cGVzOiBhbnkpIHtcclxuICAgIGxldCBwYXRoID0gJ3Byb3ZpZGVyL2FjY291bnQvc2V0dGluZ3MvY29uZmlnLycgKyBhY2NvdW50VW5pcXVlSWQ7XHJcbiAgICBpZiAodXNlcklkKSB7XHJcbiAgICAgIHBhdGggPSBwYXRoICsgJy8nICsgdXNlcklkO1xyXG4gICAgfVxyXG4gICAgcGF0aCA9IHBhdGggKyAnLycgKyBsaXN0T2ZVcmxUeXBlcztcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VNZXRhLmh0dHBHZXQocGF0aCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICogXHJcbiAgKiBAcGFyYW0ganNvblN0cl9PYmogXHJcbiAgKi9cclxuICBnZXRKc29uKGpzb25TdHJfT2JqOiBhbnkpIHtcclxuICAgIGlmIChqc29uU3RyX09iaikge1xyXG4gICAgICBpZiAodHlwZW9mIGpzb25TdHJfT2JqID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIHJldHVybiBqc29uU3RyX09iajtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uU3RyX09iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBzZXRJY29uKHVybCkge1xyXG4gICAgbGV0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyksXHJcbiAgICAgIG9sZExpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHluYW1pYy1mYXZpY29uJyk7XHJcbiAgICBsaW5rLmlkID0gJ2R5bmFtaWMtZmF2aWNvbic7XHJcbiAgICBsaW5rLnJlbCA9ICdzaG9ydGN1dCBpY29uJztcclxuICAgIGxpbmsuaHJlZiA9IHVybDtcclxuICAgIGlmIChvbGRMaW5rKSB7XHJcbiAgICAgIGRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQob2xkTGluayk7XHJcbiAgICB9XHJcbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGxpbmspO1xyXG4gIH1cclxuICBnZXRBY2NvdW50SW5mb0J5SWQoKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICBpZiAoX3RoaXMuc2hhcmVkU2VydmljZS5nZXRBY2NvdW50SW5mbygpKSB7XHJcbiAgICAgICAgcmVzb2x2ZShfdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEFjY291bnRJbmZvKCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIF90aGlzLmdldEFjY291bnRJbmZvUHJvbWlzZSgpLnRoZW4oKGFjY291bnQpID0+IHtcclxuICAgICAgICAgIF90aGlzLmdldEFjY291bnRDb25maWd1cmF0aW9uKCkudGhlbigoY29uZmlnOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgX3RoaXMuc2hhcmVkU2VydmljZS5zZXRBY2NvdW50Q29uZmlnKGNvbmZpZyk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgX3RoaXMuc2hhcmVkU2VydmljZS5zZXRBY2NvdW50SW5mbyhhY2NvdW50KTtcclxuICAgICAgICAgIGNvbnN0IGFjY291bnRQcm9maWxlID0gX3RoaXMuZ2V0SnNvbihhY2NvdW50WydidXNpbmVzc1Byb2ZpbGUnXSk7XHJcbiAgICAgICAgICBfdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYWNjb3VudFByb2ZpbGUuYnVzaW5lc3NOYW1lKTtcclxuICAgICAgICAgIGlmIChhY2NvdW50UHJvZmlsZS5sb2dvICYmIGFjY291bnRQcm9maWxlLmxvZ28udXJsKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldEljb24oYWNjb3VudFByb2ZpbGUubG9nby51cmwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgX3RoaXMubWV0YVNlcnZpY2UuYWRkVGFncyhbXHJcbiAgICAgICAgICAgIHsgbmFtZTogJ2Rlc2NyaXB0aW9uJywgY29udGVudDogYWNjb3VudFByb2ZpbGUuYnVzaW5lc3NEZXNjIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogJ29nOnRpdGxlJywgY29udGVudDogYWNjb3VudFByb2ZpbGUuYnVzaW5lc3NOYW1lIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogJ29nOnNpdGVfbmFtZScsIGNvbnRlbnQ6IGFjY291bnRQcm9maWxlLmJ1c2luZXNzTmFtZSB9LFxyXG4gICAgICAgICAgICB7IG5hbWU6ICdvZzpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGFjY291bnRQcm9maWxlLmJ1c2luZXNzRGVzYyB9LFxyXG4gICAgICAgICAgICB7IG5hbWU6ICdvZzppbWFnZScsIGNvbnRlbnQ6IChhY2NvdW50UHJvZmlsZS5sb2dvICYmIGFjY291bnRQcm9maWxlLmxvZ28udXJsKSA/IGFjY291bnRQcm9maWxlLmxvZ28udXJsIDogJycgfVxyXG4gICAgICAgICAgICAvLyA8bWV0YSBwcm9wZXJ0eT1cIm9nOnVybFwiIGNvbnRlbnQ9XCJodHRwczovL3lvdXJ3ZWJzaXRlLmNvbS9wYWdlLXVybFwiPlxyXG4gICAgICAgICAgICAvLyA8bWV0YSBwcm9wZXJ0eT1cIm9nOmltYWdlXCIgY29udGVudD1cImh0dHBzOi8veW91cndlYnNpdGUuY29tL2ltYWdlLmpwZ1wiPlxyXG4gICAgICAgICAgICAvLyB7bmFtZTogJ2tleXdvcmRzJywgY29udGVudDogJ0FuZ3VsYXIsIFVuaXZlcnNhbCwgRXhhbXBsZSd9LFxyXG4gICAgICAgICAgICAvLyB7bmFtZTogJ3JvYm90cycsIGNvbnRlbnQ6ICdpbmRleCwgZm9sbG93J31cclxuICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgcmVzb2x2ZShfdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEFjY291bnRJbmZvKCkpO1xyXG4gICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgcmVzb2x2ZShfdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEFjY291bnRJbmZvKCkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRBY2NvdW50SW5mb1Byb21pc2UoKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICBsZXQgYWNjb3VudFMzTGlzdCA9ICdzZXR0aW5ncyxjb3Vwb24scHJvdmlkZXJDb3Vwb24sYXBwb2ludG1lbnRzZXR0aW5ncyx0ZXJtaW5vbG9naWVzLGxvY2F0aW9uLGJ1c2luZXNzUHJvZmlsZSx2aXJ0dWFsRmllbGRzLHNlcnZpY2VzLGFwcHRTZXJ2aWNlcyxkb25hdGlvblNlcnZpY2VzLGRlcGFydG1lbnRQcm92aWRlcnMsZ2FsbGVyeSc7XHJcbiAgICAgIF90aGlzLmdldEpzb25zYnlUeXBlcyhfdGhpcy5zaGFyZWRTZXJ2aWNlLmdldFVuaXF1ZUlEKCksIG51bGwsIGFjY291bnRTM0xpc3QpLnN1YnNjcmliZShcclxuICAgICAgICAoYWNjb3VudDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKGFjY291bnQpXHJcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSlcclxuICB9XHJcbiAgZ2V0QWNjb3VudENvbmZpZ3VyYXRpb24oKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcclxuICAgICAgX3RoaXMuZ2V0VUlBY2NvdW50Q29uZmlnKCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChjb25maWc6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZShjb25maWcpO1xyXG4gICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICBnZXRVSUFjY291bnRDb25maWcoKSB7XHJcbiAgICBjb25zdCBwYXRoID0gdGhpcy5zaGFyZWRTZXJ2aWNlLmdldENvbmZpZ1BhdGgoKSArIHRoaXMuc2hhcmVkU2VydmljZS5nZXRVbmlxdWVJRCgpICsgJy9hY2NvdW50X2NvbmZpZy5qc29uP3Q9JyArIG5ldyBEYXRlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlTWV0YS5odHRwR2V0KHBhdGgpO1xyXG4gIH1cclxuICBcclxuICBnZXRVc2VySW5mb3JtYXRpb24odW5pcXVlSWQsIHVzZXJJZCkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgbGV0IGxpc3RPZlR5cGVzID0gJ3Byb3ZpZGVyQnVzaW5lc3NQcm9maWxlLHByb3ZpZGVyVmlydHVhbEZpZWxkcyc7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcclxuICAgICAgX3RoaXMuZ2V0SnNvbnNieVR5cGVzKHVuaXF1ZUlkLCB1c2VySWQsIGxpc3RPZlR5cGVzKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHVzZXJBY2NvdW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodXNlckFjY291bnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2FjY291bnQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVEzQyxNQUFNLE9BQU8sY0FBYztJQVNmO0lBQ0E7SUFDQTtJQUNBO0lBVlYsYUFBYSxDQUFNO0lBQ25CLGNBQWMsQ0FBTTtJQUNwQixnQkFBZ0IsQ0FBTTtJQUN0QixXQUFXLENBQU07SUFDakIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUVqQixZQUNVLFlBQW1CLEVBQ25CLFdBQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLGFBQTRCO1FBSDVCLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFNO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUksQ0FBQztJQUUzQyxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxTQUFTLENBQUMsTUFBTTtRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxRQUFRO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFj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LEdBQUcsK0NBQStDLENBQUM7UUFDbEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLE9BQU87WUFDbEMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FDNUQsQ0FBQyxXQUFnQixFQUFFLEVBQUU7Z0JBQ25CLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QixDQUFDLENBQ0YsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt3R0FoTlUsY0FBYzs0R0FBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1ldGEsIFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VydmljZU1ldGEgfSBmcm9tICcuL3NlcnZpY2UtbWV0YSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSB7XHJcblxyXG4gIGFjY291bnRDb25maWc6IGFueTtcclxuICBhY3RpdmVMb2NhdGlvbjogYW55O1xyXG4gIGFjY291bnRMb2NhdGlvbnM6IGFueTtcclxuICBhY3RpdmVTdG9yZTogYW55O1xyXG4gIHN0b3JlczogYW55ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlLFxyXG4gICAgcHJpdmF0ZSBtZXRhU2VydmljZTogTWV0YSxcclxuICAgIHByaXZhdGUgc2VydmljZU1ldGE6IFNlcnZpY2VNZXRhLFxyXG4gICAgcHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgc2V0QWN0aXZlU3RvcmUoc3RvcmU6IGFueSkge1xyXG4gICAgdGhpcy5hY3RpdmVTdG9yZSA9IHN0b3JlO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlU3RvcmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdG9yZTtcclxuICB9XHJcblxyXG4gIGdldEFjY291bnRDb25maWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY2NvdW50Q29uZmlnO1xyXG4gIH1cclxuICBzZXRTdG9yZXMoc3RvcmVzKSB7XHJcbiAgICB0aGlzLnN0b3JlcyA9IHN0b3JlcztcclxuICB9XHJcbiAgZ2V0U3RvcmVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmVzO1xyXG4gIH1cclxuICBzZXRBY3RpdmVMb2NhdGlvbihsb2NhdGlvbikge1xyXG4gICAgdGhpcy5hY3RpdmVMb2NhdGlvbiA9IGxvY2F0aW9uO1xyXG4gIH1cclxuICBnZXRBY3RpdmVMb2NhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZUxvY2F0aW9uO1xyXG4gIH1cclxuICBzZXRBY2NvdW50TG9jYXRpb25zKGxvY2F0aW9ucykge1xyXG4gICAgdGhpcy5hY2NvdW50TG9jYXRpb25zID0gbG9jYXRpb25zO1xyXG4gIH1cclxuICBnZXRBY2NvdW50TG9jYXRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudExvY2F0aW9ucztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgKiBNZXRob2Qgd2hpY2ggcmV0dXJucyB0aGUgSnNvbnNcclxuICAgICogQHBhcmFtIGFjY291bnRVbmlxdWVJZCBUaGUgVW5pcXVlIElkIHdoaWNoIHJlcHJlc2VudHMgUzMgQnVja2V0IGZvciBhIHBhcnRpY3VsYXIgQWNjb3VudFxyXG4gICAgKiBAcGFyYW0gbGlzdE9mVXJsVHlwZXMgVHlwZSBvZiB0aGUgVXJsIGVnLiBzZXJ2aWNlcywgYnVzaW5lc3NQcm9maWxlIGV0Yy5cclxuICAgICogQHJldHVybnMgeyBcInNlcnZpY2VzXCI6ICdzZXJ2aWNlcy5qc29uJywgXCJidXNpbmVzc1Byb2ZpbGVcIjogYnVzaW5lc3Nwcm9maWxlLmpzb259XHJcbiAgKi9cclxuICBnZXRKc29uc2J5VHlwZXMoYWNjb3VudFVuaXF1ZUlkOiBhbnksIHVzZXJJZDogYW55LCBsaXN0T2ZVcmxUeXBlczogYW55KSB7XHJcbiAgICBsZXQgcGF0aCA9ICdwcm92aWRlci9hY2NvdW50L3NldHRpbmdzL2NvbmZpZy8nICsgYWNjb3VudFVuaXF1ZUlkO1xyXG4gICAgaWYgKHVzZXJJZCkge1xyXG4gICAgICBwYXRoID0gcGF0aCArICcvJyArIHVzZXJJZDtcclxuICAgIH1cclxuICAgIHBhdGggPSBwYXRoICsgJy8nICsgbGlzdE9mVXJsVHlwZXM7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlTWV0YS5odHRwR2V0KHBhdGgpO1xyXG4gIH1cclxuICAvKipcclxuICAqIFxyXG4gICogQHBhcmFtIGpzb25TdHJfT2JqIFxyXG4gICovXHJcbiAgZ2V0SnNvbihqc29uU3RyX09iajogYW55KSB7XHJcbiAgICBpZiAoanNvblN0cl9PYmopIHtcclxuICAgICAgaWYgKHR5cGVvZiBqc29uU3RyX09iaiA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICByZXR1cm4ganNvblN0cl9PYmo7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoanNvblN0cl9PYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgc2V0SWNvbih1cmwpIHtcclxuICAgIGxldCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpLFxyXG4gICAgICBvbGRMaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R5bmFtaWMtZmF2aWNvbicpO1xyXG4gICAgbGluay5pZCA9ICdkeW5hbWljLWZhdmljb24nO1xyXG4gICAgbGluay5yZWwgPSAnc2hvcnRjdXQgaWNvbic7XHJcbiAgICBsaW5rLmhyZWYgPSB1cmw7XHJcbiAgICBpZiAob2xkTGluaykge1xyXG4gICAgICBkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKG9sZExpbmspO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcclxuICB9XHJcbiAgZ2V0QWNjb3VudEluZm9CeUlkKCkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgaWYgKF90aGlzLnNoYXJlZFNlcnZpY2UuZ2V0QWNjb3VudEluZm8oKSkge1xyXG4gICAgICAgIHJlc29sdmUoX3RoaXMuc2hhcmVkU2VydmljZS5nZXRBY2NvdW50SW5mbygpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB1bmlxdWVJZCA9IF90aGlzLnNoYXJlZFNlcnZpY2UuZ2V0VW5pcXVlSUQoKTtcclxuICAgICAgICBjb25zdCBjYWNoZUtleSA9ICdhY2NvdW50X2luZm9fZGF0YV8nICsgdW5pcXVlSWQ7XHJcbiAgICAgICAgY29uc3QgY2FjaGVkQWNjb3VudFN0ciA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGNhY2hlS2V5KTtcclxuICAgICAgICBsZXQgY2FjaGVkQWNjb3VudDogYW55ID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKGNhY2hlZEFjY291bnRTdHIpIHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNhY2hlZEFjY291bnQgPSBKU09OLnBhcnNlKGNhY2hlZEFjY291bnRTdHIpO1xyXG4gICAgICAgICAgICBfdGhpcy5zaGFyZWRTZXJ2aWNlLnNldEFjY291bnRJbmZvKGNhY2hlZEFjY291bnQpO1xyXG4gICAgICAgICAgICBjb25zdCBhY2NvdW50UHJvZmlsZSA9IF90aGlzLmdldEpzb24oY2FjaGVkQWNjb3VudFsnYnVzaW5lc3NQcm9maWxlJ10pO1xyXG4gICAgICAgICAgICBfdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYWNjb3VudFByb2ZpbGUuYnVzaW5lc3NOYW1lKTtcclxuICAgICAgICAgICAgaWYgKGFjY291bnRQcm9maWxlLmxvZ28gJiYgYWNjb3VudFByb2ZpbGUubG9nby51cmwpIHtcclxuICAgICAgICAgICAgICBfdGhpcy5zZXRJY29uKGFjY291bnRQcm9maWxlLmxvZ28udXJsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBfdGhpcy5tZXRhU2VydmljZS5hZGRUYWdzKFtcclxuICAgICAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGFjY291bnRQcm9maWxlLmJ1c2luZXNzRGVzYyB9LFxyXG4gICAgICAgICAgICAgIHsgcHJvcGVydHk6ICdvZzp0aXRsZScsIGNvbnRlbnQ6IGFjY291bnRQcm9maWxlLmJ1c2luZXNzTmFtZSB9LFxyXG4gICAgICAgICAgICAgIHsgcHJvcGVydHk6ICdvZzpzaXRlX25hbWUnLCBjb250ZW50OiBhY2NvdW50UHJvZmlsZS5idXNpbmVzc05hbWUgfSxcclxuICAgICAgICAgICAgICB7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiBhY2NvdW50UHJvZmlsZS5idXNpbmVzc0Rlc2MgfSxcclxuICAgICAgICAgICAgICB7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiAoYWNjb3VudFByb2ZpbGUubG9nbz8udXJsKSB8fCAnJyB9LFxyXG4gICAgICAgICAgICAgIHsgcHJvcGVydHk6ICdvZzp1cmwnLCBjb250ZW50OiB3aW5kb3cubG9jYXRpb24uaHJlZiB9XHJcbiAgICAgICAgICAgIF0pO1xyXG5cclxuICAgICAgICAgICAgLy8gQ2FjaGUgY29uZmlndXJhdGlvbiBsb2FkaW5nXHJcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0NhY2hlS2V5ID0gJ2FjY291bnRfY29uZmlnXycgKyB1bmlxdWVJZDtcclxuICAgICAgICAgICAgY29uc3QgY2FjaGVkQ29uZmlnU3RyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oY29uZmlnQ2FjaGVLZXkpO1xyXG4gICAgICAgICAgICBpZiAoY2FjaGVkQ29uZmlnU3RyKSB7XHJcbiAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIF90aGlzLnNoYXJlZFNlcnZpY2Uuc2V0QWNjb3VudENvbmZpZyhKU09OLnBhcnNlKGNhY2hlZENvbmZpZ1N0cikpO1xyXG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHJlc29sdmUoY2FjaGVkQWNjb3VudCk7XHJcbiAgICAgICAgICB9IGNhdGNoKGUpIHt9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfdGhpcy5nZXRBY2NvdW50SW5mb1Byb21pc2UoKS50aGVuKChhY2NvdW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGNhY2hlS2V5LCBKU09OLnN0cmluZ2lmeShhY2NvdW50KSk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7fVxyXG5cclxuICAgICAgICAgIF90aGlzLmdldEFjY291bnRDb25maWd1cmF0aW9uKCkudGhlbigoY29uZmlnOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbmZpZykge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0NhY2hlS2V5ID0gJ2FjY291bnRfY29uZmlnXycgKyB1bmlxdWVJZDtcclxuICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oY29uZmlnQ2FjaGVLZXksIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpO1xyXG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XHJcbiAgICAgICAgICAgICAgX3RoaXMuc2hhcmVkU2VydmljZS5zZXRBY2NvdW50Q29uZmlnKGNvbmZpZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIF90aGlzLnNoYXJlZFNlcnZpY2Uuc2V0QWNjb3VudEluZm8oYWNjb3VudCk7XHJcbiAgICAgICAgICBjb25zdCBhY2NvdW50UHJvZmlsZSA9IF90aGlzLmdldEpzb24oYWNjb3VudFsnYnVzaW5lc3NQcm9maWxlJ10pO1xyXG4gICAgICAgICAgX3RoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKGFjY291bnRQcm9maWxlLmJ1c2luZXNzTmFtZSk7XHJcbiAgICAgICAgICBpZiAoYWNjb3VudFByb2ZpbGUubG9nbyAmJiBhY2NvdW50UHJvZmlsZS5sb2dvLnVybCkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRJY29uKGFjY291bnRQcm9maWxlLmxvZ28udXJsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIF90aGlzLm1ldGFTZXJ2aWNlLmFkZFRhZ3MoW1xyXG4gICAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGFjY291bnRQcm9maWxlLmJ1c2luZXNzRGVzYyB9LFxyXG4gICAgICAgICAgICB7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiBhY2NvdW50UHJvZmlsZS5idXNpbmVzc05hbWUgfSxcclxuICAgICAgICAgICAgeyBwcm9wZXJ0eTogJ29nOnNpdGVfbmFtZScsIGNvbnRlbnQ6IGFjY291bnRQcm9maWxlLmJ1c2luZXNzTmFtZSB9LFxyXG4gICAgICAgICAgICB7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiBhY2NvdW50UHJvZmlsZS5idXNpbmVzc0Rlc2MgfSxcclxuICAgICAgICAgICAgeyBwcm9wZXJ0eTogJ29nOmltYWdlJywgY29udGVudDogKGFjY291bnRQcm9maWxlLmxvZ28/LnVybCkgfHwgJycgfSxcclxuICAgICAgICAgICAgeyBwcm9wZXJ0eTogJ29nOnVybCcsIGNvbnRlbnQ6IHdpbmRvdy5sb2NhdGlvbi5ocmVmIH1cclxuICAgICAgICAgIF0pO1xyXG5cclxuICAgICAgICAgIGlmICghY2FjaGVkQWNjb3VudCkge1xyXG4gICAgICAgICAgICByZXNvbHZlKGFjY291bnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgaWYgKCFjYWNoZWRBY2NvdW50KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoX3RoaXMuc2hhcmVkU2VydmljZS5nZXRBY2NvdW50SW5mbygpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEFjY291bnRJbmZvUHJvbWlzZSgpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgIGxldCBhY2NvdW50UzNMaXN0ID0gJ3NldHRpbmdzLGNvdXBvbixwcm92aWRlckNvdXBvbixhcHBvaW50bWVudHNldHRpbmdzLHRlcm1pbm9sb2dpZXMsbG9jYXRpb24sYnVzaW5lc3NQcm9maWxlLHZpcnR1YWxGaWVsZHMsc2VydmljZXMsYXBwdFNlcnZpY2VzLGRvbmF0aW9uU2VydmljZXMsZGVwYXJ0bWVudFByb3ZpZGVycyxnYWxsZXJ5JztcclxuICAgICAgX3RoaXMuZ2V0SnNvbnNieVR5cGVzKF90aGlzLnNoYXJlZFNlcnZpY2UuZ2V0VW5pcXVlSUQoKSwgbnVsbCwgYWNjb3VudFMzTGlzdCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChhY2NvdW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUoYWNjb3VudClcclxuICAgICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHJlamVjdChlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KVxyXG4gIH1cclxuICBnZXRBY2NvdW50Q29uZmlndXJhdGlvbigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xyXG4gICAgICBfdGhpcy5nZXRVSUFjY291bnRDb25maWcoKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGNvbmZpZzogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKGNvbmZpZyk7XHJcbiAgICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcbiAgLyoqXHJcbiAgICAgKiBcclxuICAgICAqL1xyXG4gIGdldFVJQWNjb3VudENvbmZpZygpIHtcclxuICAgIGNvbnN0IHBhdGggPSB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0Q29uZmlnUGF0aCgpICsgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldFVuaXF1ZUlEKCkgKyAnL2FjY291bnRfY29uZmlnLmpzb24/dD0nICsgbmV3IERhdGUoKTtcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VNZXRhLmh0dHBHZXQocGF0aCk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldFVzZXJJbmZvcm1hdGlvbih1bmlxdWVJZCwgdXNlcklkKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBsZXQgbGlzdE9mVHlwZXMgPSAncHJvdmlkZXJCdXNpbmVzc1Byb2ZpbGUscHJvdmlkZXJWaXJ0dWFsRmllbGRzJztcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xyXG4gICAgICBfdGhpcy5nZXRKc29uc2J5VHlwZXModW5pcXVlSWQsIHVzZXJJZCwgbGlzdE9mVHlwZXMpLnN1YnNjcmliZShcclxuICAgICAgICAodXNlckFjY291bnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh1c2VyQWNjb3VudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -724,9 +724,54 @@ class AccountService {
|
|
|
724
724
|
resolve(_this.sharedService.getAccountInfo());
|
|
725
725
|
}
|
|
726
726
|
else {
|
|
727
|
+
const uniqueId = _this.sharedService.getUniqueID();
|
|
728
|
+
const cacheKey = 'account_info_data_' + uniqueId;
|
|
729
|
+
const cachedAccountStr = localStorage.getItem(cacheKey);
|
|
730
|
+
let cachedAccount = null;
|
|
731
|
+
if (cachedAccountStr) {
|
|
732
|
+
try {
|
|
733
|
+
cachedAccount = JSON.parse(cachedAccountStr);
|
|
734
|
+
_this.sharedService.setAccountInfo(cachedAccount);
|
|
735
|
+
const accountProfile = _this.getJson(cachedAccount['businessProfile']);
|
|
736
|
+
_this.titleService.setTitle(accountProfile.businessName);
|
|
737
|
+
if (accountProfile.logo && accountProfile.logo.url) {
|
|
738
|
+
_this.setIcon(accountProfile.logo.url);
|
|
739
|
+
}
|
|
740
|
+
_this.metaService.addTags([
|
|
741
|
+
{ name: 'description', content: accountProfile.businessDesc },
|
|
742
|
+
{ property: 'og:title', content: accountProfile.businessName },
|
|
743
|
+
{ property: 'og:site_name', content: accountProfile.businessName },
|
|
744
|
+
{ property: 'og:description', content: accountProfile.businessDesc },
|
|
745
|
+
{ property: 'og:image', content: (accountProfile.logo?.url) || '' },
|
|
746
|
+
{ property: 'og:url', content: window.location.href }
|
|
747
|
+
]);
|
|
748
|
+
// Cache configuration loading
|
|
749
|
+
const configCacheKey = 'account_config_' + uniqueId;
|
|
750
|
+
const cachedConfigStr = localStorage.getItem(configCacheKey);
|
|
751
|
+
if (cachedConfigStr) {
|
|
752
|
+
try {
|
|
753
|
+
_this.sharedService.setAccountConfig(JSON.parse(cachedConfigStr));
|
|
754
|
+
}
|
|
755
|
+
catch (e) { }
|
|
756
|
+
}
|
|
757
|
+
resolve(cachedAccount);
|
|
758
|
+
}
|
|
759
|
+
catch (e) { }
|
|
760
|
+
}
|
|
727
761
|
_this.getAccountInfoPromise().then((account) => {
|
|
762
|
+
try {
|
|
763
|
+
localStorage.setItem(cacheKey, JSON.stringify(account));
|
|
764
|
+
}
|
|
765
|
+
catch (e) { }
|
|
728
766
|
_this.getAccountConfiguration().then((config) => {
|
|
729
|
-
|
|
767
|
+
if (config) {
|
|
768
|
+
const configCacheKey = 'account_config_' + uniqueId;
|
|
769
|
+
try {
|
|
770
|
+
localStorage.setItem(configCacheKey, JSON.stringify(config));
|
|
771
|
+
}
|
|
772
|
+
catch (e) { }
|
|
773
|
+
_this.sharedService.setAccountConfig(config);
|
|
774
|
+
}
|
|
730
775
|
});
|
|
731
776
|
_this.sharedService.setAccountInfo(account);
|
|
732
777
|
const accountProfile = _this.getJson(account['businessProfile']);
|
|
@@ -736,19 +781,20 @@ class AccountService {
|
|
|
736
781
|
}
|
|
737
782
|
_this.metaService.addTags([
|
|
738
783
|
{ name: 'description', content: accountProfile.businessDesc },
|
|
739
|
-
{
|
|
740
|
-
{
|
|
741
|
-
{
|
|
742
|
-
{
|
|
743
|
-
|
|
744
|
-
// <meta property="og:image" content="https://yourwebsite.com/image.jpg">
|
|
745
|
-
// {name: 'keywords', content: 'Angular, Universal, Example'},
|
|
746
|
-
// {name: 'robots', content: 'index, follow'}
|
|
784
|
+
{ property: 'og:title', content: accountProfile.businessName },
|
|
785
|
+
{ property: 'og:site_name', content: accountProfile.businessName },
|
|
786
|
+
{ property: 'og:description', content: accountProfile.businessDesc },
|
|
787
|
+
{ property: 'og:image', content: (accountProfile.logo?.url) || '' },
|
|
788
|
+
{ property: 'og:url', content: window.location.href }
|
|
747
789
|
]);
|
|
748
|
-
|
|
790
|
+
if (!cachedAccount) {
|
|
791
|
+
resolve(account);
|
|
792
|
+
}
|
|
749
793
|
}).catch((error) => {
|
|
750
794
|
console.log(error);
|
|
751
|
-
|
|
795
|
+
if (!cachedAccount) {
|
|
796
|
+
resolve(_this.sharedService.getAccountInfo());
|
|
797
|
+
}
|
|
752
798
|
});
|
|
753
799
|
}
|
|
754
800
|
});
|