@sumaris-net/ngx-components 18.6.13 → 18.6.15
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/changelog.md +6 -0
- package/esm2022/src/app/shared/markdown/markdown.service.mjs +4 -3
- package/fesm2022/sumaris-net.ngx-components.mjs +3 -2
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/assets/manifest.json +1 -1
- package/src/theme/_ngx-components.table.scss +4 -1
package/doc/changelog.md
CHANGED
|
@@ -1139,3 +1139,9 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
1139
1139
|
# 18.6.13
|
|
1140
1140
|
- enh(gallery): Allow to use textual button, instead of card button
|
|
1141
1141
|
- fix(gallery): Keep the given input mode (auto set only if empty)
|
|
1142
|
+
|
|
1143
|
+
# 18.6.14
|
|
1144
|
+
- fix(markdown) Fix link click (avoid router resolution if target is a markdown file)
|
|
1145
|
+
|
|
1146
|
+
# 18.6.15
|
|
1147
|
+
- fix(table) Avoid subscript part of a field, to be clicked, in table (event when row is disabled)
|
|
@@ -126,7 +126,7 @@ export class MarkdownService {
|
|
|
126
126
|
return true;
|
|
127
127
|
}
|
|
128
128
|
const routerLink = element.getAttribute('routerLink');
|
|
129
|
-
if (routerLink) {
|
|
129
|
+
if (isNotNilOrBlank(routerLink)) {
|
|
130
130
|
event.preventDefault();
|
|
131
131
|
return this.navController.navigateForward(routerLink);
|
|
132
132
|
}
|
|
@@ -155,7 +155,8 @@ export class MarkdownService {
|
|
|
155
155
|
return true;
|
|
156
156
|
}
|
|
157
157
|
link(href, title, text) {
|
|
158
|
-
|
|
158
|
+
// Resolve router links
|
|
159
|
+
if (UrlUtils.isInternalUrl(href) && !href.startsWith('#') && !this.baseUrl && !MarkdownUtils.isMarkdownFile(href)) {
|
|
159
160
|
const externalUrl = this.normalizeUrl(href);
|
|
160
161
|
return `<a href="${externalUrl}" routerLink="${href}" title="${title || ''}">${text}</a>`;
|
|
161
162
|
}
|
|
@@ -200,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
200
201
|
type: Injectable,
|
|
201
202
|
args: [{ providedIn: 'root' }]
|
|
202
203
|
}], ctorParameters: () => [] });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUd2RSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sQ0FBUztJQUVQLGdCQUFnQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDakQs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WUFDdkQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsT0FBTyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsR0FBVztRQUN4RCxpQ0FBaUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsS0FBSyxLQUFLLElBQUksaUJBQWlCLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDckYsTUFBTSxJQUFJLEdBQUcsVUFBVSxNQUFNLG1CQUFtQixTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSwrQkFBK0IsTUFBTSxRQUFRLENBQUM7WUFDM0gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO3dHQTNOVSxlQUFlOzRHQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWFya2VkUmVuZGVyZXIgfSBmcm9tICduZ3gtbWFya2Rvd24nO1xuaW1wb3J0IHsgVXJsVXRpbHMgfSBmcm9tICcuLi9maWxlL3VybC51dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzTm90TmlsT3JCbGFuayB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBNYXJrZG93blV0aWxzIH0gZnJvbSAnLi9tYXJrZG93bi51dGlscyc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duU2VydmljZSB7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtU2VydmljZSk7XG4gIHByaXZhdGUgbG9jYXRpb25TdHJhdGVneSA9IGluamVjdChMb2NhdGlvblN0cmF0ZWd5KTtcbiAgcHJpdmF0ZSBuYXZDb250cm9sbGVyID0gaW5qZWN0KE5hdkNvbnRyb2xsZXIpO1xuXG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRSZW5kZXJlciA9IG5ldyBNYXJrZWRSZW5kZXJlcigpO1xuICBwcml2YXRlIF9tYXJrZWRSZW5kZXJlcjogTWFya2VkUmVuZGVyZXI7XG5cbiAgZ2V0IHJlbmRlcmVyKCk6IE1hcmtlZFJlbmRlcmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWFya2VkUmVuZGVyZXI7XG4gIH1cblxuICBzZXQgcmVuZGVyZXIodmFsdWU6IE1hcmtlZFJlbmRlcmVyKSB7XG4gICAgdGhpcy5zZXRSZW5kZXJlcih2YWx1ZSk7XG4gIH1cblxuICBvbkNsaWNrTWFya2Rvd25VcmwgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zZXRSZW5kZXJlcihuZXcgTWFya2VkUmVuZGVyZXIoKSk7XG4gIH1cblxuICBzZXRCYXNlVXJsKGJhc2VVcmw6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBCYXNlIFVSTDogJyArIGJhc2VVcmwpO1xuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gIH1cblxuICByZXNldEJhc2VVcmwoKSB7XG4gICAgdGhpcy5zZXRCYXNlVXJsKG51bGwpO1xuICB9XG5cbiAgZ2V0VXJsVHJlZSh1cmw6IHN0cmluZyk6IFVybFRyZWUge1xuICAgIHVybCA9IFVybFV0aWxzLm5vcm1hbGl6ZVVybCh1cmwpO1xuICAgIGNvbnN0IHVybFBhdGggPSBVcmxVdGlscy5zdHJpcEZyYWdtZW50QW5kUXVlcnkodXJsKSB8fCBVcmxVdGlscy5zdHJpcEZyYWdtZW50QW5kUXVlcnkodGhpcy5yb3V0ZXIudXJsKTtcbiAgICBjb25zdCBwYXJzZWRVcmwgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh1cmwpO1xuICAgIGNvbnN0IGZyYWdtZW50ID0gcGFyc2VkVXJsLmZyYWdtZW50O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gcGFyc2VkVXJsLnF1ZXJ5UGFyYW1zO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFt1cmxQYXRoXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudCwgcXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgcmVwbGFjZVVybCA9IGZhbHNlKSB7XG4gICAgY29uc3QgdXJsVHJlZSA9IHRoaXMuZ2V0VXJsVHJlZSh1cmwpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlZCA9IGZhbHNlO1xuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQodXJsVHJlZSwgeyByZXBsYWNlVXJsIH0pO1xuICB9XG5cbiAgbGlzdGVuQ2xpY2tFdmVudHMobmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBTdGFydCBsaXN0ZW5pbmcgY2xpY2sgZXZlbnRzLi4uJyk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIGNvbnN0IGxpc3RlbmVyID0gKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5jbGljayhldmVudCwgbmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3QgbGlua3MgPSBuYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2EnKTtcbiAgICBsaW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICAvLyBERUJVR1xuICAgICAgLy9jb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gQWRkaW5nIGNsaWNrIGxpc3RlbmVyIHRvJywgbGluayk7XG4gICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpO1xuICAgICAgc3Vic2NyaXB0aW9uLmFkZCgoKSA9PiBsaW5rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpKTtcbiAgICB9KTtcblxuICAgIC8vIERFQlVHXG4gICAgc3Vic2NyaXB0aW9uLmFkZCgoKSA9PiBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gU3RvcCBsaXN0ZW5pbmcgY2xpY2sgZXZlbnRzJykpO1xuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSByZWxhdGl2ZSBVUkwgdG8gaXRzIGFic29sdXRlIHJlcHJlc2VudGF0aW9uIGFjY29yZGluZyB0byBjdXJyZW50IHJvdXRlciBzdGF0ZS5cbiAgICogQHBhcmFtIHVybCBSZWxhdGl2ZSBVUkwgcGF0aC5cbiAgICogQHJldHVybiBBYnNvbHV0ZSBVUkwgYmFzZWQgb24gdGhlIGN1cnJlbnQgcm91dGUuXG4gICAqL1xuICBub3JtYWxpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChVcmxVdGlscy5pc0V4dGVybmFsVXJsKHVybCkpIHtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VVcmwgJiYgVXJsVXRpbHMuaXNSZWxhdGl2ZVVybCh1cmwpKSB7XG4gICAgICByZXR1cm4gTWFya2Rvd25VdGlscy5yZXNvbHZlUmVsYXRpdmVVcmwodGhpcy5iYXNlVXJsLCB1cmwpO1xuICAgIH1cblxuICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLmdldFVybFRyZWUodXJsKTtcbiAgICBjb25zdCBzZXJpYWxpemVkVXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpO1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uU3RyYXRlZ3kucHJlcGFyZUV4dGVybmFsVXJsKHNlcmlhbGl6ZWRVcmwpO1xuICB9XG5cbiAgc2Nyb2xsVG9BbmNob3IoY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQsIGFuY2hvcklkOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNvbnRhaW5lckVsZW1lbnQgfHwgIWFuY2hvcklkKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJNaXNzaW5nICdjb250YWluZXJFbGVtZW50JyBvciAnZnJhZ21lbnQnIGFyZ3VtZW50LlwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tYW5jaG9yXSBTY3JvbGxpbmcgdG8gYW5jaG9yICMnICsgYW5jaG9ySWQpO1xuXG4gICAgLy8gRmluZCB0aGUgdGFyZ2V0IGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGZyYWdtZW50IElEXG4gICAgbGV0IHRhcmdldEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke2FuY2hvcklkfWApO1xuXG4gICAgLy8gSWYgbm90IGZvdW5kLCByZXRyeSBmaXggYSBmaXhlZCBhbmNob3IgaWQuIFRoaXMgY2FuIG9jY3VyIHdoZW4gVG9DIGhhcyBiZWVuIGdlbmVyYXRlZCBmb3IgdGhlIG1hdmVuLW1hcmtkb3duLXBsdWdpblxuICAgIGlmICghdGFyZ2V0RWxlbWVudCkge1xuICAgICAgdGFyZ2V0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvcihgIyR7TWFya2Rvd25VdGlscy5maXhBbmNob3IoYW5jaG9ySWQpfWApO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAvLyBTY3JvbGwgc21vb3RobHkgdG8gdGhlIHRhcmdldCBlbGVtZW50XG4gICAgICB0YXJnZXRFbGVtZW50LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLCAvLyBTbW9vdGggc2Nyb2xsaW5nIGJlaGF2aW9yXG4gICAgICAgIGJsb2NrOiAnc3RhcnQnLCAvLyBBbGlnbiB0aGUgdGFyZ2V0IGVsZW1lbnQgdG8gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKGBObyBlbGVtZW50IGZvdW5kIHdpdGggdGhlIElEIFwiJHthbmNob3JJZH1cIiBpbnNpZGUgdGhlIGNvbnRhaW5lci5gKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgZnVuY3Rpb24gLS0gKi9cblxuICBwcm90ZWN0ZWQgc2V0UmVuZGVyZXIocmVuZGVyZXI6IE1hcmtlZFJlbmRlcmVyKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21hcmtkb3duLXNlcnZpY2VdIFNldCByZW5kZXJlcicsIHJlbmRlcmVyKTtcbiAgICByZW5kZXJlci5saW5rID0gKGhyZWYsIHRpdGxlLCB0ZXh0KSA9PiB0aGlzLmxpbmsoaHJlZiwgdGl0bGUsIHRleHQpO1xuICAgIHJlbmRlcmVyLmltYWdlID0gKGhyZWYsIHRpdGxlLCB0ZXh0KSA9PiB0aGlzLmltYWdlKGhyZWYsIHRpdGxlLCB0ZXh0KTtcbiAgICByZW5kZXJlci5oZWFkaW5nID0gKHRleHQsIGxldmVsLCByYXcpID0+IHRoaXMuaGVhZGluZyh0ZXh0LCBsZXZlbCwgcmF3KTtcbiAgICB0aGlzLl9tYXJrZWRSZW5kZXJlciA9IHJlbmRlcmVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrKGV2ZW50OiBFdmVudCwgY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gUHJvY2Vzc2luZyBjbGljayBldmVudC4uLicsIGV2ZW50KTtcblxuICAgIGlmICghKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSAmJiAhKGV2ZW50LnRhcmdldD8uWyd0YWdOYW1lJ10gPT09ICdBJykpIHtcbiAgICAgIGNvbnNvbGUud2FybignW21hcmtkb3duLXNlcnZpY2VdIEludmFsaWQgY2xpY2sgZXZlbnQgdGFyZ2V0LiBTaG91bGQgYW4gYW5jaG9yIDxhPicsIGV2ZW50LnRhcmdldCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudDtcblxuICAgIGxldCBocmVmID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICBjb25zdCBmcmFnbWVudCA9IFVybFV0aWxzLmdldEZyYWdtZW50KGhyZWYpO1xuXG4gICAgLy8gRnJhZ21lbnRcbiAgICBpZiAoaHJlZj8uc3RhcnRzV2l0aCgnIycpICYmIGlzTm90TmlsT3JCbGFuayhmcmFnbWVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNjcm9sbFRvQW5jaG9yKGNvbnRhaW5lckVsZW1lbnQsIGZyYWdtZW50KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdXRlckxpbmsgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgncm91dGVyTGluaycpO1xuICAgIGlmIChyb3V0ZXJMaW5rKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQocm91dGVyTGluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzb2x2ZSByZWxhdGl2ZSBVUkwsIGlmIGJhc2VVcmwgaGFzIGJlZW4gc2V0XG4gICAgaWYgKHRoaXMuYmFzZVVybCAmJiBVcmxVdGlscy5pc1JlbGF0aXZlVXJsKGhyZWYpKSB7XG4gICAgICBpZiAoTWFya2Rvd25VdGlscy5pc01hcmtkb3duRmlsZShocmVmKSAmJiB0aGlzLm9uQ2xpY2tNYXJrZG93blVybC5vYnNlcnZlZCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm9uQ2xpY2tNYXJrZG93blVybC5uZXh0KGhyZWYpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzb2x2ZSBVUkwsIHRoZW4gb3BlbiB1c2luZyB0aGUgcGxhdGZvcm1cbiAgICAgIGhyZWYgPSBNYXJrZG93blV0aWxzLnJlc29sdmVSZWxhdGl2ZVVybCh0aGlzLmJhc2VVcmwsIGhyZWYpO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgaW50ZXJuYWwgVVJMIGFzIGFuIGFwcCByb3V0ZVxuICAgIGlmIChVcmxVdGlscy5pc0ludGVybmFsVXJsKGhyZWYpKSB7XG4gICAgICBjb25zdCByb3V0ZVBhdGggPSB0aGlzLm5vcm1hbGl6ZVVybChocmVmLnN0YXJ0c1dpdGgoJy8nKSA/IGhyZWYgOiBgLyR7aHJlZn1gKTtcbiAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLmdldFVybFRyZWUocm91dGVQYXRoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZWQgPSBmYWxzZTtcbiAgICAgIC8vIE9wZW5pbmcgcm91dGVcbiAgICAgIHJldHVybiB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKHVybFRyZWUpO1xuICAgIH1cblxuICAgIC8vIEV4dGVybmFsIFVSTDogb3BlbiB1c2luZyB0aGUgcGxhdGZvcm1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGF3YWl0IHRoaXMucGxhdGZvcm0ub3BlbihocmVmKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsaW5rKGhyZWY6IHN0cmluZyB8IG51bGwsIHRpdGxlOiBzdHJpbmcgfCBudWxsLCB0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChVcmxVdGlscy5pc0ludGVybmFsVXJsKGhyZWYpICYmICFocmVmLnN0YXJ0c1dpdGgoJyMnKSAmJiAhdGhpcy5iYXNlVXJsKSB7XG4gICAgICBjb25zdCBleHRlcm5hbFVybCA9IHRoaXMubm9ybWFsaXplVXJsKGhyZWYpO1xuICAgICAgcmV0dXJuIGA8YSBocmVmPVwiJHtleHRlcm5hbFVybH1cIiByb3V0ZXJMaW5rPVwiJHtocmVmfVwiIHRpdGxlPVwiJHt0aXRsZSB8fCAnJ31cIj4ke3RleHR9PC9hPmA7XG4gICAgfVxuICAgIHJldHVybiBgPGEgaHJlZj1cIiR7aHJlZiB8fCAnJ31cIiB0aXRsZT1cIiR7dGl0bGUgfHwgJyd9XCI+JHt0ZXh0fTwvYT5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGltYWdlKGhyZWY6IHN0cmluZywgdGl0bGU6IHN0cmluZyB8IG51bGwsIHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHVybCA9IGhyZWY7XG4gICAgbGV0IGZhbGxiYWNrVXJsOiBzdHJpbmc7XG4gICAgaWYgKFVybFV0aWxzLmlzUmVsYXRpdmVVcmwoaHJlZikgJiYgdGhpcy5iYXNlVXJsKSB7XG4gICAgICAvLyBSZXNvbHZlIHJlbGF0aXZlIHBhdGhcbiAgICAgIHVybCA9IE1hcmtkb3duVXRpbHMucmVzb2x2ZVJlbGF0aXZlVXJsKHRoaXMuYmFzZVVybCwgaHJlZik7XG5cbiAgICAgIC8vIENvbXB1dGUgYSBmYWxsYmFjayBVUkxcbiAgICAgIGZhbGxiYWNrVXJsID0gTWFya2Rvd25VdGlscy5yZXNvbHZlUmVsYXRpdmVVcmwodGhpcy5iYXNlVXJsLCBocmVmLCB7IGFic29sdXRlQnlEZWZhdWx0OiB0cnVlIH0pO1xuICAgICAgZmFsbGJhY2tVcmwgPSBmYWxsYmFja1VybCA9PT0gdXJsID8gbnVsbCA6IGZhbGxiYWNrVXJsO1xuXG4gICAgICAvLyBERUJVR1xuICAgICAgY29uc29sZS5kZWJ1ZyhgW21hcmtkb3duLXNlcnZpY2VdIFJlcGxhY2luZyBpbWFnZTogJHtocmVmfSAtPiAke3VybH1gKTtcblxuICAgICAgaWYgKGZhbGxiYWNrVXJsKSB7XG4gICAgICAgIGNvbnN0IGZhbGxiYWNrSHRtbCA9IGA8aW1nIHNyYz1cIiR7ZmFsbGJhY2tVcmx9XCIgdGl0bGU9XCIke3RpdGxlIHx8ICcnfVwiIGFsdD1cIiR7dGV4dH1cIiBvbmVycm9yPVwidGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJztcIiAvPmA7XG4gICAgICAgIHJldHVybiBgPGltZyBzcmM9XCIke3VybH1cIiB0aXRsZT1cIiR7dGl0bGUgfHwgJyd9XCIgYWx0PVwiJHt0ZXh0fVwiIG9uZXJyb3I9XCJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnO1wiIC8+YCArIGZhbGxiYWNrSHRtbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0UmVuZGVyZXIuaW1hZ2UodXJsLCB0aXRsZSwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0UmVuZGVyZXIuaW1hZ2UodXJsLCB0aXRsZSwgdGV4dCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGVhZGluZyh0ZXh0OiBzdHJpbmcsIGxldmVsOiBudW1iZXIsIHJhdzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBJZiBOT1QgdGhlIGgxIChkb2N1bWVudCB0aXRsZSlcbiAgICBjb25zdCBhbmNob3IgPSBNYXJrZG93blV0aWxzLnRleHRUb0FuY2hvcih0ZXh0KTtcbiAgICBpZiAoaXNOb3ROaWxPckJsYW5rKGFuY2hvcikpIHtcbiAgICAgIGNvbnN0IHBhZ2VCcmVhayA9IGxldmVsIDwgMjtcbiAgICAgIGNvbnNvbGUuZGVidWcoYFttYXJrZG93bi1zZXJ2aWNlXSBIZWFkaW5nICR7bGV2ZWx9ICcke3RleHR9JyB3aXRoIGFuY2hvciAke2FuY2hvcn1gKTtcbiAgICAgIGNvbnN0IGxpbmsgPSBgPGEgaWQ9XCIke2FuY2hvcn1cIiBjbGFzcz1cImFuY2hvciAke3BhZ2VCcmVhayA/ICdwYWdlLWJyZWFrJyA6ICcnfVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGhyZWY9XCIjJHthbmNob3J9XCI+PC9hPmA7XG4gICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFJlbmRlcmVyLmhlYWRpbmcobGluayArIHRleHQsIGxldmVsLCByYXcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFJlbmRlcmVyLmhlYWRpbmcodGV4dCwgbGV2ZWwsIHJhdyk7XG4gIH1cbn1cbiJdfQ==
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUd2RSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sQ0FBUztJQUVQLGdCQUFnQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDakQs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TyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsT0FBTyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsR0FBVztRQUN4RCxpQ0FBaUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsS0FBSyxLQUFLLElBQUksaUJBQWlCLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDckYsTUFBTSxJQUFJLEdBQUcsVUFBVSxNQUFNLG1CQUFtQixTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSwrQkFBK0IsTUFBTSxRQUFRLENBQUM7WUFDM0gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO3dHQTVOVSxlQUFlOzRHQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWFya2VkUmVuZGVyZXIgfSBmcm9tICduZ3gtbWFya2Rvd24nO1xuaW1wb3J0IHsgVXJsVXRpbHMgfSBmcm9tICcuLi9maWxlL3VybC51dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzTm90TmlsT3JCbGFuayB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBNYXJrZG93blV0aWxzIH0gZnJvbSAnLi9tYXJrZG93bi51dGlscyc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duU2VydmljZSB7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtU2VydmljZSk7XG4gIHByaXZhdGUgbG9jYXRpb25TdHJhdGVneSA9IGluamVjdChMb2NhdGlvblN0cmF0ZWd5KTtcbiAgcHJpdmF0ZSBuYXZDb250cm9sbGVyID0gaW5qZWN0KE5hdkNvbnRyb2xsZXIpO1xuXG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRSZW5kZXJlciA9IG5ldyBNYXJrZWRSZW5kZXJlcigpO1xuICBwcml2YXRlIF9tYXJrZWRSZW5kZXJlcjogTWFya2VkUmVuZGVyZXI7XG5cbiAgZ2V0IHJlbmRlcmVyKCk6IE1hcmtlZFJlbmRlcmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWFya2VkUmVuZGVyZXI7XG4gIH1cblxuICBzZXQgcmVuZGVyZXIodmFsdWU6IE1hcmtlZFJlbmRlcmVyKSB7XG4gICAgdGhpcy5zZXRSZW5kZXJlcih2YWx1ZSk7XG4gIH1cblxuICBvbkNsaWNrTWFya2Rvd25VcmwgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zZXRSZW5kZXJlcihuZXcgTWFya2VkUmVuZGVyZXIoKSk7XG4gIH1cblxuICBzZXRCYXNlVXJsKGJhc2VVcmw6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBCYXNlIFVSTDogJyArIGJhc2VVcmwpO1xuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gIH1cblxuICByZXNldEJhc2VVcmwoKSB7XG4gICAgdGhpcy5zZXRCYXNlVXJsKG51bGwpO1xuICB9XG5cbiAgZ2V0VXJsVHJlZSh1cmw6IHN0cmluZyk6IFVybFRyZWUge1xuICAgIHVybCA9IFVybFV0aWxzLm5vcm1hbGl6ZVVybCh1cmwpO1xuICAgIGNvbnN0IHVybFBhdGggPSBVcmxVdGlscy5zdHJpcEZyYWdtZW50QW5kUXVlcnkodXJsKSB8fCBVcmxVdGlscy5zdHJpcEZyYWdtZW50QW5kUXVlcnkodGhpcy5yb3V0ZXIudXJsKTtcbiAgICBjb25zdCBwYXJzZWRVcmwgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh1cmwpO1xuICAgIGNvbnN0IGZyYWdtZW50ID0gcGFyc2VkVXJsLmZyYWdtZW50O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gcGFyc2VkVXJsLnF1ZXJ5UGFyYW1zO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFt1cmxQYXRoXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudCwgcXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgcmVwbGFjZVVybCA9IGZhbHNlKSB7XG4gICAgY29uc3QgdXJsVHJlZSA9IHRoaXMuZ2V0VXJsVHJlZSh1cmwpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlZCA9IGZhbHNlO1xuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQodXJsVHJlZSwgeyByZXBsYWNlVXJsIH0pO1xuICB9XG5cbiAgbGlzdGVuQ2xpY2tFdmVudHMobmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBTdGFydCBsaXN0ZW5pbmcgY2xpY2sgZXZlbnRzLi4uJyk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIGNvbnN0IGxpc3RlbmVyID0gKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5jbGljayhldmVudCwgbmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3QgbGlua3MgPSBuYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2EnKTtcbiAgICBsaW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICAvLyBERUJVR1xuICAgICAgLy9jb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gQWRkaW5nIGNsaWNrIGxpc3RlbmVyIHRvJywgbGluayk7XG4gICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpO1xuICAgICAgc3Vic2NyaXB0aW9uLmFkZCgoKSA9PiBsaW5rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpKTtcbiAgICB9KTtcblxuICAgIC8vIERFQlVHXG4gICAgc3Vic2NyaXB0aW9uLmFkZCgoKSA9PiBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gU3RvcCBsaXN0ZW5pbmcgY2xpY2sgZXZlbnRzJykpO1xuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSByZWxhdGl2ZSBVUkwgdG8gaXRzIGFic29sdXRlIHJlcHJlc2VudGF0aW9uIGFjY29yZGluZyB0byBjdXJyZW50IHJvdXRlciBzdGF0ZS5cbiAgICogQHBhcmFtIHVybCBSZWxhdGl2ZSBVUkwgcGF0aC5cbiAgICogQHJldHVybiBBYnNvbHV0ZSBVUkwgYmFzZWQgb24gdGhlIGN1cnJlbnQgcm91dGUuXG4gICAqL1xuICBub3JtYWxpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChVcmxVdGlscy5pc0V4dGVybmFsVXJsKHVybCkpIHtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VVcmwgJiYgVXJsVXRpbHMuaXNSZWxhdGl2ZVVybCh1cmwpKSB7XG4gICAgICByZXR1cm4gTWFya2Rvd25VdGlscy5yZXNvbHZlUmVsYXRpdmVVcmwodGhpcy5iYXNlVXJsLCB1cmwpO1xuICAgIH1cblxuICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLmdldFVybFRyZWUodXJsKTtcbiAgICBjb25zdCBzZXJpYWxpemVkVXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpO1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uU3RyYXRlZ3kucHJlcGFyZUV4dGVybmFsVXJsKHNlcmlhbGl6ZWRVcmwpO1xuICB9XG5cbiAgc2Nyb2xsVG9BbmNob3IoY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQsIGFuY2hvcklkOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNvbnRhaW5lckVsZW1lbnQgfHwgIWFuY2hvcklkKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJNaXNzaW5nICdjb250YWluZXJFbGVtZW50JyBvciAnZnJhZ21lbnQnIGFyZ3VtZW50LlwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tYW5jaG9yXSBTY3JvbGxpbmcgdG8gYW5jaG9yICMnICsgYW5jaG9ySWQpO1xuXG4gICAgLy8gRmluZCB0aGUgdGFyZ2V0IGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGZyYWdtZW50IElEXG4gICAgbGV0IHRhcmdldEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke2FuY2hvcklkfWApO1xuXG4gICAgLy8gSWYgbm90IGZvdW5kLCByZXRyeSBmaXggYSBmaXhlZCBhbmNob3IgaWQuIFRoaXMgY2FuIG9jY3VyIHdoZW4gVG9DIGhhcyBiZWVuIGdlbmVyYXRlZCBmb3IgdGhlIG1hdmVuLW1hcmtkb3duLXBsdWdpblxuICAgIGlmICghdGFyZ2V0RWxlbWVudCkge1xuICAgICAgdGFyZ2V0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvcihgIyR7TWFya2Rvd25VdGlscy5maXhBbmNob3IoYW5jaG9ySWQpfWApO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAvLyBTY3JvbGwgc21vb3RobHkgdG8gdGhlIHRhcmdldCBlbGVtZW50XG4gICAgICB0YXJnZXRFbGVtZW50LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLCAvLyBTbW9vdGggc2Nyb2xsaW5nIGJlaGF2aW9yXG4gICAgICAgIGJsb2NrOiAnc3RhcnQnLCAvLyBBbGlnbiB0aGUgdGFyZ2V0IGVsZW1lbnQgdG8gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKGBObyBlbGVtZW50IGZvdW5kIHdpdGggdGhlIElEIFwiJHthbmNob3JJZH1cIiBpbnNpZGUgdGhlIGNvbnRhaW5lci5gKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgZnVuY3Rpb24gLS0gKi9cblxuICBwcm90ZWN0ZWQgc2V0UmVuZGVyZXIocmVuZGVyZXI6IE1hcmtlZFJlbmRlcmVyKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21hcmtkb3duLXNlcnZpY2VdIFNldCByZW5kZXJlcicsIHJlbmRlcmVyKTtcbiAgICByZW5kZXJlci5saW5rID0gKGhyZWYsIHRpdGxlLCB0ZXh0KSA9PiB0aGlzLmxpbmsoaHJlZiwgdGl0bGUsIHRleHQpO1xuICAgIHJlbmRlcmVyLmltYWdlID0gKGhyZWYsIHRpdGxlLCB0ZXh0KSA9PiB0aGlzLmltYWdlKGhyZWYsIHRpdGxlLCB0ZXh0KTtcbiAgICByZW5kZXJlci5oZWFkaW5nID0gKHRleHQsIGxldmVsLCByYXcpID0+IHRoaXMuaGVhZGluZyh0ZXh0LCBsZXZlbCwgcmF3KTtcbiAgICB0aGlzLl9tYXJrZWRSZW5kZXJlciA9IHJlbmRlcmVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrKGV2ZW50OiBFdmVudCwgY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gUHJvY2Vzc2luZyBjbGljayBldmVudC4uLicsIGV2ZW50KTtcblxuICAgIGlmICghKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSAmJiAhKGV2ZW50LnRhcmdldD8uWyd0YWdOYW1lJ10gPT09ICdBJykpIHtcbiAgICAgIGNvbnNvbGUud2FybignW21hcmtkb3duLXNlcnZpY2VdIEludmFsaWQgY2xpY2sgZXZlbnQgdGFyZ2V0LiBTaG91bGQgYW4gYW5jaG9yIDxhPicsIGV2ZW50LnRhcmdldCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudDtcblxuICAgIGxldCBocmVmID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICBjb25zdCBmcmFnbWVudCA9IFVybFV0aWxzLmdldEZyYWdtZW50KGhyZWYpO1xuXG4gICAgLy8gRnJhZ21lbnRcbiAgICBpZiAoaHJlZj8uc3RhcnRzV2l0aCgnIycpICYmIGlzTm90TmlsT3JCbGFuayhmcmFnbWVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNjcm9sbFRvQW5jaG9yKGNvbnRhaW5lckVsZW1lbnQsIGZyYWdtZW50KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdXRlckxpbmsgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgncm91dGVyTGluaycpO1xuICAgIGlmIChpc05vdE5pbE9yQmxhbmsocm91dGVyTGluaykpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm4gdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlRm9yd2FyZChyb3V0ZXJMaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNvbHZlIHJlbGF0aXZlIFVSTCwgaWYgYmFzZVVybCBoYXMgYmVlbiBzZXRcbiAgICBpZiAodGhpcy5iYXNlVXJsICYmIFVybFV0aWxzLmlzUmVsYXRpdmVVcmwoaHJlZikpIHtcbiAgICAgIGlmIChNYXJrZG93blV0aWxzLmlzTWFya2Rvd25GaWxlKGhyZWYpICYmIHRoaXMub25DbGlja01hcmtkb3duVXJsLm9ic2VydmVkKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMub25DbGlja01hcmtkb3duVXJsLm5leHQoaHJlZik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNvbHZlIFVSTCwgdGhlbiBvcGVuIHVzaW5nIHRoZSBwbGF0Zm9ybVxuICAgICAgaHJlZiA9IE1hcmtkb3duVXRpbHMucmVzb2x2ZVJlbGF0aXZlVXJsKHRoaXMuYmFzZVVybCwgaHJlZik7XG4gICAgfVxuXG4gICAgLy8gUmVzb2x2ZSBpbnRlcm5hbCBVUkwgYXMgYW4gYXBwIHJvdXRlXG4gICAgaWYgKFVybFV0aWxzLmlzSW50ZXJuYWxVcmwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IHRoaXMubm9ybWFsaXplVXJsKGhyZWYuc3RhcnRzV2l0aCgnLycpID8gaHJlZiA6IGAvJHtocmVmfWApO1xuICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMuZ2V0VXJsVHJlZShyb3V0ZVBhdGgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlZCA9IGZhbHNlO1xuICAgICAgLy8gT3BlbmluZyByb3V0ZVxuICAgICAgcmV0dXJuIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQodXJsVHJlZSk7XG4gICAgfVxuXG4gICAgLy8gRXh0ZXJuYWwgVVJMOiBvcGVuIHVzaW5nIHRoZSBwbGF0Zm9ybVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgYXdhaXQgdGhpcy5wbGF0Zm9ybS5vcGVuKGhyZWYpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxpbmsoaHJlZjogc3RyaW5nIHwgbnVsbCwgdGl0bGU6IHN0cmluZyB8IG51bGwsIHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gUmVzb2x2ZSByb3V0ZXIgbGlua3NcbiAgICBpZiAoVXJsVXRpbHMuaXNJbnRlcm5hbFVybChocmVmKSAmJiAhaHJlZi5zdGFydHNXaXRoKCcjJykgJiYgIXRoaXMuYmFzZVVybCAmJiAhTWFya2Rvd25VdGlscy5pc01hcmtkb3duRmlsZShocmVmKSkge1xuICAgICAgY29uc3QgZXh0ZXJuYWxVcmwgPSB0aGlzLm5vcm1hbGl6ZVVybChocmVmKTtcbiAgICAgIHJldHVybiBgPGEgaHJlZj1cIiR7ZXh0ZXJuYWxVcmx9XCIgcm91dGVyTGluaz1cIiR7aHJlZn1cIiB0aXRsZT1cIiR7dGl0bGUgfHwgJyd9XCI+JHt0ZXh0fTwvYT5gO1xuICAgIH1cbiAgICByZXR1cm4gYDxhIGhyZWY9XCIke2hyZWYgfHwgJyd9XCIgdGl0bGU9XCIke3RpdGxlIHx8ICcnfVwiPiR7dGV4dH08L2E+YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbWFnZShocmVmOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgfCBudWxsLCB0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1cmwgPSBocmVmO1xuICAgIGxldCBmYWxsYmFja1VybDogc3RyaW5nO1xuICAgIGlmIChVcmxVdGlscy5pc1JlbGF0aXZlVXJsKGhyZWYpICYmIHRoaXMuYmFzZVVybCkge1xuICAgICAgLy8gUmVzb2x2ZSByZWxhdGl2ZSBwYXRoXG4gICAgICB1cmwgPSBNYXJrZG93blV0aWxzLnJlc29sdmVSZWxhdGl2ZVVybCh0aGlzLmJhc2VVcmwsIGhyZWYpO1xuXG4gICAgICAvLyBDb21wdXRlIGEgZmFsbGJhY2sgVVJMXG4gICAgICBmYWxsYmFja1VybCA9IE1hcmtkb3duVXRpbHMucmVzb2x2ZVJlbGF0aXZlVXJsKHRoaXMuYmFzZVVybCwgaHJlZiwgeyBhYnNvbHV0ZUJ5RGVmYXVsdDogdHJ1ZSB9KTtcbiAgICAgIGZhbGxiYWNrVXJsID0gZmFsbGJhY2tVcmwgPT09IHVybCA/IG51bGwgOiBmYWxsYmFja1VybDtcblxuICAgICAgLy8gREVCVUdcbiAgICAgIGNvbnNvbGUuZGVidWcoYFttYXJrZG93bi1zZXJ2aWNlXSBSZXBsYWNpbmcgaW1hZ2U6ICR7aHJlZn0gLT4gJHt1cmx9YCk7XG5cbiAgICAgIGlmIChmYWxsYmFja1VybCkge1xuICAgICAgICBjb25zdCBmYWxsYmFja0h0bWwgPSBgPGltZyBzcmM9XCIke2ZhbGxiYWNrVXJsfVwiIHRpdGxlPVwiJHt0aXRsZSB8fCAnJ31cIiBhbHQ9XCIke3RleHR9XCIgb25lcnJvcj1cInRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7XCIgLz5gO1xuICAgICAgICByZXR1cm4gYDxpbWcgc3JjPVwiJHt1cmx9XCIgdGl0bGU9XCIke3RpdGxlIHx8ICcnfVwiIGFsdD1cIiR7dGV4dH1cIiBvbmVycm9yPVwidGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJztcIiAvPmAgKyBmYWxsYmFja0h0bWw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFJlbmRlcmVyLmltYWdlKHVybCwgdGl0bGUsIHRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFJlbmRlcmVyLmltYWdlKHVybCwgdGl0bGUsIHRleHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhlYWRpbmcodGV4dDogc3RyaW5nLCBsZXZlbDogbnVtYmVyLCByYXc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gSWYgTk9UIHRoZSBoMSAoZG9jdW1lbnQgdGl0bGUpXG4gICAgY29uc3QgYW5jaG9yID0gTWFya2Rvd25VdGlscy50ZXh0VG9BbmNob3IodGV4dCk7XG4gICAgaWYgKGlzTm90TmlsT3JCbGFuayhhbmNob3IpKSB7XG4gICAgICBjb25zdCBwYWdlQnJlYWsgPSBsZXZlbCA8IDI7XG4gICAgICBjb25zb2xlLmRlYnVnKGBbbWFya2Rvd24tc2VydmljZV0gSGVhZGluZyAke2xldmVsfSAnJHt0ZXh0fScgd2l0aCBhbmNob3IgJHthbmNob3J9YCk7XG4gICAgICBjb25zdCBsaW5rID0gYDxhIGlkPVwiJHthbmNob3J9XCIgY2xhc3M9XCJhbmNob3IgJHtwYWdlQnJlYWsgPyAncGFnZS1icmVhaycgOiAnJ31cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBocmVmPVwiIyR7YW5jaG9yfVwiPjwvYT5gO1xuICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRSZW5kZXJlci5oZWFkaW5nKGxpbmsgKyB0ZXh0LCBsZXZlbCwgcmF3KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRSZW5kZXJlci5oZWFkaW5nKHRleHQsIGxldmVsLCByYXcpO1xuICB9XG59XG4iXX0=
|
|
@@ -27505,7 +27505,7 @@ class MarkdownService {
|
|
|
27505
27505
|
return true;
|
|
27506
27506
|
}
|
|
27507
27507
|
const routerLink = element.getAttribute('routerLink');
|
|
27508
|
-
if (routerLink) {
|
|
27508
|
+
if (isNotNilOrBlank(routerLink)) {
|
|
27509
27509
|
event.preventDefault();
|
|
27510
27510
|
return this.navController.navigateForward(routerLink);
|
|
27511
27511
|
}
|
|
@@ -27534,7 +27534,8 @@ class MarkdownService {
|
|
|
27534
27534
|
return true;
|
|
27535
27535
|
}
|
|
27536
27536
|
link(href, title, text) {
|
|
27537
|
-
|
|
27537
|
+
// Resolve router links
|
|
27538
|
+
if (UrlUtils.isInternalUrl(href) && !href.startsWith('#') && !this.baseUrl && !MarkdownUtils.isMarkdownFile(href)) {
|
|
27538
27539
|
const externalUrl = this.normalizeUrl(href);
|
|
27539
27540
|
return `<a href="${externalUrl}" routerLink="${href}" title="${title || ''}">${text}</a>`;
|
|
27540
27541
|
}
|