@sapphire-ion/framework 1.2.59 → 1.2.61
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/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel.component.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel.module.mjs +4 -4
- package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/content-block/content-block.component.mjs +3 -3
- package/esm2022/lib/components/default/default-list/abstract-list.mjs +3 -3
- package/esm2022/lib/components/default/default-list/default-list.component.mjs +3 -3
- package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +3 -3
- package/esm2022/lib/components/default/default-list/list.mjs +3 -3
- package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +3 -3
- package/esm2022/lib/components/default/default-table/default-table.component.mjs +3 -3
- package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +3 -3
- package/esm2022/lib/components/default/default-view/abstract-view.mjs +3 -3
- package/esm2022/lib/components/default/default-view/default-view.component.mjs +3 -3
- package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +11 -18
- package/esm2022/lib/components/default/default-view/view.mjs +3 -3
- package/esm2022/lib/components/default/default.module.mjs +4 -4
- package/esm2022/lib/components/default-page/default.page.mjs +3 -3
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +3 -3
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +4 -4
- package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +3 -3
- package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +3 -3
- package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +3 -3
- package/esm2022/lib/components/drawer/drawer.component.mjs +3 -3
- package/esm2022/lib/components/filter/filter.component.mjs +3 -3
- package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +3 -3
- package/esm2022/lib/components/image/image.component.mjs +3 -3
- package/esm2022/lib/components/info-popover/info-popover.component.mjs +3 -3
- package/esm2022/lib/components/inputs/custom-input.mjs +3 -3
- package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-cep/input-cep.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +27 -7
- package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +5 -2
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +42 -9
- package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-icon/input-icon.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/directives/sion-label-template.directive.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/directives/sion-option-template.directive.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.mjs +3 -3
- package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +13 -10
- package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +7 -3
- package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-telefone/input-telefone.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +3 -3
- package/esm2022/lib/components/inputs/inputs.module.mjs +4 -4
- package/esm2022/lib/components/loading/loading.component.mjs +3 -3
- package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +3 -3
- package/esm2022/lib/components/login/login.component.mjs +3 -3
- package/esm2022/lib/components/main-content/main-content.component.mjs +3 -3
- package/esm2022/lib/components/popover/sion-popover/sion-popover.component.mjs +3 -3
- package/esm2022/lib/components/popover/sion-popover.module.mjs +4 -4
- package/esm2022/lib/components/sion-card/sion-card.component.mjs +3 -3
- package/esm2022/lib/components/stepper/step/step.component.mjs +3 -3
- package/esm2022/lib/components/stepper/stepper.component.mjs +3 -3
- package/esm2022/lib/components/stepper/stepper.module.mjs +4 -4
- package/esm2022/lib/components/tabs/tab/tab.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs.module.mjs +4 -4
- package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/core.module.mjs +4 -4
- package/esm2022/lib/directives/ng-var.directive.mjs +3 -3
- package/esm2022/lib/guards/auth.guard.mjs +3 -3
- package/esm2022/lib/guards/error.interceptor.mjs +3 -3
- package/esm2022/lib/guards/token.interceptor.mjs +3 -3
- package/esm2022/lib/index.mjs +2 -1
- package/esm2022/lib/pipes/secure.pipe.mjs +3 -3
- package/esm2022/lib/services/auth.service.mjs +3 -3
- package/esm2022/lib/services/environment.service.mjs +3 -3
- package/esm2022/lib/services/generic.service.mjs +3 -3
- package/esm2022/lib/services/modal-focus-trap.service.mjs +3 -3
- package/esm2022/lib/services/navigation-context.service.mjs +100 -0
- package/esm2022/lib/services/popover-focus-trap.service.mjs +3 -3
- package/esm2022/lib/services/route/route.provider.service.mjs +3 -3
- package/esm2022/lib/services/usuario.service.mjs +3 -3
- package/esm2022/lib/services/utils.service.mjs +3 -3
- package/esm2022/lib/services/web/api-url-provider.service.mjs +3 -3
- package/esm2022/lib/services/web/http.ativo.service.mjs +3 -3
- package/esm2022/lib/services/web/http.service.mjs +11 -6
- package/esm2022/lib/services/web/storage.service.mjs +3 -3
- package/fesm2022/sapphire-ion-framework.mjs +437 -283
- package/fesm2022/sapphire-ion-framework.mjs.map +1 -1
- package/lib/components/default/default-view/header-view/header-view.component.d.ts +3 -1
- package/lib/components/inputs/input-date/input-date.configuration.d.ts +5 -1
- package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +4 -3
- package/lib/components/inputs/input-select/input-select.component.d.ts +1 -1
- package/lib/components/inputs/input-select/input.select.configuration.d.ts +6 -1
- package/lib/index.d.ts +1 -0
- package/lib/services/navigation-context.service.d.ts +14 -0
- package/package.json +1 -1
- package/themes/components/inputs/input-decimal/input-decimal.component.scss +1 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NavigationEnd, Router } from '@angular/router';
|
|
3
|
+
import { filter } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
export class NavigationContextService {
|
|
7
|
+
constructor(router) {
|
|
8
|
+
this.router = router;
|
|
9
|
+
this.previousUrl = null;
|
|
10
|
+
this.currentUrl = null;
|
|
11
|
+
this.currentUrl = this.router.url;
|
|
12
|
+
this.router.events.pipe(filter(e => e instanceof NavigationEnd)).subscribe((e) => {
|
|
13
|
+
const nextUrl = e.urlAfterRedirects;
|
|
14
|
+
const preserve = history.state?.__preserveBack == true;
|
|
15
|
+
const currentBase = this.currentUrl ? this.getBaseRoute(this.currentUrl) : null;
|
|
16
|
+
const nextBase = this.getBaseRoute(nextUrl);
|
|
17
|
+
const nav = this.router.getCurrentNavigation();
|
|
18
|
+
const isBack = nav?.trigger == 'popstate';
|
|
19
|
+
// Redirect técnico - ignora
|
|
20
|
+
if (preserve) {
|
|
21
|
+
this.currentUrl = nextUrl;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Navegação interna da mesma view (Ex: Item <-> View Principal)
|
|
25
|
+
if (currentBase && currentBase == nextBase) {
|
|
26
|
+
// ajustes no histórico baseando-se estritamente na hierarquia.
|
|
27
|
+
const cleanNext = nextUrl.split('?')[0].replace(/\/$/, '');
|
|
28
|
+
const cleanBase = nextBase.replace(/\/$/, '');
|
|
29
|
+
if (cleanNext == cleanBase) {
|
|
30
|
+
// voltou para a raiz da entidade
|
|
31
|
+
this.previousUrl = this.getListRoute(nextBase);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// voltou de um filho → pai REAL
|
|
35
|
+
this.previousUrl = this.getParentRoute(nextUrl);
|
|
36
|
+
}
|
|
37
|
+
this.currentUrl = nextUrl;
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// Chegou numa view base VIA BACK (de outro módulo)
|
|
41
|
+
if (isBack) {
|
|
42
|
+
// Se voltou de fora (OS -> Obra), recalcula para garantir
|
|
43
|
+
const cleanNext = nextUrl.split('?')[0].replace(/\/$/, '');
|
|
44
|
+
const cleanBase = nextBase.replace(/\/$/, '');
|
|
45
|
+
if (cleanNext === cleanBase) {
|
|
46
|
+
this.previousUrl = this.getListRoute(nextBase);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.previousUrl = nextBase;
|
|
50
|
+
}
|
|
51
|
+
this.currentUrl = nextUrl;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// Navegação real (Entrando em um módulo novo ou avançando)
|
|
55
|
+
this.previousUrl = this.currentUrl;
|
|
56
|
+
this.currentUrl = nextUrl;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
getBaseRoute(url) {
|
|
60
|
+
//pega a rota base
|
|
61
|
+
const parts = url.split('/').filter(Boolean);
|
|
62
|
+
const base = [];
|
|
63
|
+
for (const part of parts) {
|
|
64
|
+
base.push(part);
|
|
65
|
+
if (!isNaN(Number(part))) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return '/' + base.join('/');
|
|
70
|
+
}
|
|
71
|
+
getListRoute(baseRoute) {
|
|
72
|
+
//verifica se a rota de retorno é a inicial
|
|
73
|
+
const parts = baseRoute.split('/').filter(Boolean);
|
|
74
|
+
return '/' + parts[0];
|
|
75
|
+
}
|
|
76
|
+
getParentRoute(url) {
|
|
77
|
+
const clean = url.split('?')[0].replace(/\/$/, '');
|
|
78
|
+
const parts = clean.split('/').filter(Boolean);
|
|
79
|
+
if (parts.length <= 1) {
|
|
80
|
+
return '/' + parts.join('/');
|
|
81
|
+
}
|
|
82
|
+
if (!isNaN(Number(parts[parts.length - 1]))) {
|
|
83
|
+
parts.pop();
|
|
84
|
+
}
|
|
85
|
+
if (parts[parts.length - 1] === 'view') {
|
|
86
|
+
parts.pop();
|
|
87
|
+
}
|
|
88
|
+
return '/' + parts.join('/');
|
|
89
|
+
}
|
|
90
|
+
getBackRoute() {
|
|
91
|
+
return this.previousUrl;
|
|
92
|
+
}
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
94
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, providedIn: 'root' }); }
|
|
95
|
+
}
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, decorators: [{
|
|
97
|
+
type: Injectable,
|
|
98
|
+
args: [{ providedIn: 'root' }]
|
|
99
|
+
}], ctorParameters: () => [{ type: i1.Router }] });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL25hdmlnYXRpb24tY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHOUIsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUgxQixnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFHdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUVsQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFO1lBQzlGLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNwQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUM7WUFFdkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNoRixNQUFNLFFBQVEsR0FBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRS9DLE1BQU0s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O1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ29udGV4dFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcHJldmlvdXNVcmw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgY3VycmVudFVybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoZTogTmF2aWdhdGlvbkVuZCkgPT4ge1xyXG4gICAgICBjb25zdCBuZXh0VXJsID0gZS51cmxBZnRlclJlZGlyZWN0cztcclxuICAgICAgY29uc3QgcHJlc2VydmUgPSBoaXN0b3J5LnN0YXRlPy5fX3ByZXNlcnZlQmFjayA9PSB0cnVlO1xyXG4gICAgXHJcbiAgICAgIGNvbnN0IGN1cnJlbnRCYXNlID0gdGhpcy5jdXJyZW50VXJsID8gdGhpcy5nZXRCYXNlUm91dGUodGhpcy5jdXJyZW50VXJsKSA6IG51bGw7XHJcbiAgICAgIGNvbnN0IG5leHRCYXNlICAgID0gdGhpcy5nZXRCYXNlUm91dGUobmV4dFVybCk7XHJcbiAgICBcclxuICAgICAgY29uc3QgbmF2ID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcclxuICAgICAgY29uc3QgaXNCYWNrID0gbmF2Py50cmlnZ2VyID09ICdwb3BzdGF0ZSc7XHJcbiAgICBcclxuICAgICAgLy8gUmVkaXJlY3QgdMOpY25pY28gLSBpZ25vcmFcclxuICAgICAgaWYgKHByZXNlcnZlKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VXJsID0gbmV4dFVybDtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICAvLyBOYXZlZ2HDp8OjbyBpbnRlcm5hIGRhIG1lc21hIHZpZXcgKEV4OiBJdGVtIDwtPiBWaWV3IFByaW5jaXBhbClcclxuICAgICAgaWYgKGN1cnJlbnRCYXNlICYmIGN1cnJlbnRCYXNlID09IG5leHRCYXNlKSB7XHJcbiAgICAgICAgLy8gYWp1c3RlcyBubyBoaXN0w7NyaWNvIGJhc2VhbmRvLXNlIGVzdHJpdGFtZW50ZSBuYSBoaWVyYXJxdWlhLlxyXG4gICAgICAgIFxyXG4gICAgICAgIGNvbnN0IGNsZWFuTmV4dCA9IG5leHRVcmwuc3BsaXQoJz8nKVswXS5yZXBsYWNlKC9cXC8kLywgJycpO1xyXG4gICAgICAgIGNvbnN0IGNsZWFuQmFzZSA9IG5leHRCYXNlLnJlcGxhY2UoL1xcLyQvLCAnJyk7XHJcblxyXG4gICAgICAgIGlmIChjbGVhbk5leHQgPT0gY2xlYW5CYXNlKSB7XHJcbiAgICAgICAgICAvLyB2b2x0b3UgcGFyYSBhIHJhaXogZGEgZW50aWRhZGVcclxuICAgICAgICAgIHRoaXMucHJldmlvdXNVcmwgPSB0aGlzLmdldExpc3RSb3V0ZShuZXh0QmFzZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIHZvbHRvdSBkZSB1bSBmaWxobyDihpIgcGFpIFJFQUxcclxuICAgICAgICAgIHRoaXMucHJldmlvdXNVcmwgPSB0aGlzLmdldFBhcmVudFJvdXRlKG5leHRVcmwpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudFVybCA9IG5leHRVcmw7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgLy8gQ2hlZ291IG51bWEgdmlldyBiYXNlIFZJQSBCQUNLIChkZSBvdXRybyBtw7NkdWxvKVxyXG4gICAgICBpZiAoaXNCYWNrKSB7XHJcbiAgICAgICAgLy8gU2Ugdm9sdG91IGRlIGZvcmEgKE9TIC0+IE9icmEpLCByZWNhbGN1bGEgcGFyYSBnYXJhbnRpclxyXG4gICAgICAgIGNvbnN0IGNsZWFuTmV4dCA9IG5leHRVcmwuc3BsaXQoJz8nKVswXS5yZXBsYWNlKC9cXC8kLywgJycpO1xyXG4gICAgICAgIGNvbnN0IGNsZWFuQmFzZSA9IG5leHRCYXNlLnJlcGxhY2UoL1xcLyQvLCAnJyk7XHJcblxyXG4gICAgICAgIGlmIChjbGVhbk5leHQgPT09IGNsZWFuQmFzZSkge1xyXG4gICAgICAgICAgIHRoaXMucHJldmlvdXNVcmwgPSB0aGlzLmdldExpc3RSb3V0ZShuZXh0QmFzZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICB0aGlzLnByZXZpb3VzVXJsID0gbmV4dEJhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRVcmwgID0gbmV4dFVybDtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICAvLyBOYXZlZ2HDp8OjbyByZWFsIChFbnRyYW5kbyBlbSB1bSBtw7NkdWxvIG5vdm8gb3UgYXZhbsOnYW5kbylcclxuICAgICAgdGhpcy5wcmV2aW91c1VybCA9IHRoaXMuY3VycmVudFVybDtcclxuICAgICAgdGhpcy5jdXJyZW50VXJsICA9IG5leHRVcmw7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QmFzZVJvdXRlKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIC8vcGVnYSBhIHJvdGEgYmFzZVxyXG4gICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJy8nKS5maWx0ZXIoQm9vbGVhbik7XHJcbiAgICBjb25zdCBiYXNlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XHJcbiAgICAgIGJhc2UucHVzaChwYXJ0KTtcclxuICAgICAgaWYgKCFpc05hTihOdW1iZXIocGFydCkpKSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAnLycgKyBiYXNlLmpvaW4oJy8nKTtcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBnZXRMaXN0Um91dGUoYmFzZVJvdXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy92ZXJpZmljYSBzZSBhIHJvdGEgZGUgcmV0b3JubyDDqSBhIGluaWNpYWxcclxuICAgIGNvbnN0IHBhcnRzID0gYmFzZVJvdXRlLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pO1xyXG4gICAgcmV0dXJuICcvJyArIHBhcnRzWzBdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJlbnRSb3V0ZSh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjbGVhbiA9IHVybC5zcGxpdCgnPycpWzBdLnJlcGxhY2UoL1xcLyQvLCAnJyk7XHJcbiAgICBjb25zdCBwYXJ0cyA9IGNsZWFuLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pO1xyXG4gICAgaWYgKHBhcnRzLmxlbmd0aCA8PSAxKSB7XHJcbiAgICAgIHJldHVybiAnLycgKyBwYXJ0cy5qb2luKCcvJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzTmFOKE51bWJlcihwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSkpKSB7XHJcbiAgICAgIHBhcnRzLnBvcCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdID09PSAndmlldycpIHtcclxuICAgICAgcGFydHMucG9wKCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICByZXR1cm4gJy8nICsgcGFydHMuam9pbignLycpO1xyXG4gIH1cclxuICBnZXRCYWNrUm91dGUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmV2aW91c1VybDtcclxuICB9XHJcbn0iXX0=
|
|
@@ -50,10 +50,10 @@ export class PopoverFocusTrapService {
|
|
|
50
50
|
popoverElement.disableFocusTrap = true;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
54
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
54
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, providedIn: 'root' }); }
|
|
55
55
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, decorators: [{
|
|
57
57
|
type: Injectable,
|
|
58
58
|
args: [{
|
|
59
59
|
providedIn: 'root'
|
|
@@ -30,10 +30,10 @@ export class RouteProviderService {
|
|
|
30
30
|
return this.loading$;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
34
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, providedIn: 'root' }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, decorators: [{
|
|
37
37
|
type: Injectable,
|
|
38
38
|
args: [{
|
|
39
39
|
providedIn: 'root'
|
|
@@ -37,10 +37,10 @@ export class UsuarioService extends HttpServiceAtivo {
|
|
|
37
37
|
return lst;
|
|
38
38
|
}
|
|
39
39
|
;
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
41
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, providedIn: 'root' }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, decorators: [{
|
|
44
44
|
type: Injectable,
|
|
45
45
|
args: [{
|
|
46
46
|
providedIn: 'root'
|
|
@@ -57,10 +57,10 @@ export class UtilsService {
|
|
|
57
57
|
return files.map(p => p.blob)[0];
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
61
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, deps: [{ token: i1.ActionSheetController }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, decorators: [{
|
|
64
64
|
type: Injectable,
|
|
65
65
|
args: [{
|
|
66
66
|
providedIn: 'root'
|
|
@@ -17,10 +17,10 @@ export class ApiUrlProviderService {
|
|
|
17
17
|
this._apiUrl = value;
|
|
18
18
|
}
|
|
19
19
|
get production() { return this._production; }
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiUrlProviderService, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiUrlProviderService, providedIn: 'root' }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiUrlProviderService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{
|
|
26
26
|
providedIn: 'root'
|
|
@@ -25,10 +25,10 @@ export class HttpServiceAtivo extends HttpService {
|
|
|
25
25
|
field.configuration = new InputBoolConfiguration(InputBoolType.Toggle);
|
|
26
26
|
return field;
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpServiceAtivo, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpServiceAtivo, providedIn: 'root' }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpServiceAtivo, decorators: [{
|
|
32
32
|
type: Injectable,
|
|
33
33
|
args: [{
|
|
34
34
|
providedIn: 'root'
|
|
@@ -141,8 +141,13 @@ export class HttpService {
|
|
|
141
141
|
if (!redirectPath) {
|
|
142
142
|
return;
|
|
143
143
|
}
|
|
144
|
-
const path = redirectPath.replace(
|
|
145
|
-
this.navController.navigateRoot([`../${path}`], {
|
|
144
|
+
const path = redirectPath.replace(':id', id.toString());
|
|
145
|
+
this.navController.navigateRoot([`../${path}`], {
|
|
146
|
+
relativeTo: activatedRoute,
|
|
147
|
+
state: {
|
|
148
|
+
__preserveBack: true
|
|
149
|
+
}
|
|
150
|
+
});
|
|
146
151
|
}
|
|
147
152
|
FilesToForm(object, formData = new FormData(), lstTableFieldsView = null) {
|
|
148
153
|
if (!lstTableFieldsView) {
|
|
@@ -160,10 +165,10 @@ export class HttpService {
|
|
|
160
165
|
}
|
|
161
166
|
return formData;
|
|
162
167
|
}
|
|
163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
164
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpService, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
169
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpService, providedIn: 'root' }); }
|
|
165
170
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpService, decorators: [{
|
|
167
172
|
type: Injectable,
|
|
168
173
|
args: [{
|
|
169
174
|
providedIn: 'root'
|
|
@@ -174,4 +179,4 @@ export class ViewRetorno {
|
|
|
174
179
|
this.lstDados = [];
|
|
175
180
|
}
|
|
176
181
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7QUFNL0QsTUFBTSxPQUFnQixXQUFXO0lBSy9CLFlBQ1ksSUFBMkIsRUFDM0IsRUFBNEIsRUFDNUIsY0FBK0IsRUFDL0IsYUFBOEIsRUFDOUIscUJBQTZDO1FBSjdDLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQzNCLE9BQUUsR0FBRixFQUFFLENBQTBCO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQUV2RCxJQUFJLENBQUMsSUFBSSxHQUFvQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEVBQUUsR0FBc0IsTUFBTSxDQUFDLFdBQVcsQ0FB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QUUsQ0FBQztZQUNsRCxJQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUM7Z0JBQzNFLElBQUcsS0FBSyxJQUFJLE9BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLEVBQUMsQ0FBQztvQkFDckMsTUFBTSxJQUFJLEdBQUcsS0FBYSxDQUFDO29CQUMzQixNQUFNLElBQUksR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFDO29CQUMzQixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOytHQXpLbUIsV0FBVzttSEFBWCxXQUFXLGNBRm5CLE1BQU07OzRGQUVFLFdBQVc7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQTZLRCxNQUFNLE9BQU8sV0FBVztJQUF4QjtRQUNFLGFBQVEsR0FBUSxFQUFFLENBQUM7SUFFckIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcblxyXG5pbXBvcnQgeyBBcGlVcmxQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL2FwaS11cmwtcHJvdmlkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VuZXJpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld0ZpbHRyb3MgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2ZpbHRlcnMvdmlldy1maWx0cm9zJztcclxuaW1wb3J0IHsgVGFibGVGaWVsZCB9IGZyb20gJy4uLy4uL2NsYXNzZXMvaW5wdXRzL3RhYmxlLWZpZWxkJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtdHlwZSc7XHJcbmltcG9ydCB7IFZpZXcgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC12aWV3L3ZpZXcnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSHR0cFNlcnZpY2U8ViA9IGFueT4ge1xyXG5cclxuICBwdWJsaWMgYWJzdHJhY3Qgcm91dGU6IHN0cmluZzsgXHJcbiAgcHVibGljIGFic3RyYWN0IHRpdGxlOiBzdHJpbmc7IFxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwPyAgICAgICAgICA6IEh0dHBDbGllbnQsXHJcbiAgICBwcm90ZWN0ZWQgZmI/ICAgICAgICAgICAgOiBGb3JtQnVpbGRlciwgXHJcbiAgICBwcm90ZWN0ZWQgZ2VuZXJpY1NlcnZpY2U/OiBHZW5lcmljU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBuYXZDb250cm9sbGVyPyA6IE5hdkNvbnRyb2xsZXIsXHJcbiAgICBwcm90ZWN0ZWQgYXBpVXJsUHJvdmlkZXJTZXJ2aWNlPzogQXBpVXJsUHJvdmlkZXJTZXJ2aWNlLFxyXG4gICkgeyBcclxuICAgIHRoaXMuaHR0cCAgICAgICAgICAgICAgICAgID0gaW5qZWN0KEh0dHBDbGllbnQpO1xyXG4gICAgdGhpcy5mYiAgICAgICAgICAgICAgICAgICAgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xyXG4gICAgdGhpcy5nZW5lcmljU2VydmljZSAgICAgICAgPSBpbmplY3QoR2VuZXJpY1NlcnZpY2UpO1xyXG4gICAgdGhpcy5uYXZDb250cm9sbGVyICAgICAgICAgPSBpbmplY3QoTmF2Q29udHJvbGxlcik7XHJcbiAgICB0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZSA9IGluamVjdChBcGlVcmxQcm92aWRlclNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBhIHJvdGEgY29tcGxldGEgZG8gc2VydmnDp29cclxuICAgKiBAcmV0dXJuIHN0cmluZ1xyXG4gICAqIEBleGFtcGxlICdodHRwczovL2FwaS5leGFtcGxlLmNvbS97cm91dGV9J1xyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgZnVsbFJvdXRlKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmwgKyB0aGlzLnJvdXRlXHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogUmV0b3JuYSBvcyBkYWRvcyBkZSBhY29yZG8gY29tIG9zIGZpbHRyb3MgXHJcbiAgICogQHBhcmFtIHZGaWx0ZXIgRmlsdHJhIG9zIGRhZG9zIChQZXNxdWlzYSwgUGFnaW5hw6fDo28gZSBJQ29tcGFyaXNvbilcclxuICAqL1xyXG4gIHB1YmxpYyBMaXN0KHZGaWx0ZXI/OiBWaWV3RmlsdHJvcyk6IE9ic2VydmFibGU8Vmlld1JldG9ybm88Vj4+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFZpZXdSZXRvcm5vPFY+Pih0aGlzLmZ1bGxSb3V0ZSArIGAvbGlzdGAsIHZGaWx0ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgbyBkYWRvIGRhIHRhYmVsYSBhc3NvY2lhZGEgY29tIGEgcm90YSBjb20gbyBpZCBpbmRpY2FkbyBcclxuICAgKiBAcGFyYW0gaWQgaWQgZG8gZGFkb1xyXG4gICovXHJcbiAgcHVibGljIEdldChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxWPiB7IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Vj4odGhpcy5mdWxsUm91dGUgK2AvZ2V0LyR7aWR9YCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKiBTYWx2YSBhcyBhbHRlcmHDp8O1ZXMgbm8gZGFkbyByZWNlYmlkbyAqL1xyXG4gIHB1YmxpYyBTYXZlPFQgPSBudW1iZXI+KG9iajogYW55IHwgRm9ybUdyb3VwIHwgViwgdmlldz86IFZpZXc8SHR0cFNlcnZpY2U+KTogT2JzZXJ2YWJsZTxUPntcclxuICAgIGlmKHZpZXcpeyB2aWV3LnN1Ym1pdHRlZCA9IHRydWU7IH1cclxuXHJcbiAgICB2YXIgb2JqZWN0ID0gb2JqO1xyXG4gICAgXHJcbiAgICBpZihvYmogaW5zdGFuY2VvZiBGb3JtR3JvdXApeyBcclxuICAgICAgaWYob2JqLmludmFsaWQpeyBcclxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKVxyXG4gICAgICAgIHN1YmplY3QuZXJyb3IoXCJbIEludmFsaWQgRm9ybSBdXCIpO1xyXG4gICAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdChcIlZlcmlmaXF1ZSBvcyBjYW1wb3MhXCIpXHJcbiAgICAgICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICBvYmplY3QgPSBvYmoudmFsdWU7IFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5GaWxlc1RvRm9ybShvYmplY3QpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCd2aWV3JywgSlNPTi5zdHJpbmdpZnkob2JqZWN0KSk7XHJcblxyXG4gICAgLy9DaGVjayBpbiB0aGUgY2FzZSBpdCBoYXMgYSBmaWxlIGFuZCB0aGUgdmlldyBpcyBub3QgcGFzc2VkXHJcbiAgICBpZihPYmplY3QuZW50cmllcyhvYmplY3QpLmZpbmQocCA9PiBwWzFdIGluc3RhbmNlb2YgRmlsZSkgJiYgdGhpcy5oYXNGaWxlRm9ybSAmJiAhdmlldyl7IFxyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBGb3JtR3JvdXAgY29udGFpbnMgZmlsZSwgYnV0IHZpZXcgaXNudCBhIHZhbGlkIHBhcmFtZXRlciBdXCIpOyBcclxuICAgIH0gZWxzZSBcclxuICAgIGlmKHZpZXcpeyBcclxuICAgICAgcmV0dXJuIHRoaXMuX1NhdmUoZm9ybURhdGEsIHZpZXcpOyBcclxuICAgIH0gXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuZnVsbFJvdXRlICsgYC9zYXZlYCwgZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEV4Y2x1aSBhIGVudGlkYWRlICovXHJcbiAgcHVibGljIERlbGV0ZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx2b2lkPih0aGlzLmZ1bGxSb3V0ZSArIGAvZGVsZXRlL2AraWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgdG9kb3Mgb3MgZGFkb3MgKi9cclxuICBwdWJsaWMgTG9hZCh2RmlsdHJvcz86IFZpZXdGaWx0cm9zKTogUHJvbWlzZTxWaWV3UmV0b3JubzxWPj57XHJcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5MaXN0KHZGaWx0cm9zKSk7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSBvcyBjYW1wb3MgZGEgdGFiZWxhICovXHJcbiAgZ2V0IGxzdFRhYmxlRmllbGRzKCkgICAgOiBUYWJsZUZpZWxkW10geyByZXR1cm4gW107IH1cclxuICAvKiogUmV0b3JuYSBvcyBjYW1wb3MgZGEgdGFiZWxhIHBhcmEgdmlzdWFsaXphw6fDo28vZWRpw6fDo28gKHNlIHZhemlvIHJldG9ybmFyYSBvIHBhZHLDo28gKGxzdFRhYmxlRmllbGRzKSkgKi8gXHJcbiAgZ2V0IGxzdFRhYmxlRmllbGRzVmlldygpOiBUYWJsZUZpZWxkW10geyByZXR1cm4gdGhpcy5sc3RUYWJsZUZpZWxkczsgfSBcclxuXHJcbiAgLyoqIFJldG9yYSBvIFRhYmxlRmllbGQgcGFkcsOjbyBkZSBpZCAqL1xyXG4gIGdldCBkZWZhdWx0SWQoKSB7XHJcbiAgICB2YXIgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgwKTtcclxuICAgIGNvbnN0IGZpZWxkID0gbmV3IFRhYmxlRmllbGQoXCJpZFwiLCBcImlkXCIsIGNvbnRyb2wsIElucHV0VHlwZS5OdW1iZXIpOyBcclxuICAgIGZpZWxkLmhpZGRlbiAgICAgPSB0cnVlO1xyXG4gICAgZmllbGQuaGlkZGVuVmlldyA9IHRydWU7XHJcbiAgICByZXR1cm4gZmllbGRcclxuICB9XHJcblxyXG4gIC8qKiBSZXRvcmEgbyBUYWJsZUZpZWxkIHBhZHLDo28gZGUgaWRFbXByZXNhICovXHJcbiAgZ2V0IGRlZmF1bHRJZEVtcHJlc2EoKSB7XHJcbiAgICB2YXIgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgwKTtcclxuICAgIGNvbnN0IGZpZWxkID0gbmV3IFRhYmxlRmllbGQoXCJFbXByZXNhXCIsIFwiaWRFbXByZXNhXCIsIGNvbnRyb2wsIElucHV0VHlwZS5TZWxlY3QpOyBcclxuICAgIGZpZWxkLmhpZGRlblZpZXcgPSB0cnVlO1xyXG4gICAgZmllbGQuaGlkZGVuICAgICA9IHRydWU7XHJcbiAgICByZXR1cm4gZmllbGQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBoYXNGaWxlRm9ybSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubHN0VGFibGVGaWVsZHNWaWV3LmZpbHRlcihwID0+IHAudHlwZSA9PSBJbnB1dFR5cGUuRmlsZSkubGVuZ3RoID4gMDsgfSBcclxuXHJcbiAgcHJvdGVjdGVkIF9TYXZlKGZvcm1EYXRhOiBGb3JtRGF0YSwgdmlldzogVmlldzxIdHRwU2VydmljZT4pOiBPYnNlcnZhYmxlPGFueSB8IHZvaWQ+e1xyXG4gICAgdmlldy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIdHRwRXZlbnQ8YW55Pj4obnVsbCk7XHJcblxyXG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5mdWxsUm91dGUgKyBgL3NhdmVgLCBmb3JtRGF0YSwgeyByZXBvcnRQcm9ncmVzczogdHJ1ZSwgb2JzZXJ2ZTogJ2V2ZW50cycgfSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJleikgPT4geyBcclxuICAgICAgICBpZihyZXoudHlwZSA9PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKXtcclxuICAgICAgICAgIGNvbnN0IHJlcyA9IHJlei5sb2FkZWQgLyByZXoudG90YWwhOyBcclxuICAgICAgICAgIHN1YmplY3QubmV4dChyZXopO1xyXG4gICAgICAgICAgdmlldy5wcm9ncmVzcyA9IHJlczsgIFxyXG4gICAgICAgIH1lbHNlIFxyXG4gICAgICAgIGlmKHJlei50eXBlID09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2Upe1xyXG4gICAgICAgICAgdmlldy5sb2FkaW5nICAgPSBmYWxzZTsgXHJcbiAgICAgICAgICB2aWV3LnN1Ym1pdHRlZCA9IGZhbHNlOyBcclxuICAgICAgICAgIHZpZXcuUmVmcmVzaCgpOyBcclxuXHJcbiAgICAgICAgICBjb25zdCBpZDogbnVtYmVyID0gTnVtYmVyKHJlei5ib2R5KVxyXG5cclxuICAgICAgICAgIC8vWyBSZWRpcmVjdCB0byB2aWV3LzppZCB8IHJlZGlyZWN0UGF0aCBdXHJcbiAgICAgICAgICBpZighdmlldy5pZCAmJiBpZCl7IFxyXG4gICAgICAgICAgICB0aGlzLlJlZGlyZWN0Um91dGUoaWQsIHZpZXcucmVkaXJlY3RQYXRoLCB2aWV3LkdldEN1cnJlbnRSb3V0aW5nKCkpOyBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOihlcnIpID0+IHsgXHJcbiAgICAgICAgc3ViamVjdC5lcnJvcihlcnIpOyBcclxuICAgICAgICB2aWV3LmxvYWRpbmcgICA9IGZhbHNlOyBcclxuICAgICAgICB2aWV3LnN1Ym1pdHRlZCA9IGZhbHNlOyBcclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7IFxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZTooKSA9PiB7IFxyXG4gICAgICAgIHRoaXMuZ2VuZXJpY1NlcnZpY2UuUHJlc2VudFRvYXN0U3VjY2VzcygpO1xyXG4gICAgICAgIHN1YmplY3QuY29tcGxldGUoKTsgXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuICBwcml2YXRlIFJlZGlyZWN0Um91dGUoaWQ6IG51bWJlciwgcmVkaXJlY3RQYXRoOiBzdHJpbmcsIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IHZvaWQge1xyXG4gICAgaWYoIXJlZGlyZWN0UGF0aCl7IHJldHVybjsgfVxyXG4gICAgY29uc3QgcGF0aCA9IHJlZGlyZWN0UGF0aC5yZXBsYWNlKFwiOmlkXCIsIGlkLnRvU3RyaW5nKCkpO1xyXG4gICAgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdChbYC4uLyR7cGF0aH1gXSwgeyByZWxhdGl2ZVRvOiBhY3RpdmF0ZWRSb3V0ZSB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEZpbGVzVG9Gb3JtKG9iamVjdDogViwgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCksIGxzdFRhYmxlRmllbGRzVmlldzogVGFibGVGaWVsZFtdIHwgbnVsbCA9IG51bGwpOiBGb3JtRGF0YSB7XHJcbiAgICBpZighbHN0VGFibGVGaWVsZHNWaWV3KXsgbHN0VGFibGVGaWVsZHNWaWV3ID0gdGhpcy5sc3RUYWJsZUZpZWxkc1ZpZXcuZmlsdGVyKHAgPT4gcC50eXBlID09IElucHV0VHlwZS5GaWxlKTsgfVxyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iamVjdCkpIHtcclxuICAgICAgaWYobHN0VGFibGVGaWVsZHNWaWV3LmZpbmQocCA9PiBwLmluZGV4ID09IGtleSAmJiBwLnR5cGUgPT0gSW5wdXRUeXBlLkZpbGUpKXtcclxuICAgICAgICBpZih2YWx1ZSAmJiB0eXBlb2YodmFsdWUpICE9IFwic3RyaW5nXCIpe1xyXG4gICAgICAgICAgY29uc3QgZmlsZSA9IHZhbHVlIGFzIEZpbGU7XHJcbiAgICAgICAgICBjb25zdCBuYW1lID0gYGZpbGUtJHtrZXl9YDtcclxuICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChuYW1lLCBmaWxlLCBmaWxlLm5hbWUpO1xyXG4gICAgICAgICAgb2JqZWN0W2tleV0gPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1EYXRhO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpZXdSZXRvcm5vPFQgPSBhbnk+IHtcclxuICBsc3REYWRvczogVFtdID0gW107XHJcbiAgdG90YWw6IG51bWJlcjtcclxufSJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7QUFNL0QsTUFBTSxPQUFnQixXQUFXO0lBSy9CLFlBQ1ksSUFBMkIsRUFDM0IsRUFBNEIsRUFDNUIsY0FBK0IsRUFDL0IsYUFBOEIsRUFDOUIscUJBQTZDO1FBSjdDLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQzNCLE9BQUUsR0FBRixFQUFFLENBQTBCO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQUV2RCxJQUFJLENBQUMsSUFBSSxHQUFvQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEVBQUUsR0FBc0IsTUFBTSxDQUFDLFdBQVcsQ0FB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LENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbEQsSUFBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO2dCQUMzRSxJQUFHLEtBQUssSUFBSSxPQUFNLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFDLENBQUM7b0JBQ3JDLE1BQU0sSUFBSSxHQUFHLEtBQWEsQ0FBQztvQkFDM0IsTUFBTSxJQUFJLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztvQkFDM0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDdkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzsrR0FoTG1CLFdBQVc7bUhBQVgsV0FBVyxjQUZuQixNQUFNOzs0RkFFRSxXQUFXO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFvTEQsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDRSxhQUFRLEdBQVEsRUFBRSxDQUFDO0lBRXJCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5cclxuaW1wb3J0IHsgQXBpVXJsUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL2dlbmVyaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFZpZXdGaWx0cm9zIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL3ZpZXctZmlsdHJvcyc7XHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2lucHV0cy90YWJsZS1maWVsZCc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXR5cGUnO1xyXG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy92aWV3JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEh0dHBTZXJ2aWNlPFYgPSBhbnk+IHtcclxuXHJcbiAgcHVibGljIGFic3RyYWN0IHJvdXRlOiBzdHJpbmc7IFxyXG4gIHB1YmxpYyBhYnN0cmFjdCB0aXRsZTogc3RyaW5nOyBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgaHR0cD8gICAgICAgICAgOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGZiPyAgICAgICAgICAgIDogRm9ybUJ1aWxkZXIsIFxyXG4gICAgcHJvdGVjdGVkIGdlbmVyaWNTZXJ2aWNlPzogR2VuZXJpY1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmF2Q29udHJvbGxlcj8gOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJvdGVjdGVkIGFwaVVybFByb3ZpZGVyU2VydmljZT86IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICApIHsgXHJcbiAgICB0aGlzLmh0dHAgICAgICAgICAgICAgICAgICA9IGluamVjdChIdHRwQ2xpZW50KTtcclxuICAgIHRoaXMuZmIgICAgICAgICAgICAgICAgICAgID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcclxuICAgIHRoaXMuZ2VuZXJpY1NlcnZpY2UgICAgICAgID0gaW5qZWN0KEdlbmVyaWNTZXJ2aWNlKTtcclxuICAgIHRoaXMubmF2Q29udHJvbGxlciAgICAgICAgID0gaW5qZWN0KE5hdkNvbnRyb2xsZXIpO1xyXG4gICAgdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UgPSBpbmplY3QoQXBpVXJsUHJvdmlkZXJTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldG9ybmEgYSByb3RhIGNvbXBsZXRhIGRvIHNlcnZpw6dvXHJcbiAgICogQHJldHVybiBzdHJpbmdcclxuICAgKiBAZXhhbXBsZSAnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20ve3JvdXRlfSdcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGZ1bGxSb3V0ZSgpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsICsgdGhpcy5yb3V0ZVxyXG4gIH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIFJldG9ybmEgb3MgZGFkb3MgZGUgYWNvcmRvIGNvbSBvcyBmaWx0cm9zIFxyXG4gICAqIEBwYXJhbSB2RmlsdGVyIEZpbHRyYSBvcyBkYWRvcyAoUGVzcXVpc2EsIFBhZ2luYcOnw6NvIGUgSUNvbXBhcmlzb24pXHJcbiAgKi9cclxuICBwdWJsaWMgTGlzdCh2RmlsdGVyPzogVmlld0ZpbHRyb3MpOiBPYnNlcnZhYmxlPFZpZXdSZXRvcm5vPFY+PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxWaWV3UmV0b3JubzxWPj4odGhpcy5mdWxsUm91dGUgKyBgL2xpc3RgLCB2RmlsdGVyKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXRvcm5hIG8gZGFkbyBkYSB0YWJlbGEgYXNzb2NpYWRhIGNvbSBhIHJvdGEgY29tIG8gaWQgaW5kaWNhZG8gXHJcbiAgICogQHBhcmFtIGlkIGlkIGRvIGRhZG9cclxuICAqL1xyXG4gIHB1YmxpYyBHZXQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Vj4geyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFY+KHRoaXMuZnVsbFJvdXRlICtgL2dldC8ke2lkfWApO1xyXG4gIH1cclxuICBcclxuICAvKiogU2FsdmEgYXMgYWx0ZXJhw6fDtWVzIG5vIGRhZG8gcmVjZWJpZG8gKi9cclxuICBwdWJsaWMgU2F2ZTxUID0gbnVtYmVyPihvYmo6IGFueSB8IEZvcm1Hcm91cCB8IFYsIHZpZXc/OiBWaWV3PEh0dHBTZXJ2aWNlPik6IE9ic2VydmFibGU8VD57XHJcbiAgICBpZih2aWV3KXsgdmlldy5zdWJtaXR0ZWQgPSB0cnVlOyB9XHJcblxyXG4gICAgdmFyIG9iamVjdCA9IG9iajtcclxuICAgIFxyXG4gICAgaWYob2JqIGluc3RhbmNlb2YgRm9ybUdyb3VwKXsgXHJcbiAgICAgIGlmKG9iai5pbnZhbGlkKXsgXHJcbiAgICAgICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbClcclxuICAgICAgICBzdWJqZWN0LmVycm9yKFwiWyBJbnZhbGlkIEZvcm0gXVwiKTtcclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICAgICAgdGhpcy5nZW5lcmljU2VydmljZS5QcmVzZW50VG9hc3QoXCJWZXJpZmlxdWUgb3MgY2FtcG9zIVwiKVxyXG4gICAgICAgIHJldHVybiBzdWJqZWN0O1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgb2JqZWN0ID0gb2JqLnZhbHVlOyBcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMuRmlsZXNUb0Zvcm0ob2JqZWN0KTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgndmlldycsIEpTT04uc3RyaW5naWZ5KG9iamVjdCkpO1xyXG5cclxuICAgIC8vQ2hlY2sgaW4gdGhlIGNhc2UgaXQgaGFzIGEgZmlsZSBhbmQgdGhlIHZpZXcgaXMgbm90IHBhc3NlZFxyXG4gICAgaWYoT2JqZWN0LmVudHJpZXMob2JqZWN0KS5maW5kKHAgPT4gcFsxXSBpbnN0YW5jZW9mIEZpbGUpICYmIHRoaXMuaGFzRmlsZUZvcm0gJiYgIXZpZXcpeyBcclxuICAgICAgY29uc29sZS5lcnJvcihcIlsgRm9ybUdyb3VwIGNvbnRhaW5zIGZpbGUsIGJ1dCB2aWV3IGlzbnQgYSB2YWxpZCBwYXJhbWV0ZXIgXVwiKTsgXHJcbiAgICB9IGVsc2UgXHJcbiAgICBpZih2aWV3KXsgXHJcbiAgICAgIHJldHVybiB0aGlzLl9TYXZlKGZvcm1EYXRhLCB2aWV3KTsgXHJcbiAgICB9IFxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLmZ1bGxSb3V0ZSArIGAvc2F2ZWAsIGZvcm1EYXRhKTtcclxuICB9XHJcblxyXG4gIC8qKiBFeGNsdWkgYSBlbnRpZGFkZSAqL1xyXG4gIHB1YmxpYyBEZWxldGUoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dm9pZD4odGhpcy5mdWxsUm91dGUgKyBgL2RlbGV0ZS9gK2lkKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXRvcm5hIHRvZG9zIG9zIGRhZG9zICovXHJcbiAgcHVibGljIExvYWQodkZpbHRyb3M/OiBWaWV3RmlsdHJvcyk6IFByb21pc2U8Vmlld1JldG9ybm88Vj4+e1xyXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuTGlzdCh2RmlsdHJvcykpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgb3MgY2FtcG9zIGRhIHRhYmVsYSAqL1xyXG4gIGdldCBsc3RUYWJsZUZpZWxkcygpICAgIDogVGFibGVGaWVsZFtdIHsgcmV0dXJuIFtdOyB9XHJcbiAgLyoqIFJldG9ybmEgb3MgY2FtcG9zIGRhIHRhYmVsYSBwYXJhIHZpc3VhbGl6YcOnw6NvL2VkacOnw6NvIChzZSB2YXppbyByZXRvcm5hcmEgbyBwYWRyw6NvIChsc3RUYWJsZUZpZWxkcykpICovIFxyXG4gIGdldCBsc3RUYWJsZUZpZWxkc1ZpZXcoKTogVGFibGVGaWVsZFtdIHsgcmV0dXJuIHRoaXMubHN0VGFibGVGaWVsZHM7IH0gXHJcblxyXG4gIC8qKiBSZXRvcmEgbyBUYWJsZUZpZWxkIHBhZHLDo28gZGUgaWQgKi9cclxuICBnZXQgZGVmYXVsdElkKCkge1xyXG4gICAgdmFyIGNvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woMCk7XHJcbiAgICBjb25zdCBmaWVsZCA9IG5ldyBUYWJsZUZpZWxkKFwiaWRcIiwgXCJpZFwiLCBjb250cm9sLCBJbnB1dFR5cGUuTnVtYmVyKTsgXHJcbiAgICBmaWVsZC5oaWRkZW4gICAgID0gdHJ1ZTtcclxuICAgIGZpZWxkLmhpZGRlblZpZXcgPSB0cnVlO1xyXG4gICAgcmV0dXJuIGZpZWxkXHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JhIG8gVGFibGVGaWVsZCBwYWRyw6NvIGRlIGlkRW1wcmVzYSAqL1xyXG4gIGdldCBkZWZhdWx0SWRFbXByZXNhKCkge1xyXG4gICAgdmFyIGNvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woMCk7XHJcbiAgICBjb25zdCBmaWVsZCA9IG5ldyBUYWJsZUZpZWxkKFwiRW1wcmVzYVwiLCBcImlkRW1wcmVzYVwiLCBjb250cm9sLCBJbnB1dFR5cGUuU2VsZWN0KTsgXHJcbiAgICBmaWVsZC5oaWRkZW5WaWV3ID0gdHJ1ZTtcclxuICAgIGZpZWxkLmhpZGRlbiAgICAgPSB0cnVlO1xyXG4gICAgcmV0dXJuIGZpZWxkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgaGFzRmlsZUZvcm0oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmxzdFRhYmxlRmllbGRzVmlldy5maWx0ZXIocCA9PiBwLnR5cGUgPT0gSW5wdXRUeXBlLkZpbGUpLmxlbmd0aCA+IDA7IH0gXHJcblxyXG4gIHByb3RlY3RlZCBfU2F2ZShmb3JtRGF0YTogRm9ybURhdGEsIHZpZXc6IFZpZXc8SHR0cFNlcnZpY2U+KTogT2JzZXJ2YWJsZTxhbnkgfCB2b2lkPntcclxuICAgIHZpZXcubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SHR0cEV2ZW50PGFueT4+KG51bGwpO1xyXG5cclxuICAgIHRoaXMuaHR0cC5wb3N0KHRoaXMuZnVsbFJvdXRlICsgYC9zYXZlYCwgZm9ybURhdGEsIHsgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsIG9ic2VydmU6ICdldmVudHMnIH0pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXopID0+IHsgXHJcbiAgICAgICAgaWYocmV6LnR5cGUgPT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcyl7XHJcbiAgICAgICAgICBjb25zdCByZXMgPSByZXoubG9hZGVkIC8gcmV6LnRvdGFsITsgXHJcbiAgICAgICAgICBzdWJqZWN0Lm5leHQocmV6KTtcclxuICAgICAgICAgIHZpZXcucHJvZ3Jlc3MgPSByZXM7ICBcclxuICAgICAgICB9ZWxzZSBcclxuICAgICAgICBpZihyZXoudHlwZSA9PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKXtcclxuICAgICAgICAgIHZpZXcubG9hZGluZyAgID0gZmFsc2U7IFxyXG4gICAgICAgICAgdmlldy5zdWJtaXR0ZWQgPSBmYWxzZTsgXHJcbiAgICAgICAgICB2aWV3LlJlZnJlc2goKTsgXHJcblxyXG4gICAgICAgICAgY29uc3QgaWQ6IG51bWJlciA9IE51bWJlcihyZXouYm9keSlcclxuXHJcbiAgICAgICAgICAvL1sgUmVkaXJlY3QgdG8gdmlldy86aWQgfCByZWRpcmVjdFBhdGggXVxyXG4gICAgICAgICAgaWYoIXZpZXcuaWQgJiYgaWQpeyBcclxuICAgICAgICAgICAgdGhpcy5SZWRpcmVjdFJvdXRlKGlkLCB2aWV3LnJlZGlyZWN0UGF0aCwgdmlldy5HZXRDdXJyZW50Um91dGluZygpKTsgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjooZXJyKSA9PiB7IFxyXG4gICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTsgXHJcbiAgICAgICAgdmlldy5sb2FkaW5nICAgPSBmYWxzZTsgXHJcbiAgICAgICAgdmlldy5zdWJtaXR0ZWQgPSBmYWxzZTsgXHJcbiAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpOyBcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6KCkgPT4geyBcclxuICAgICAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdFN1Y2Nlc3MoKTtcclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7IFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gc3ViamVjdDtcclxuICB9XHJcbiAgcHJpdmF0ZSBSZWRpcmVjdFJvdXRlKGlkOiBudW1iZXIsIHJlZGlyZWN0UGF0aDogc3RyaW5nLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpOiB2b2lkIHtcclxuICAgIGlmICghcmVkaXJlY3RQYXRoKSB7IHJldHVybjsgfVxyXG4gICAgY29uc3QgcGF0aCA9IHJlZGlyZWN0UGF0aC5yZXBsYWNlKCc6aWQnLCBpZC50b1N0cmluZygpKTtcclxuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoW2AuLi8ke3BhdGh9YF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogYWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3ByZXNlcnZlQmFjazogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEZpbGVzVG9Gb3JtKG9iamVjdDogViwgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCksIGxzdFRhYmxlRmllbGRzVmlldzogVGFibGVGaWVsZFtdIHwgbnVsbCA9IG51bGwpOiBGb3JtRGF0YSB7XHJcbiAgICBpZighbHN0VGFibGVGaWVsZHNWaWV3KXsgbHN0VGFibGVGaWVsZHNWaWV3ID0gdGhpcy5sc3RUYWJsZUZpZWxkc1ZpZXcuZmlsdGVyKHAgPT4gcC50eXBlID09IElucHV0VHlwZS5GaWxlKTsgfVxyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iamVjdCkpIHtcclxuICAgICAgaWYobHN0VGFibGVGaWVsZHNWaWV3LmZpbmQocCA9PiBwLmluZGV4ID09IGtleSAmJiBwLnR5cGUgPT0gSW5wdXRUeXBlLkZpbGUpKXtcclxuICAgICAgICBpZih2YWx1ZSAmJiB0eXBlb2YodmFsdWUpICE9IFwic3RyaW5nXCIpe1xyXG4gICAgICAgICAgY29uc3QgZmlsZSA9IHZhbHVlIGFzIEZpbGU7XHJcbiAgICAgICAgICBjb25zdCBuYW1lID0gYGZpbGUtJHtrZXl9YDtcclxuICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChuYW1lLCBmaWxlLCBmaWxlLm5hbWUpO1xyXG4gICAgICAgICAgb2JqZWN0W2tleV0gPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1EYXRhO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpZXdSZXRvcm5vPFQgPSBhbnk+IHtcclxuICBsc3REYWRvczogVFtdID0gW107XHJcbiAgdG90YWw6IG51bWJlcjtcclxufSJdfQ==
|
|
@@ -151,10 +151,10 @@ export class StorageService {
|
|
|
151
151
|
onUpdate?.(totalProgress, lstResponse[0], eventType);
|
|
152
152
|
}))[0];
|
|
153
153
|
}
|
|
154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
155
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StorageService, deps: [{ token: i1.HttpClient }, { token: i2.ApiUrlProviderService }, { token: i3.GenericService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
155
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StorageService, providedIn: 'root' }); }
|
|
156
156
|
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StorageService, decorators: [{
|
|
158
158
|
type: Injectable,
|
|
159
159
|
args: [{
|
|
160
160
|
providedIn: 'root'
|