ngx-vector-components 2.14.0 → 3.0.2
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/CHANGELOG.md +39 -0
- package/assets/styles/_mixins.scss +7 -0
- package/assets/styles/_primeng-custom-theme.scss +251 -9
- package/assets/styles/_spinner.scss +0 -2
- package/assets/styles/_styles.scss +5 -0
- package/assets/styles/_variables.scss +1 -11
- package/esm2020/lib/components/badge/badge.component.mjs +34 -0
- package/esm2020/lib/components/badge/badge.module.mjs +18 -0
- package/esm2020/lib/components/badge/index.mjs +3 -0
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +8 -5
- package/esm2020/lib/components/crud-base/crud-base.component.mjs +7 -1
- package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +1 -1
- package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -0
- package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -0
- package/esm2020/lib/components/crud-header/index.mjs +3 -0
- package/esm2020/lib/components/crud-history/crud-history.component.mjs +51 -0
- package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -0
- package/esm2020/lib/components/crud-history/index.mjs +3 -0
- package/esm2020/lib/components/fields/button/button.component.mjs +10 -5
- package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/data-table/data-table.component.mjs +12 -3
- package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +11 -7
- package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +2 -2
- package/esm2020/lib/components/fields/fields.module.mjs +13 -4
- package/esm2020/lib/components/fields/filters/filters.component.mjs +18 -6
- package/esm2020/lib/components/fields/index.mjs +2 -1
- package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/range-value/range-value.component.mjs +2 -2
- package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -0
- package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -0
- package/esm2020/lib/components/fields/text-field/text-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +2 -2
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +2 -2
- package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +3 -3
- package/esm2020/lib/components/index.mjs +4 -1
- package/esm2020/lib/components/menu/menu.component.mjs +27 -31
- package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +3 -3
- package/esm2020/lib/components/top-bar/top-bar.component.mjs +2 -2
- package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -0
- package/esm2020/lib/guards/index.mjs +2 -1
- package/esm2020/lib/models/crud-history.model.mjs +9 -0
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/models/ip-info.enum.mjs +2 -0
- package/esm2020/lib/models/view.enum.mjs +2 -1
- package/esm2020/lib/pipes/format-document.pipe.mjs +17 -0
- package/esm2020/lib/pipes/index.mjs +2 -1
- package/esm2020/lib/pipes/pipes.module.mjs +5 -4
- package/esm2020/lib/resolvers/get-entity-history.resolver.mjs +22 -0
- package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -0
- package/esm2020/lib/resolvers/index.mjs +3 -0
- package/esm2020/lib/services/crud-base.service.mjs +2 -1
- package/esm2020/lib/services/geolocation.service.mjs +3 -3
- package/esm2020/lib/services/menu.service.mjs +4 -2
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ngx-vector-components.mjs +1526 -1227
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +1499 -1203
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/badge/badge.component.d.ts +14 -0
- package/lib/components/badge/badge.module.d.ts +8 -0
- package/lib/components/badge/index.d.ts +2 -0
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +2 -1
- package/lib/components/crud-base/crud-base.component.d.ts +2 -0
- package/lib/components/crud-header/crud-header.component.d.ts +11 -0
- package/lib/components/crud-header/crud-header.module.d.ts +9 -0
- package/lib/components/crud-header/index.d.ts +2 -0
- package/lib/components/crud-history/crud-history.component.d.ts +10 -0
- package/lib/components/crud-history/crud-history.module.d.ts +10 -0
- package/lib/components/crud-history/index.d.ts +2 -0
- package/lib/components/fields/button/button.component.d.ts +4 -5
- package/lib/components/fields/data-table/data-table.component.d.ts +4 -1
- package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +3 -1
- package/lib/components/fields/fields.module.d.ts +24 -22
- package/lib/components/fields/filters/filters.component.d.ts +7 -3
- package/lib/components/fields/index.d.ts +1 -0
- package/lib/components/fields/select-button-field/index.d.ts +1 -0
- package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -0
- package/lib/components/index.d.ts +3 -0
- package/lib/guards/crud-list-has-items.guard.d.ts +10 -0
- package/lib/guards/index.d.ts +1 -0
- package/lib/models/crud-history.model.d.ts +11 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/{ipInfo.d.ts → ip-info.enum.d.ts} +1 -1
- package/lib/models/view.enum.d.ts +2 -1
- package/lib/pipes/format-document.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/pipes.module.d.ts +2 -1
- package/lib/resolvers/get-entity-history.resolver.d.ts +11 -0
- package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -0
- package/lib/resolvers/index.d.ts +2 -0
- package/lib/services/crud-base.service.d.ts +1 -0
- package/lib/services/geolocation.service.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/esm2020/lib/models/ipInfo.mjs +0 -2
|
@@ -1,47 +1,51 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import * as i2 from '@angular/
|
|
4
|
-
import { NavigationEnd } from '@angular/router';
|
|
5
|
-
import { Subscription, BehaviorSubject, Subject, throwError } from 'rxjs';
|
|
6
|
-
import * as i2$1 from '@angular/common';
|
|
2
|
+
import { Component, Input, Pipe, NgModule, Inject, EventEmitter, Output, Injectable, ViewChild, HostListener } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/common';
|
|
7
4
|
import { CommonModule } from '@angular/common';
|
|
8
|
-
import * as i2$
|
|
5
|
+
import * as i2$9 from 'primeng/tooltip';
|
|
9
6
|
import { TooltipModule } from 'primeng/tooltip';
|
|
10
|
-
import
|
|
7
|
+
import { saveAs } from 'file-saver';
|
|
8
|
+
import * as i2$1 from '@angular/router';
|
|
9
|
+
import { NavigationEnd } from '@angular/router';
|
|
10
|
+
import { Subscription, BehaviorSubject, Subject, throwError } from 'rxjs';
|
|
11
|
+
import * as i2$4 from '@angular/forms';
|
|
11
12
|
import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
12
13
|
import * as i1 from 'primeng/button';
|
|
13
14
|
import { ButtonModule } from 'primeng/button';
|
|
14
|
-
import * as
|
|
15
|
+
import * as i2$6 from 'primeng/autocomplete';
|
|
15
16
|
import { AutoCompleteModule } from 'primeng/autocomplete';
|
|
16
17
|
import * as i2$3 from 'primeng/calendar';
|
|
17
18
|
import { CalendarModule } from 'primeng/calendar';
|
|
18
19
|
import * as i1$4 from 'primeng/checkbox';
|
|
19
20
|
import { CheckboxModule } from 'primeng/checkbox';
|
|
20
|
-
import * as i2$
|
|
21
|
+
import * as i2$8 from 'primeng/dialog';
|
|
21
22
|
import { DialogModule } from 'primeng/dialog';
|
|
23
|
+
import * as i1$6 from 'primeng/dropdown';
|
|
22
24
|
import { DropdownModule } from 'primeng/dropdown';
|
|
23
25
|
import { FileUploadModule } from 'primeng/fileupload';
|
|
24
|
-
import * as i2$
|
|
26
|
+
import * as i2$5 from 'primeng/inputmask';
|
|
25
27
|
import { InputMaskModule } from 'primeng/inputmask';
|
|
26
28
|
import * as i1$5 from 'primeng/inputnumber';
|
|
27
29
|
import { InputNumberModule } from 'primeng/inputnumber';
|
|
28
30
|
import * as i6 from 'primeng/inputtext';
|
|
29
31
|
import { InputTextModule } from 'primeng/inputtext';
|
|
30
|
-
import * as i2$
|
|
32
|
+
import * as i2$7 from 'primeng/inputtextarea';
|
|
31
33
|
import { InputTextareaModule } from 'primeng/inputtextarea';
|
|
32
34
|
import * as i7 from 'primeng/keyfilter';
|
|
33
35
|
import { KeyFilterModule } from 'primeng/keyfilter';
|
|
34
36
|
import * as i6$1 from 'primeng/menu';
|
|
35
37
|
import { MenuModule as MenuModule$1 } from 'primeng/menu';
|
|
36
|
-
import * as i1$
|
|
38
|
+
import * as i1$8 from 'primeng/multiselect';
|
|
37
39
|
import { MultiSelectModule } from 'primeng/multiselect';
|
|
38
|
-
import * as i1$
|
|
40
|
+
import * as i1$9 from 'primeng/radiobutton';
|
|
39
41
|
import { RadioButtonModule } from 'primeng/radiobutton';
|
|
40
|
-
import * as i1$
|
|
42
|
+
import * as i1$7 from 'primeng/selectbutton';
|
|
43
|
+
import { SelectButtonModule } from 'primeng/selectbutton';
|
|
44
|
+
import * as i1$a from 'primeng/slider';
|
|
41
45
|
import { SliderModule } from 'primeng/slider';
|
|
42
46
|
import * as i5 from 'primeng/table';
|
|
43
47
|
import { TableModule } from 'primeng/table';
|
|
44
|
-
import * as i4
|
|
48
|
+
import * as i4 from 'primeng/tabview';
|
|
45
49
|
import { TabViewModule } from 'primeng/tabview';
|
|
46
50
|
import * as i1$1 from 'primeng/panel';
|
|
47
51
|
import { PanelModule as PanelModule$1 } from 'primeng/panel';
|
|
@@ -51,164 +55,35 @@ import * as i1$2 from '@angular/common/http';
|
|
|
51
55
|
import { HttpHeaders, HttpClient, HttpResponse } from '@angular/common/http';
|
|
52
56
|
import { tap, map, debounceTime, catchError, switchMap, filter, take } from 'rxjs/operators';
|
|
53
57
|
import * as i1$3 from '@ngx-translate/core';
|
|
54
|
-
import
|
|
58
|
+
import * as i1$b from 'primeng/accordion';
|
|
59
|
+
import { AccordionModule } from 'primeng/accordion';
|
|
55
60
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
56
|
-
import * as i4$
|
|
61
|
+
import * as i4$1 from 'primeng/overlaypanel';
|
|
57
62
|
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
RemoveLastChildPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, name: "removeLastChild" });
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, decorators: [{
|
|
69
|
-
type: Pipe,
|
|
70
|
-
args: [{
|
|
71
|
-
name: 'removeLastChild',
|
|
72
|
-
}]
|
|
73
|
-
}] });
|
|
74
|
-
|
|
75
|
-
class BreadcrumbComponent {
|
|
76
|
-
constructor(router, environment, menuOptions) {
|
|
77
|
-
this.router = router;
|
|
78
|
-
this.environment = environment;
|
|
79
|
-
this.menuOptions = menuOptions;
|
|
80
|
-
this.appName = this.environment.appName;
|
|
81
|
-
this.routeFragments = [];
|
|
82
|
-
this.subscription = new Subscription();
|
|
83
|
-
}
|
|
84
|
-
ngOnInit() {
|
|
85
|
-
this.subscription.add(this.router.events.subscribe((event) => {
|
|
86
|
-
if (event instanceof NavigationEnd) {
|
|
87
|
-
this.routeFragments = [];
|
|
88
|
-
let url = event.urlAfterRedirects.replace('/', '');
|
|
89
|
-
if (url.includes('?')) {
|
|
90
|
-
url = url.substring(0, url.indexOf('?'));
|
|
91
|
-
}
|
|
92
|
-
this.extractRouteFragmentsFromMenu(url, this.menuOptions);
|
|
93
|
-
}
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
96
|
-
ngOnDestroy() {
|
|
97
|
-
this.subscription.unsubscribe();
|
|
98
|
-
}
|
|
99
|
-
extractRouteFragmentsFromMenu(url, currentChildren) {
|
|
100
|
-
let foundItem = false;
|
|
101
|
-
for (let i = 0; i < currentChildren.length; i++) {
|
|
102
|
-
if (currentChildren[i].route) {
|
|
103
|
-
if (currentChildren[i].route && url.startsWith(currentChildren[i].route || '')) {
|
|
104
|
-
this.routeFragments = [currentChildren[i].label];
|
|
105
|
-
foundItem = true;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
if (currentChildren[i].children && this.extractRouteFragmentsFromMenu(url, currentChildren[i].children || [])) {
|
|
109
|
-
this.routeFragments = [currentChildren[i].label].concat(this.routeFragments);
|
|
110
|
-
foundItem = true;
|
|
111
|
-
break;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return foundItem;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i2.Router }, { token: 'environment' }, { token: 'menuOptions' }], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
-
BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: BreadcrumbComponent, selector: "vector-breadcrumb", ngImport: i0, template: "<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\r\n <div class=\"route-path\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\r\n <span class=\"route-fragment\" *ngFor=\"let fragment of routeFragments | removeLastChild\"\r\n ><div class=\"chevron\"></div>\r\n {{ fragment }}</span\r\n >\r\n </div>\r\n <span class=\"last-route\">\r\n {{ routeFragments[routeFragments.length - 1] }}\r\n </span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.breadcrumb-container{display:flex;flex-direction:column;margin-bottom:15px}.breadcrumb-container .route-path{display:flex;flex-direction:row;flex-wrap:wrap;color:var(--gray-dark)}.breadcrumb-container .app-name,.breadcrumb-container .last-route,.breadcrumb-container .route-path .route-fragment{font-weight:700;letter-spacing:.75px;display:flex;flex-direction:row;align-items:center;margin:2.5px}.breadcrumb-container .chevron{margin:0 5px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2212%22 height%3D%227.4%22 viewBox%3D%220 0 12 7.4%22%3E%0D %3Cpath id%3D%22Caminho_1437%22 data-name%3D%22Caminho 1437%22 d%3D%22M1526.175%2C366.14l4.6%2C4.6%2C4.6-4.6%2C1.4%2C1.4-6%2C6-6-6Z%22 transform%3D%22translate(-1524.775 -366.14)%22 fill%3D%22%23333%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;transform:rotate(-90deg);width:20px;height:20px;filter:invert(53%) sepia(13%) saturate(450%) hue-rotate(156deg) brightness(89%) contrast(85%)}.breadcrumb-container .last-route{font-size:1.5em;color:var(--success-color)}\n"], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "removeLastChild": RemoveLastChildPipe } });
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
120
|
-
type: Component,
|
|
121
|
-
args: [{ selector: 'vector-breadcrumb', template: "<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\r\n <div class=\"route-path\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\r\n <span class=\"route-fragment\" *ngFor=\"let fragment of routeFragments | removeLastChild\"\r\n ><div class=\"chevron\"></div>\r\n {{ fragment }}</span\r\n >\r\n </div>\r\n <span class=\"last-route\">\r\n {{ routeFragments[routeFragments.length - 1] }}\r\n </span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.breadcrumb-container{display:flex;flex-direction:column;margin-bottom:15px}.breadcrumb-container .route-path{display:flex;flex-direction:row;flex-wrap:wrap;color:var(--gray-dark)}.breadcrumb-container .app-name,.breadcrumb-container .last-route,.breadcrumb-container .route-path .route-fragment{font-weight:700;letter-spacing:.75px;display:flex;flex-direction:row;align-items:center;margin:2.5px}.breadcrumb-container .chevron{margin:0 5px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2212%22 height%3D%227.4%22 viewBox%3D%220 0 12 7.4%22%3E%0D %3Cpath id%3D%22Caminho_1437%22 data-name%3D%22Caminho 1437%22 d%3D%22M1526.175%2C366.14l4.6%2C4.6%2C4.6-4.6%2C1.4%2C1.4-6%2C6-6-6Z%22 transform%3D%22translate(-1524.775 -366.14)%22 fill%3D%22%23333%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;transform:rotate(-90deg);width:20px;height:20px;filter:invert(53%) sepia(13%) saturate(450%) hue-rotate(156deg) brightness(89%) contrast(85%)}.breadcrumb-container .last-route{font-size:1.5em;color:var(--success-color)}\n"] }]
|
|
122
|
-
}], ctorParameters: function () { return [{ type: i2.Router }, { type: undefined, decorators: [{
|
|
123
|
-
type: Inject,
|
|
124
|
-
args: ['environment']
|
|
125
|
-
}] }, { type: undefined, decorators: [{
|
|
126
|
-
type: Inject,
|
|
127
|
-
args: ['menuOptions']
|
|
128
|
-
}] }]; } });
|
|
129
|
-
|
|
130
|
-
class CurrencyBrlPipe {
|
|
131
|
-
transform(value = 0) {
|
|
132
|
-
if (!value)
|
|
133
|
-
value = 0;
|
|
134
|
-
return `${value.toLocaleString('pt-BR', { currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
CurrencyBrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
138
|
-
CurrencyBrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, name: "currencyBrl" });
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, decorators: [{
|
|
140
|
-
type: Pipe,
|
|
141
|
-
args: [{
|
|
142
|
-
name: 'currencyBrl',
|
|
143
|
-
}]
|
|
144
|
-
}] });
|
|
145
|
-
|
|
146
|
-
class NotHiddenPipe {
|
|
147
|
-
transform(value) {
|
|
148
|
-
return value?.filter((item) => !item.hidden) || [];
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
NotHiddenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
152
|
-
NotHiddenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, name: "notHidden" });
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, decorators: [{
|
|
154
|
-
type: Pipe,
|
|
155
|
-
args: [{
|
|
156
|
-
name: 'notHidden',
|
|
157
|
-
}]
|
|
158
|
-
}] });
|
|
159
|
-
|
|
160
|
-
class OnlyActivePipe {
|
|
161
|
-
transform(value) {
|
|
162
|
-
return value?.filter((item) => item.active) || [];
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
OnlyActivePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
166
|
-
OnlyActivePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, name: "onlyActive" });
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, decorators: [{
|
|
168
|
-
type: Pipe,
|
|
169
|
-
args: [{
|
|
170
|
-
name: 'onlyActive',
|
|
171
|
-
}]
|
|
172
|
-
}] });
|
|
173
|
-
|
|
174
|
-
class PipesModule {
|
|
175
|
-
}
|
|
176
|
-
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
177
|
-
PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, declarations: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe], exports: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe] });
|
|
178
|
-
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule });
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, decorators: [{
|
|
180
|
-
type: NgModule,
|
|
181
|
-
args: [{
|
|
182
|
-
declarations: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe],
|
|
183
|
-
exports: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe],
|
|
184
|
-
}]
|
|
185
|
-
}] });
|
|
64
|
+
var AppName;
|
|
65
|
+
(function (AppName) {
|
|
66
|
+
AppName["PORTAL"] = "PORTAL";
|
|
67
|
+
AppName["FINTECH"] = "FINTECH";
|
|
68
|
+
AppName["MARKETPLACE"] = "MARKETPLACE";
|
|
69
|
+
AppName["LOGTECH"] = "LOGTECH";
|
|
70
|
+
AppName["SURVEY"] = "SURVEY";
|
|
71
|
+
})(AppName || (AppName = {}));
|
|
186
72
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, decorators: [{
|
|
193
|
-
type: NgModule,
|
|
194
|
-
args: [{
|
|
195
|
-
exports: [CommonModule, TooltipModule, PipesModule],
|
|
196
|
-
}]
|
|
197
|
-
}] });
|
|
73
|
+
var BooleanType;
|
|
74
|
+
(function (BooleanType) {
|
|
75
|
+
BooleanType["YES"] = "YES";
|
|
76
|
+
BooleanType["NO"] = "NO";
|
|
77
|
+
})(BooleanType || (BooleanType = {}));
|
|
198
78
|
|
|
199
|
-
class
|
|
79
|
+
class CrudHistory {
|
|
200
80
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
declarations: [BreadcrumbComponent],
|
|
208
|
-
exports: [BreadcrumbComponent],
|
|
209
|
-
imports: [SharedModule],
|
|
210
|
-
}]
|
|
211
|
-
}] });
|
|
81
|
+
var CrudHistoryEventType;
|
|
82
|
+
(function (CrudHistoryEventType) {
|
|
83
|
+
CrudHistoryEventType[CrudHistoryEventType["CREATE"] = 0] = "CREATE";
|
|
84
|
+
CrudHistoryEventType[CrudHistoryEventType["UPDATE"] = 1] = "UPDATE";
|
|
85
|
+
CrudHistoryEventType[CrudHistoryEventType["DELETE"] = 2] = "DELETE";
|
|
86
|
+
})(CrudHistoryEventType || (CrudHistoryEventType = {}));
|
|
212
87
|
|
|
213
88
|
var CrudMode;
|
|
214
89
|
(function (CrudMode) {
|
|
@@ -217,312 +92,21 @@ var CrudMode;
|
|
|
217
92
|
CrudMode[CrudMode["VIEW"] = 2] = "VIEW";
|
|
218
93
|
})(CrudMode || (CrudMode = {}));
|
|
219
94
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
230
|
-
ngOnDestroy() {
|
|
231
|
-
this.subscription.unsubscribe();
|
|
232
|
-
}
|
|
233
|
-
getCrudModeByRoute(route) {
|
|
234
|
-
switch (route) {
|
|
235
|
-
case 'new':
|
|
236
|
-
return CrudMode.NEW;
|
|
237
|
-
case 'edit':
|
|
238
|
-
return CrudMode.EDIT;
|
|
239
|
-
case 'view':
|
|
240
|
-
return CrudMode.VIEW;
|
|
241
|
-
default:
|
|
242
|
-
return CrudMode.NEW;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
CrudBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudBaseComponent, deps: [{ token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
247
|
-
CrudBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudBaseComponent, decorators: [{
|
|
249
|
-
type: Component,
|
|
250
|
-
args: [{
|
|
251
|
-
template: '',
|
|
252
|
-
}]
|
|
253
|
-
}], ctorParameters: function () { return [{ type: i2.ActivatedRoute }]; } });
|
|
95
|
+
var TableColumnType;
|
|
96
|
+
(function (TableColumnType) {
|
|
97
|
+
TableColumnType["TEXT"] = "TEXT";
|
|
98
|
+
TableColumnType["BOOLEAN"] = "BOOLEAN";
|
|
99
|
+
TableColumnType["DATETIME"] = "DATETIME";
|
|
100
|
+
TableColumnType["ENUM"] = "ENUM";
|
|
101
|
+
TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
|
|
102
|
+
TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
|
|
103
|
+
})(TableColumnType || (TableColumnType = {}));
|
|
254
104
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
this.leftIcon = '';
|
|
261
|
-
this.noShadow = false;
|
|
262
|
-
this.onClick = new EventEmitter();
|
|
263
|
-
}
|
|
264
|
-
get styleClass() {
|
|
265
|
-
return { [this.type]: true, 'no-shadow': this.noShadow };
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
269
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: ButtonComponent, selector: "vector-button", inputs: { disabled: "disabled", label: "label", type: "type", leftIcon: "leftIcon", noShadow: "noShadow" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\r\n pButton\r\n class=\"button shadow-3\"\r\n type=\"button\"\r\n [ngClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.button{width:100%;border-width:2px;border-radius:var(--border-radius);background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff;box-shadow:0 5px 5px #0046e880}.button:hover:not(:disabled){background-color:#003049;border-color:#003049}.button:focus{box-shadow:none}.button:disabled{cursor:not-allowed}.no-shadow{box-shadow:none}.default{background-color:#fff;border-color:var(--theme-dark);color:var(--theme-dark)}.default:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff}.default-filled{background-color:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.default-filled:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark)}.cancel{background-color:#fff;border-color:var(--error-color);color:var(--error-color)}.cancel:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark);color:#fff}.cancel-filled{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.cancel-filled:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark)}.success{background-color:var(--success-color);border-color:var(--success-color)}.success:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}.success-outlined{background-color:#fff;border-color:var(--success-color);color:var(--success-color)}.success-outlined:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}\n"], directives: [{ type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
271
|
-
type: Component,
|
|
272
|
-
args: [{ selector: 'vector-button', template: "<button\r\n pButton\r\n class=\"button shadow-3\"\r\n type=\"button\"\r\n [ngClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.button{width:100%;border-width:2px;border-radius:var(--border-radius);background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff;box-shadow:0 5px 5px #0046e880}.button:hover:not(:disabled){background-color:#003049;border-color:#003049}.button:focus{box-shadow:none}.button:disabled{cursor:not-allowed}.no-shadow{box-shadow:none}.default{background-color:#fff;border-color:var(--theme-dark);color:var(--theme-dark)}.default:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff}.default-filled{background-color:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.default-filled:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark)}.cancel{background-color:#fff;border-color:var(--error-color);color:var(--error-color)}.cancel:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark);color:#fff}.cancel-filled{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.cancel-filled:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark)}.success{background-color:var(--success-color);border-color:var(--success-color)}.success:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}.success-outlined{background-color:#fff;border-color:var(--success-color);color:var(--success-color)}.success-outlined:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}\n"] }]
|
|
273
|
-
}], propDecorators: { disabled: [{
|
|
274
|
-
type: Input
|
|
275
|
-
}], label: [{
|
|
276
|
-
type: Input
|
|
277
|
-
}], type: [{
|
|
278
|
-
type: Input
|
|
279
|
-
}], leftIcon: [{
|
|
280
|
-
type: Input
|
|
281
|
-
}], noShadow: [{
|
|
282
|
-
type: Input
|
|
283
|
-
}], onClick: [{
|
|
284
|
-
type: Output
|
|
285
|
-
}] } });
|
|
286
|
-
|
|
287
|
-
class CrudFooterComponent {
|
|
288
|
-
constructor() {
|
|
289
|
-
this.submitDisabled = false;
|
|
290
|
-
this.submitHidden = false;
|
|
291
|
-
this.onGoBack = new EventEmitter();
|
|
292
|
-
this.onSubmit = new EventEmitter();
|
|
293
|
-
}
|
|
294
|
-
ngOnInit() { }
|
|
295
|
-
}
|
|
296
|
-
CrudFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
297
|
-
CrudFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudFooterComponent, selector: "vector-crud-footer", inputs: { submitDisabled: "submitDisabled", submitHidden: "submitHidden" }, outputs: { onGoBack: "onGoBack", onSubmit: "onSubmit" }, ngImport: i0, template: "<div class=\"footer-container shadow-3\">\r\n <div class=\"button\">\r\n <vector-button label=\"Voltar\" (onClick)=\"onGoBack.emit()\"></vector-button>\r\n </div>\r\n <div class=\"button\" *ngIf=\"!submitHidden\">\r\n <vector-button\r\n label=\"Salvar\"\r\n type=\"success\"\r\n (onClick)=\"onSubmit.emit()\"\r\n [disabled]=\"submitDisabled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".footer-container{position:fixed;bottom:0px;left:0px;background-color:#f5f5f5;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;width:100%;height:60px}.footer-container .button{margin-right:10px}\n"], components: [{ type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "noShadow"], outputs: ["onClick"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, decorators: [{
|
|
299
|
-
type: Component,
|
|
300
|
-
args: [{ selector: 'vector-crud-footer', template: "<div class=\"footer-container shadow-3\">\r\n <div class=\"button\">\r\n <vector-button label=\"Voltar\" (onClick)=\"onGoBack.emit()\"></vector-button>\r\n </div>\r\n <div class=\"button\" *ngIf=\"!submitHidden\">\r\n <vector-button\r\n label=\"Salvar\"\r\n type=\"success\"\r\n (onClick)=\"onSubmit.emit()\"\r\n [disabled]=\"submitDisabled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".footer-container{position:fixed;bottom:0px;left:0px;background-color:#f5f5f5;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;width:100%;height:60px}.footer-container .button{margin-right:10px}\n"] }]
|
|
301
|
-
}], ctorParameters: function () { return []; }, propDecorators: { submitDisabled: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], submitHidden: [{
|
|
304
|
-
type: Input
|
|
305
|
-
}], onGoBack: [{
|
|
306
|
-
type: Output
|
|
307
|
-
}], onSubmit: [{
|
|
308
|
-
type: Output
|
|
309
|
-
}] } });
|
|
310
|
-
|
|
311
|
-
class PanelComponent {
|
|
312
|
-
constructor() { }
|
|
313
|
-
ngOnInit() { }
|
|
314
|
-
}
|
|
315
|
-
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
316
|
-
PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: PanelComponent, selector: "vector-panel", ngImport: i0, template: "<p-panel [showHeader]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\r\n></p-panel>\r\n", styles: [""], components: [{ type: i1$1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }], directives: [{ type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, decorators: [{
|
|
318
|
-
type: Component,
|
|
319
|
-
args: [{ selector: 'vector-panel', template: "<p-panel [showHeader]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\r\n></p-panel>\r\n", styles: [""] }]
|
|
320
|
-
}], ctorParameters: function () { return []; } });
|
|
321
|
-
|
|
322
|
-
class PanelModule {
|
|
323
|
-
}
|
|
324
|
-
PanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
325
|
-
PanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, declarations: [PanelComponent], imports: [SharedModule, PanelModule$1], exports: [PanelComponent] });
|
|
326
|
-
PanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, imports: [[SharedModule, PanelModule$1]] });
|
|
327
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, decorators: [{
|
|
328
|
-
type: NgModule,
|
|
329
|
-
args: [{
|
|
330
|
-
declarations: [PanelComponent],
|
|
331
|
-
exports: [PanelComponent],
|
|
332
|
-
imports: [SharedModule, PanelModule$1],
|
|
333
|
-
}]
|
|
334
|
-
}] });
|
|
335
|
-
|
|
336
|
-
class AuthService {
|
|
337
|
-
constructor(http, storageService, profileService, activatedRoute, environment) {
|
|
338
|
-
this.http = http;
|
|
339
|
-
this.storageService = storageService;
|
|
340
|
-
this.profileService = profileService;
|
|
341
|
-
this.activatedRoute = activatedRoute;
|
|
342
|
-
this.environment = environment;
|
|
343
|
-
this.role$ = new BehaviorSubject(this.storageService.getRole());
|
|
344
|
-
this.parentWindowUrl = '';
|
|
345
|
-
this.subscription = new Subscription();
|
|
346
|
-
this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';
|
|
347
|
-
this.subscription.add(this.activatedRoute.queryParams.subscribe((params) => {
|
|
348
|
-
if (params['parent']) {
|
|
349
|
-
this.parentWindowUrl = decodeURIComponent(params['parent']);
|
|
350
|
-
}
|
|
351
|
-
}));
|
|
352
|
-
}
|
|
353
|
-
getTokenByGuid(tokenGuid) {
|
|
354
|
-
return this.http.get(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(tap((response) => {
|
|
355
|
-
this.storageService.setToken(response.accessToken);
|
|
356
|
-
this.storageService.setUsername(response.userName);
|
|
357
|
-
this.storageService.setRefreshToken(response.refreshToken);
|
|
358
|
-
this.profileService.getUserProfile();
|
|
359
|
-
}));
|
|
360
|
-
}
|
|
361
|
-
getTokenByRefreshToken(refreshToken) {
|
|
362
|
-
const headers = new HttpHeaders()
|
|
363
|
-
.set('Content-Type', 'application/x-www-form-urlencoded')
|
|
364
|
-
.set('no-spinner', 'true');
|
|
365
|
-
return this.http
|
|
366
|
-
.post(`connect/token`, `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`, { headers })
|
|
367
|
-
.pipe(tap((response) => {
|
|
368
|
-
if (response?.access_token && response?.refresh_token) {
|
|
369
|
-
this.storageService.setToken(`Bearer ${response.access_token}`);
|
|
370
|
-
this.storageService.setRefreshToken(response.refresh_token);
|
|
371
|
-
}
|
|
372
|
-
}));
|
|
373
|
-
}
|
|
374
|
-
generateTokenGuid() {
|
|
375
|
-
return this.http
|
|
376
|
-
.post(`${this.baseUrl}/TemporaryAccessToken/generate`, {
|
|
377
|
-
RefreshToken: this.storageService.getRefreshToken(),
|
|
378
|
-
})
|
|
379
|
-
.pipe(map((response) => response?.accessToken || ''));
|
|
380
|
-
}
|
|
381
|
-
logout() {
|
|
382
|
-
this.storageService.clear();
|
|
383
|
-
if (window.parent == window) {
|
|
384
|
-
window.location.href = this.environment.PORTAL_URL;
|
|
385
|
-
}
|
|
386
|
-
else {
|
|
387
|
-
window.parent.postMessage({ logout: true }, this.parentWindowUrl);
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, deps: [{ token: i1$2.HttpClient }, { token: StorageService }, { token: ProfileService }, { token: i2.ActivatedRoute }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
392
|
-
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, decorators: [{
|
|
394
|
-
type: Injectable,
|
|
395
|
-
args: [{ providedIn: 'root' }]
|
|
396
|
-
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: StorageService }, { type: ProfileService }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
|
|
397
|
-
type: Inject,
|
|
398
|
-
args: ['environment']
|
|
399
|
-
}] }]; } });
|
|
400
|
-
|
|
401
|
-
class CrudBaseService {
|
|
402
|
-
constructor() {
|
|
403
|
-
this.dataset$ = new BehaviorSubject({
|
|
404
|
-
data: [],
|
|
405
|
-
draw: 0,
|
|
406
|
-
recordsFiltered: 0,
|
|
407
|
-
recordsTotal: 0,
|
|
408
|
-
});
|
|
409
|
-
this.flatUnpagedDataset$ = new BehaviorSubject([]);
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
class EnumService {
|
|
414
|
-
constructor(translateService) {
|
|
415
|
-
this.translateService = translateService;
|
|
416
|
-
}
|
|
417
|
-
getTranslatedListItemsFromEnum(enumType, enumName) {
|
|
418
|
-
return this.getEnumTranslations(enumName).pipe(map((enumTranslations) => {
|
|
419
|
-
return Object.keys(enumType)
|
|
420
|
-
.filter((item) => isNaN(+item))
|
|
421
|
-
.map((item) => {
|
|
422
|
-
return {
|
|
423
|
-
name: enumTranslations[item],
|
|
424
|
-
code: enumType[item],
|
|
425
|
-
};
|
|
426
|
-
});
|
|
427
|
-
}));
|
|
428
|
-
}
|
|
429
|
-
getEnumTranslations(enumName) {
|
|
430
|
-
return this.translateService.get('enums').pipe(map((translations) => {
|
|
431
|
-
return translations[enumName];
|
|
432
|
-
}));
|
|
433
|
-
}
|
|
434
|
-
getListItemsFromEnum(enumType) {
|
|
435
|
-
return Object.keys(enumType)
|
|
436
|
-
.filter((item) => isNaN(+item))
|
|
437
|
-
.map((item) => {
|
|
438
|
-
return {
|
|
439
|
-
name: enumType[item],
|
|
440
|
-
code: enumType[item],
|
|
441
|
-
};
|
|
442
|
-
});
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
EnumService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, deps: [{ token: i1$3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
446
|
-
EnumService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, providedIn: 'root' });
|
|
447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, decorators: [{
|
|
448
|
-
type: Injectable,
|
|
449
|
-
args: [{ providedIn: 'root' }]
|
|
450
|
-
}], ctorParameters: function () { return [{ type: i1$3.TranslateService }]; } });
|
|
451
|
-
|
|
452
|
-
class ErrorMessageService {
|
|
453
|
-
constructor() {
|
|
454
|
-
this.hasToken$ = new Subject();
|
|
455
|
-
this.genericModalErrorMessage$ = new Subject();
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
ErrorMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
459
|
-
ErrorMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, providedIn: 'root' });
|
|
460
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, decorators: [{
|
|
461
|
-
type: Injectable,
|
|
462
|
-
args: [{ providedIn: 'root' }]
|
|
463
|
-
}] });
|
|
464
|
-
|
|
465
|
-
class GeolocationService {
|
|
466
|
-
constructor(http, backend) {
|
|
467
|
-
this.http = http;
|
|
468
|
-
this.backend = backend;
|
|
469
|
-
this.customHttpClient = new HttpClient(backend);
|
|
470
|
-
}
|
|
471
|
-
getGeoLoc() {
|
|
472
|
-
return this.customHttpClient.get("http://api.ipify.org/?format=json");
|
|
473
|
-
}
|
|
474
|
-
createUserLoginInfo(userInfo) {
|
|
475
|
-
return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
GeolocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService, deps: [{ token: i1$2.HttpClient }, { token: i1$2.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
479
|
-
GeolocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService });
|
|
480
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService, decorators: [{
|
|
481
|
-
type: Injectable
|
|
482
|
-
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1$2.HttpBackend }]; } });
|
|
483
|
-
|
|
484
|
-
class LoadingService {
|
|
485
|
-
constructor() {
|
|
486
|
-
this.loading$ = new Subject();
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
490
|
-
LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, providedIn: 'root' });
|
|
491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, decorators: [{
|
|
492
|
-
type: Injectable,
|
|
493
|
-
args: [{ providedIn: 'root' }]
|
|
494
|
-
}] });
|
|
495
|
-
|
|
496
|
-
var AppName;
|
|
497
|
-
(function (AppName) {
|
|
498
|
-
AppName["PORTAL"] = "PORTAL";
|
|
499
|
-
AppName["FINTECH"] = "FINTECH";
|
|
500
|
-
AppName["MARKETPLACE"] = "MARKETPLACE";
|
|
501
|
-
AppName["LOGTECH"] = "LOGTECH";
|
|
502
|
-
AppName["SURVEY"] = "SURVEY";
|
|
503
|
-
})(AppName || (AppName = {}));
|
|
504
|
-
|
|
505
|
-
var BooleanType;
|
|
506
|
-
(function (BooleanType) {
|
|
507
|
-
BooleanType["YES"] = "YES";
|
|
508
|
-
BooleanType["NO"] = "NO";
|
|
509
|
-
})(BooleanType || (BooleanType = {}));
|
|
510
|
-
|
|
511
|
-
var TableColumnType;
|
|
512
|
-
(function (TableColumnType) {
|
|
513
|
-
TableColumnType["TEXT"] = "TEXT";
|
|
514
|
-
TableColumnType["BOOLEAN"] = "BOOLEAN";
|
|
515
|
-
TableColumnType["DATETIME"] = "DATETIME";
|
|
516
|
-
TableColumnType["ENUM"] = "ENUM";
|
|
517
|
-
TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
|
|
518
|
-
TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
|
|
519
|
-
})(TableColumnType || (TableColumnType = {}));
|
|
520
|
-
|
|
521
|
-
var DocumentType;
|
|
522
|
-
(function (DocumentType) {
|
|
523
|
-
DocumentType[DocumentType["CPF"] = 0] = "CPF";
|
|
524
|
-
DocumentType[DocumentType["CNPJ"] = 1] = "CNPJ";
|
|
525
|
-
})(DocumentType || (DocumentType = {}));
|
|
105
|
+
var DocumentType;
|
|
106
|
+
(function (DocumentType) {
|
|
107
|
+
DocumentType[DocumentType["CPF"] = 0] = "CPF";
|
|
108
|
+
DocumentType[DocumentType["CNPJ"] = 1] = "CNPJ";
|
|
109
|
+
})(DocumentType || (DocumentType = {}));
|
|
526
110
|
|
|
527
111
|
var MessageStatus;
|
|
528
112
|
(function (MessageStatus) {
|
|
@@ -669,797 +253,1304 @@ var View;
|
|
|
669
253
|
(function (View) {
|
|
670
254
|
View[View["HOME"] = 0] = "HOME";
|
|
671
255
|
View[View["ADMIN"] = 1] = "ADMIN";
|
|
256
|
+
View[View["DIGITAL_CARRIER"] = 2] = "DIGITAL_CARRIER";
|
|
672
257
|
})(View || (View = {}));
|
|
673
258
|
|
|
674
|
-
class
|
|
675
|
-
constructor(
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
this.
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
259
|
+
class BadgeComponent {
|
|
260
|
+
constructor() { }
|
|
261
|
+
ngOnInit() { }
|
|
262
|
+
getStatusColor() {
|
|
263
|
+
switch (this.type) {
|
|
264
|
+
case Status.PENDING:
|
|
265
|
+
return 'badge-warning';
|
|
266
|
+
case Status.APPROVED:
|
|
267
|
+
return 'badge-success';
|
|
268
|
+
case Status.REJECTED:
|
|
269
|
+
return 'badge-error';
|
|
270
|
+
}
|
|
271
|
+
return '';
|
|
687
272
|
}
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
273
|
+
}
|
|
274
|
+
BadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
275
|
+
BadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: BadgeComponent, selector: "vector-badge", inputs: { type: "type", label: "label", customColor: "customColor", customBackgroundColor: "customBackgroundColor" }, ngImport: i0, template: "<div\r\n class=\"badge\"\r\n [class]=\"getStatusColor()\"\r\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\r\n>\r\n {{ label }}\r\n</div>\r\n", styles: [".badge{padding:4px 12px;border-radius:8px;color:#fff}.badge-success{background-color:var(--success-color)}.badge-error{background-color:var(--error-color)}.badge-warning{background-color:var(--warning-color)}\n"], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
276
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeComponent, decorators: [{
|
|
277
|
+
type: Component,
|
|
278
|
+
args: [{ selector: 'vector-badge', template: "<div\r\n class=\"badge\"\r\n [class]=\"getStatusColor()\"\r\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\r\n>\r\n {{ label }}\r\n</div>\r\n", styles: [".badge{padding:4px 12px;border-radius:8px;color:#fff}.badge-success{background-color:var(--success-color)}.badge-error{background-color:var(--error-color)}.badge-warning{background-color:var(--warning-color)}\n"] }]
|
|
279
|
+
}], ctorParameters: function () { return []; }, propDecorators: { type: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], label: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], customColor: [{
|
|
284
|
+
type: Input
|
|
285
|
+
}], customBackgroundColor: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}] } });
|
|
288
|
+
|
|
289
|
+
class CurrencyBrlPipe {
|
|
290
|
+
transform(value = 0) {
|
|
291
|
+
if (!value)
|
|
292
|
+
value = 0;
|
|
293
|
+
return `${value.toLocaleString('pt-BR', { currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
|
|
694
294
|
}
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
break;
|
|
712
|
-
case AppName.LOGTECH:
|
|
713
|
-
this.handleLogtechRedirects(params, tokenGuid, userId);
|
|
714
|
-
break;
|
|
715
|
-
}
|
|
716
|
-
this.storageService.clear();
|
|
717
|
-
});
|
|
718
|
-
}
|
|
719
|
-
addMenuNotification(menuId) {
|
|
720
|
-
this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);
|
|
721
|
-
}
|
|
722
|
-
subtractMenuNotification(menuId) {
|
|
723
|
-
this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);
|
|
724
|
-
}
|
|
725
|
-
updateMenuNotifications(menuId, notificationsCount) {
|
|
726
|
-
this.menuNotifications[menuId] = notificationsCount;
|
|
727
|
-
}
|
|
728
|
-
removeHiddenChildren(menu) {
|
|
729
|
-
const newMenu = { ...menu };
|
|
730
|
-
const hadChildren = !!newMenu.children?.length;
|
|
731
|
-
newMenu.children = newMenu.children
|
|
732
|
-
?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))
|
|
733
|
-
.map((menu) => this.removeHiddenChildren(menu))
|
|
734
|
-
.filter((child) => !child.hidden);
|
|
735
|
-
if (hadChildren &&
|
|
736
|
-
!newMenu.children?.length &&
|
|
737
|
-
!newMenu.route &&
|
|
738
|
-
!newMenu.frameUrl &&
|
|
739
|
-
!newMenu.externalUrl &&
|
|
740
|
-
!newMenu.command) {
|
|
741
|
-
newMenu.hidden = true;
|
|
295
|
+
}
|
|
296
|
+
CurrencyBrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
297
|
+
CurrencyBrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, name: "currencyBrl" });
|
|
298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, decorators: [{
|
|
299
|
+
type: Pipe,
|
|
300
|
+
args: [{
|
|
301
|
+
name: 'currencyBrl',
|
|
302
|
+
}]
|
|
303
|
+
}] });
|
|
304
|
+
|
|
305
|
+
class FileUtil {
|
|
306
|
+
static getBlob(base64StringData, mimeType) {
|
|
307
|
+
const decodedData = atob(base64StringData);
|
|
308
|
+
const byteNumbers = new Array(decodedData.length);
|
|
309
|
+
for (let i = 0; i < decodedData.length; i++) {
|
|
310
|
+
byteNumbers[i] = decodedData.charCodeAt(i);
|
|
742
311
|
}
|
|
743
|
-
return
|
|
312
|
+
return new Blob([new Uint8Array(byteNumbers)], { type: mimeType });
|
|
744
313
|
}
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));
|
|
748
|
-
return menu;
|
|
314
|
+
static downloadFile(mimeType, base64StringData, fileName) {
|
|
315
|
+
saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);
|
|
749
316
|
}
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
window.location.href = url;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
const CPF_PATTERN = '###.###.###-##';
|
|
320
|
+
const CNPJ_PATTERN = '##.###.###/####-##';
|
|
321
|
+
const BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ##############';
|
|
322
|
+
const POSTALCODE_PATTERN = '#####-###';
|
|
323
|
+
const CELLPHONE_PATTERN = '(##) #####-####';
|
|
324
|
+
const PHONE_PATTERN = '(##) ####-####';
|
|
325
|
+
class MaskUtil {
|
|
326
|
+
static formatDocument(stringValue) {
|
|
327
|
+
if (!stringValue) {
|
|
328
|
+
return '';
|
|
763
329
|
}
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
if (params.portal === 'marketplace') {
|
|
767
|
-
this.router.navigate([''], {
|
|
768
|
-
queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },
|
|
769
|
-
});
|
|
330
|
+
if (stringValue.length === 11) {
|
|
331
|
+
return this.doMaskString(stringValue, CPF_PATTERN);
|
|
770
332
|
}
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
774
|
-
if (params.admin) {
|
|
775
|
-
url += `&role=${btoa('ADMIN')}`;
|
|
776
|
-
}
|
|
777
|
-
window.location.href = url;
|
|
333
|
+
if (stringValue.length === 14) {
|
|
334
|
+
return this.doMaskString(stringValue, CNPJ_PATTERN);
|
|
778
335
|
}
|
|
336
|
+
return stringValue;
|
|
779
337
|
}
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
338
|
+
static formatPostalCode(stringValue) {
|
|
339
|
+
return this.doMaskString(stringValue, POSTALCODE_PATTERN);
|
|
340
|
+
}
|
|
341
|
+
static formatBoleto(stringValue) {
|
|
342
|
+
return this.doMaskString(stringValue, BOLETO_PATTERN);
|
|
343
|
+
}
|
|
344
|
+
static formatPhone(stringValue) {
|
|
345
|
+
if (!stringValue) {
|
|
346
|
+
return '';
|
|
785
347
|
}
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
}
|
|
792
|
-
window.location.href = url;
|
|
348
|
+
if (stringValue.length === 11) {
|
|
349
|
+
return this.doMaskString(stringValue, CELLPHONE_PATTERN);
|
|
350
|
+
}
|
|
351
|
+
else if (stringValue.length === 10) {
|
|
352
|
+
return this.doMaskString(stringValue, PHONE_PATTERN);
|
|
793
353
|
}
|
|
354
|
+
return stringValue;
|
|
794
355
|
}
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, decorators: [{
|
|
799
|
-
type: Injectable,
|
|
800
|
-
args: [{ providedIn: 'root' }]
|
|
801
|
-
}], ctorParameters: function () { return [{ type: AuthService }, { type: i2.Router }, { type: StorageService }, { type: ProfileService }, { type: undefined, decorators: [{
|
|
802
|
-
type: Inject,
|
|
803
|
-
args: ['environment']
|
|
804
|
-
}] }, { type: undefined, decorators: [{
|
|
805
|
-
type: Inject,
|
|
806
|
-
args: ['menuOptions']
|
|
807
|
-
}] }, { type: AppName, decorators: [{
|
|
808
|
-
type: Inject,
|
|
809
|
-
args: ['appName']
|
|
810
|
-
}] }]; } });
|
|
811
|
-
|
|
812
|
-
class ModalService {
|
|
813
|
-
constructor() {
|
|
814
|
-
this.showModalBackground$ = new Subject();
|
|
356
|
+
static doMaskString(str, pattern) {
|
|
357
|
+
let i = 0;
|
|
358
|
+
return pattern.replace(/#/g, () => str[i++]);
|
|
815
359
|
}
|
|
816
360
|
}
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
361
|
+
MaskUtil.CPF_TEXT_FIELD_PATTERN = '999.999.999-99';
|
|
362
|
+
MaskUtil.CNPJ_TEXT_FIELD_PATTERN = '99.999.999/9999-99';
|
|
363
|
+
MaskUtil.BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99999999999999';
|
|
364
|
+
MaskUtil.CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';
|
|
365
|
+
MaskUtil.PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';
|
|
366
|
+
MaskUtil.POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';
|
|
823
367
|
|
|
824
|
-
class
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
368
|
+
class ObjectUtil {
|
|
369
|
+
static getObjectKeys(obj) {
|
|
370
|
+
if (!obj) {
|
|
371
|
+
return [];
|
|
372
|
+
}
|
|
373
|
+
return Object.keys(obj).map((key) => key);
|
|
829
374
|
}
|
|
830
|
-
|
|
831
|
-
|
|
375
|
+
static isValid(obj) {
|
|
376
|
+
return obj !== null && obj !== undefined;
|
|
832
377
|
}
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
return storageItem;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
class StringUtil {
|
|
381
|
+
static getInitials(nameString) {
|
|
382
|
+
if (!nameString) {
|
|
383
|
+
return '';
|
|
840
384
|
}
|
|
385
|
+
const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));
|
|
386
|
+
return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';
|
|
841
387
|
}
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
388
|
+
static revertString(str) {
|
|
389
|
+
if (!str) {
|
|
390
|
+
return '';
|
|
391
|
+
}
|
|
392
|
+
return str.split('').reverse().join('');
|
|
847
393
|
}
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
class ValidationUtil {
|
|
397
|
+
static email(control) {
|
|
398
|
+
const email = control.value;
|
|
399
|
+
if (!email || email === '') {
|
|
400
|
+
return null;
|
|
852
401
|
}
|
|
853
|
-
|
|
854
|
-
|
|
402
|
+
if (!email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) ||
|
|
403
|
+
email.match(/['`~!#%^&*()|+¨=?;:'´",<>\{\}\[\]\\\/]/gi)) {
|
|
404
|
+
return {
|
|
405
|
+
email: true,
|
|
406
|
+
};
|
|
855
407
|
}
|
|
408
|
+
return null;
|
|
856
409
|
}
|
|
857
|
-
|
|
858
|
-
|
|
410
|
+
static fullName(control) {
|
|
411
|
+
const name = control.value;
|
|
412
|
+
if (!name) {
|
|
413
|
+
return null;
|
|
414
|
+
}
|
|
415
|
+
const splittedName = name
|
|
416
|
+
.trim()
|
|
417
|
+
.split(' ')
|
|
418
|
+
.map((namePart) => namePart.trim());
|
|
419
|
+
if (splittedName.length < 2) {
|
|
420
|
+
return { notFullName: true };
|
|
421
|
+
}
|
|
422
|
+
return null;
|
|
859
423
|
}
|
|
860
|
-
|
|
861
|
-
|
|
424
|
+
static noMultipleWhitespace(control) {
|
|
425
|
+
const name = control.value;
|
|
426
|
+
if (name) {
|
|
427
|
+
if (!name.match(/^([a-zA-ZÀ-ú0-9]+\s)*[a-zA-ZÀ-ú0-9]+$/)) {
|
|
428
|
+
return { haveWhiteSpace: true };
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
return null;
|
|
862
432
|
}
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
return
|
|
433
|
+
static isValidTaxId(control) {
|
|
434
|
+
if (!control.value) {
|
|
435
|
+
return null;
|
|
436
|
+
}
|
|
437
|
+
if (control.value.length === 11) {
|
|
438
|
+
return ValidationUtil.isValidCpf(control);
|
|
439
|
+
}
|
|
440
|
+
if (control.value.length === 14) {
|
|
441
|
+
return ValidationUtil.isValidCnpj(control);
|
|
442
|
+
}
|
|
443
|
+
return null;
|
|
874
444
|
}
|
|
875
|
-
|
|
876
|
-
|
|
445
|
+
static isValidCpf(control) {
|
|
446
|
+
const cpf = control.value;
|
|
447
|
+
if (cpf) {
|
|
448
|
+
let numbers, digits, sum, i, result, equalDigits;
|
|
449
|
+
equalDigits = 1;
|
|
450
|
+
if (cpf.length < 11) {
|
|
451
|
+
return null;
|
|
452
|
+
}
|
|
453
|
+
for (i = 0; i < cpf.length - 1; i++) {
|
|
454
|
+
if (cpf.charAt(i) !== cpf.charAt(i + 1)) {
|
|
455
|
+
equalDigits = 0;
|
|
456
|
+
break;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
if (!equalDigits) {
|
|
460
|
+
numbers = cpf.substring(0, 9);
|
|
461
|
+
digits = cpf.substring(9);
|
|
462
|
+
sum = 0;
|
|
463
|
+
for (i = 10; i > 1; i--) {
|
|
464
|
+
sum += numbers.charAt(10 - i) * i;
|
|
465
|
+
}
|
|
466
|
+
result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
|
|
467
|
+
if (result !== Number(digits.charAt(0))) {
|
|
468
|
+
return { cpfNotValid: true };
|
|
469
|
+
}
|
|
470
|
+
numbers = cpf.substring(0, 10);
|
|
471
|
+
sum = 0;
|
|
472
|
+
for (i = 11; i > 1; i--) {
|
|
473
|
+
sum += numbers.charAt(11 - i) * i;
|
|
474
|
+
}
|
|
475
|
+
result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
|
|
476
|
+
if (result !== Number(digits.charAt(1))) {
|
|
477
|
+
return { cpfNotValid: true };
|
|
478
|
+
}
|
|
479
|
+
return null;
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
return { cpfNotValid: true };
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
return null;
|
|
877
486
|
}
|
|
878
|
-
|
|
879
|
-
|
|
487
|
+
static isValidCnpj(control) {
|
|
488
|
+
let cnpj = control.value;
|
|
489
|
+
cnpj = cnpj.replace(/[^\d]+/g, '');
|
|
490
|
+
// verificando se tem a quantidade certa de caracter e se não tem todos caracteres iguais
|
|
491
|
+
if (/^(\d)\1+$/.test(cnpj)) {
|
|
492
|
+
return { cnpjNotValid: true };
|
|
493
|
+
}
|
|
494
|
+
let t = cnpj.length - 2, d = cnpj.substring(t), d1 = parseInt(d.charAt(0)), d2 = parseInt(d.charAt(1)), calc = (x) => {
|
|
495
|
+
let n = cnpj.substring(0, x), y = x - 7, s = 0, r = 0;
|
|
496
|
+
for (let i = x; i >= 1; i--) {
|
|
497
|
+
s += n.charAt(x - i) * y--;
|
|
498
|
+
if (y < 2)
|
|
499
|
+
y = 9;
|
|
500
|
+
}
|
|
501
|
+
r = 11 - (s % 11);
|
|
502
|
+
return r > 9 ? 0 : r;
|
|
503
|
+
};
|
|
504
|
+
if (calc(t) === d1 && calc(t + 1) === d2) {
|
|
505
|
+
return null;
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
return { cnpjNotValid: true };
|
|
509
|
+
}
|
|
880
510
|
}
|
|
881
|
-
|
|
882
|
-
|
|
511
|
+
static majorAge(control) {
|
|
512
|
+
if (!control.value) {
|
|
513
|
+
return null;
|
|
514
|
+
}
|
|
515
|
+
const age = ~~((Date.now() - control.value) / 31557600000);
|
|
516
|
+
if (age < 18) {
|
|
517
|
+
return { isNotMajorAge: true };
|
|
518
|
+
}
|
|
519
|
+
return null;
|
|
883
520
|
}
|
|
884
|
-
|
|
885
|
-
|
|
521
|
+
static matchField(anotherField) {
|
|
522
|
+
const validator = (control) => {
|
|
523
|
+
if (!control.value || !anotherField?.value) {
|
|
524
|
+
return null;
|
|
525
|
+
}
|
|
526
|
+
if (control.value !== anotherField?.value) {
|
|
527
|
+
return { fieldDoesNotMatch: true };
|
|
528
|
+
}
|
|
529
|
+
return null;
|
|
530
|
+
};
|
|
531
|
+
return validator;
|
|
886
532
|
}
|
|
887
|
-
|
|
888
|
-
|
|
533
|
+
static cellphone(control) {
|
|
534
|
+
if (!control.value || control.value.length < 11) {
|
|
535
|
+
return null;
|
|
536
|
+
}
|
|
537
|
+
const firstNumber = control.value.substring(2, 3);
|
|
538
|
+
if (firstNumber != '9') {
|
|
539
|
+
return { cellphoneInvalid: true };
|
|
540
|
+
}
|
|
541
|
+
return null;
|
|
889
542
|
}
|
|
890
|
-
|
|
891
|
-
const
|
|
892
|
-
|
|
543
|
+
static lowerThanOrEqualTo(greaterControlName) {
|
|
544
|
+
const validator = (control) => {
|
|
545
|
+
const lowerValue = control.value;
|
|
546
|
+
const greaterValue = control.parent?.get(greaterControlName)?.value;
|
|
547
|
+
if (!control.parent?.get(greaterControlName)) {
|
|
548
|
+
console.log(`Control with name ${greaterControlName} not registered`);
|
|
549
|
+
return {};
|
|
550
|
+
}
|
|
551
|
+
if (ObjectUtil.isValid(lowerValue) &&
|
|
552
|
+
ObjectUtil.isValid(greaterValue) &&
|
|
553
|
+
lowerValue !== '' &&
|
|
554
|
+
greaterValue !== '' &&
|
|
555
|
+
+lowerValue > +greaterValue) {
|
|
556
|
+
return {
|
|
557
|
+
invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',
|
|
558
|
+
};
|
|
559
|
+
}
|
|
560
|
+
return {};
|
|
561
|
+
};
|
|
562
|
+
return validator;
|
|
893
563
|
}
|
|
894
|
-
|
|
895
|
-
|
|
564
|
+
static greaterThanOrEqualTo(lowerControlName) {
|
|
565
|
+
const validator = (control) => {
|
|
566
|
+
const greaterValue = control.value;
|
|
567
|
+
const lowerValue = control.parent?.get(lowerControlName)?.value;
|
|
568
|
+
if (!control.parent?.get(lowerControlName)) {
|
|
569
|
+
console.log(`Control with name ${lowerControlName} not registered`);
|
|
570
|
+
return {};
|
|
571
|
+
}
|
|
572
|
+
if (ObjectUtil.isValid(lowerValue) &&
|
|
573
|
+
ObjectUtil.isValid(greaterValue) &&
|
|
574
|
+
lowerValue !== '' &&
|
|
575
|
+
greaterValue !== '' &&
|
|
576
|
+
+lowerValue > +greaterValue) {
|
|
577
|
+
return {
|
|
578
|
+
invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',
|
|
579
|
+
};
|
|
580
|
+
}
|
|
581
|
+
return {};
|
|
582
|
+
};
|
|
583
|
+
return validator;
|
|
896
584
|
}
|
|
897
|
-
|
|
898
|
-
|
|
585
|
+
static notSequentialNumbers(length) {
|
|
586
|
+
const validator = (control) => {
|
|
587
|
+
const controlValue = control.value;
|
|
588
|
+
const sequentialNumbers = '01234567890123456789';
|
|
589
|
+
if (controlValue) {
|
|
590
|
+
if (controlValue.length === length) {
|
|
591
|
+
if (~sequentialNumbers.indexOf(control.value)) {
|
|
592
|
+
return { isSequential: true };
|
|
593
|
+
}
|
|
594
|
+
else if (!!controlValue.match(/^(\d)\1+$/)) {
|
|
595
|
+
return { isSequential: true };
|
|
596
|
+
}
|
|
597
|
+
else {
|
|
598
|
+
return null;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
return null;
|
|
603
|
+
};
|
|
604
|
+
return validator;
|
|
899
605
|
}
|
|
900
|
-
|
|
901
|
-
|
|
606
|
+
static firstLetterIsUppercase(control) {
|
|
607
|
+
const controlValue = control.value;
|
|
608
|
+
const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;
|
|
609
|
+
if (!!controlValue) {
|
|
610
|
+
if (!controlValue.match(regex)) {
|
|
611
|
+
return { invalidField: true };
|
|
612
|
+
}
|
|
613
|
+
return null;
|
|
614
|
+
}
|
|
615
|
+
return null;
|
|
902
616
|
}
|
|
903
|
-
|
|
904
|
-
|
|
617
|
+
static containsLettersAndNumbers(control) {
|
|
618
|
+
const controlValue = control.value;
|
|
619
|
+
const regex = /^(?=.*[0-9])(?=.*[a-z])([a-z0-9_-]+)$/;
|
|
620
|
+
if (!!controlValue) {
|
|
621
|
+
if (!!!controlValue.match(regex)) {
|
|
622
|
+
return { isNotAlphaNumeric: true };
|
|
623
|
+
}
|
|
624
|
+
return null;
|
|
625
|
+
}
|
|
626
|
+
return null;
|
|
905
627
|
}
|
|
906
|
-
|
|
907
|
-
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
class WindowUtil {
|
|
631
|
+
static isSmallDevice() {
|
|
632
|
+
return window.innerWidth < 640;
|
|
908
633
|
}
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
return data ? JSON.parse(data) : data;
|
|
634
|
+
static isDesktop() {
|
|
635
|
+
return window.innerWidth >= 1024;
|
|
912
636
|
}
|
|
913
|
-
|
|
914
|
-
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
class FormatDocumentPipe {
|
|
640
|
+
transform(value = '') {
|
|
641
|
+
return MaskUtil.formatDocument(value);
|
|
915
642
|
}
|
|
916
|
-
|
|
917
|
-
|
|
643
|
+
}
|
|
644
|
+
FormatDocumentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatDocumentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
645
|
+
FormatDocumentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatDocumentPipe, name: "formatDocument" });
|
|
646
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatDocumentPipe, decorators: [{
|
|
647
|
+
type: Pipe,
|
|
648
|
+
args: [{
|
|
649
|
+
name: 'formatDocument',
|
|
650
|
+
}]
|
|
651
|
+
}] });
|
|
652
|
+
|
|
653
|
+
class NotHiddenPipe {
|
|
654
|
+
transform(value) {
|
|
655
|
+
return value?.filter((item) => !item.hidden) || [];
|
|
918
656
|
}
|
|
919
657
|
}
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
923
|
-
type:
|
|
924
|
-
args: [{
|
|
925
|
-
|
|
658
|
+
NotHiddenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
659
|
+
NotHiddenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, name: "notHidden" });
|
|
660
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, decorators: [{
|
|
661
|
+
type: Pipe,
|
|
662
|
+
args: [{
|
|
663
|
+
name: 'notHidden',
|
|
664
|
+
}]
|
|
665
|
+
}] });
|
|
926
666
|
|
|
927
|
-
class
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
this.storageService = storageService;
|
|
931
|
-
this.moduleProfile$ = new BehaviorSubject(this.storageService.getProfile().allModules);
|
|
932
|
-
this.hasFintechAdminPermission = false;
|
|
933
|
-
this.hasMarketplaceAdminPermission = false;
|
|
934
|
-
this.hasAnyFintechPermission = false;
|
|
935
|
-
this.hasAnyMarketplacePermission = false;
|
|
936
|
-
const { fintech, marketplace } = this.storageService.getProfile();
|
|
937
|
-
this.hasFintechAdminPermission = !!fintech?.actions.some((act) => [
|
|
938
|
-
ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),
|
|
939
|
-
ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),
|
|
940
|
-
].includes(act.name));
|
|
941
|
-
this.hasMarketplaceAdminPermission = !!marketplace?.actions.some((act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE);
|
|
942
|
-
this.hasAnyFintechPermission = !!fintech?.actions?.length;
|
|
943
|
-
this.hasAnyMarketplacePermission = !!marketplace?.actions?.length;
|
|
944
|
-
}
|
|
945
|
-
getUserProfile() {
|
|
946
|
-
this.http.get('connect/userinfo').subscribe((response) => {
|
|
947
|
-
const completeProfile = response.profile;
|
|
948
|
-
const marketplaceProfileModule = completeProfile.modules.find((mod) => mod.name === 'Marketplace');
|
|
949
|
-
const fintechProfileModule = completeProfile.modules.find((mod) => mod.name === 'Fintech');
|
|
950
|
-
const allModules = completeProfile.modules;
|
|
951
|
-
this.hasFintechAdminPermission = !!fintechProfileModule?.actions.some((act) => [
|
|
952
|
-
ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),
|
|
953
|
-
ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),
|
|
954
|
-
].includes(act.name));
|
|
955
|
-
this.hasMarketplaceAdminPermission = !!marketplaceProfileModule?.actions.some((act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE);
|
|
956
|
-
this.hasAnyFintechPermission = !!fintechProfileModule?.actions?.length;
|
|
957
|
-
this.storageService.setProfile({
|
|
958
|
-
marketplace: marketplaceProfileModule,
|
|
959
|
-
fintech: fintechProfileModule,
|
|
960
|
-
allModules,
|
|
961
|
-
});
|
|
962
|
-
this.moduleProfile$.next(allModules);
|
|
963
|
-
});
|
|
667
|
+
class OnlyActivePipe {
|
|
668
|
+
transform(value) {
|
|
669
|
+
return value?.filter((item) => item.active) || [];
|
|
964
670
|
}
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
return false;
|
|
981
|
-
});
|
|
982
|
-
}
|
|
983
|
-
else {
|
|
984
|
-
if (Object.values(ProfileModuleActionType).some((val) => val === action)) {
|
|
985
|
-
return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));
|
|
986
|
-
}
|
|
987
|
-
if (Object.values(ProfileModuleType).some((val) => val === action)) {
|
|
988
|
-
return this.moduleProfile$.value.some((module) => module.name === action);
|
|
989
|
-
}
|
|
990
|
-
}
|
|
991
|
-
return false;
|
|
671
|
+
}
|
|
672
|
+
OnlyActivePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
673
|
+
OnlyActivePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, name: "onlyActive" });
|
|
674
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, decorators: [{
|
|
675
|
+
type: Pipe,
|
|
676
|
+
args: [{
|
|
677
|
+
name: 'onlyActive',
|
|
678
|
+
}]
|
|
679
|
+
}] });
|
|
680
|
+
|
|
681
|
+
class RemoveLastChildPipe {
|
|
682
|
+
transform(value) {
|
|
683
|
+
const newArray = [...value];
|
|
684
|
+
newArray.pop();
|
|
685
|
+
return newArray;
|
|
992
686
|
}
|
|
993
687
|
}
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
997
|
-
type:
|
|
998
|
-
args: [{
|
|
999
|
-
|
|
688
|
+
RemoveLastChildPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
689
|
+
RemoveLastChildPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, name: "removeLastChild" });
|
|
690
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, decorators: [{
|
|
691
|
+
type: Pipe,
|
|
692
|
+
args: [{
|
|
693
|
+
name: 'removeLastChild',
|
|
694
|
+
}]
|
|
695
|
+
}] });
|
|
1000
696
|
|
|
1001
|
-
class
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
697
|
+
class PipesModule {
|
|
698
|
+
}
|
|
699
|
+
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
700
|
+
PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, declarations: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe, FormatDocumentPipe], exports: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe, FormatDocumentPipe] });
|
|
701
|
+
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule });
|
|
702
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, decorators: [{
|
|
703
|
+
type: NgModule,
|
|
704
|
+
args: [{
|
|
705
|
+
declarations: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe, FormatDocumentPipe],
|
|
706
|
+
exports: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe, FormatDocumentPipe],
|
|
707
|
+
}]
|
|
708
|
+
}] });
|
|
709
|
+
|
|
710
|
+
class SharedModule {
|
|
711
|
+
}
|
|
712
|
+
SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
713
|
+
SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, exports: [CommonModule, TooltipModule, PipesModule] });
|
|
714
|
+
SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, imports: [CommonModule, TooltipModule, PipesModule] });
|
|
715
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, decorators: [{
|
|
716
|
+
type: NgModule,
|
|
717
|
+
args: [{
|
|
718
|
+
exports: [CommonModule, TooltipModule, PipesModule],
|
|
719
|
+
}]
|
|
720
|
+
}] });
|
|
721
|
+
|
|
722
|
+
class BadgeModule {
|
|
723
|
+
}
|
|
724
|
+
BadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
725
|
+
BadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, declarations: [BadgeComponent], imports: [SharedModule], exports: [BadgeComponent] });
|
|
726
|
+
BadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, imports: [[SharedModule]] });
|
|
727
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, decorators: [{
|
|
728
|
+
type: NgModule,
|
|
729
|
+
args: [{
|
|
730
|
+
declarations: [BadgeComponent],
|
|
731
|
+
imports: [SharedModule],
|
|
732
|
+
exports: [BadgeComponent],
|
|
733
|
+
}]
|
|
734
|
+
}] });
|
|
735
|
+
|
|
736
|
+
class BreadcrumbComponent {
|
|
737
|
+
constructor(router, environment, menuOptions) {
|
|
738
|
+
this.router = router;
|
|
739
|
+
this.environment = environment;
|
|
740
|
+
this.menuOptions = menuOptions;
|
|
741
|
+
this.appName = this.environment.appName;
|
|
742
|
+
this.routeFragments = [];
|
|
743
|
+
this.subscription = new Subscription();
|
|
744
|
+
}
|
|
745
|
+
ngOnInit() {
|
|
746
|
+
this.subscription.add(this.router.events.subscribe((event) => {
|
|
747
|
+
if (event instanceof NavigationEnd) {
|
|
748
|
+
this.routeFragments = [];
|
|
749
|
+
let url = event.urlAfterRedirects.replace('/', '');
|
|
750
|
+
if (url.includes('?')) {
|
|
751
|
+
url = url.substring(0, url.indexOf('?'));
|
|
752
|
+
}
|
|
753
|
+
this.extractRouteFragmentsFromMenu(url, this.menuOptions);
|
|
1008
754
|
}
|
|
1009
|
-
|
|
1010
|
-
|
|
755
|
+
}));
|
|
756
|
+
}
|
|
757
|
+
ngOnDestroy() {
|
|
758
|
+
this.subscription.unsubscribe();
|
|
759
|
+
}
|
|
760
|
+
navigateToFragment(fragment) {
|
|
761
|
+
this.router.navigate([fragment.route]);
|
|
762
|
+
}
|
|
763
|
+
extractRouteFragmentsFromMenu(url, currentChildren) {
|
|
764
|
+
let foundItem = false;
|
|
765
|
+
for (let i = 0; i < currentChildren.length; i++) {
|
|
766
|
+
if (currentChildren[i].route) {
|
|
767
|
+
if (currentChildren[i].route && url.startsWith(currentChildren[i].route || '')) {
|
|
768
|
+
this.routeFragments = [currentChildren[i]];
|
|
769
|
+
foundItem = true;
|
|
770
|
+
}
|
|
1011
771
|
}
|
|
1012
|
-
if (this.
|
|
1013
|
-
|
|
772
|
+
if (currentChildren[i].children && this.extractRouteFragmentsFromMenu(url, currentChildren[i].children || [])) {
|
|
773
|
+
this.routeFragments = [currentChildren[i]].concat(this.routeFragments);
|
|
774
|
+
foundItem = true;
|
|
775
|
+
break;
|
|
1014
776
|
}
|
|
1015
|
-
return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
|
|
1016
777
|
}
|
|
1017
|
-
return
|
|
778
|
+
return foundItem;
|
|
1018
779
|
}
|
|
1019
780
|
}
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
781
|
+
BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i2$1.Router }, { token: 'environment' }, { token: 'menuOptions' }], target: i0.ɵɵFactoryTarget.Component });
|
|
782
|
+
BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: BreadcrumbComponent, selector: "vector-breadcrumb", ngImport: i0, template: "<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\r\n <div class=\"route-path\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\r\n <span\r\n class=\"route-fragment\"\r\n [ngClass]=\"{ clickable: fragment.route }\"\r\n *ngFor=\"let fragment of routeFragments | removeLastChild\"\r\n (click)=\"navigateToFragment(fragment)\"\r\n ><div class=\"chevron\"></div>\r\n {{ fragment.label }}</span\r\n >\r\n </div>\r\n <span class=\"last-route\">\r\n {{ routeFragments[routeFragments.length - 1].label }}\r\n </span>\r\n</div>\r\n", styles: [".breadcrumb-container{display:flex;flex-direction:column;margin-bottom:15px}.breadcrumb-container .route-path{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;color:var(--gray-dark)}.breadcrumb-container .app-name,.breadcrumb-container .last-route,.breadcrumb-container .route-path .route-fragment{font-weight:700;letter-spacing:.75px;display:flex;flex-direction:row;align-items:center;margin:2.5px}.breadcrumb-container .clickable{cursor:pointer}.breadcrumb-container .chevron{margin:0 5px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2212%22 height%3D%227.4%22 viewBox%3D%220 0 12 7.4%22%3E%0D %3Cpath id%3D%22Caminho_1437%22 data-name%3D%22Caminho 1437%22 d%3D%22M1526.175%2C366.14l4.6%2C4.6%2C4.6-4.6%2C1.4%2C1.4-6%2C6-6-6Z%22 transform%3D%22translate(-1524.775 -366.14)%22 fill%3D%22%23333%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;transform:rotate(-90deg);width:20px;height:20px;filter:invert(53%) sepia(13%) saturate(450%) hue-rotate(156deg) brightness(89%) contrast(85%)}.breadcrumb-container .last-route{font-size:1.5em;color:var(--success-color)}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "removeLastChild": RemoveLastChildPipe } });
|
|
783
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
1023
784
|
type: Component,
|
|
1024
|
-
args: [{ selector: 'vector-
|
|
1025
|
-
}], ctorParameters: function () { return [
|
|
1026
|
-
|
|
1027
|
-
|
|
785
|
+
args: [{ selector: 'vector-breadcrumb', template: "<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\r\n <div class=\"route-path\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\r\n <span\r\n class=\"route-fragment\"\r\n [ngClass]=\"{ clickable: fragment.route }\"\r\n *ngFor=\"let fragment of routeFragments | removeLastChild\"\r\n (click)=\"navigateToFragment(fragment)\"\r\n ><div class=\"chevron\"></div>\r\n {{ fragment.label }}</span\r\n >\r\n </div>\r\n <span class=\"last-route\">\r\n {{ routeFragments[routeFragments.length - 1].label }}\r\n </span>\r\n</div>\r\n", styles: [".breadcrumb-container{display:flex;flex-direction:column;margin-bottom:15px}.breadcrumb-container .route-path{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;color:var(--gray-dark)}.breadcrumb-container .app-name,.breadcrumb-container .last-route,.breadcrumb-container .route-path .route-fragment{font-weight:700;letter-spacing:.75px;display:flex;flex-direction:row;align-items:center;margin:2.5px}.breadcrumb-container .clickable{cursor:pointer}.breadcrumb-container .chevron{margin:0 5px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2212%22 height%3D%227.4%22 viewBox%3D%220 0 12 7.4%22%3E%0D %3Cpath id%3D%22Caminho_1437%22 data-name%3D%22Caminho 1437%22 d%3D%22M1526.175%2C366.14l4.6%2C4.6%2C4.6-4.6%2C1.4%2C1.4-6%2C6-6-6Z%22 transform%3D%22translate(-1524.775 -366.14)%22 fill%3D%22%23333%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;transform:rotate(-90deg);width:20px;height:20px;filter:invert(53%) sepia(13%) saturate(450%) hue-rotate(156deg) brightness(89%) contrast(85%)}.breadcrumb-container .last-route{font-size:1.5em;color:var(--success-color)}\n"] }]
|
|
786
|
+
}], ctorParameters: function () { return [{ type: i2$1.Router }, { type: undefined, decorators: [{
|
|
787
|
+
type: Inject,
|
|
788
|
+
args: ['environment']
|
|
789
|
+
}] }, { type: undefined, decorators: [{
|
|
790
|
+
type: Inject,
|
|
791
|
+
args: ['menuOptions']
|
|
792
|
+
}] }]; } });
|
|
1028
793
|
|
|
1029
|
-
class
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
794
|
+
class BreadcrumbModule {
|
|
795
|
+
}
|
|
796
|
+
BreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
797
|
+
BreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, declarations: [BreadcrumbComponent], imports: [SharedModule], exports: [BreadcrumbComponent] });
|
|
798
|
+
BreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, imports: [[SharedModule]] });
|
|
799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, decorators: [{
|
|
800
|
+
type: NgModule,
|
|
801
|
+
args: [{
|
|
802
|
+
declarations: [BreadcrumbComponent],
|
|
803
|
+
exports: [BreadcrumbComponent],
|
|
804
|
+
imports: [SharedModule],
|
|
805
|
+
}]
|
|
806
|
+
}] });
|
|
807
|
+
|
|
808
|
+
class CrudBaseComponent {
|
|
809
|
+
constructor(activatedRoute) {
|
|
810
|
+
this.activatedRoute = activatedRoute;
|
|
811
|
+
this.crudMode = CrudMode.NEW;
|
|
812
|
+
this.isReadonly = false;
|
|
813
|
+
this.form = new FormGroup({});
|
|
814
|
+
this.subscription = new Subscription();
|
|
815
|
+
this.crudMode = this.getCrudModeByRoute(this.activatedRoute.snapshot.url[0].path);
|
|
816
|
+
this.isReadonly = this.crudMode === CrudMode.VIEW;
|
|
1042
817
|
}
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
return '';
|
|
1046
|
-
}
|
|
1047
|
-
return `${this.label}${this.isRequired ? '*' : ''}`;
|
|
818
|
+
ngOnDestroy() {
|
|
819
|
+
this.subscription.unsubscribe();
|
|
1048
820
|
}
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
if (this.control.hasError('required')) {
|
|
1052
|
-
return 'Campo obrigatório';
|
|
1053
|
-
}
|
|
1054
|
-
if (this.control.hasError('maxlength')) {
|
|
1055
|
-
return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
|
|
1056
|
-
}
|
|
1057
|
-
return 'Campo inválido';
|
|
1058
|
-
}
|
|
1059
|
-
return '';
|
|
821
|
+
isInsertion() {
|
|
822
|
+
return this.crudMode === CrudMode.NEW;
|
|
1060
823
|
}
|
|
1061
|
-
|
|
1062
|
-
this.
|
|
824
|
+
isEdition() {
|
|
825
|
+
return this.crudMode === CrudMode.EDIT;
|
|
1063
826
|
}
|
|
1064
|
-
|
|
1065
|
-
|
|
827
|
+
getCrudModeByRoute(route) {
|
|
828
|
+
switch (route) {
|
|
829
|
+
case 'new':
|
|
830
|
+
return CrudMode.NEW;
|
|
831
|
+
case 'edit':
|
|
832
|
+
return CrudMode.EDIT;
|
|
833
|
+
case 'view':
|
|
834
|
+
return CrudMode.VIEW;
|
|
835
|
+
default:
|
|
836
|
+
return CrudMode.NEW;
|
|
837
|
+
}
|
|
1066
838
|
}
|
|
1067
839
|
}
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
840
|
+
CrudBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudBaseComponent, deps: [{ token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
841
|
+
CrudBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
842
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudBaseComponent, decorators: [{
|
|
1071
843
|
type: Component,
|
|
1072
|
-
args: [{
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
844
|
+
args: [{
|
|
845
|
+
template: '',
|
|
846
|
+
}]
|
|
847
|
+
}], ctorParameters: function () { return [{ type: i2$1.ActivatedRoute }]; } });
|
|
848
|
+
|
|
849
|
+
class ButtonComponent {
|
|
850
|
+
constructor() {
|
|
851
|
+
this.disabled = false;
|
|
852
|
+
this.label = '';
|
|
853
|
+
this.type = 'default';
|
|
854
|
+
this.leftIcon = '';
|
|
855
|
+
this.rightIcon = '';
|
|
856
|
+
this.noShadow = false;
|
|
857
|
+
this.style = '';
|
|
858
|
+
this.onClick = new EventEmitter();
|
|
859
|
+
}
|
|
860
|
+
get styleClass() {
|
|
861
|
+
return `button shadow-3 ${this.type} ${this.noShadow && 'no-shadow'}`;
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
865
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: ButtonComponent, selector: "vector-button", inputs: { disabled: "disabled", label: "label", type: "type", leftIcon: "leftIcon", rightIcon: "rightIcon", noShadow: "noShadow", style: "style" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<p-button\r\n [styleClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (onClick)=\"onClick.emit($event)\"\r\n></p-button>\r\n", styles: [""], components: [{ type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }] });
|
|
866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
867
|
+
type: Component,
|
|
868
|
+
args: [{ selector: 'vector-button', template: "<p-button\r\n [styleClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (onClick)=\"onClick.emit($event)\"\r\n></p-button>\r\n", styles: [""] }]
|
|
869
|
+
}], propDecorators: { disabled: [{
|
|
1076
870
|
type: Input
|
|
1077
871
|
}], label: [{
|
|
1078
872
|
type: Input
|
|
1079
|
-
}],
|
|
1080
|
-
type: Input
|
|
1081
|
-
}], min: [{
|
|
1082
|
-
type: Input
|
|
1083
|
-
}], max: [{
|
|
873
|
+
}], type: [{
|
|
1084
874
|
type: Input
|
|
1085
|
-
}],
|
|
875
|
+
}], leftIcon: [{
|
|
1086
876
|
type: Input
|
|
1087
|
-
}],
|
|
877
|
+
}], rightIcon: [{
|
|
1088
878
|
type: Input
|
|
1089
|
-
}],
|
|
879
|
+
}], noShadow: [{
|
|
1090
880
|
type: Input
|
|
1091
|
-
}],
|
|
881
|
+
}], style: [{
|
|
1092
882
|
type: Input
|
|
883
|
+
}], onClick: [{
|
|
884
|
+
type: Output
|
|
1093
885
|
}] } });
|
|
1094
886
|
|
|
1095
|
-
class
|
|
887
|
+
class CrudFooterComponent {
|
|
1096
888
|
constructor() {
|
|
1097
|
-
this.
|
|
1098
|
-
this.
|
|
1099
|
-
this.
|
|
1100
|
-
this.
|
|
1101
|
-
this.value = false;
|
|
1102
|
-
this.disabled = false;
|
|
1103
|
-
this.valueChange = new EventEmitter();
|
|
889
|
+
this.submitDisabled = false;
|
|
890
|
+
this.submitHidden = false;
|
|
891
|
+
this.onGoBack = new EventEmitter();
|
|
892
|
+
this.onSubmit = new EventEmitter();
|
|
1104
893
|
}
|
|
1105
894
|
ngOnInit() { }
|
|
1106
895
|
}
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
896
|
+
CrudFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
897
|
+
CrudFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudFooterComponent, selector: "vector-crud-footer", inputs: { submitDisabled: "submitDisabled", submitHidden: "submitHidden" }, outputs: { onGoBack: "onGoBack", onSubmit: "onSubmit" }, ngImport: i0, template: "<div class=\"footer-container shadow-3\">\r\n <div class=\"button\">\r\n <vector-button label=\"Voltar\" (onClick)=\"onGoBack.emit()\"></vector-button>\r\n </div>\r\n <div class=\"button\" *ngIf=\"!submitHidden\">\r\n <vector-button\r\n label=\"Salvar\"\r\n type=\"success\"\r\n (onClick)=\"onSubmit.emit()\"\r\n [disabled]=\"submitDisabled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".footer-container{position:fixed;bottom:0px;left:0px;background-color:#f5f5f5;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;width:100%;height:60px}.footer-container .button{margin-right:10px}\n"], components: [{ type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
898
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, decorators: [{
|
|
1110
899
|
type: Component,
|
|
1111
|
-
args: [{ selector: 'vector-
|
|
1112
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
1113
|
-
type: Input
|
|
1114
|
-
}], control: [{
|
|
1115
|
-
type: Input
|
|
1116
|
-
}], label: [{
|
|
1117
|
-
type: Input
|
|
1118
|
-
}], rounded: [{
|
|
1119
|
-
type: Input
|
|
1120
|
-
}], labelSize: [{
|
|
1121
|
-
type: Input
|
|
1122
|
-
}], value: [{
|
|
900
|
+
args: [{ selector: 'vector-crud-footer', template: "<div class=\"footer-container shadow-3\">\r\n <div class=\"button\">\r\n <vector-button label=\"Voltar\" (onClick)=\"onGoBack.emit()\"></vector-button>\r\n </div>\r\n <div class=\"button\" *ngIf=\"!submitHidden\">\r\n <vector-button\r\n label=\"Salvar\"\r\n type=\"success\"\r\n (onClick)=\"onSubmit.emit()\"\r\n [disabled]=\"submitDisabled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".footer-container{position:fixed;bottom:0px;left:0px;background-color:#f5f5f5;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;width:100%;height:60px}.footer-container .button{margin-right:10px}\n"] }]
|
|
901
|
+
}], ctorParameters: function () { return []; }, propDecorators: { submitDisabled: [{
|
|
1123
902
|
type: Input
|
|
1124
|
-
}],
|
|
903
|
+
}], submitHidden: [{
|
|
1125
904
|
type: Input
|
|
1126
|
-
}],
|
|
905
|
+
}], onGoBack: [{
|
|
906
|
+
type: Output
|
|
907
|
+
}], onSubmit: [{
|
|
1127
908
|
type: Output
|
|
1128
909
|
}] } });
|
|
1129
910
|
|
|
1130
|
-
class
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
|
-
saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);
|
|
1141
|
-
}
|
|
1142
|
-
}
|
|
911
|
+
class PanelComponent {
|
|
912
|
+
constructor() { }
|
|
913
|
+
ngOnInit() { }
|
|
914
|
+
}
|
|
915
|
+
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
916
|
+
PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: PanelComponent, selector: "vector-panel", ngImport: i0, template: "<p-panel [showHeader]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\r\n></p-panel>\r\n", styles: [""], components: [{ type: i1$1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }], directives: [{ type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
|
|
917
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, decorators: [{
|
|
918
|
+
type: Component,
|
|
919
|
+
args: [{ selector: 'vector-panel', template: "<p-panel [showHeader]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\r\n></p-panel>\r\n", styles: [""] }]
|
|
920
|
+
}], ctorParameters: function () { return []; } });
|
|
1143
921
|
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
922
|
+
class PanelModule {
|
|
923
|
+
}
|
|
924
|
+
PanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
925
|
+
PanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, declarations: [PanelComponent], imports: [SharedModule, PanelModule$1], exports: [PanelComponent] });
|
|
926
|
+
PanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, imports: [[SharedModule, PanelModule$1]] });
|
|
927
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, decorators: [{
|
|
928
|
+
type: NgModule,
|
|
929
|
+
args: [{
|
|
930
|
+
declarations: [PanelComponent],
|
|
931
|
+
exports: [PanelComponent],
|
|
932
|
+
imports: [SharedModule, PanelModule$1],
|
|
933
|
+
}]
|
|
934
|
+
}] });
|
|
935
|
+
|
|
936
|
+
class AuthService {
|
|
937
|
+
constructor(http, storageService, profileService, activatedRoute, environment) {
|
|
938
|
+
this.http = http;
|
|
939
|
+
this.storageService = storageService;
|
|
940
|
+
this.profileService = profileService;
|
|
941
|
+
this.activatedRoute = activatedRoute;
|
|
942
|
+
this.environment = environment;
|
|
943
|
+
this.role$ = new BehaviorSubject(this.storageService.getRole());
|
|
944
|
+
this.parentWindowUrl = '';
|
|
945
|
+
this.subscription = new Subscription();
|
|
946
|
+
this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';
|
|
947
|
+
this.subscription.add(this.activatedRoute.queryParams.subscribe((params) => {
|
|
948
|
+
if (params['parent']) {
|
|
949
|
+
this.parentWindowUrl = decodeURIComponent(params['parent']);
|
|
950
|
+
}
|
|
951
|
+
}));
|
|
1162
952
|
}
|
|
1163
|
-
|
|
1164
|
-
return this.
|
|
953
|
+
getTokenByGuid(tokenGuid) {
|
|
954
|
+
return this.http.get(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(tap((response) => {
|
|
955
|
+
this.storageService.setToken(response.accessToken);
|
|
956
|
+
this.storageService.setUsername(response.userName);
|
|
957
|
+
this.storageService.setRefreshToken(response.refreshToken);
|
|
958
|
+
this.profileService.getUserProfile();
|
|
959
|
+
}));
|
|
1165
960
|
}
|
|
1166
|
-
|
|
1167
|
-
|
|
961
|
+
getTokenByRefreshToken(refreshToken) {
|
|
962
|
+
const headers = new HttpHeaders()
|
|
963
|
+
.set('Content-Type', 'application/x-www-form-urlencoded')
|
|
964
|
+
.set('no-spinner', 'true');
|
|
965
|
+
return this.http
|
|
966
|
+
.post(`connect/token`, `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`, { headers })
|
|
967
|
+
.pipe(tap((response) => {
|
|
968
|
+
if (response?.access_token && response?.refresh_token) {
|
|
969
|
+
this.storageService.setToken(`Bearer ${response.access_token}`);
|
|
970
|
+
this.storageService.setRefreshToken(response.refresh_token);
|
|
971
|
+
}
|
|
972
|
+
}));
|
|
1168
973
|
}
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
974
|
+
generateTokenGuid() {
|
|
975
|
+
return this.http
|
|
976
|
+
.post(`${this.baseUrl}/TemporaryAccessToken/generate`, {
|
|
977
|
+
RefreshToken: this.storageService.getRefreshToken(),
|
|
978
|
+
})
|
|
979
|
+
.pipe(map((response) => response?.accessToken || ''));
|
|
980
|
+
}
|
|
981
|
+
logout() {
|
|
982
|
+
this.storageService.clear();
|
|
983
|
+
if (window.parent == window) {
|
|
984
|
+
window.location.href = this.environment.PORTAL_URL;
|
|
1175
985
|
}
|
|
1176
|
-
else
|
|
1177
|
-
|
|
986
|
+
else {
|
|
987
|
+
window.parent.postMessage({ logout: true }, this.parentWindowUrl);
|
|
1178
988
|
}
|
|
1179
|
-
return stringValue;
|
|
1180
|
-
}
|
|
1181
|
-
static doMaskString(str, pattern) {
|
|
1182
|
-
let i = 0;
|
|
1183
|
-
return pattern.replace(/#/g, () => str[i++]);
|
|
1184
989
|
}
|
|
1185
990
|
}
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
991
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, deps: [{ token: i1$2.HttpClient }, { token: StorageService }, { token: ProfileService }, { token: i2$1.ActivatedRoute }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
992
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
993
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, decorators: [{
|
|
994
|
+
type: Injectable,
|
|
995
|
+
args: [{ providedIn: 'root' }]
|
|
996
|
+
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: StorageService }, { type: ProfileService }, { type: i2$1.ActivatedRoute }, { type: undefined, decorators: [{
|
|
997
|
+
type: Inject,
|
|
998
|
+
args: ['environment']
|
|
999
|
+
}] }]; } });
|
|
1192
1000
|
|
|
1193
|
-
class
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1001
|
+
class CrudBaseService {
|
|
1002
|
+
constructor() {
|
|
1003
|
+
this.dataset$ = new BehaviorSubject({
|
|
1004
|
+
data: [],
|
|
1005
|
+
draw: 0,
|
|
1006
|
+
recordsFiltered: 0,
|
|
1007
|
+
recordsTotal: 0,
|
|
1008
|
+
});
|
|
1009
|
+
this.flatUnpagedDataset$ = new BehaviorSubject([]);
|
|
1202
1010
|
}
|
|
1011
|
+
getHistory(entityId) { }
|
|
1203
1012
|
}
|
|
1204
1013
|
|
|
1205
|
-
class
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
return '';
|
|
1209
|
-
}
|
|
1210
|
-
const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));
|
|
1211
|
-
return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';
|
|
1014
|
+
class EnumService {
|
|
1015
|
+
constructor(translateService) {
|
|
1016
|
+
this.translateService = translateService;
|
|
1212
1017
|
}
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
return
|
|
1216
|
-
|
|
1217
|
-
|
|
1018
|
+
getTranslatedListItemsFromEnum(enumType, enumName) {
|
|
1019
|
+
return this.getEnumTranslations(enumName).pipe(map((enumTranslations) => {
|
|
1020
|
+
return Object.keys(enumType)
|
|
1021
|
+
.filter((item) => isNaN(+item))
|
|
1022
|
+
.map((item) => {
|
|
1023
|
+
return {
|
|
1024
|
+
name: enumTranslations[item],
|
|
1025
|
+
code: enumType[item],
|
|
1026
|
+
};
|
|
1027
|
+
});
|
|
1028
|
+
}));
|
|
1218
1029
|
}
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
email.match(/['`~!#%^&*()|+¨=?;:'´",<>\{\}\[\]\\\/]/gi)) {
|
|
1030
|
+
getEnumTranslations(enumName) {
|
|
1031
|
+
return this.translateService.get('enums').pipe(map((translations) => {
|
|
1032
|
+
return translations[enumName];
|
|
1033
|
+
}));
|
|
1034
|
+
}
|
|
1035
|
+
getListItemsFromEnum(enumType) {
|
|
1036
|
+
return Object.keys(enumType)
|
|
1037
|
+
.filter((item) => isNaN(+item))
|
|
1038
|
+
.map((item) => {
|
|
1229
1039
|
return {
|
|
1230
|
-
|
|
1040
|
+
name: enumType[item],
|
|
1041
|
+
code: enumType[item],
|
|
1231
1042
|
};
|
|
1232
|
-
}
|
|
1233
|
-
return null;
|
|
1043
|
+
});
|
|
1234
1044
|
}
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
return null;
|
|
1045
|
+
}
|
|
1046
|
+
EnumService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, deps: [{ token: i1$3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1047
|
+
EnumService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, providedIn: 'root' });
|
|
1048
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, decorators: [{
|
|
1049
|
+
type: Injectable,
|
|
1050
|
+
args: [{ providedIn: 'root' }]
|
|
1051
|
+
}], ctorParameters: function () { return [{ type: i1$3.TranslateService }]; } });
|
|
1052
|
+
|
|
1053
|
+
class ErrorMessageService {
|
|
1054
|
+
constructor() {
|
|
1055
|
+
this.hasToken$ = new Subject();
|
|
1056
|
+
this.genericModalErrorMessage$ = new Subject();
|
|
1248
1057
|
}
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
}
|
|
1255
|
-
}
|
|
1256
|
-
|
|
1058
|
+
}
|
|
1059
|
+
ErrorMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1060
|
+
ErrorMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, providedIn: 'root' });
|
|
1061
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, decorators: [{
|
|
1062
|
+
type: Injectable,
|
|
1063
|
+
args: [{ providedIn: 'root' }]
|
|
1064
|
+
}] });
|
|
1065
|
+
|
|
1066
|
+
class GeolocationService {
|
|
1067
|
+
constructor(http, backend) {
|
|
1068
|
+
this.http = http;
|
|
1069
|
+
this.backend = backend;
|
|
1070
|
+
this.customHttpClient = new HttpClient(backend);
|
|
1257
1071
|
}
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
return null;
|
|
1261
|
-
}
|
|
1262
|
-
if (control.value.length === 11) {
|
|
1263
|
-
return ValidationUtil.isValidCpf(control);
|
|
1264
|
-
}
|
|
1265
|
-
if (control.value.length === 14) {
|
|
1266
|
-
return ValidationUtil.isValidCnpj(control);
|
|
1267
|
-
}
|
|
1268
|
-
return null;
|
|
1072
|
+
getGeoLoc() {
|
|
1073
|
+
return this.customHttpClient.get('http://api.ipify.org/?format=json');
|
|
1269
1074
|
}
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1075
|
+
createUserLoginInfo(userInfo) {
|
|
1076
|
+
return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
GeolocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService, deps: [{ token: i1$2.HttpClient }, { token: i1$2.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1080
|
+
GeolocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService });
|
|
1081
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService, decorators: [{
|
|
1082
|
+
type: Injectable
|
|
1083
|
+
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1$2.HttpBackend }]; } });
|
|
1084
|
+
|
|
1085
|
+
class LoadingService {
|
|
1086
|
+
constructor() {
|
|
1087
|
+
this.loading$ = new Subject();
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1091
|
+
LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, providedIn: 'root' });
|
|
1092
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, decorators: [{
|
|
1093
|
+
type: Injectable,
|
|
1094
|
+
args: [{ providedIn: 'root' }]
|
|
1095
|
+
}] });
|
|
1096
|
+
|
|
1097
|
+
class MenuService {
|
|
1098
|
+
constructor(authService, router, storageService, profileService, environment, menuOptions, appName) {
|
|
1099
|
+
this.authService = authService;
|
|
1100
|
+
this.router = router;
|
|
1101
|
+
this.storageService = storageService;
|
|
1102
|
+
this.profileService = profileService;
|
|
1103
|
+
this.environment = environment;
|
|
1104
|
+
this.menuOptions = menuOptions;
|
|
1105
|
+
this.appName = appName;
|
|
1106
|
+
this.toggleMenu$ = new Subject();
|
|
1107
|
+
this.menuOpened$ = new Subject();
|
|
1108
|
+
this.frameUrl$ = new Subject();
|
|
1109
|
+
this.menuNotifications = {};
|
|
1110
|
+
}
|
|
1111
|
+
getSideMainMenuOptions() {
|
|
1112
|
+
return this.menuOptions
|
|
1113
|
+
.filter((menu) => (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&
|
|
1114
|
+
!menu.hidden &&
|
|
1115
|
+
this.profileService.userHasPermission(menu.permission))
|
|
1116
|
+
.map((menu) => this.removeHiddenChildren(menu))
|
|
1117
|
+
.filter((menu) => !menu.hidden)
|
|
1118
|
+
.map((menu, index) => this.generateId(menu, index));
|
|
1119
|
+
}
|
|
1120
|
+
getSideAdminMenuOptions() {
|
|
1121
|
+
return this.menuOptions
|
|
1122
|
+
.filter((menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission))
|
|
1123
|
+
.map((menu) => this.removeHiddenChildren(menu))
|
|
1124
|
+
.filter((menu) => !menu.hidden)
|
|
1125
|
+
.map((menu, index) => this.generateId(menu, index));
|
|
1126
|
+
}
|
|
1127
|
+
navigateToPortal(params) {
|
|
1128
|
+
this.authService.generateTokenGuid().subscribe((tokenGuid) => {
|
|
1129
|
+
const userId = this.storageService.getUserId();
|
|
1130
|
+
switch (this.appName) {
|
|
1131
|
+
case AppName.FINTECH:
|
|
1132
|
+
this.handleFintechRedirects(params, tokenGuid, userId);
|
|
1133
|
+
break;
|
|
1134
|
+
case AppName.MARKETPLACE:
|
|
1135
|
+
this.handleMarketplaceRedirects(params, tokenGuid, userId);
|
|
1136
|
+
break;
|
|
1137
|
+
case AppName.LOGTECH:
|
|
1138
|
+
this.handleLogtechRedirects(params, tokenGuid, userId);
|
|
1281
1139
|
break;
|
|
1282
|
-
}
|
|
1283
|
-
}
|
|
1284
|
-
if (!equalDigits) {
|
|
1285
|
-
numbers = cpf.substring(0, 9);
|
|
1286
|
-
digits = cpf.substring(9);
|
|
1287
|
-
sum = 0;
|
|
1288
|
-
for (i = 10; i > 1; i--) {
|
|
1289
|
-
sum += numbers.charAt(10 - i) * i;
|
|
1290
|
-
}
|
|
1291
|
-
result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
|
|
1292
|
-
if (result !== Number(digits.charAt(0))) {
|
|
1293
|
-
return { cpfNotValid: true };
|
|
1294
|
-
}
|
|
1295
|
-
numbers = cpf.substring(0, 10);
|
|
1296
|
-
sum = 0;
|
|
1297
|
-
for (i = 11; i > 1; i--) {
|
|
1298
|
-
sum += numbers.charAt(11 - i) * i;
|
|
1299
|
-
}
|
|
1300
|
-
result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
|
|
1301
|
-
if (result !== Number(digits.charAt(1))) {
|
|
1302
|
-
return { cpfNotValid: true };
|
|
1303
|
-
}
|
|
1304
|
-
return null;
|
|
1305
|
-
}
|
|
1306
|
-
else {
|
|
1307
|
-
return { cpfNotValid: true };
|
|
1308
1140
|
}
|
|
1141
|
+
this.storageService.clear();
|
|
1142
|
+
});
|
|
1143
|
+
}
|
|
1144
|
+
addMenuNotification(menuId) {
|
|
1145
|
+
this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);
|
|
1146
|
+
}
|
|
1147
|
+
subtractMenuNotification(menuId) {
|
|
1148
|
+
this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);
|
|
1149
|
+
}
|
|
1150
|
+
updateMenuNotifications(menuId, notificationsCount) {
|
|
1151
|
+
this.menuNotifications[menuId] = notificationsCount;
|
|
1152
|
+
}
|
|
1153
|
+
removeHiddenChildren(menu) {
|
|
1154
|
+
const newMenu = { ...menu };
|
|
1155
|
+
const hadChildren = !!newMenu.children?.length;
|
|
1156
|
+
newMenu.children = newMenu.children
|
|
1157
|
+
?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))
|
|
1158
|
+
.map((menu) => this.removeHiddenChildren(menu))
|
|
1159
|
+
.filter((child) => !child.hidden);
|
|
1160
|
+
if (hadChildren &&
|
|
1161
|
+
!newMenu.children?.length &&
|
|
1162
|
+
!newMenu.route &&
|
|
1163
|
+
!newMenu.frameUrl &&
|
|
1164
|
+
!newMenu.externalUrl &&
|
|
1165
|
+
!newMenu.command) {
|
|
1166
|
+
newMenu.hidden = true;
|
|
1309
1167
|
}
|
|
1310
|
-
return
|
|
1168
|
+
return newMenu;
|
|
1311
1169
|
}
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1170
|
+
generateId(menu, index, parentId = '') {
|
|
1171
|
+
menu.id = `${parentId}${index}`;
|
|
1172
|
+
menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));
|
|
1173
|
+
return menu;
|
|
1174
|
+
}
|
|
1175
|
+
handleFintechRedirects(params, tokenGuid, userId) {
|
|
1176
|
+
if (params.portal === 'fintech') {
|
|
1177
|
+
this.router.navigate([''], {
|
|
1178
|
+
queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId },
|
|
1179
|
+
});
|
|
1318
1180
|
}
|
|
1319
|
-
|
|
1320
|
-
let
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
y = 9;
|
|
1181
|
+
else {
|
|
1182
|
+
let url = params.portal === 'marketplace' ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;
|
|
1183
|
+
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
1184
|
+
if (params.admin) {
|
|
1185
|
+
url += `&role=${btoa('ADMIN')}`;
|
|
1325
1186
|
}
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1187
|
+
window.location.href = url;
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
handleMarketplaceRedirects(params, tokenGuid, userId) {
|
|
1191
|
+
if (params.portal === 'marketplace') {
|
|
1192
|
+
this.router.navigate([''], {
|
|
1193
|
+
queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },
|
|
1194
|
+
});
|
|
1331
1195
|
}
|
|
1332
1196
|
else {
|
|
1333
|
-
|
|
1197
|
+
let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;
|
|
1198
|
+
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
1199
|
+
if (params.admin) {
|
|
1200
|
+
url += `&role=${btoa('ADMIN')}`;
|
|
1201
|
+
}
|
|
1202
|
+
window.location.href = url;
|
|
1334
1203
|
}
|
|
1335
1204
|
}
|
|
1336
|
-
|
|
1337
|
-
if (
|
|
1338
|
-
|
|
1205
|
+
handleLogtechRedirects(params, tokenGuid, userId) {
|
|
1206
|
+
if (params.portal === 'logtech') {
|
|
1207
|
+
this.router.navigate([''], {
|
|
1208
|
+
queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },
|
|
1209
|
+
});
|
|
1339
1210
|
}
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1211
|
+
else {
|
|
1212
|
+
let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;
|
|
1213
|
+
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
1214
|
+
if (params.admin) {
|
|
1215
|
+
url += `&role=${btoa('ADMIN')}`;
|
|
1216
|
+
}
|
|
1217
|
+
window.location.href = url;
|
|
1343
1218
|
}
|
|
1344
|
-
return null;
|
|
1345
1219
|
}
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1220
|
+
}
|
|
1221
|
+
MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, deps: [{ token: AuthService }, { token: i2$1.Router }, { token: StorageService }, { token: ProfileService }, { token: 'environment' }, { token: 'menuOptions' }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1222
|
+
MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, providedIn: 'root' });
|
|
1223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, decorators: [{
|
|
1224
|
+
type: Injectable,
|
|
1225
|
+
args: [{ providedIn: 'root' }]
|
|
1226
|
+
}], ctorParameters: function () { return [{ type: AuthService }, { type: i2$1.Router }, { type: StorageService }, { type: ProfileService }, { type: undefined, decorators: [{
|
|
1227
|
+
type: Inject,
|
|
1228
|
+
args: ['environment']
|
|
1229
|
+
}] }, { type: undefined, decorators: [{
|
|
1230
|
+
type: Inject,
|
|
1231
|
+
args: ['menuOptions']
|
|
1232
|
+
}] }, { type: AppName, decorators: [{
|
|
1233
|
+
type: Inject,
|
|
1234
|
+
args: ['appName']
|
|
1235
|
+
}] }]; } });
|
|
1236
|
+
|
|
1237
|
+
class ModalService {
|
|
1238
|
+
constructor() {
|
|
1239
|
+
this.showModalBackground$ = new Subject();
|
|
1357
1240
|
}
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1241
|
+
}
|
|
1242
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1243
|
+
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
1244
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, decorators: [{
|
|
1245
|
+
type: Injectable,
|
|
1246
|
+
args: [{ providedIn: 'root' }]
|
|
1247
|
+
}] });
|
|
1248
|
+
|
|
1249
|
+
class StorageService {
|
|
1250
|
+
constructor() { }
|
|
1251
|
+
clear() {
|
|
1252
|
+
sessionStorage.clear();
|
|
1253
|
+
localStorage.clear();
|
|
1254
|
+
}
|
|
1255
|
+
clearSession() {
|
|
1256
|
+
sessionStorage.clear();
|
|
1257
|
+
}
|
|
1258
|
+
get(key) {
|
|
1259
|
+
const storageItem = localStorage.getItem(key);
|
|
1260
|
+
try {
|
|
1261
|
+
return storageItem ? JSON.parse(storageItem) : '';
|
|
1361
1262
|
}
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
return { cellphoneInvalid: true };
|
|
1263
|
+
catch (e) {
|
|
1264
|
+
return storageItem;
|
|
1365
1265
|
}
|
|
1366
|
-
return null;
|
|
1367
1266
|
}
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
const lowerValue = control.value;
|
|
1371
|
-
const greaterValue = control.parent?.get(greaterControlName)?.value;
|
|
1372
|
-
if (!control.parent?.get(greaterControlName)) {
|
|
1373
|
-
console.log(`Control with name ${greaterControlName} not registered`);
|
|
1374
|
-
return {};
|
|
1375
|
-
}
|
|
1376
|
-
if (ObjectUtil.isValid(lowerValue) &&
|
|
1377
|
-
ObjectUtil.isValid(greaterValue) &&
|
|
1378
|
-
lowerValue !== '' &&
|
|
1379
|
-
greaterValue !== '' &&
|
|
1380
|
-
+lowerValue > +greaterValue) {
|
|
1381
|
-
return {
|
|
1382
|
-
invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',
|
|
1383
|
-
};
|
|
1384
|
-
}
|
|
1385
|
-
return {};
|
|
1386
|
-
};
|
|
1387
|
-
return validator;
|
|
1267
|
+
set(key, value) {
|
|
1268
|
+
localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));
|
|
1388
1269
|
}
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
const greaterValue = control.value;
|
|
1392
|
-
const lowerValue = control.parent?.get(lowerControlName)?.value;
|
|
1393
|
-
if (!control.parent?.get(lowerControlName)) {
|
|
1394
|
-
console.log(`Control with name ${lowerControlName} not registered`);
|
|
1395
|
-
return {};
|
|
1396
|
-
}
|
|
1397
|
-
if (ObjectUtil.isValid(lowerValue) &&
|
|
1398
|
-
ObjectUtil.isValid(greaterValue) &&
|
|
1399
|
-
lowerValue !== '' &&
|
|
1400
|
-
greaterValue !== '' &&
|
|
1401
|
-
+lowerValue > +greaterValue) {
|
|
1402
|
-
return {
|
|
1403
|
-
invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',
|
|
1404
|
-
};
|
|
1405
|
-
}
|
|
1406
|
-
return {};
|
|
1407
|
-
};
|
|
1408
|
-
return validator;
|
|
1270
|
+
remove(key) {
|
|
1271
|
+
localStorage.removeItem(key);
|
|
1409
1272
|
}
|
|
1410
|
-
|
|
1411
|
-
const
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1273
|
+
getSession(key) {
|
|
1274
|
+
const storageItem = sessionStorage.getItem(key);
|
|
1275
|
+
try {
|
|
1276
|
+
return storageItem ? JSON.parse(storageItem) : '';
|
|
1277
|
+
}
|
|
1278
|
+
catch (e) {
|
|
1279
|
+
return storageItem;
|
|
1280
|
+
}
|
|
1281
|
+
}
|
|
1282
|
+
setSession(key, value) {
|
|
1283
|
+
sessionStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));
|
|
1284
|
+
}
|
|
1285
|
+
removeSession(key) {
|
|
1286
|
+
sessionStorage.removeItem(key);
|
|
1287
|
+
}
|
|
1288
|
+
getToken() {
|
|
1289
|
+
return localStorage.getItem('token') || '';
|
|
1290
|
+
}
|
|
1291
|
+
setToken(token) {
|
|
1292
|
+
localStorage.setItem('token', token);
|
|
1293
|
+
}
|
|
1294
|
+
removeToken() {
|
|
1295
|
+
localStorage.removeItem('token');
|
|
1296
|
+
}
|
|
1297
|
+
getRefreshToken() {
|
|
1298
|
+
return sessionStorage.getItem('refreshToken') || '';
|
|
1299
|
+
}
|
|
1300
|
+
setRefreshToken(refreshToken) {
|
|
1301
|
+
sessionStorage.setItem('refreshToken', refreshToken);
|
|
1302
|
+
}
|
|
1303
|
+
removeRefreshToken() {
|
|
1304
|
+
sessionStorage.removeItem('refreshToken');
|
|
1305
|
+
}
|
|
1306
|
+
getUsername() {
|
|
1307
|
+
return sessionStorage.getItem('username') || '';
|
|
1308
|
+
}
|
|
1309
|
+
setUsername(username) {
|
|
1310
|
+
sessionStorage.setItem('username', username);
|
|
1311
|
+
}
|
|
1312
|
+
removeUsername() {
|
|
1313
|
+
sessionStorage.removeItem('username');
|
|
1314
|
+
}
|
|
1315
|
+
getUserId() {
|
|
1316
|
+
const userId = sessionStorage.getItem('userId') || '';
|
|
1317
|
+
return userId ? +atob(userId) : 0;
|
|
1318
|
+
}
|
|
1319
|
+
setUserId(userId) {
|
|
1320
|
+
sessionStorage.setItem('userId', btoa(`${userId}`));
|
|
1321
|
+
}
|
|
1322
|
+
clearUserId() {
|
|
1323
|
+
sessionStorage.removeItem('userId');
|
|
1324
|
+
}
|
|
1325
|
+
getRole() {
|
|
1326
|
+
return atob(sessionStorage.getItem('role') || '');
|
|
1327
|
+
}
|
|
1328
|
+
setRole(role) {
|
|
1329
|
+
sessionStorage.setItem('role', role || '');
|
|
1330
|
+
}
|
|
1331
|
+
clearRole() {
|
|
1332
|
+
sessionStorage.removeItem('role');
|
|
1333
|
+
}
|
|
1334
|
+
getProfile() {
|
|
1335
|
+
const data = sessionStorage.getItem('profile') || '';
|
|
1336
|
+
return data ? JSON.parse(data) : data;
|
|
1337
|
+
}
|
|
1338
|
+
setProfile(profiles) {
|
|
1339
|
+
sessionStorage.setItem('profile', JSON.stringify(profiles || ''));
|
|
1340
|
+
}
|
|
1341
|
+
removeProfile() {
|
|
1342
|
+
sessionStorage.removeItem('profile');
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1346
|
+
StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, providedIn: 'root' });
|
|
1347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, decorators: [{
|
|
1348
|
+
type: Injectable,
|
|
1349
|
+
args: [{ providedIn: 'root' }]
|
|
1350
|
+
}], ctorParameters: function () { return []; } });
|
|
1351
|
+
|
|
1352
|
+
class ProfileService {
|
|
1353
|
+
constructor(http, storageService) {
|
|
1354
|
+
this.http = http;
|
|
1355
|
+
this.storageService = storageService;
|
|
1356
|
+
this.moduleProfile$ = new BehaviorSubject(this.storageService.getProfile().allModules);
|
|
1357
|
+
this.hasFintechAdminPermission = false;
|
|
1358
|
+
this.hasMarketplaceAdminPermission = false;
|
|
1359
|
+
this.hasAnyFintechPermission = false;
|
|
1360
|
+
this.hasAnyMarketplacePermission = false;
|
|
1361
|
+
const { fintech, marketplace } = this.storageService.getProfile();
|
|
1362
|
+
this.hasFintechAdminPermission = !!fintech?.actions.some((act) => [
|
|
1363
|
+
ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),
|
|
1364
|
+
ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),
|
|
1365
|
+
].includes(act.name));
|
|
1366
|
+
this.hasMarketplaceAdminPermission = !!marketplace?.actions.some((act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE);
|
|
1367
|
+
this.hasAnyFintechPermission = !!fintech?.actions?.length;
|
|
1368
|
+
this.hasAnyMarketplacePermission = !!marketplace?.actions?.length;
|
|
1369
|
+
}
|
|
1370
|
+
getUserProfile() {
|
|
1371
|
+
this.http.get('connect/userinfo').subscribe((response) => {
|
|
1372
|
+
const completeProfile = response.profile;
|
|
1373
|
+
const marketplaceProfileModule = completeProfile.modules.find((mod) => mod.name === 'Marketplace');
|
|
1374
|
+
const fintechProfileModule = completeProfile.modules.find((mod) => mod.name === 'Fintech');
|
|
1375
|
+
const allModules = completeProfile.modules;
|
|
1376
|
+
this.hasFintechAdminPermission = !!fintechProfileModule?.actions.some((act) => [
|
|
1377
|
+
ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),
|
|
1378
|
+
ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),
|
|
1379
|
+
].includes(act.name));
|
|
1380
|
+
this.hasMarketplaceAdminPermission = !!marketplaceProfileModule?.actions.some((act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE);
|
|
1381
|
+
this.hasAnyFintechPermission = !!fintechProfileModule?.actions?.length;
|
|
1382
|
+
this.storageService.setProfile({
|
|
1383
|
+
marketplace: marketplaceProfileModule,
|
|
1384
|
+
fintech: fintechProfileModule,
|
|
1385
|
+
allModules,
|
|
1386
|
+
});
|
|
1387
|
+
this.moduleProfile$.next(allModules);
|
|
1388
|
+
});
|
|
1389
|
+
}
|
|
1390
|
+
userHasPermission(action) {
|
|
1391
|
+
if (!action) {
|
|
1392
|
+
return true;
|
|
1393
|
+
}
|
|
1394
|
+
if (!this.moduleProfile$.value) {
|
|
1395
|
+
return false;
|
|
1396
|
+
}
|
|
1397
|
+
if (Array.isArray(action)) {
|
|
1398
|
+
return action.some((act) => {
|
|
1399
|
+
if (Object.values(ProfileModuleActionType).some((val) => val === act)) {
|
|
1400
|
+
return this.moduleProfile$.value?.some((module) => module.actions.some((moduleAction) => moduleAction.name === act));
|
|
1425
1401
|
}
|
|
1402
|
+
if (Object.values(ProfileModuleType).some((val) => val === act)) {
|
|
1403
|
+
return this.moduleProfile$.value?.some((module) => module.name === act);
|
|
1404
|
+
}
|
|
1405
|
+
return false;
|
|
1406
|
+
});
|
|
1407
|
+
}
|
|
1408
|
+
else {
|
|
1409
|
+
if (Object.values(ProfileModuleActionType).some((val) => val === action)) {
|
|
1410
|
+
return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));
|
|
1426
1411
|
}
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
return validator;
|
|
1430
|
-
}
|
|
1431
|
-
static firstLetterIsUppercase(control) {
|
|
1432
|
-
const controlValue = control.value;
|
|
1433
|
-
const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;
|
|
1434
|
-
if (!!controlValue) {
|
|
1435
|
-
if (!controlValue.match(regex)) {
|
|
1436
|
-
return { invalidField: true };
|
|
1412
|
+
if (Object.values(ProfileModuleType).some((val) => val === action)) {
|
|
1413
|
+
return this.moduleProfile$.value.some((module) => module.name === action);
|
|
1437
1414
|
}
|
|
1438
|
-
return null;
|
|
1439
1415
|
}
|
|
1440
|
-
return
|
|
1416
|
+
return false;
|
|
1441
1417
|
}
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1418
|
+
}
|
|
1419
|
+
ProfileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ProfileService, deps: [{ token: i1$2.HttpClient }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1420
|
+
ProfileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ProfileService, providedIn: 'root' });
|
|
1421
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ProfileService, decorators: [{
|
|
1422
|
+
type: Injectable,
|
|
1423
|
+
args: [{ providedIn: 'root' }]
|
|
1424
|
+
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: StorageService }]; } });
|
|
1425
|
+
|
|
1426
|
+
class FieldErrorMessageComponent {
|
|
1427
|
+
constructor() { }
|
|
1428
|
+
ngOnInit() { }
|
|
1429
|
+
fieldErrorLabel() {
|
|
1430
|
+
if (this.control && this.control.invalid && this.control.touched) {
|
|
1431
|
+
if (this.control.hasError('required')) {
|
|
1432
|
+
return 'Campo obrigatório';
|
|
1448
1433
|
}
|
|
1449
|
-
|
|
1434
|
+
if (this.control.hasError('minlength')) {
|
|
1435
|
+
return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;
|
|
1436
|
+
}
|
|
1437
|
+
if (this.control.hasError('maxlength')) {
|
|
1438
|
+
return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
|
|
1439
|
+
}
|
|
1440
|
+
return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
|
|
1450
1441
|
}
|
|
1451
|
-
return
|
|
1442
|
+
return '';
|
|
1452
1443
|
}
|
|
1453
|
-
}
|
|
1444
|
+
}
|
|
1445
|
+
FieldErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1446
|
+
FieldErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: { control: "control" }, ngImport: i0, template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] });
|
|
1447
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, decorators: [{
|
|
1448
|
+
type: Component,
|
|
1449
|
+
args: [{ selector: 'vector-field-error-message', template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] }]
|
|
1450
|
+
}], ctorParameters: function () { return []; }, propDecorators: { control: [{
|
|
1451
|
+
type: Input
|
|
1452
|
+
}] } });
|
|
1454
1453
|
|
|
1455
|
-
class
|
|
1456
|
-
|
|
1457
|
-
|
|
1454
|
+
class CalendarComponent {
|
|
1455
|
+
constructor(modalService) {
|
|
1456
|
+
this.modalService = modalService;
|
|
1457
|
+
this.isRequired = false;
|
|
1458
|
+
this.label = '';
|
|
1459
|
+
this.showCalendarOnFocus = true;
|
|
1460
|
+
this.min = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();
|
|
1461
|
+
this.max = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();
|
|
1462
|
+
this.disabledDates = [];
|
|
1463
|
+
this.disabled = false;
|
|
1464
|
+
this.defaultDate = DateTime.now().toJSDate();
|
|
1465
|
+
this.hiddenErrorMessage = false;
|
|
1466
|
+
this.keyFilter = '';
|
|
1458
1467
|
}
|
|
1459
|
-
|
|
1460
|
-
|
|
1468
|
+
get placeholder() {
|
|
1469
|
+
if (!this.label) {
|
|
1470
|
+
return '';
|
|
1471
|
+
}
|
|
1472
|
+
return `${this.label}${this.isRequired ? '*' : ''}`;
|
|
1461
1473
|
}
|
|
1462
|
-
|
|
1474
|
+
fieldErrorLabel() {
|
|
1475
|
+
if (this.control && this.control.invalid && this.control.touched) {
|
|
1476
|
+
if (this.control.hasError('required')) {
|
|
1477
|
+
return 'Campo obrigatório';
|
|
1478
|
+
}
|
|
1479
|
+
if (this.control.hasError('maxlength')) {
|
|
1480
|
+
return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
|
|
1481
|
+
}
|
|
1482
|
+
return 'Campo inválido';
|
|
1483
|
+
}
|
|
1484
|
+
return '';
|
|
1485
|
+
}
|
|
1486
|
+
onShowCalendar() {
|
|
1487
|
+
this.modalService.showModalBackground$.next(true);
|
|
1488
|
+
}
|
|
1489
|
+
onHideCalendar() {
|
|
1490
|
+
this.modalService.showModalBackground$.next(false);
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1494
|
+
CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CalendarComponent, selector: "vector-calendar-field", inputs: { isRequired: "isRequired", control: "control", label: "label", showCalendarOnFocus: "showCalendarOnFocus", min: "min", max: "max", disabledDates: "disabledDates", disabled: "disabled", defaultDate: "defaultDate", hiddenErrorMessage: "hiddenErrorMessage" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i2$3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
1496
|
+
type: Component,
|
|
1497
|
+
args: [{ selector: 'vector-calendar-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
|
|
1498
|
+
}], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { isRequired: [{
|
|
1499
|
+
type: Input
|
|
1500
|
+
}], control: [{
|
|
1501
|
+
type: Input
|
|
1502
|
+
}], label: [{
|
|
1503
|
+
type: Input
|
|
1504
|
+
}], showCalendarOnFocus: [{
|
|
1505
|
+
type: Input
|
|
1506
|
+
}], min: [{
|
|
1507
|
+
type: Input
|
|
1508
|
+
}], max: [{
|
|
1509
|
+
type: Input
|
|
1510
|
+
}], disabledDates: [{
|
|
1511
|
+
type: Input
|
|
1512
|
+
}], disabled: [{
|
|
1513
|
+
type: Input
|
|
1514
|
+
}], defaultDate: [{
|
|
1515
|
+
type: Input
|
|
1516
|
+
}], hiddenErrorMessage: [{
|
|
1517
|
+
type: Input
|
|
1518
|
+
}] } });
|
|
1519
|
+
|
|
1520
|
+
class CheckboxFieldComponent {
|
|
1521
|
+
constructor() {
|
|
1522
|
+
this.isRequired = false;
|
|
1523
|
+
this.label = '';
|
|
1524
|
+
this.rounded = false;
|
|
1525
|
+
this.labelSize = 'default';
|
|
1526
|
+
this.value = false;
|
|
1527
|
+
this.disabled = false;
|
|
1528
|
+
this.valueChange = new EventEmitter();
|
|
1529
|
+
}
|
|
1530
|
+
ngOnInit() { }
|
|
1531
|
+
}
|
|
1532
|
+
CheckboxFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1533
|
+
CheckboxFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CheckboxFieldComponent, selector: "vector-checkbox-field", inputs: { isRequired: "isRequired", control: "control", label: "label", rounded: "rounded", labelSize: "labelSize", value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"checkbox-container\">\r\n <p-checkbox\r\n *ngIf=\"control\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}\n"], components: [{ type: i1$4.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
|
|
1535
|
+
type: Component,
|
|
1536
|
+
args: [{ selector: 'vector-checkbox-field', template: "<div class=\"checkbox-container\">\r\n <p-checkbox\r\n *ngIf=\"control\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}\n"] }]
|
|
1537
|
+
}], ctorParameters: function () { return []; }, propDecorators: { isRequired: [{
|
|
1538
|
+
type: Input
|
|
1539
|
+
}], control: [{
|
|
1540
|
+
type: Input
|
|
1541
|
+
}], label: [{
|
|
1542
|
+
type: Input
|
|
1543
|
+
}], rounded: [{
|
|
1544
|
+
type: Input
|
|
1545
|
+
}], labelSize: [{
|
|
1546
|
+
type: Input
|
|
1547
|
+
}], value: [{
|
|
1548
|
+
type: Input
|
|
1549
|
+
}], disabled: [{
|
|
1550
|
+
type: Input
|
|
1551
|
+
}], valueChange: [{
|
|
1552
|
+
type: Output
|
|
1553
|
+
}] } });
|
|
1463
1554
|
|
|
1464
1555
|
class CurrencyFieldComponent {
|
|
1465
1556
|
constructor() {
|
|
@@ -1548,10 +1639,10 @@ class CurrencyFieldComponent {
|
|
|
1548
1639
|
}
|
|
1549
1640
|
}
|
|
1550
1641
|
CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1551
|
-
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: ["
|
|
1642
|
+
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1$5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
1552
1643
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
1553
1644
|
type: Component,
|
|
1554
|
-
args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: ["
|
|
1645
|
+
args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"] }]
|
|
1555
1646
|
}], propDecorators: { minValue: [{
|
|
1556
1647
|
type: Input
|
|
1557
1648
|
}], maxValue: [{
|
|
@@ -1736,10 +1827,10 @@ class TextFieldComponent {
|
|
|
1736
1827
|
}
|
|
1737
1828
|
}
|
|
1738
1829
|
TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1739
|
-
TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextFieldComponent, selector: "vector-text-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", isPassword: "isPassword", numeric: "numeric", decimal: "decimal", onlyText: "onlyText", alphaNumeric: "alphaNumeric", mask: "mask", autoClear: "autoClear", rightIcon: "rightIcon", centered: "centered", enableDocumentTypeChoice: "enableDocumentTypeChoice", hiddenErrorMessage: "hiddenErrorMessage", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent", onDocumentTypeChange: "onDocumentTypeChange" }, ngImport: i0, template: "<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n slotChar=\"_\"\r\n (click)=\"onFocus($event)\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n <!-- <span class=\"input-error\">{{ fieldErrorLabel() }}</span> -->\r\n</form>\r\n", styles: ["
|
|
1830
|
+
TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextFieldComponent, selector: "vector-text-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", isPassword: "isPassword", numeric: "numeric", decimal: "decimal", onlyText: "onlyText", alphaNumeric: "alphaNumeric", mask: "mask", autoClear: "autoClear", rightIcon: "rightIcon", centered: "centered", enableDocumentTypeChoice: "enableDocumentTypeChoice", hiddenErrorMessage: "hiddenErrorMessage", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent", onDocumentTypeChange: "onDocumentTypeChange" }, ngImport: i0, template: "<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n slotChar=\"_\"\r\n (click)=\"onFocus($event)\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n <!-- <span class=\"input-error\">{{ fieldErrorLabel() }}</span> -->\r\n</form>\r\n", styles: [".input-container{width:100%}.input-container .password-field{-webkit-text-security:disc}.input-container .input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}.input-container .show-password-icon{font-size:1.4em;margin-right:5px;cursor:pointer}.input-container .text-centered{text-align:center}\n"], components: [{ type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i2$5.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }, { type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.InputText, selector: "[pInputText]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i7.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
1740
1831
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
1741
1832
|
type: Component,
|
|
1742
|
-
args: [{ selector: 'vector-text-field', template: "<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n slotChar=\"_\"\r\n (click)=\"onFocus($event)\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n <!-- <span class=\"input-error\">{{ fieldErrorLabel() }}</span> -->\r\n</form>\r\n", styles: ["
|
|
1833
|
+
args: [{ selector: 'vector-text-field', template: "<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n slotChar=\"_\"\r\n (click)=\"onFocus($event)\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n <!-- <span class=\"input-error\">{{ fieldErrorLabel() }}</span> -->\r\n</form>\r\n", styles: [".input-container{width:100%}.input-container .password-field{-webkit-text-security:disc}.input-container .input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}.input-container .show-password-icon{font-size:1.4em;margin-right:5px;cursor:pointer}.input-container .text-centered{text-align:center}\n"] }]
|
|
1743
1834
|
}], propDecorators: { isRequired: [{
|
|
1744
1835
|
type: Input
|
|
1745
1836
|
}], label: [{
|
|
@@ -1791,6 +1882,7 @@ class DropdownFieldComponent {
|
|
|
1791
1882
|
this.isLoading = false;
|
|
1792
1883
|
this.pagedSuggestions = [];
|
|
1793
1884
|
this.unlistenAutocompleteVirtualScroll = () => { };
|
|
1885
|
+
this.selectedDynamicFilter = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;
|
|
1794
1886
|
this._options = [];
|
|
1795
1887
|
this.currentScrollPage = -1;
|
|
1796
1888
|
this.currentScrollIndex = 0;
|
|
@@ -1909,10 +2001,10 @@ class DropdownFieldComponent {
|
|
|
1909
2001
|
}
|
|
1910
2002
|
}
|
|
1911
2003
|
DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
1912
|
-
DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage" }, outputs: { onFocus: "onFocus" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-autoComplete\r\n
|
|
2004
|
+
DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters" }, outputs: { onFocus: "onFocus" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n ppendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1$6.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2$6.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
1913
2005
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
|
|
1914
2006
|
type: Component,
|
|
1915
|
-
args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-autoComplete\r\n
|
|
2007
|
+
args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n ppendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
|
|
1916
2008
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
|
|
1917
2009
|
type: Input
|
|
1918
2010
|
}], isRequired: [{
|
|
@@ -1931,10 +2023,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
1931
2023
|
type: Input
|
|
1932
2024
|
}], hiddenErrorMessage: [{
|
|
1933
2025
|
type: Input
|
|
2026
|
+
}], dynamicFilters: [{
|
|
2027
|
+
type: Input
|
|
1934
2028
|
}], onFocus: [{
|
|
1935
2029
|
type: Output
|
|
1936
2030
|
}] } });
|
|
1937
2031
|
|
|
2032
|
+
class SelectButtonFieldComponent {
|
|
2033
|
+
constructor() {
|
|
2034
|
+
this.options = [];
|
|
2035
|
+
}
|
|
2036
|
+
}
|
|
2037
|
+
SelectButtonFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2038
|
+
SelectButtonFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: { options: "options", control: "control" }, ngImport: i0, template: "<div class=\"input-container p-input-icon-right\">\r\n <p-selectButton [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\r\n</div>\r\n", styles: [""], components: [{ type: i1$7.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }], directives: [{ type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2039
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectButtonFieldComponent, decorators: [{
|
|
2040
|
+
type: Component,
|
|
2041
|
+
args: [{ selector: 'vector-select-button-field', template: "<div class=\"input-container p-input-icon-right\">\r\n <p-selectButton [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\r\n</div>\r\n", styles: [""] }]
|
|
2042
|
+
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
2043
|
+
type: Input
|
|
2044
|
+
}], control: [{
|
|
2045
|
+
type: Input
|
|
2046
|
+
}] } });
|
|
2047
|
+
|
|
1938
2048
|
var FieldType;
|
|
1939
2049
|
(function (FieldType) {
|
|
1940
2050
|
FieldType[FieldType["DROPDOWN"] = 0] = "DROPDOWN";
|
|
@@ -1942,6 +2052,8 @@ var FieldType;
|
|
|
1942
2052
|
FieldType[FieldType["DATE"] = 2] = "DATE";
|
|
1943
2053
|
FieldType[FieldType["NUMBER"] = 3] = "NUMBER";
|
|
1944
2054
|
FieldType[FieldType["CURRENCY"] = 4] = "CURRENCY";
|
|
2055
|
+
FieldType[FieldType["DYNAMIC_DROPDOWN"] = 5] = "DYNAMIC_DROPDOWN";
|
|
2056
|
+
FieldType[FieldType["SELECT_BUTTON"] = 6] = "SELECT_BUTTON";
|
|
1945
2057
|
})(FieldType || (FieldType = {}));
|
|
1946
2058
|
class FiltersComponent {
|
|
1947
2059
|
constructor() {
|
|
@@ -1974,6 +2086,9 @@ class FiltersComponent {
|
|
|
1974
2086
|
get fields() {
|
|
1975
2087
|
return this._fields;
|
|
1976
2088
|
}
|
|
2089
|
+
get hideFilters() {
|
|
2090
|
+
return !this.fields?.filter((item) => !item.hidden).length;
|
|
2091
|
+
}
|
|
1977
2092
|
ngOnInit() { }
|
|
1978
2093
|
ngOnDestroy() {
|
|
1979
2094
|
this.subscription.unsubscribe();
|
|
@@ -2016,6 +2131,11 @@ class FiltersComponent {
|
|
|
2016
2131
|
case 'medium':
|
|
2017
2132
|
return 'md:col-3';
|
|
2018
2133
|
case 'large':
|
|
2134
|
+
return 'md:col-4';
|
|
2135
|
+
case 'largest':
|
|
2136
|
+
return 'md:col-8';
|
|
2137
|
+
case 'full':
|
|
2138
|
+
return 'md:col-12';
|
|
2019
2139
|
default:
|
|
2020
2140
|
return 'md:col-4';
|
|
2021
2141
|
}
|
|
@@ -2041,10 +2161,10 @@ class FiltersComponent {
|
|
|
2041
2161
|
}
|
|
2042
2162
|
}
|
|
2043
2163
|
FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2044
|
-
FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch" }, ngImport: i0, template: "<
|
|
2164
|
+
FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN || field.type === fieldTypes.DYNAMIC_DROPDOWN\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n >\r\n </vector-select-button-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n label=\"Pesquisar\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n style=\"float: right; width: 150px\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.display-none{display:none!important}\n"], components: [{ type: TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters"], outputs: ["onFocus"] }, { type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "control", "outlined", "rounded", "label"] }, { type: CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": NotHiddenPipe } });
|
|
2045
2165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
2046
2166
|
type: Component,
|
|
2047
|
-
args: [{ selector: 'vector-filters', template: "<
|
|
2167
|
+
args: [{ selector: 'vector-filters', template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN || field.type === fieldTypes.DYNAMIC_DROPDOWN\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n >\r\n </vector-select-button-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n label=\"Pesquisar\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n style=\"float: right; width: 150px\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.display-none{display:none!important}\n"] }]
|
|
2048
2168
|
}], ctorParameters: function () { return []; }, propDecorators: { fields: [{
|
|
2049
2169
|
type: Input
|
|
2050
2170
|
}], onSearch: [{
|
|
@@ -2062,9 +2182,12 @@ class DataTableComponent {
|
|
|
2062
2182
|
this.addItemLabel = '';
|
|
2063
2183
|
this.pagination = true;
|
|
2064
2184
|
this.virtualPagination = false;
|
|
2185
|
+
this.addItemButtonPlusSign = false;
|
|
2065
2186
|
this.onLazyLoad = new EventEmitter();
|
|
2066
2187
|
this.onFilter = new EventEmitter();
|
|
2067
2188
|
this.onAdd = new EventEmitter();
|
|
2189
|
+
this.onExportExcel = new EventEmitter();
|
|
2190
|
+
this.onExportPDF = new EventEmitter();
|
|
2068
2191
|
this._tabs = [];
|
|
2069
2192
|
this.draw = 1;
|
|
2070
2193
|
this.firstLazyLoadedDone = false;
|
|
@@ -2182,10 +2305,10 @@ class DataTableComponent {
|
|
|
2182
2305
|
}
|
|
2183
2306
|
}
|
|
2184
2307
|
DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2185
|
-
DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DataTableComponent, selector: "vector-data-table", inputs: { columns: "columns", data: "data", exportExcel: "exportExcel", exportPDF: "exportPDF", totalRecords: "totalRecords", filters: "filters", addItemLabel: "addItemLabel", pagination: "pagination", virtualPagination: "virtualPagination", tabs: "tabs" }, outputs: { onLazyLoad: "onLazyLoad", onFilter: "onFilter", onAdd: "onAdd" }, viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: FiltersComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12
|
|
2308
|
+
DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DataTableComponent, selector: "vector-data-table", inputs: { columns: "columns", data: "data", exportExcel: "exportExcel", exportPDF: "exportPDF", totalRecords: "totalRecords", filters: "filters", addItemLabel: "addItemLabel", pagination: "pagination", virtualPagination: "virtualPagination", tabs: "tabs", addItemButtonPlusSign: "addItemButtonPlusSign" }, outputs: { onLazyLoad: "onLazyLoad", onFilter: "onFilter", onAdd: "onAdd", onExportExcel: "onExportExcel", onExportPDF: "onExportPDF" }, viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: FiltersComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters [fields]=\"filters\" (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 100px\" class=\"centered\">A\u00E7\u00F5es</th>\r\n <th *ngFor=\"let col of columns\" [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.field\">\r\n {{ col.header }} <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item>\r\n <tr class=\"row\">\r\n <td style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <td\r\n *ngFor=\"let col of columns\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}\n"], components: [{ type: FiltersComponent, selector: "vector-filters", inputs: ["fields"], outputs: ["onSearch"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: PanelComponent, selector: "vector-panel" }, { type: i4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i5.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i5.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: i6$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }] });
|
|
2186
2309
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
2187
2310
|
type: Component,
|
|
2188
|
-
args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12
|
|
2311
|
+
args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters [fields]=\"filters\" (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 100px\" class=\"centered\">A\u00E7\u00F5es</th>\r\n <th *ngFor=\"let col of columns\" [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.field\">\r\n {{ col.header }} <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item>\r\n <tr class=\"row\">\r\n <td style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <td\r\n *ngFor=\"let col of columns\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}\n"] }]
|
|
2189
2312
|
}], ctorParameters: function () { return []; }, propDecorators: { columns: [{
|
|
2190
2313
|
type: Input
|
|
2191
2314
|
}], data: [{
|
|
@@ -2206,12 +2329,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2206
2329
|
type: Input
|
|
2207
2330
|
}], tabs: [{
|
|
2208
2331
|
type: Input
|
|
2332
|
+
}], addItemButtonPlusSign: [{
|
|
2333
|
+
type: Input
|
|
2209
2334
|
}], onLazyLoad: [{
|
|
2210
2335
|
type: Output
|
|
2211
2336
|
}], onFilter: [{
|
|
2212
2337
|
type: Output
|
|
2213
2338
|
}], onAdd: [{
|
|
2214
2339
|
type: Output
|
|
2340
|
+
}], onExportExcel: [{
|
|
2341
|
+
type: Output
|
|
2342
|
+
}], onExportPDF: [{
|
|
2343
|
+
type: Output
|
|
2215
2344
|
}], filtersComponent: [{
|
|
2216
2345
|
type: ViewChild,
|
|
2217
2346
|
args: [FiltersComponent, { static: true }]
|
|
@@ -2240,10 +2369,10 @@ class MultiselectFieldComponent {
|
|
|
2240
2369
|
}
|
|
2241
2370
|
}
|
|
2242
2371
|
MultiselectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2243
|
-
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { isRequired: "isRequired", control: "control", label: "label", options: "options" }, ngImport: i0, template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: ["
|
|
2372
|
+
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { isRequired: "isRequired", control: "control", label: "label", options: "options" }, ngImport: i0, template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [".input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i1$8.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2244
2373
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
|
|
2245
2374
|
type: Component,
|
|
2246
|
-
args: [{ selector: 'vector-multiselect-field', template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: ["
|
|
2375
|
+
args: [{ selector: 'vector-multiselect-field', template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [".input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
|
|
2247
2376
|
}], propDecorators: { isRequired: [{
|
|
2248
2377
|
type: Input
|
|
2249
2378
|
}], control: [{
|
|
@@ -2265,10 +2394,10 @@ class PercentageFieldComponent {
|
|
|
2265
2394
|
}
|
|
2266
2395
|
}
|
|
2267
2396
|
PercentageFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2268
|
-
PercentageFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: PercentageFieldComponent, selector: "vector-percentage-field", inputs: { control: "control", min: "min", max: "max" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <p-inputNumber [formControl]=\"control\" suffix=\"%\" [min]=\"min\" [max]=\"max\"></p-inputNumber>\r\n</form>\r\n", styles: ["
|
|
2397
|
+
PercentageFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: PercentageFieldComponent, selector: "vector-percentage-field", inputs: { control: "control", min: "min", max: "max" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <p-inputNumber [formControl]=\"control\" suffix=\"%\" [min]=\"min\" [max]=\"max\"></p-inputNumber>\r\n</form>\r\n", styles: [".input-container{width:100%}\n"], components: [{ type: i1$5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2269
2398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, decorators: [{
|
|
2270
2399
|
type: Component,
|
|
2271
|
-
args: [{ selector: 'vector-percentage-field', template: "<form class=\"input-container\">\r\n <p-inputNumber [formControl]=\"control\" suffix=\"%\" [min]=\"min\" [max]=\"max\"></p-inputNumber>\r\n</form>\r\n", styles: ["
|
|
2400
|
+
args: [{ selector: 'vector-percentage-field', template: "<form class=\"input-container\">\r\n <p-inputNumber [formControl]=\"control\" suffix=\"%\" [min]=\"min\" [max]=\"max\"></p-inputNumber>\r\n</form>\r\n", styles: [".input-container{width:100%}\n"] }]
|
|
2272
2401
|
}], propDecorators: { control: [{
|
|
2273
2402
|
type: Input
|
|
2274
2403
|
}], min: [{
|
|
@@ -2299,7 +2428,7 @@ class RadioButtonFieldComponent {
|
|
|
2299
2428
|
}
|
|
2300
2429
|
}
|
|
2301
2430
|
RadioButtonFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2302
|
-
RadioButtonFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: RadioButtonFieldComponent, selector: "vector-radio-button-field", inputs: { groupName: "groupName", options: "options", control: "control", layout: "layout", justifySpaceBetween: "justifySpaceBetween" }, ngImport: i0, template: "<div\r\n class=\"radio-buttons-container\"\r\n [ngClass]=\"layoutClass\"\r\n [ngStyle]=\"{ 'justify-content': justifySpaceBetween ? 'space-between' : 'flex-start' }\"\r\n>\r\n <div *ngFor=\"let option of options\" class=\"radio-button-item\">\r\n <p-radioButton\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [label]=\"option.label\"\r\n [formControl]=\"control\"\r\n ></p-radioButton>\r\n </div>\r\n</div>\r\n", styles: [".radio-buttons-container{display:flex;flex-wrap:wrap;align-items:center;height:100%;width:100%}.radio-buttons-container .radio-button-item{margin:5px;flex:1 100px}.vertical{flex-direction:column;align-items:flex-start}.vertical .radio-button-item{margin-bottom:.5rem}.horizontal{flex-direction:row}\n"], components: [{ type: i1$
|
|
2431
|
+
RadioButtonFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: RadioButtonFieldComponent, selector: "vector-radio-button-field", inputs: { groupName: "groupName", options: "options", control: "control", layout: "layout", justifySpaceBetween: "justifySpaceBetween" }, ngImport: i0, template: "<div\r\n class=\"radio-buttons-container\"\r\n [ngClass]=\"layoutClass\"\r\n [ngStyle]=\"{ 'justify-content': justifySpaceBetween ? 'space-between' : 'flex-start' }\"\r\n>\r\n <div *ngFor=\"let option of options\" class=\"radio-button-item\">\r\n <p-radioButton\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [label]=\"option.label\"\r\n [formControl]=\"control\"\r\n ></p-radioButton>\r\n </div>\r\n</div>\r\n", styles: [".radio-buttons-container{display:flex;flex-wrap:wrap;align-items:center;height:100%;width:100%}.radio-buttons-container .radio-button-item{margin:5px;flex:1 100px}.vertical{flex-direction:column;align-items:flex-start}.vertical .radio-button-item{margin-bottom:.5rem}.horizontal{flex-direction:row}\n"], components: [{ type: i1$9.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2303
2432
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioButtonFieldComponent, decorators: [{
|
|
2304
2433
|
type: Component,
|
|
2305
2434
|
args: [{ selector: 'vector-radio-button-field', template: "<div\r\n class=\"radio-buttons-container\"\r\n [ngClass]=\"layoutClass\"\r\n [ngStyle]=\"{ 'justify-content': justifySpaceBetween ? 'space-between' : 'flex-start' }\"\r\n>\r\n <div *ngFor=\"let option of options\" class=\"radio-button-item\">\r\n <p-radioButton\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [label]=\"option.label\"\r\n [formControl]=\"control\"\r\n ></p-radioButton>\r\n </div>\r\n</div>\r\n", styles: [".radio-buttons-container{display:flex;flex-wrap:wrap;align-items:center;height:100%;width:100%}.radio-buttons-container .radio-button-item{margin:5px;flex:1 100px}.vertical{flex-direction:column;align-items:flex-start}.vertical .radio-button-item{margin-bottom:.5rem}.horizontal{flex-direction:row}\n"] }]
|
|
@@ -2360,10 +2489,10 @@ class RangeValueComponent {
|
|
|
2360
2489
|
}
|
|
2361
2490
|
}
|
|
2362
2491
|
RangeValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RangeValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2363
|
-
RangeValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: RangeValueComponent, selector: "vector-range-value", inputs: { value: "value", movimentedValue: "movimentedValue", min: "min", max: "max" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"range-input\">\r\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\r\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\"></p-slider>\r\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\r\n</div>\r\n", styles: ["
|
|
2492
|
+
RangeValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: RangeValueComponent, selector: "vector-range-value", inputs: { value: "value", movimentedValue: "movimentedValue", min: "min", max: "max" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"range-input\">\r\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\r\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\"></p-slider>\r\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\r\n</div>\r\n", styles: [".range-input{display:flex;flex-flow:row;align-items:center}.range-input .btn-range{width:26px;height:26px;display:flex;justify-content:center;align-items:center;background-color:#fff;border:2px solid var(--theme-dark);border-radius:4px;color:var(--theme-dark);text-decoration:none;font-size:1rem}.range-input .btn-range:hover{-webkit-transition:.2s linear;-moz-transition:.2s linear;-o-prop:.2s linear;background-color:var(--theme-dark);color:#fff}.range-input .minus:before{content:\"-\"}.range-input p-slider{flex:1;margin:0 10px}.range-input .plus:before{content:\"+\"}\n"], components: [{ type: i1$a.Slider, selector: "p-slider", inputs: ["animate", "disabled", "min", "max", "orientation", "step", "range", "style", "styleClass", "ariaLabelledBy", "tabindex"], outputs: ["onChange", "onSlideEnd"] }], directives: [{ type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
2364
2493
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RangeValueComponent, decorators: [{
|
|
2365
2494
|
type: Component,
|
|
2366
|
-
args: [{ selector: 'vector-range-value', template: "<div class=\"range-input\">\r\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\r\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\"></p-slider>\r\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\r\n</div>\r\n", styles: ["
|
|
2495
|
+
args: [{ selector: 'vector-range-value', template: "<div class=\"range-input\">\r\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\r\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\"></p-slider>\r\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\r\n</div>\r\n", styles: [".range-input{display:flex;flex-flow:row;align-items:center}.range-input .btn-range{width:26px;height:26px;display:flex;justify-content:center;align-items:center;background-color:#fff;border:2px solid var(--theme-dark);border-radius:4px;color:var(--theme-dark);text-decoration:none;font-size:1rem}.range-input .btn-range:hover{-webkit-transition:.2s linear;-moz-transition:.2s linear;-o-prop:.2s linear;background-color:var(--theme-dark);color:#fff}.range-input .minus:before{content:\"-\"}.range-input p-slider{flex:1;margin:0 10px}.range-input .plus:before{content:\"+\"}\n"] }]
|
|
2367
2496
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
2368
2497
|
type: Input
|
|
2369
2498
|
}], movimentedValue: [{
|
|
@@ -2454,10 +2583,10 @@ class TextareaFieldComponent {
|
|
|
2454
2583
|
}
|
|
2455
2584
|
}
|
|
2456
2585
|
TextareaFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2457
|
-
TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextareaFieldComponent, selector: "vector-textarea-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"5\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: ["
|
|
2586
|
+
TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextareaFieldComponent, selector: "vector-textarea-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"5\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: [".input-container{width:100%;position:relative}.input-container .length-control{position:absolute;right:15px;bottom:15px;opacity:.8;font-size:.6rem}\n"], directives: [{ type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$7.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }] });
|
|
2458
2587
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, decorators: [{
|
|
2459
2588
|
type: Component,
|
|
2460
|
-
args: [{ selector: 'vector-textarea-field', template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"5\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: ["
|
|
2589
|
+
args: [{ selector: 'vector-textarea-field', template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"5\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: [".input-container{width:100%;position:relative}.input-container .length-control{position:absolute;right:15px;bottom:15px;opacity:.8;font-size:.6rem}\n"] }]
|
|
2461
2590
|
}], propDecorators: { isRequired: [{
|
|
2462
2591
|
type: Input
|
|
2463
2592
|
}], label: [{
|
|
@@ -2491,7 +2620,8 @@ FieldsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
2491
2620
|
DataTableComponent,
|
|
2492
2621
|
FiltersComponent,
|
|
2493
2622
|
TextareaFieldComponent,
|
|
2494
|
-
FieldErrorMessageComponent
|
|
2623
|
+
FieldErrorMessageComponent,
|
|
2624
|
+
SelectButtonFieldComponent], imports: [SharedModule,
|
|
2495
2625
|
FormsModule,
|
|
2496
2626
|
ReactiveFormsModule,
|
|
2497
2627
|
KeyFilterModule,
|
|
@@ -2512,7 +2642,8 @@ FieldsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
2512
2642
|
TabViewModule,
|
|
2513
2643
|
PanelModule,
|
|
2514
2644
|
ButtonModule,
|
|
2515
|
-
InputTextareaModule
|
|
2645
|
+
InputTextareaModule,
|
|
2646
|
+
SelectButtonModule], exports: [TextFieldComponent,
|
|
2516
2647
|
CheckboxFieldComponent,
|
|
2517
2648
|
ButtonComponent,
|
|
2518
2649
|
CalendarComponent,
|
|
@@ -2528,7 +2659,8 @@ FieldsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
2528
2659
|
DataTableComponent,
|
|
2529
2660
|
FiltersComponent,
|
|
2530
2661
|
TextareaFieldComponent,
|
|
2531
|
-
FieldErrorMessageComponent
|
|
2662
|
+
FieldErrorMessageComponent,
|
|
2663
|
+
SelectButtonFieldComponent] });
|
|
2532
2664
|
FieldsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldsModule, imports: [[
|
|
2533
2665
|
SharedModule,
|
|
2534
2666
|
FormsModule,
|
|
@@ -2552,6 +2684,7 @@ FieldsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
|
2552
2684
|
PanelModule,
|
|
2553
2685
|
ButtonModule,
|
|
2554
2686
|
InputTextareaModule,
|
|
2687
|
+
SelectButtonModule,
|
|
2555
2688
|
], FileUploadModule,
|
|
2556
2689
|
DialogModule] });
|
|
2557
2690
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldsModule, decorators: [{
|
|
@@ -2580,6 +2713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2580
2713
|
PanelModule,
|
|
2581
2714
|
ButtonModule,
|
|
2582
2715
|
InputTextareaModule,
|
|
2716
|
+
SelectButtonModule,
|
|
2583
2717
|
],
|
|
2584
2718
|
declarations: [
|
|
2585
2719
|
TextFieldComponent,
|
|
@@ -2597,6 +2731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2597
2731
|
FiltersComponent,
|
|
2598
2732
|
TextareaFieldComponent,
|
|
2599
2733
|
FieldErrorMessageComponent,
|
|
2734
|
+
SelectButtonFieldComponent,
|
|
2600
2735
|
],
|
|
2601
2736
|
exports: [
|
|
2602
2737
|
TextFieldComponent,
|
|
@@ -2616,6 +2751,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2616
2751
|
FiltersComponent,
|
|
2617
2752
|
TextareaFieldComponent,
|
|
2618
2753
|
FieldErrorMessageComponent,
|
|
2754
|
+
SelectButtonFieldComponent,
|
|
2619
2755
|
],
|
|
2620
2756
|
}]
|
|
2621
2757
|
}] });
|
|
@@ -2634,6 +2770,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2634
2770
|
}]
|
|
2635
2771
|
}] });
|
|
2636
2772
|
|
|
2773
|
+
class CrudHeaderComponent {
|
|
2774
|
+
constructor() { }
|
|
2775
|
+
get statusLabel() {
|
|
2776
|
+
switch (this.statusCode) {
|
|
2777
|
+
case Status.PENDING:
|
|
2778
|
+
return 'Pendente';
|
|
2779
|
+
case Status.APPROVED:
|
|
2780
|
+
return 'Ativo';
|
|
2781
|
+
case Status.REJECTED:
|
|
2782
|
+
return 'Inativo';
|
|
2783
|
+
}
|
|
2784
|
+
return '';
|
|
2785
|
+
}
|
|
2786
|
+
ngOnInit() { }
|
|
2787
|
+
}
|
|
2788
|
+
CrudHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2789
|
+
CrudHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudHeaderComponent, selector: "vector-crud-header", inputs: { statusCode: "statusCode", code: "code" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"status-container\">\r\n <span>Status</span>\r\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\r\n </div>\r\n <div class=\"separator\"></div>\r\n <span class=\"code-label\"\r\n >C\u00F3digo de identifica\u00E7\u00E3o<span class=\"code\">{{ code }}</span></span\r\n >\r\n</div>\r\n", styles: [".container{display:flex;align-items:center;margin-bottom:15px;justify-content:space-between;flex-wrap:wrap}@media (min-width: 441px){.container{justify-content:flex-end;height:40px}}.container .status-container{display:flex;align-items:center}.container .status-container vector-badge{margin-left:15px}.container .separator{width:1px;height:100%;margin:0 20px;background-color:var(--gray-medium)}@media (max-width: 440px){.container .separator{display:none}}.container .code-label{color:var(--form-labels-color);font-size:13px;max-width:150px;line-height:1rem}.container .code-label .code{color:#000;font-weight:600;font-size:20px;margin-left:10px}\n"], components: [{ type: BadgeComponent, selector: "vector-badge", inputs: ["type", "label", "customColor", "customBackgroundColor"] }] });
|
|
2790
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderComponent, decorators: [{
|
|
2791
|
+
type: Component,
|
|
2792
|
+
args: [{ selector: 'vector-crud-header', template: "<div class=\"container\">\r\n <div class=\"status-container\">\r\n <span>Status</span>\r\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\r\n </div>\r\n <div class=\"separator\"></div>\r\n <span class=\"code-label\"\r\n >C\u00F3digo de identifica\u00E7\u00E3o<span class=\"code\">{{ code }}</span></span\r\n >\r\n</div>\r\n", styles: [".container{display:flex;align-items:center;margin-bottom:15px;justify-content:space-between;flex-wrap:wrap}@media (min-width: 441px){.container{justify-content:flex-end;height:40px}}.container .status-container{display:flex;align-items:center}.container .status-container vector-badge{margin-left:15px}.container .separator{width:1px;height:100%;margin:0 20px;background-color:var(--gray-medium)}@media (max-width: 440px){.container .separator{display:none}}.container .code-label{color:var(--form-labels-color);font-size:13px;max-width:150px;line-height:1rem}.container .code-label .code{color:#000;font-weight:600;font-size:20px;margin-left:10px}\n"] }]
|
|
2793
|
+
}], ctorParameters: function () { return []; }, propDecorators: { statusCode: [{
|
|
2794
|
+
type: Input
|
|
2795
|
+
}], code: [{
|
|
2796
|
+
type: Input
|
|
2797
|
+
}] } });
|
|
2798
|
+
|
|
2799
|
+
class CrudHeaderModule {
|
|
2800
|
+
}
|
|
2801
|
+
CrudHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2802
|
+
CrudHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, declarations: [CrudHeaderComponent], imports: [SharedModule, BadgeModule], exports: [CrudHeaderComponent] });
|
|
2803
|
+
CrudHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, imports: [[SharedModule, BadgeModule]] });
|
|
2804
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, decorators: [{
|
|
2805
|
+
type: NgModule,
|
|
2806
|
+
args: [{
|
|
2807
|
+
declarations: [CrudHeaderComponent],
|
|
2808
|
+
imports: [SharedModule, BadgeModule],
|
|
2809
|
+
exports: [CrudHeaderComponent],
|
|
2810
|
+
}]
|
|
2811
|
+
}] });
|
|
2812
|
+
|
|
2813
|
+
class CrudHistoryComponent {
|
|
2814
|
+
getHistoryBadgeBackgroundColor(crudHistoryEventType) {
|
|
2815
|
+
switch (crudHistoryEventType) {
|
|
2816
|
+
case CrudHistoryEventType.CREATE:
|
|
2817
|
+
return '#CBFFAE';
|
|
2818
|
+
case CrudHistoryEventType.UPDATE:
|
|
2819
|
+
return '#FFE6B0';
|
|
2820
|
+
case CrudHistoryEventType.DELETE:
|
|
2821
|
+
default:
|
|
2822
|
+
return '#FF9393';
|
|
2823
|
+
}
|
|
2824
|
+
}
|
|
2825
|
+
getHistoryBadgeColor(crudHistoryEventType) {
|
|
2826
|
+
switch (crudHistoryEventType) {
|
|
2827
|
+
case CrudHistoryEventType.CREATE:
|
|
2828
|
+
return '#067306';
|
|
2829
|
+
case CrudHistoryEventType.UPDATE:
|
|
2830
|
+
return '#946300';
|
|
2831
|
+
case CrudHistoryEventType.DELETE:
|
|
2832
|
+
default:
|
|
2833
|
+
return '#6B2D2D';
|
|
2834
|
+
}
|
|
2835
|
+
}
|
|
2836
|
+
getHistoryBadgeLabel(crudHistoryEventType) {
|
|
2837
|
+
switch (crudHistoryEventType) {
|
|
2838
|
+
case CrudHistoryEventType.CREATE:
|
|
2839
|
+
return 'Criado';
|
|
2840
|
+
case CrudHistoryEventType.UPDATE:
|
|
2841
|
+
return 'Modificado';
|
|
2842
|
+
case CrudHistoryEventType.DELETE:
|
|
2843
|
+
default:
|
|
2844
|
+
return 'Removido';
|
|
2845
|
+
}
|
|
2846
|
+
}
|
|
2847
|
+
}
|
|
2848
|
+
CrudHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2849
|
+
CrudHistoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudHistoryComponent, selector: "vector-crud-history", inputs: { crudHistory: "crudHistory" }, ngImport: i0, template: "<p-accordionTab *ngIf=\"crudHistory\" class=\"history-item\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"history-item-header-container\">\r\n <div class=\"history-item-header-left\">\r\n <vector-badge\r\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\r\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\r\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\r\n ></vector-badge>\r\n <span>por {{ crudHistory.modifiedBy }}</span>\r\n </div>\r\n <span class=\"history-item-header-right\">\r\n {{ crudHistory.dateTime | date: 'dd/MM/yyyy HH:mm' }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n</p-accordionTab>\r\n", styles: [".history-item{width:100%;margin:10px 0}.history-item .history-item-header-container{display:flex;align-items:center;justify-content:space-between;width:100%}.history-item .history-item-header-container .history-item-header-left{display:flex;align-items:center}.history-item .history-item-header-container .history-item-header-left span{margin-left:15px;color:var(--theme-medium);font-weight:600}.history-item .history-item-header-container .history-item-header-right{font-size:.8rem;color:var(--gray-darker);margin-right:40px}\n"], components: [{ type: i1$b.AccordionTab, selector: "p-accordionTab", inputs: ["header", "disabled", "cache", "transitionOptions", "selected"], outputs: ["selectedChange"] }, { type: BadgeComponent, selector: "vector-badge", inputs: ["type", "label", "customColor", "customBackgroundColor"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "date": i2.DatePipe } });
|
|
2850
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryComponent, decorators: [{
|
|
2851
|
+
type: Component,
|
|
2852
|
+
args: [{ selector: 'vector-crud-history', template: "<p-accordionTab *ngIf=\"crudHistory\" class=\"history-item\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"history-item-header-container\">\r\n <div class=\"history-item-header-left\">\r\n <vector-badge\r\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\r\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\r\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\r\n ></vector-badge>\r\n <span>por {{ crudHistory.modifiedBy }}</span>\r\n </div>\r\n <span class=\"history-item-header-right\">\r\n {{ crudHistory.dateTime | date: 'dd/MM/yyyy HH:mm' }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n</p-accordionTab>\r\n", styles: [".history-item{width:100%;margin:10px 0}.history-item .history-item-header-container{display:flex;align-items:center;justify-content:space-between;width:100%}.history-item .history-item-header-container .history-item-header-left{display:flex;align-items:center}.history-item .history-item-header-container .history-item-header-left span{margin-left:15px;color:var(--theme-medium);font-weight:600}.history-item .history-item-header-container .history-item-header-right{font-size:.8rem;color:var(--gray-darker);margin-right:40px}\n"] }]
|
|
2853
|
+
}], propDecorators: { crudHistory: [{
|
|
2854
|
+
type: Input
|
|
2855
|
+
}] } });
|
|
2856
|
+
|
|
2857
|
+
class CrudHistoryModule {
|
|
2858
|
+
}
|
|
2859
|
+
CrudHistoryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2860
|
+
CrudHistoryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, declarations: [CrudHistoryComponent], imports: [SharedModule, BadgeModule, AccordionModule], exports: [CrudHistoryComponent] });
|
|
2861
|
+
CrudHistoryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, imports: [[SharedModule, BadgeModule, AccordionModule]] });
|
|
2862
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, decorators: [{
|
|
2863
|
+
type: NgModule,
|
|
2864
|
+
args: [{
|
|
2865
|
+
declarations: [CrudHistoryComponent],
|
|
2866
|
+
imports: [SharedModule, BadgeModule, AccordionModule],
|
|
2867
|
+
exports: [CrudHistoryComponent],
|
|
2868
|
+
}]
|
|
2869
|
+
}] });
|
|
2870
|
+
|
|
2637
2871
|
class GenericErrorModalComponent {
|
|
2638
2872
|
constructor(errorService) {
|
|
2639
2873
|
this.errorService = errorService;
|
|
@@ -2652,10 +2886,10 @@ class GenericErrorModalComponent {
|
|
|
2652
2886
|
}
|
|
2653
2887
|
}
|
|
2654
2888
|
GenericErrorModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericErrorModalComponent, deps: [{ token: ErrorMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2655
|
-
GenericErrorModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: GenericErrorModalComponent, selector: "vector-generic-error-modal", ngImport: i0, template: "<p-dialog\r\n [(visible)]=\"!!message\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"true\"\r\n>\r\n <div class=\"content-container\">\r\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\r\n <p class=\"title\">Algo deu errado!</p>\r\n <p class=\"message\">{{ message }}</p>\r\n\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n", styles: ["
|
|
2889
|
+
GenericErrorModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: GenericErrorModalComponent, selector: "vector-generic-error-modal", ngImport: i0, template: "<p-dialog\r\n [(visible)]=\"!!message\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"true\"\r\n>\r\n <div class=\"content-container\">\r\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\r\n <p class=\"title\">Algo deu errado!</p>\r\n <p class=\"message\">{{ message }}</p>\r\n\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n", styles: [".content-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.content-container .title{text-align:center;color:var(--theme-dark);font-weight:600;margin-bottom:20px}.content-container .emote{height:40px;width:40px}@media (min-width: 991px){.content-container .emote{height:60px;width:60px}}.content-container .actions{margin-top:20px;width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center}.content-container .actions vector-button{width:75%}\n"], components: [{ type: i2$8.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }] });
|
|
2656
2890
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericErrorModalComponent, decorators: [{
|
|
2657
2891
|
type: Component,
|
|
2658
|
-
args: [{ selector: 'vector-generic-error-modal', template: "<p-dialog\r\n [(visible)]=\"!!message\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"true\"\r\n>\r\n <div class=\"content-container\">\r\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\r\n <p class=\"title\">Algo deu errado!</p>\r\n <p class=\"message\">{{ message }}</p>\r\n\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n", styles: ["
|
|
2892
|
+
args: [{ selector: 'vector-generic-error-modal', template: "<p-dialog\r\n [(visible)]=\"!!message\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"true\"\r\n>\r\n <div class=\"content-container\">\r\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\r\n <p class=\"title\">Algo deu errado!</p>\r\n <p class=\"message\">{{ message }}</p>\r\n\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n", styles: [".content-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.content-container .title{text-align:center;color:var(--theme-dark);font-weight:600;margin-bottom:20px}.content-container .emote{height:40px;width:40px}@media (min-width: 991px){.content-container .emote{height:60px;width:60px}}.content-container .actions{margin-top:20px;width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center}.content-container .actions vector-button{width:75%}\n"] }]
|
|
2659
2893
|
}], ctorParameters: function () { return [{ type: ErrorMessageService }]; } });
|
|
2660
2894
|
|
|
2661
2895
|
class GenericErrorModalModule {
|
|
@@ -2694,12 +2928,12 @@ class GenericModalComponent {
|
|
|
2694
2928
|
}
|
|
2695
2929
|
}
|
|
2696
2930
|
}
|
|
2697
|
-
GenericModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericModalComponent, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2698
|
-
GenericModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: GenericModalComponent, selector: "vector-generic-modal", inputs: { title: "title", message: "message", fileIcon: "fileIcon", linkLabel: "linkLabel", linkUrl: "linkUrl", display: "display", closable: "closable" }, ngImport: i0, template: "<p-dialog\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"closable\"\r\n>\r\n <div class=\"content-container\">\r\n <img *ngIf=\"fileIcon\" class=\"emote\" src=\"../../../../assets/images/{{ fileIcon }}.svg\" />\r\n <p *ngIf=\"title\" class=\"title\">{{ title }}</p>\r\n <p *ngFor=\"let text of message\" class=\"message\">{{ text }}</p>\r\n <vector-button *ngIf=\"linkLabel\" label=\"
|
|
2931
|
+
GenericModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericModalComponent, deps: [{ token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2932
|
+
GenericModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: GenericModalComponent, selector: "vector-generic-modal", inputs: { title: "title", message: "message", fileIcon: "fileIcon", linkLabel: "linkLabel", linkUrl: "linkUrl", display: "display", closable: "closable" }, ngImport: i0, template: "<p-dialog\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"closable\"\r\n>\r\n <div class=\"content-container\">\r\n <img *ngIf=\"fileIcon\" class=\"emote\" src=\"../../../../assets/images/{{ fileIcon }}.svg\" />\r\n <p *ngIf=\"title\" class=\"title\">{{ title }}</p>\r\n <p *ngFor=\"let text of message\" class=\"message\">{{ text }}</p>\r\n <vector-button *ngIf=\"linkLabel\" [label]=\"linkLabel\" (click)=\"routerLink(linkUrl)\"></vector-button>\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close(true)\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n", styles: [".content-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.content-container .title{text-align:center;color:var(--theme-dark);font-weight:600;margin-bottom:20px}.content-container .emote{height:40px;width:40px}@media (min-width: 991px){.content-container .emote{height:60px;width:60px}}.content-container .actions{margin-top:20px;width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center}.content-container .actions vector-button{width:75%}.content-container .message{text-align:center}\n"], components: [{ type: i2$8.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
2699
2933
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericModalComponent, decorators: [{
|
|
2700
2934
|
type: Component,
|
|
2701
|
-
args: [{ selector: 'vector-generic-modal', template: "<p-dialog\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"closable\"\r\n>\r\n <div class=\"content-container\">\r\n <img *ngIf=\"fileIcon\" class=\"emote\" src=\"../../../../assets/images/{{ fileIcon }}.svg\" />\r\n <p *ngIf=\"title\" class=\"title\">{{ title }}</p>\r\n <p *ngFor=\"let text of message\" class=\"message\">{{ text }}</p>\r\n <vector-button *ngIf=\"linkLabel\" label=\"
|
|
2702
|
-
}], ctorParameters: function () { return [{ type: i2.Router }]; }, propDecorators: { title: [{
|
|
2935
|
+
args: [{ selector: 'vector-generic-modal', template: "<p-dialog\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"closable\"\r\n>\r\n <div class=\"content-container\">\r\n <img *ngIf=\"fileIcon\" class=\"emote\" src=\"../../../../assets/images/{{ fileIcon }}.svg\" />\r\n <p *ngIf=\"title\" class=\"title\">{{ title }}</p>\r\n <p *ngFor=\"let text of message\" class=\"message\">{{ text }}</p>\r\n <vector-button *ngIf=\"linkLabel\" [label]=\"linkLabel\" (click)=\"routerLink(linkUrl)\"></vector-button>\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close(true)\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n", styles: [".content-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.content-container .title{text-align:center;color:var(--theme-dark);font-weight:600;margin-bottom:20px}.content-container .emote{height:40px;width:40px}@media (min-width: 991px){.content-container .emote{height:60px;width:60px}}.content-container .actions{margin-top:20px;width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center}.content-container .actions vector-button{width:75%}.content-container .message{text-align:center}\n"] }]
|
|
2936
|
+
}], ctorParameters: function () { return [{ type: i2$1.Router }]; }, propDecorators: { title: [{
|
|
2703
2937
|
type: Input
|
|
2704
2938
|
}], message: [{
|
|
2705
2939
|
type: Input
|
|
@@ -2751,10 +2985,10 @@ class SubMenusListComponent {
|
|
|
2751
2985
|
}
|
|
2752
2986
|
}
|
|
2753
2987
|
SubMenusListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SubMenusListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2754
|
-
SubMenusListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SubMenusListComponent, selector: "vector-sub-menus-list", inputs: { showList: "showList", options: "options", childLevel: "childLevel", submenuSelected: "submenuSelected" }, outputs: { submenuSelectedChange: "submenuSelectedChange" }, ngImport: i0, template: "<div class=\"sub-menu-container\">\r\n <ul *ngIf=\"showList\" class=\"sub-menu\">\r\n <div *ngFor=\"let submenuItem of options\">\r\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\r\n <div\r\n class=\"current-item\"\r\n [ngClass]=\"{\r\n 'active-menu': submenuSelected?.id === submenuItem.id,\r\n 'always-open': !!submenuItem.alwaysOpen,\r\n 'last-child': !submenuItem.children?.length\r\n }\"\r\n [pTooltip]=\"submenuItem.label\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\r\n <i [class]=\"submenuItem.icon\"></i>\r\n </div>\r\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\r\n <i\r\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\r\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\r\n }\"\r\n ></i>\r\n </div>\r\n </li>\r\n <vector-sub-menus-list\r\n *ngIf=\"submenuItem?.children\"\r\n [options]=\"submenuItem?.children\"\r\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\r\n [childLevel]=\"childLevel + 1\"\r\n (submenuSelectedChange)=\"submenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </div>\r\n </ul>\r\n</div>\r\n", styles: ["
|
|
2988
|
+
SubMenusListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SubMenusListComponent, selector: "vector-sub-menus-list", inputs: { showList: "showList", options: "options", childLevel: "childLevel", submenuSelected: "submenuSelected" }, outputs: { submenuSelectedChange: "submenuSelectedChange" }, ngImport: i0, template: "<div class=\"sub-menu-container\">\r\n <ul *ngIf=\"showList\" class=\"sub-menu\">\r\n <div *ngFor=\"let submenuItem of options\">\r\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\r\n <div\r\n class=\"current-item\"\r\n [ngClass]=\"{\r\n 'active-menu': submenuSelected?.id === submenuItem.id,\r\n 'always-open': !!submenuItem.alwaysOpen,\r\n 'last-child': !submenuItem.children?.length\r\n }\"\r\n [pTooltip]=\"submenuItem.label\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\r\n <i [class]=\"submenuItem.icon\"></i>\r\n </div>\r\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\r\n <i\r\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\r\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\r\n }\"\r\n ></i>\r\n </div>\r\n </li>\r\n <vector-sub-menus-list\r\n *ngIf=\"submenuItem?.children\"\r\n [options]=\"submenuItem?.children\"\r\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\r\n [childLevel]=\"childLevel + 1\"\r\n (submenuSelectedChange)=\"submenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </div>\r\n </ul>\r\n</div>\r\n", styles: [".angle-icon{position:absolute;right:10px}.menu-icon{filter:brightness(0) saturate(100%) invert(14%) sepia(87%) saturate(1218%) hue-rotate(233deg) brightness(88%) contrast(90%);width:20px;height:20px}.icon-container{width:20px;height:20px;position:relative}.icon-container .menu-icon{display:flex;justify-content:center;align-items:center;font-size:1.4em}.icon-container .menu-notifications-count{padding:0 4.5px;background-color:var(--error-color);border-radius:10px;position:absolute;top:-4px;right:-4px;font-size:8px}.menu-label{color:var(--theme-dark);font-weight:600;text-decoration:none;padding-bottom:1px;margin-left:20px;min-width:170px;white-space:normal;overflow:visible}.active-menu:not(.always-open){background-color:var(--gray-light)}.sub-menu-container .sub-menu{list-style:none;display:contents}.sub-menu-container .sub-menu .sub-menu-item{animation:showSubMenu ease-in-out .1s;animation-fill-mode:both}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(1n){animation-delay:50ms}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(2n){animation-delay:.1s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(3n){animation-delay:.15s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(4n){animation-delay:.2s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(5n){animation-delay:.25s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(6n){animation-delay:.3s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(7n){animation-delay:.35s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(8n){animation-delay:.4s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(9n){animation-delay:.45s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(10n){animation-delay:.5s}.sub-menu-container .sub-menu .sub-menu-item .current-item{min-height:40px;display:flex;flex-direction:row;align-items:center;transition:background-color ease-in-out .1s;z-index:2;overflow:hidden;padding:0 10px;border-radius:15px;margin:5px 0;position:relative}.sub-menu-container .sub-menu .sub-menu-item .current-item:not(.always-open){cursor:pointer}.sub-menu-container .sub-menu .sub-menu-item .current-item:hover,.sub-menu-container .sub-menu .sub-menu-item .current-item.active{background-color:var(--gray-light)}.sub-menu-container .sub-menu .sub-menu-item .current-item.active span,.sub-menu-container .sub-menu .sub-menu-item .current-item.active i{color:#fff}@keyframes showSubMenu{0%{transform:translate(-100%)}to{transform:translate(0)}}.sub-menu-container .sub-menu .sub-menu-item .last-child .menu-label{font-weight:400}\n"], components: [{ type: SubMenusListComponent, selector: "vector-sub-menus-list", inputs: ["showList", "options", "childLevel", "submenuSelected"], outputs: ["submenuSelectedChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
2755
2989
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SubMenusListComponent, decorators: [{
|
|
2756
2990
|
type: Component,
|
|
2757
|
-
args: [{ selector: 'vector-sub-menus-list', template: "<div class=\"sub-menu-container\">\r\n <ul *ngIf=\"showList\" class=\"sub-menu\">\r\n <div *ngFor=\"let submenuItem of options\">\r\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\r\n <div\r\n class=\"current-item\"\r\n [ngClass]=\"{\r\n 'active-menu': submenuSelected?.id === submenuItem.id,\r\n 'always-open': !!submenuItem.alwaysOpen,\r\n 'last-child': !submenuItem.children?.length\r\n }\"\r\n [pTooltip]=\"submenuItem.label\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\r\n <i [class]=\"submenuItem.icon\"></i>\r\n </div>\r\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\r\n <i\r\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\r\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\r\n }\"\r\n ></i>\r\n </div>\r\n </li>\r\n <vector-sub-menus-list\r\n *ngIf=\"submenuItem?.children\"\r\n [options]=\"submenuItem?.children\"\r\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\r\n [childLevel]=\"childLevel + 1\"\r\n (submenuSelectedChange)=\"submenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </div>\r\n </ul>\r\n</div>\r\n", styles: ["
|
|
2991
|
+
args: [{ selector: 'vector-sub-menus-list', template: "<div class=\"sub-menu-container\">\r\n <ul *ngIf=\"showList\" class=\"sub-menu\">\r\n <div *ngFor=\"let submenuItem of options\">\r\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\r\n <div\r\n class=\"current-item\"\r\n [ngClass]=\"{\r\n 'active-menu': submenuSelected?.id === submenuItem.id,\r\n 'always-open': !!submenuItem.alwaysOpen,\r\n 'last-child': !submenuItem.children?.length\r\n }\"\r\n [pTooltip]=\"submenuItem.label\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\r\n <i [class]=\"submenuItem.icon\"></i>\r\n </div>\r\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\r\n <i\r\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\r\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\r\n }\"\r\n ></i>\r\n </div>\r\n </li>\r\n <vector-sub-menus-list\r\n *ngIf=\"submenuItem?.children\"\r\n [options]=\"submenuItem?.children\"\r\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\r\n [childLevel]=\"childLevel + 1\"\r\n (submenuSelectedChange)=\"submenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </div>\r\n </ul>\r\n</div>\r\n", styles: [".angle-icon{position:absolute;right:10px}.menu-icon{filter:brightness(0) saturate(100%) invert(14%) sepia(87%) saturate(1218%) hue-rotate(233deg) brightness(88%) contrast(90%);width:20px;height:20px}.icon-container{width:20px;height:20px;position:relative}.icon-container .menu-icon{display:flex;justify-content:center;align-items:center;font-size:1.4em}.icon-container .menu-notifications-count{padding:0 4.5px;background-color:var(--error-color);border-radius:10px;position:absolute;top:-4px;right:-4px;font-size:8px}.menu-label{color:var(--theme-dark);font-weight:600;text-decoration:none;padding-bottom:1px;margin-left:20px;min-width:170px;white-space:normal;overflow:visible}.active-menu:not(.always-open){background-color:var(--gray-light)}.sub-menu-container .sub-menu{list-style:none;display:contents}.sub-menu-container .sub-menu .sub-menu-item{animation:showSubMenu ease-in-out .1s;animation-fill-mode:both}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(1n){animation-delay:50ms}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(2n){animation-delay:.1s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(3n){animation-delay:.15s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(4n){animation-delay:.2s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(5n){animation-delay:.25s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(6n){animation-delay:.3s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(7n){animation-delay:.35s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(8n){animation-delay:.4s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(9n){animation-delay:.45s}.sub-menu-container .sub-menu .sub-menu-item:not(:first-child):nth-child(10n){animation-delay:.5s}.sub-menu-container .sub-menu .sub-menu-item .current-item{min-height:40px;display:flex;flex-direction:row;align-items:center;transition:background-color ease-in-out .1s;z-index:2;overflow:hidden;padding:0 10px;border-radius:15px;margin:5px 0;position:relative}.sub-menu-container .sub-menu .sub-menu-item .current-item:not(.always-open){cursor:pointer}.sub-menu-container .sub-menu .sub-menu-item .current-item:hover,.sub-menu-container .sub-menu .sub-menu-item .current-item.active{background-color:var(--gray-light)}.sub-menu-container .sub-menu .sub-menu-item .current-item.active span,.sub-menu-container .sub-menu .sub-menu-item .current-item.active i{color:#fff}@keyframes showSubMenu{0%{transform:translate(-100%)}to{transform:translate(0)}}.sub-menu-container .sub-menu .sub-menu-item .last-child .menu-label{font-weight:400}\n"] }]
|
|
2758
2992
|
}], propDecorators: { showList: [{
|
|
2759
2993
|
type: Input
|
|
2760
2994
|
}], options: [{
|
|
@@ -2889,18 +3123,16 @@ class MenuComponent {
|
|
|
2889
3123
|
else {
|
|
2890
3124
|
this.activeOption = option.children?.length ? option : undefined;
|
|
2891
3125
|
}
|
|
2892
|
-
if (
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
this.menuService.frameUrl$.next(undefined);
|
|
2903
|
-
}
|
|
3126
|
+
if (option.frameUrl) {
|
|
3127
|
+
this.menuService.frameUrl$.next(option.frameUrl);
|
|
3128
|
+
}
|
|
3129
|
+
else if (option.route) {
|
|
3130
|
+
this.router.navigate([option.route]);
|
|
3131
|
+
this.menuService.frameUrl$.next(undefined);
|
|
3132
|
+
}
|
|
3133
|
+
else if (option.externalUrl) {
|
|
3134
|
+
window.open(option.externalUrl, '_blank');
|
|
3135
|
+
this.menuService.frameUrl$.next(undefined);
|
|
2904
3136
|
}
|
|
2905
3137
|
if (option.children?.length && !this.opened) {
|
|
2906
3138
|
this.toggleMenu();
|
|
@@ -2916,22 +3148,20 @@ class MenuComponent {
|
|
|
2916
3148
|
else {
|
|
2917
3149
|
this.activeSubmenuOption = submenuItem.children?.length ? submenuItem : undefined;
|
|
2918
3150
|
}
|
|
2919
|
-
if (
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
this.menuService.frameUrl$.next(undefined);
|
|
2934
|
-
}
|
|
3151
|
+
if (submenuItem.frameUrl) {
|
|
3152
|
+
this.menuService.frameUrl$.next(submenuItem.frameUrl);
|
|
3153
|
+
}
|
|
3154
|
+
else if (submenuItem.route) {
|
|
3155
|
+
this.router.navigate([submenuItem.route]);
|
|
3156
|
+
this.menuService.frameUrl$.next(undefined);
|
|
3157
|
+
}
|
|
3158
|
+
else if (submenuItem.externalUrl) {
|
|
3159
|
+
window.open(submenuItem.externalUrl, '_blank');
|
|
3160
|
+
this.menuService.frameUrl$.next(undefined);
|
|
3161
|
+
}
|
|
3162
|
+
else if (submenuItem.command) {
|
|
3163
|
+
submenuItem.command();
|
|
3164
|
+
this.menuService.frameUrl$.next(undefined);
|
|
2935
3165
|
}
|
|
2936
3166
|
}
|
|
2937
3167
|
}
|
|
@@ -2958,8 +3188,8 @@ class MenuComponent {
|
|
|
2958
3188
|
this.activeSubmenuOption = undefined;
|
|
2959
3189
|
}
|
|
2960
3190
|
}
|
|
2961
|
-
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuComponent, deps: [{ token: MenuService }, { token: i2.Router }, { token: ProfileService }, { token: StorageService }, { token: 'environment' }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Component });
|
|
2962
|
-
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MenuComponent, selector: "vector-menu", outputs: { onFinishMenuOptionsConfig: "onFinishMenuOptionsConfig" }, host: { listeners: { "window:resize": "onResize($event)", "document:keydown.escape": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\r\n <div class=\"header-menu\">\r\n <div class=\"logo-container\">\r\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\r\n </div>\r\n </div>\r\n <div class=\"menu-sections\">\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELE\u00C7\u00C3O DE PORTAL</span>\r\n <ul class=\"side-menu\">\r\n <li>\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.LOGTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'logtech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item logtech\"></div>\r\n <span class=\"menu-label\">Cargas</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"hasAnyFintechPermission\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.FINTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'fintech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item fintech\"></div>\r\n <span class=\"menu-label\">Carteira digital</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"!production\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.MARKETPLACE) }\"\r\n (click)=\"navigateToPortal({ portal: 'marketplace', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item marketplace\"></div>\r\n <span class=\"menu-label\">Combust\u00EDvel</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\r\n <div\r\n class=\"side-menu-item\"\r\n (click)=\"onMenuClick(adminOption)\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\r\n >\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/vector_admin_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label\">{{ adminOption.label }}</span>\r\n <i\r\n *ngIf=\"opened && adminOption.children?.length\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== adminOption.id,\r\n 'fa-angle-up': activeOption?.id === adminOption.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"adminOption.children\"\r\n [showList]=\"activeOption?.id === adminOption.id\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened && options?.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\r\n <ul class=\"side-menu\">\r\n <li *ngFor=\"let option of options\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\r\n [pTooltip]=\"option.label\"\r\n tooltipPosition=\"right\"\r\n (click)=\"onMenuClick(option)\"\r\n >\r\n <div class=\"icon-container\">\r\n <img\r\n *ngIf=\"option.iconFileName\"\r\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\r\n class=\"menu-icon\"\r\n />\r\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\r\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\r\n getMenuNotificationsCount(option)\r\n }}</span>\r\n </div>\r\n <span class=\"menu-label\">{{ option.label }}</span>\r\n <i\r\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== option.id,\r\n 'fa-angle-up': activeOption?.id === option.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"option.children\"\r\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"footer side-menu-item\">\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label footer-content\">\r\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\r\n <span>e <a>Pol\u00EDtica de privacidade</a></span>\r\n </span>\r\n </div>\r\n</nav>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.angle-icon{position:absolute;right:10px}.menu-icon{filter:brightness(0) saturate(100%) invert(14%) sepia(87%) saturate(1218%) hue-rotate(233deg) brightness(88%) contrast(90%);width:20px;height:20px}.icon-container{width:20px;height:20px;position:relative}.icon-container .menu-icon{display:flex;justify-content:center;align-items:center;font-size:1.4em}.icon-container .menu-notifications-count{padding:0 4.5px;background-color:var(--error-color);border-radius:10px;position:absolute;top:-4px;right:-4px;font-size:8px}.menu-label{color:var(--theme-dark);font-weight:600;text-decoration:none;padding-bottom:1px;margin-left:20px;min-width:170px;white-space:normal;overflow:visible}.active-menu:not(.always-open){background-color:var(--gray-light)}nav{height:100vh;min-height:100vh;background-color:#fff;transition:width ease-in-out .2s;display:flex;flex-direction:column;z-index:500;position:sticky;box-shadow:2px 2px 4px #00000029}nav .header-menu{display:flex;justify-content:center;flex-direction:column;width:100%}nav .header-menu .logo-container{height:81px;padding:5px;display:flex;justify-content:center;align-items:center}nav .header-menu .logo-container .logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:center;height:50px;width:150px}nav .header-menu .logo-container .logo-small{background-position-y:center;background-position-x:right}nav .menu-sections{display:flex;flex-direction:column;flex:1;overflow-y:overlay;overflow-x:hidden}nav .menu-sections::-webkit-scrollbar{width:4px}nav .menu-sections .menu-section{margin:5px 10px 0}nav .menu-sections .menu-section:first-child{border-bottom:1px solid var(--gray-light)}nav .menu-sections .menu-section .menu-section-title{color:var(--gray-dark);font-weight:500;font-size:.8em;padding-left:10px;white-space:nowrap;transition:opacity .2s ease-in-out}nav .menu-sections .menu-section .side-menu{padding:0;margin:0;list-style:none;overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none}nav .menu-sections .menu-section .side-menu::-webkit-scrollbar{display:none}@media screen and (max-width: 650px){nav .menu-sections .menu-section .side-menu{background-size:120px;background-position:20px}}nav .menu-sections .menu-section .side-menu-item{min-height:40px;display:flex;flex-direction:row;align-items:center;transition:background-color ease-in-out .1s;z-index:2;overflow:hidden;padding:0 10px;border-radius:15px;margin:5px 0;position:relative}nav .menu-sections .menu-section .side-menu-item:not(.always-open){cursor:pointer}nav .menu-sections .menu-section .side-menu-item:hover{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active span{color:#fff}nav .menu-sections .menu-section .side-menu-item.active i{color:#fff}nav .menu-sections .menu-section .fintech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .logtech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .marketplace{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .selected-portal-item{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain;background-color:var(--form-labels-color)}nav .menu-sections .menu-section .selected-portal-item:before{content:\"\";width:20px;height:20px;display:block}nav .menu-sections .menu-section .selected-portal{background-color:var(--gray-light);border-radius:15px}nav .menu-sections .menu-section .selected-portal .icon-container{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain}nav .menu-sections .menu-section .selected-portal .icon-container .menu-icon{filter:invert(35%) sepia(100%) saturate(5659%) hue-rotate(210deg) brightness(87%) contrast(118%)}nav .menu-sections .menu-section .selected-portal .selected-portal-item{background-color:var(--theme-primary)}nav .menu-sections .menu-section .selected-portal .marketplace .menu-label{color:var(--success-color)}nav .menu-sections .menu-section .selected-portal .menu-label{color:var(--theme-primary)}nav .footer{display:flex;align-items:center;padding:10px;margin:0 10px;border-top:1px solid var(--gray-light);overflow:hidden;height:50px}nav .footer .footer-icon{width:50px}nav .footer .footer-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;font-size:.8em;text-overflow:hidden;white-space:nowrap}\n"], components: [{ type: SubMenusListComponent, selector: "vector-sub-menus-list", inputs: ["showList", "options", "childLevel", "submenuSelected"], outputs: ["submenuSelectedChange"] }], directives: [{ type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], animations: [
|
|
3191
|
+
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuComponent, deps: [{ token: MenuService }, { token: i2$1.Router }, { token: ProfileService }, { token: StorageService }, { token: 'environment' }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Component });
|
|
3192
|
+
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MenuComponent, selector: "vector-menu", outputs: { onFinishMenuOptionsConfig: "onFinishMenuOptionsConfig" }, host: { listeners: { "window:resize": "onResize($event)", "document:keydown.escape": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\r\n <div class=\"header-menu\">\r\n <div class=\"logo-container\">\r\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\r\n </div>\r\n </div>\r\n <div class=\"menu-sections\">\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELE\u00C7\u00C3O DE PORTAL</span>\r\n <ul class=\"side-menu\">\r\n <li>\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.LOGTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'logtech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item logtech\"></div>\r\n <span class=\"menu-label\">Cargas</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"hasAnyFintechPermission\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.FINTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'fintech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item fintech\"></div>\r\n <span class=\"menu-label\">Carteira digital</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"!production\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.MARKETPLACE) }\"\r\n (click)=\"navigateToPortal({ portal: 'marketplace', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item marketplace\"></div>\r\n <span class=\"menu-label\">Combust\u00EDvel</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\r\n <div\r\n class=\"side-menu-item\"\r\n (click)=\"onMenuClick(adminOption)\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\r\n >\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/vector_admin_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label\">{{ adminOption.label }}</span>\r\n <i\r\n *ngIf=\"opened && adminOption.children?.length\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== adminOption.id,\r\n 'fa-angle-up': activeOption?.id === adminOption.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"adminOption.children\"\r\n [showList]=\"activeOption?.id === adminOption.id\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened && options?.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\r\n <ul class=\"side-menu\">\r\n <li *ngFor=\"let option of options\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\r\n [pTooltip]=\"option.label\"\r\n tooltipPosition=\"right\"\r\n (click)=\"onMenuClick(option)\"\r\n >\r\n <div class=\"icon-container\">\r\n <img\r\n *ngIf=\"option.iconFileName\"\r\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\r\n class=\"menu-icon\"\r\n />\r\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\r\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\r\n getMenuNotificationsCount(option)\r\n }}</span>\r\n </div>\r\n <span class=\"menu-label\">{{ option.label }}</span>\r\n <i\r\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== option.id,\r\n 'fa-angle-up': activeOption?.id === option.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"option.children\"\r\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"footer side-menu-item\">\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label footer-content\">\r\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\r\n <span>e <a>Pol\u00EDtica de privacidade</a></span>\r\n </span>\r\n </div>\r\n</nav>\r\n", styles: [".angle-icon{position:absolute;right:10px}.menu-icon{filter:brightness(0) saturate(100%) invert(14%) sepia(87%) saturate(1218%) hue-rotate(233deg) brightness(88%) contrast(90%);width:20px;height:20px}.icon-container{width:20px;height:20px;position:relative}.icon-container .menu-icon{display:flex;justify-content:center;align-items:center;font-size:1.4em}.icon-container .menu-notifications-count{padding:0 4.5px;background-color:var(--error-color);border-radius:10px;position:absolute;top:-4px;right:-4px;font-size:8px}.menu-label{color:var(--theme-dark);font-weight:600;text-decoration:none;padding-bottom:1px;margin-left:20px;min-width:170px;white-space:normal;overflow:visible}.active-menu:not(.always-open){background-color:var(--gray-light)}nav{height:100vh;min-height:100vh;background-color:#fff;transition:width ease-in-out .2s;display:flex;flex-direction:column;z-index:500;position:sticky;box-shadow:2px 2px 4px #00000029}nav .header-menu{display:flex;justify-content:center;flex-direction:column;width:100%}nav .header-menu .logo-container{height:81px;padding:5px;display:flex;justify-content:center;align-items:center}nav .header-menu .logo-container .logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:center;height:50px;width:150px}nav .header-menu .logo-container .logo-small{background-position-y:center;background-position-x:right}nav .menu-sections{display:flex;flex-direction:column;flex:1;overflow-y:overlay;overflow-x:hidden}nav .menu-sections::-webkit-scrollbar{width:4px}nav .menu-sections .menu-section{margin:5px 10px 0}nav .menu-sections .menu-section:first-child{border-bottom:1px solid var(--gray-light)}nav .menu-sections .menu-section .menu-section-title{color:var(--gray-dark);font-weight:500;font-size:.8em;padding-left:10px;white-space:nowrap;transition:opacity .2s ease-in-out}nav .menu-sections .menu-section .side-menu{padding:0;margin:0;list-style:none;overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none}nav .menu-sections .menu-section .side-menu::-webkit-scrollbar{display:none}@media screen and (max-width: 650px){nav .menu-sections .menu-section .side-menu{background-size:120px;background-position:20px}}nav .menu-sections .menu-section .side-menu-item{min-height:40px;display:flex;flex-direction:row;align-items:center;transition:background-color ease-in-out .1s;z-index:2;overflow:hidden;padding:0 10px;border-radius:15px;margin:5px 0;position:relative}nav .menu-sections .menu-section .side-menu-item:not(.always-open){cursor:pointer}nav .menu-sections .menu-section .side-menu-item:hover{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active span{color:#fff}nav .menu-sections .menu-section .side-menu-item.active i{color:#fff}nav .menu-sections .menu-section .fintech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .logtech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .marketplace{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .selected-portal-item{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain;background-color:var(--form-labels-color)}nav .menu-sections .menu-section .selected-portal-item:before{content:\"\";width:20px;height:20px;display:block}nav .menu-sections .menu-section .selected-portal{background-color:var(--gray-light);border-radius:15px}nav .menu-sections .menu-section .selected-portal .icon-container{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain}nav .menu-sections .menu-section .selected-portal .icon-container .menu-icon{filter:invert(35%) sepia(100%) saturate(5659%) hue-rotate(210deg) brightness(87%) contrast(118%)}nav .menu-sections .menu-section .selected-portal .selected-portal-item{background-color:var(--theme-primary)}nav .menu-sections .menu-section .selected-portal .marketplace .menu-label{color:var(--success-color)}nav .menu-sections .menu-section .selected-portal .menu-label{color:var(--theme-primary)}nav .footer{display:flex;align-items:center;padding:10px;margin:0 10px;border-top:1px solid var(--gray-light);overflow:hidden;height:50px}nav .footer .footer-icon{width:50px}nav .footer .footer-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;font-size:.8em;text-overflow:hidden;white-space:nowrap}\n"], components: [{ type: SubMenusListComponent, selector: "vector-sub-menus-list", inputs: ["showList", "options", "childLevel", "submenuSelected"], outputs: ["submenuSelectedChange"] }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], animations: [
|
|
2963
3193
|
trigger('sideInOut', [state('in', style({ width: '60px' })), state('out', style({ width: '250px' }))]),
|
|
2964
3194
|
trigger('fadeInOut', [
|
|
2965
3195
|
state('0', style({
|
|
@@ -3040,8 +3270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3040
3270
|
})),
|
|
3041
3271
|
transition('0 <=> 1', animate('350ms ease-in-out')),
|
|
3042
3272
|
]),
|
|
3043
|
-
], template: "<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\r\n <div class=\"header-menu\">\r\n <div class=\"logo-container\">\r\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\r\n </div>\r\n </div>\r\n <div class=\"menu-sections\">\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELE\u00C7\u00C3O DE PORTAL</span>\r\n <ul class=\"side-menu\">\r\n <li>\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.LOGTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'logtech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item logtech\"></div>\r\n <span class=\"menu-label\">Cargas</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"hasAnyFintechPermission\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.FINTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'fintech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item fintech\"></div>\r\n <span class=\"menu-label\">Carteira digital</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"!production\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.MARKETPLACE) }\"\r\n (click)=\"navigateToPortal({ portal: 'marketplace', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item marketplace\"></div>\r\n <span class=\"menu-label\">Combust\u00EDvel</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\r\n <div\r\n class=\"side-menu-item\"\r\n (click)=\"onMenuClick(adminOption)\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\r\n >\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/vector_admin_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label\">{{ adminOption.label }}</span>\r\n <i\r\n *ngIf=\"opened && adminOption.children?.length\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== adminOption.id,\r\n 'fa-angle-up': activeOption?.id === adminOption.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"adminOption.children\"\r\n [showList]=\"activeOption?.id === adminOption.id\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened && options?.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\r\n <ul class=\"side-menu\">\r\n <li *ngFor=\"let option of options\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\r\n [pTooltip]=\"option.label\"\r\n tooltipPosition=\"right\"\r\n (click)=\"onMenuClick(option)\"\r\n >\r\n <div class=\"icon-container\">\r\n <img\r\n *ngIf=\"option.iconFileName\"\r\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\r\n class=\"menu-icon\"\r\n />\r\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\r\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\r\n getMenuNotificationsCount(option)\r\n }}</span>\r\n </div>\r\n <span class=\"menu-label\">{{ option.label }}</span>\r\n <i\r\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== option.id,\r\n 'fa-angle-up': activeOption?.id === option.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"option.children\"\r\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"footer side-menu-item\">\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label footer-content\">\r\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\r\n <span>e <a>Pol\u00EDtica de privacidade</a></span>\r\n </span>\r\n </div>\r\n</nav>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.angle-icon{position:absolute;right:10px}.menu-icon{filter:brightness(0) saturate(100%) invert(14%) sepia(87%) saturate(1218%) hue-rotate(233deg) brightness(88%) contrast(90%);width:20px;height:20px}.icon-container{width:20px;height:20px;position:relative}.icon-container .menu-icon{display:flex;justify-content:center;align-items:center;font-size:1.4em}.icon-container .menu-notifications-count{padding:0 4.5px;background-color:var(--error-color);border-radius:10px;position:absolute;top:-4px;right:-4px;font-size:8px}.menu-label{color:var(--theme-dark);font-weight:600;text-decoration:none;padding-bottom:1px;margin-left:20px;min-width:170px;white-space:normal;overflow:visible}.active-menu:not(.always-open){background-color:var(--gray-light)}nav{height:100vh;min-height:100vh;background-color:#fff;transition:width ease-in-out .2s;display:flex;flex-direction:column;z-index:500;position:sticky;box-shadow:2px 2px 4px #00000029}nav .header-menu{display:flex;justify-content:center;flex-direction:column;width:100%}nav .header-menu .logo-container{height:81px;padding:5px;display:flex;justify-content:center;align-items:center}nav .header-menu .logo-container .logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:center;height:50px;width:150px}nav .header-menu .logo-container .logo-small{background-position-y:center;background-position-x:right}nav .menu-sections{display:flex;flex-direction:column;flex:1;overflow-y:overlay;overflow-x:hidden}nav .menu-sections::-webkit-scrollbar{width:4px}nav .menu-sections .menu-section{margin:5px 10px 0}nav .menu-sections .menu-section:first-child{border-bottom:1px solid var(--gray-light)}nav .menu-sections .menu-section .menu-section-title{color:var(--gray-dark);font-weight:500;font-size:.8em;padding-left:10px;white-space:nowrap;transition:opacity .2s ease-in-out}nav .menu-sections .menu-section .side-menu{padding:0;margin:0;list-style:none;overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none}nav .menu-sections .menu-section .side-menu::-webkit-scrollbar{display:none}@media screen and (max-width: 650px){nav .menu-sections .menu-section .side-menu{background-size:120px;background-position:20px}}nav .menu-sections .menu-section .side-menu-item{min-height:40px;display:flex;flex-direction:row;align-items:center;transition:background-color ease-in-out .1s;z-index:2;overflow:hidden;padding:0 10px;border-radius:15px;margin:5px 0;position:relative}nav .menu-sections .menu-section .side-menu-item:not(.always-open){cursor:pointer}nav .menu-sections .menu-section .side-menu-item:hover{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active span{color:#fff}nav .menu-sections .menu-section .side-menu-item.active i{color:#fff}nav .menu-sections .menu-section .fintech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .logtech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .marketplace{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .selected-portal-item{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain;background-color:var(--form-labels-color)}nav .menu-sections .menu-section .selected-portal-item:before{content:\"\";width:20px;height:20px;display:block}nav .menu-sections .menu-section .selected-portal{background-color:var(--gray-light);border-radius:15px}nav .menu-sections .menu-section .selected-portal .icon-container{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain}nav .menu-sections .menu-section .selected-portal .icon-container .menu-icon{filter:invert(35%) sepia(100%) saturate(5659%) hue-rotate(210deg) brightness(87%) contrast(118%)}nav .menu-sections .menu-section .selected-portal .selected-portal-item{background-color:var(--theme-primary)}nav .menu-sections .menu-section .selected-portal .marketplace .menu-label{color:var(--success-color)}nav .menu-sections .menu-section .selected-portal .menu-label{color:var(--theme-primary)}nav .footer{display:flex;align-items:center;padding:10px;margin:0 10px;border-top:1px solid var(--gray-light);overflow:hidden;height:50px}nav .footer .footer-icon{width:50px}nav .footer .footer-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;font-size:.8em;text-overflow:hidden;white-space:nowrap}\n"] }]
|
|
3044
|
-
}], ctorParameters: function () { return [{ type: MenuService }, { type: i2.Router }, { type: ProfileService }, { type: StorageService }, { type: undefined, decorators: [{
|
|
3273
|
+
], template: "<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\r\n <div class=\"header-menu\">\r\n <div class=\"logo-container\">\r\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\r\n </div>\r\n </div>\r\n <div class=\"menu-sections\">\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELE\u00C7\u00C3O DE PORTAL</span>\r\n <ul class=\"side-menu\">\r\n <li>\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.LOGTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'logtech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item logtech\"></div>\r\n <span class=\"menu-label\">Cargas</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"hasAnyFintechPermission\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.FINTECH) }\"\r\n (click)=\"navigateToPortal({ portal: 'fintech', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item fintech\"></div>\r\n <span class=\"menu-label\">Carteira digital</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"!production\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(apps.MARKETPLACE) }\"\r\n (click)=\"navigateToPortal({ portal: 'marketplace', admin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item marketplace\"></div>\r\n <span class=\"menu-label\">Combust\u00EDvel</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\r\n <div\r\n class=\"side-menu-item\"\r\n (click)=\"onMenuClick(adminOption)\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\r\n >\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/vector_admin_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label\">{{ adminOption.label }}</span>\r\n <i\r\n *ngIf=\"opened && adminOption.children?.length\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== adminOption.id,\r\n 'fa-angle-up': activeOption?.id === adminOption.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"adminOption.children\"\r\n [showList]=\"activeOption?.id === adminOption.id\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened && options?.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\r\n <ul class=\"side-menu\">\r\n <li *ngFor=\"let option of options\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\r\n [pTooltip]=\"option.label\"\r\n tooltipPosition=\"right\"\r\n (click)=\"onMenuClick(option)\"\r\n >\r\n <div class=\"icon-container\">\r\n <img\r\n *ngIf=\"option.iconFileName\"\r\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\r\n class=\"menu-icon\"\r\n />\r\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\r\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\r\n getMenuNotificationsCount(option)\r\n }}</span>\r\n </div>\r\n <span class=\"menu-label\">{{ option.label }}</span>\r\n <i\r\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== option.id,\r\n 'fa-angle-up': activeOption?.id === option.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"option.children\"\r\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"footer side-menu-item\">\r\n <div class=\"icon-container\">\r\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" class=\"menu-icon\" />\r\n </div>\r\n <span class=\"menu-label footer-content\">\r\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\r\n <span>e <a>Pol\u00EDtica de privacidade</a></span>\r\n </span>\r\n </div>\r\n</nav>\r\n", styles: [".angle-icon{position:absolute;right:10px}.menu-icon{filter:brightness(0) saturate(100%) invert(14%) sepia(87%) saturate(1218%) hue-rotate(233deg) brightness(88%) contrast(90%);width:20px;height:20px}.icon-container{width:20px;height:20px;position:relative}.icon-container .menu-icon{display:flex;justify-content:center;align-items:center;font-size:1.4em}.icon-container .menu-notifications-count{padding:0 4.5px;background-color:var(--error-color);border-radius:10px;position:absolute;top:-4px;right:-4px;font-size:8px}.menu-label{color:var(--theme-dark);font-weight:600;text-decoration:none;padding-bottom:1px;margin-left:20px;min-width:170px;white-space:normal;overflow:visible}.active-menu:not(.always-open){background-color:var(--gray-light)}nav{height:100vh;min-height:100vh;background-color:#fff;transition:width ease-in-out .2s;display:flex;flex-direction:column;z-index:500;position:sticky;box-shadow:2px 2px 4px #00000029}nav .header-menu{display:flex;justify-content:center;flex-direction:column;width:100%}nav .header-menu .logo-container{height:81px;padding:5px;display:flex;justify-content:center;align-items:center}nav .header-menu .logo-container .logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:center;height:50px;width:150px}nav .header-menu .logo-container .logo-small{background-position-y:center;background-position-x:right}nav .menu-sections{display:flex;flex-direction:column;flex:1;overflow-y:overlay;overflow-x:hidden}nav .menu-sections::-webkit-scrollbar{width:4px}nav .menu-sections .menu-section{margin:5px 10px 0}nav .menu-sections .menu-section:first-child{border-bottom:1px solid var(--gray-light)}nav .menu-sections .menu-section .menu-section-title{color:var(--gray-dark);font-weight:500;font-size:.8em;padding-left:10px;white-space:nowrap;transition:opacity .2s ease-in-out}nav .menu-sections .menu-section .side-menu{padding:0;margin:0;list-style:none;overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none}nav .menu-sections .menu-section .side-menu::-webkit-scrollbar{display:none}@media screen and (max-width: 650px){nav .menu-sections .menu-section .side-menu{background-size:120px;background-position:20px}}nav .menu-sections .menu-section .side-menu-item{min-height:40px;display:flex;flex-direction:row;align-items:center;transition:background-color ease-in-out .1s;z-index:2;overflow:hidden;padding:0 10px;border-radius:15px;margin:5px 0;position:relative}nav .menu-sections .menu-section .side-menu-item:not(.always-open){cursor:pointer}nav .menu-sections .menu-section .side-menu-item:hover{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active{background-color:var(--gray-light)}nav .menu-sections .menu-section .side-menu-item.active span{color:#fff}nav .menu-sections .menu-section .side-menu-item.active i{color:#fff}nav .menu-sections .menu-section .fintech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2235%22 height%3D%2235%22 viewBox%3D%220 0 35 35%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.5 0C14.0388 0 10.6554 1.02636 7.77753 2.94928C4.89967 4.87221 2.65665 7.60533 1.33212 10.803C0.00758245 14.0007 -0.338976 17.5194 0.336265 20.9141C1.01151 24.3087 2.67822 27.4269 5.12564 29.8744C7.57306 32.3218 10.6913 33.9885 14.0859 34.6637C17.4806 35.339 20.9993 34.9924 24.197 33.6679C27.3947 32.3434 30.1278 30.1003 32.0507 27.2225C33.9736 24.3446 35 20.9612 35 17.5C34.9981 12.8593 33.1538 8.40918 29.8723 5.1277C26.5908 1.84622 22.1407 0.00187031 17.5 0ZM19.0402 27.5812V29.7512H15.9774V27.4929C14.7019 27.2047 13.5315 26.5677 12.5969 25.653C11.6623 24.7384 11.0002 23.582 10.6846 22.313L13.585 21.1415C13.7924 22.1249 14.3147 23.014 15.0727 23.6739C15.8307 24.3339 16.7832 24.7288 17.7858 24.7989C19.4143 24.7989 21.2509 23.9591 21.2509 21.976C21.2509 20.2964 20.0265 19.4213 17.2601 18.4227C15.3352 17.7399 11.3973 16.6196 11.3973 12.6306C11.4319 11.3659 11.9105 10.1538 12.7492 9.20665C13.5879 8.25952 14.7333 7.63784 15.9845 7.4506V5.25053H19.0473V7.42061C20.1005 7.59773 21.0873 8.05283 21.9059 8.7389C22.7244 9.42497 23.3449 10.3171 23.7033 11.3232L20.9386 12.4965C20.7138 11.7977 20.2678 11.191 19.6678 10.768C19.0679 10.345 18.3466 10.1287 17.6129 10.1517C16.3885 10.1517 14.4372 10.7992 14.4372 12.5847C14.4372 14.2466 15.9421 14.8783 19.0579 15.9104C23.2586 17.3624 24.326 19.4972 24.326 21.9478C24.2905 23.372 23.732 24.7333 22.7572 25.7723C21.7824 26.8112 20.4593 27.4551 19.0402 27.5812Z%22 fill%3D%22%234E4B66%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .logtech{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Crect x%3D%221%22 y%3D%223%22 width%3D%2214%22 height%3D%2213%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M15 8H19L23 12V16H15V8Z%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%225.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3Ccircle cx%3D%2217.5%22 cy%3D%2218.5%22 r%3D%222.5%22 stroke%3D%22%2314142B%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .marketplace{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-moz-mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\");-o-prop:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2224%22 viewBox%3D%220 0 23 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M17.0131 23.19V2.74561C17.0387 2.3768 16.9901 2.00661 16.8701 1.65691C16.7502 1.3072 16.5614 0.985084 16.3149 0.709586C16.0394 0.4611 15.7166 0.270786 15.3658 0.150048C15.015 0.0293103 14.6434 -0.019366 14.2733 0.0069356H4.46056C4.09267 -0.0188504 3.72335 0.0295727 3.37454 0.149328C3.02573 0.269083 2.70454 0.457728 2.43007 0.704053C2.18319 0.980172 1.99427 1.30306 1.87452 1.65356C1.75477 2.00406 1.70663 2.37505 1.73295 2.7445V23.19H3.52001V2.79098C3.50174 2.6559 3.51491 2.51842 3.5585 2.38927C3.60209 2.26012 3.67491 2.14277 3.7713 2.04639C3.86769 1.95 3.98503 1.87718 4.11418 1.83359C4.24334 1.79 4.38081 1.77683 4.51589 1.7951H14.2302C14.3627 1.78615 14.4956 1.80397 14.6211 1.84751C14.7466 1.89104 14.862 1.9594 14.9605 2.04849C15.0504 2.14871 15.1193 2.26598 15.163 2.39334C15.2067 2.5207 15.2244 2.65555 15.215 2.78987V23.19H17.0131ZM0.000119503 23.0959C-0.0018524 23.2149 0.020598 23.3331 0.0660845 23.4431C0.111571 23.5531 0.179127 23.6526 0.264581 23.7355C0.3459 23.8202 0.44372 23.8874 0.552008 23.9329C0.660295 23.9784 0.776754 24.0012 0.8942 23.9999H17.8397C18.078 23.9999 18.3065 23.9053 18.475 23.7368C18.6435 23.5683 18.7382 23.3397 18.7382 23.1014C18.7382 22.8631 18.6435 22.6346 18.475 22.4661C18.3065 22.2976 18.078 22.2029 17.8397 22.2029H0.8942C0.657979 22.2052 0.432068 22.3 0.264923 22.467C0.0977786 22.6339 0.00271379 22.8597 0.000119503 23.0959ZM5.97099 11.8546H12.7762C13.079 11.8689 13.3757 11.7663 13.605 11.568C13.7086 11.4741 13.7905 11.3587 13.845 11.2299C13.8995 11.1011 13.9252 10.962 13.9203 10.8222V4.30361C13.9257 4.16231 13.9003 4.02152 13.8459 3.89101C13.7914 3.76051 13.7092 3.64341 13.605 3.54785C13.3759 3.34906 13.0791 3.24604 12.7762 3.26015H5.97099C5.66751 3.24617 5.37031 3.3496 5.14108 3.54896C5.03685 3.64452 4.95465 3.76161 4.9002 3.89212C4.84574 4.02262 4.82033 4.16341 4.82572 4.30472V10.8211C4.82089 10.9609 4.8466 11.1 4.90107 11.2288C4.95554 11.3576 5.03745 11.473 5.14108 11.5669C5.37054 11.7658 5.66768 11.8688 5.97099 11.8546ZM20.5529 20.9282C20.8783 20.942 21.2029 20.8877 21.506 20.7688C21.8092 20.6499 22.0842 20.469 22.3134 20.2377C22.5397 19.9927 22.7149 19.705 22.8289 19.3916C22.9428 19.0781 22.9933 18.7451 22.9773 18.4119V7.80469C23.0209 6.66199 22.7734 5.52696 22.2581 4.50611C21.7875 3.69811 21.0226 3.10337 20.1236 2.84631C20.0268 2.8156 19.9247 2.80535 19.8237 2.8162C19.7228 2.82706 19.6252 2.85879 19.5371 2.90938C19.4464 2.95571 19.3659 3.01986 19.3005 3.098C19.2351 3.17614 19.1861 3.26666 19.1565 3.36416C19.1257 3.46322 19.1151 3.56744 19.1254 3.67065C19.1356 3.77386 19.1665 3.87396 19.2162 3.96501C19.2626 4.05729 19.328 4.13872 19.4081 4.20394C19.4882 4.26916 19.5812 4.3167 19.681 4.34345C19.8901 4.40746 20.0893 4.50019 20.273 4.61898C20.5181 4.78313 20.7237 4.9997 20.8749 5.25302C21.0935 5.6233 21.2435 6.03003 21.3175 6.45361H19.9012C19.789 6.45151 19.6775 6.47205 19.5735 6.51402C19.4694 6.55598 19.3749 6.6185 19.2956 6.69783C19.2162 6.77717 19.1537 6.87169 19.1117 6.97575C19.0698 7.0798 19.0492 7.19125 19.0513 7.30343V11.3456C19.0519 11.5708 19.1417 11.7866 19.3009 11.9459C19.4601 12.1051 19.676 12.1948 19.9012 12.1954H21.4282V18.4086C21.4406 18.6594 21.3539 18.905 21.187 19.0925C21.1062 19.1774 21.0083 19.2441 20.8997 19.2882C20.7911 19.3322 20.6744 19.3527 20.5573 19.3481C20.2933 19.3609 20.0348 19.2691 19.8381 19.0925C19.7472 19.0041 19.676 18.8975 19.6293 18.7796C19.5825 18.6617 19.5613 18.5353 19.567 18.4086V16.6902C19.5891 16.32 19.5347 15.9492 19.4071 15.601C19.2796 15.2528 19.0816 14.9346 18.8256 14.6663C18.2624 14.1583 17.5205 13.8949 16.763 13.9338V15.5062C17.0986 15.4886 17.428 15.6012 17.6826 15.8204C17.7992 15.934 17.8902 16.0713 17.9492 16.2231C18.0082 16.3749 18.0338 16.5376 18.0245 16.7001V18.4075C18.0094 18.7432 18.0633 19.0784 18.1828 19.3924C18.3023 19.7064 18.4849 19.9926 18.7194 20.2333C18.962 20.4673 19.2496 20.6495 19.5648 20.7689C19.88 20.8884 20.2162 20.9426 20.5529 20.9282Z%22 fill%3D%22%2314142B%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}nav .menu-sections .menu-section .selected-portal-item{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain;background-color:var(--form-labels-color)}nav .menu-sections .menu-section .selected-portal-item:before{content:\"\";width:20px;height:20px;display:block}nav .menu-sections .menu-section .selected-portal{background-color:var(--gray-light);border-radius:15px}nav .menu-sections .menu-section .selected-portal .icon-container{-webkit-mask-size:contain;-moz-mask-size:contain;-o-prop:contain}nav .menu-sections .menu-section .selected-portal .icon-container .menu-icon{filter:invert(35%) sepia(100%) saturate(5659%) hue-rotate(210deg) brightness(87%) contrast(118%)}nav .menu-sections .menu-section .selected-portal .selected-portal-item{background-color:var(--theme-primary)}nav .menu-sections .menu-section .selected-portal .marketplace .menu-label{color:var(--success-color)}nav .menu-sections .menu-section .selected-portal .menu-label{color:var(--theme-primary)}nav .footer{display:flex;align-items:center;padding:10px;margin:0 10px;border-top:1px solid var(--gray-light);overflow:hidden;height:50px}nav .footer .footer-icon{width:50px}nav .footer .footer-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;font-size:.8em;text-overflow:hidden;white-space:nowrap}\n"] }]
|
|
3274
|
+
}], ctorParameters: function () { return [{ type: MenuService }, { type: i2$1.Router }, { type: ProfileService }, { type: StorageService }, { type: undefined, decorators: [{
|
|
3045
3275
|
type: Inject,
|
|
3046
3276
|
args: ['environment']
|
|
3047
3277
|
}] }, { type: undefined, decorators: [{
|
|
@@ -3140,12 +3370,12 @@ class TopBarComponent {
|
|
|
3140
3370
|
this.router.navigate(['fintech/under-construction']);
|
|
3141
3371
|
}
|
|
3142
3372
|
}
|
|
3143
|
-
TopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, deps: [{ token: MenuService }, { token: AuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
3144
|
-
TopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService" }, ngImport: i0, template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container *ngIf=\"otherAccounts?.length\">\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span>Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <ul class=\"user-menu\">\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel> -->\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\r\n <span class=\"tariffs user-menu-icon\"></span>\r\n <span>Tarifas</span>\r\n </li> -->\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"], components: [{ type: i4$2.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3373
|
+
TopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, deps: [{ token: MenuService }, { token: AuthService }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
3374
|
+
TopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService" }, ngImport: i0, template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container *ngIf=\"otherAccounts?.length\">\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span>Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <ul class=\"user-menu\">\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel> -->\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\r\n <span class=\"tariffs user-menu-icon\"></span>\r\n <span>Tarifas</span>\r\n </li> -->\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"], components: [{ type: i4$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3145
3375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, decorators: [{
|
|
3146
3376
|
type: Component,
|
|
3147
|
-
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container *ngIf=\"otherAccounts?.length\">\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span>Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <ul class=\"user-menu\">\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel> -->\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\r\n <span class=\"tariffs user-menu-icon\"></span>\r\n <span>Tarifas</span>\r\n </li> -->\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"] }]
|
|
3148
|
-
}], ctorParameters: function () { return [{ type: MenuService }, { type: AuthService }, { type: i2.Router }]; }, propDecorators: { fintech: [{
|
|
3377
|
+
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container *ngIf=\"otherAccounts?.length\">\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span>Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <ul class=\"user-menu\">\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel> -->\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\r\n <span class=\"tariffs user-menu-icon\"></span>\r\n <span>Tarifas</span>\r\n </li> -->\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"] }]
|
|
3378
|
+
}], ctorParameters: function () { return [{ type: MenuService }, { type: AuthService }, { type: i2$1.Router }]; }, propDecorators: { fintech: [{
|
|
3149
3379
|
type: Input
|
|
3150
3380
|
}], accountService: [{
|
|
3151
3381
|
type: Input
|
|
@@ -3165,6 +3395,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3165
3395
|
}]
|
|
3166
3396
|
}] });
|
|
3167
3397
|
|
|
3398
|
+
class CrudListHasItemsGuard {
|
|
3399
|
+
constructor(injector) {
|
|
3400
|
+
this.injector = injector;
|
|
3401
|
+
}
|
|
3402
|
+
canActivate(route) {
|
|
3403
|
+
const serviceType = route.data['service'];
|
|
3404
|
+
if (!serviceType) {
|
|
3405
|
+
console.error('You forgot to add the service declaration to route "data" property.');
|
|
3406
|
+
return false;
|
|
3407
|
+
}
|
|
3408
|
+
const service = this.injector.get(serviceType);
|
|
3409
|
+
return !!(service.dataset$.value?.data?.length || service.flatUnpagedDataset$.value?.length);
|
|
3410
|
+
}
|
|
3411
|
+
}
|
|
3412
|
+
CrudListHasItemsGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudListHasItemsGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3413
|
+
CrudListHasItemsGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudListHasItemsGuard });
|
|
3414
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudListHasItemsGuard, decorators: [{
|
|
3415
|
+
type: Injectable
|
|
3416
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
3417
|
+
|
|
3168
3418
|
class GetTokenByGuidGuard {
|
|
3169
3419
|
constructor(authService, storageService, router, appName) {
|
|
3170
3420
|
this.authService = authService;
|
|
@@ -3197,11 +3447,11 @@ class GetTokenByGuidGuard {
|
|
|
3197
3447
|
return false;
|
|
3198
3448
|
}
|
|
3199
3449
|
}
|
|
3200
|
-
GetTokenByGuidGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard, deps: [{ token: AuthService }, { token: StorageService }, { token: i2.Router }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3450
|
+
GetTokenByGuidGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard, deps: [{ token: AuthService }, { token: StorageService }, { token: i2$1.Router }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3201
3451
|
GetTokenByGuidGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard });
|
|
3202
3452
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard, decorators: [{
|
|
3203
3453
|
type: Injectable
|
|
3204
|
-
}], ctorParameters: function () { return [{ type: AuthService }, { type: StorageService }, { type: i2.Router }, { type: AppName, decorators: [{
|
|
3454
|
+
}], ctorParameters: function () { return [{ type: AuthService }, { type: StorageService }, { type: i2$1.Router }, { type: AppName, decorators: [{
|
|
3205
3455
|
type: Inject,
|
|
3206
3456
|
args: ['appName']
|
|
3207
3457
|
}] }]; } });
|
|
@@ -3219,11 +3469,11 @@ class HasPermissionGuard {
|
|
|
3219
3469
|
return true;
|
|
3220
3470
|
}
|
|
3221
3471
|
}
|
|
3222
|
-
HasPermissionGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard, deps: [{ token: ProfileService }, { token: i2.Router }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3472
|
+
HasPermissionGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard, deps: [{ token: ProfileService }, { token: i2$1.Router }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3223
3473
|
HasPermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard });
|
|
3224
3474
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard, decorators: [{
|
|
3225
3475
|
type: Injectable
|
|
3226
|
-
}], ctorParameters: function () { return [{ type: ProfileService }, { type: i2.Router }, { type: AppName, decorators: [{
|
|
3476
|
+
}], ctorParameters: function () { return [{ type: ProfileService }, { type: i2$1.Router }, { type: AppName, decorators: [{
|
|
3227
3477
|
type: Inject,
|
|
3228
3478
|
args: ['appName']
|
|
3229
3479
|
}] }]; } });
|
|
@@ -3241,11 +3491,11 @@ class RoleGuard {
|
|
|
3241
3491
|
return this.router.createUrlTree(['']);
|
|
3242
3492
|
}
|
|
3243
3493
|
}
|
|
3244
|
-
RoleGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard, deps: [{ token: StorageService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3494
|
+
RoleGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard, deps: [{ token: StorageService }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3245
3495
|
RoleGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard });
|
|
3246
3496
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard, decorators: [{
|
|
3247
3497
|
type: Injectable
|
|
3248
|
-
}], ctorParameters: function () { return [{ type: StorageService }, { type: i2.Router }]; } });
|
|
3498
|
+
}], ctorParameters: function () { return [{ type: StorageService }, { type: i2$1.Router }]; } });
|
|
3249
3499
|
|
|
3250
3500
|
class TokenIsPresentGuard {
|
|
3251
3501
|
constructor(storageService, authService) {
|
|
@@ -3438,9 +3688,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3438
3688
|
args: ['environment']
|
|
3439
3689
|
}] }]; } });
|
|
3440
3690
|
|
|
3691
|
+
class GetCrudHistoryResolver {
|
|
3692
|
+
constructor(injector) {
|
|
3693
|
+
this.injector = injector;
|
|
3694
|
+
}
|
|
3695
|
+
resolve(route) {
|
|
3696
|
+
const serviceType = route.data['service'];
|
|
3697
|
+
if (!serviceType) {
|
|
3698
|
+
console.error('You forgot to add the service declaration to route "data" property.');
|
|
3699
|
+
return false;
|
|
3700
|
+
}
|
|
3701
|
+
const service = this.injector.get(serviceType);
|
|
3702
|
+
return service.getHistory(route.params['id']);
|
|
3703
|
+
}
|
|
3704
|
+
}
|
|
3705
|
+
GetCrudHistoryResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetCrudHistoryResolver, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3706
|
+
GetCrudHistoryResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetCrudHistoryResolver });
|
|
3707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetCrudHistoryResolver, decorators: [{
|
|
3708
|
+
type: Injectable
|
|
3709
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
3710
|
+
|
|
3711
|
+
class GetSelectedCrudItemResolver {
|
|
3712
|
+
constructor(injector) {
|
|
3713
|
+
this.injector = injector;
|
|
3714
|
+
}
|
|
3715
|
+
resolve(route) {
|
|
3716
|
+
const serviceType = route.data['service'];
|
|
3717
|
+
if (!serviceType) {
|
|
3718
|
+
console.error('You forgot to add the service declaration to route "data" property.');
|
|
3719
|
+
return undefined;
|
|
3720
|
+
}
|
|
3721
|
+
const service = this.injector.get(serviceType);
|
|
3722
|
+
if (service.dataset$.value?.data?.length) {
|
|
3723
|
+
return service.dataset$.value.data.find((item) => item.id == route.params['id']);
|
|
3724
|
+
}
|
|
3725
|
+
if (service.flatUnpagedDataset$.value?.length) {
|
|
3726
|
+
return service.flatUnpagedDataset$.value.find((item) => item.id == route.params['id']);
|
|
3727
|
+
}
|
|
3728
|
+
return undefined;
|
|
3729
|
+
}
|
|
3730
|
+
}
|
|
3731
|
+
GetSelectedCrudItemResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetSelectedCrudItemResolver, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3732
|
+
GetSelectedCrudItemResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetSelectedCrudItemResolver });
|
|
3733
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetSelectedCrudItemResolver, decorators: [{
|
|
3734
|
+
type: Injectable
|
|
3735
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
3736
|
+
|
|
3441
3737
|
/**
|
|
3442
3738
|
* Generated bundle index. Do not edit.
|
|
3443
3739
|
*/
|
|
3444
3740
|
|
|
3445
|
-
export { AppName, AuthService, BooleanType, BreadcrumbComponent, BreadcrumbModule, ButtonComponent, CalendarComponent, CheckboxFieldComponent, CrudBaseComponent, CrudBaseService, CrudFooterComponent, CrudMode, CurrencyBrlPipe, CurrencyFieldComponent, DataTableComponent, DocumentType, DropdownFieldComponent, EnumService, ErrorMessageService, FieldErrorMessageComponent, FieldType, FieldsModule, FileUtil, FiltersComponent, FooterModule, GenericErrorModalComponent, GenericErrorModalModule, GenericModalComponent, GenericModalModule, GeolocationService, GetTokenByGuidGuard, HasPermissionGuard, HttpInterceptorProvider, LoadingService, MaskUtil, MenuComponent, MenuModule, MenuService, MessageStatus, ModalService, MultiselectFieldComponent, NotHiddenPipe, ObjectUtil, OnlyActivePipe, PanelComponent, PanelModule, PercentageFieldComponent, PipesModule, ProfileModuleActionType, ProfileModuleType, ProfileService, RadioButtonFieldComponent, RangeValueComponent, RemoveLastChildPipe, Role, RoleGuard, SearchFieldComponent, Status, StorageService, StringUtil, SubMenusListComponent, TableColumnType, TextFieldComponent, TextareaFieldComponent, TokenIsPresentGuard, TopBarComponent, TopBarModule, ValidationUtil, View, WindowUtil };
|
|
3741
|
+
export { AppName, AuthService, BadgeComponent, BadgeModule, BooleanType, BreadcrumbComponent, BreadcrumbModule, ButtonComponent, CalendarComponent, CheckboxFieldComponent, CrudBaseComponent, CrudBaseService, CrudFooterComponent, CrudHeaderComponent, CrudHeaderModule, CrudHistory, CrudHistoryComponent, CrudHistoryEventType, CrudHistoryModule, CrudListHasItemsGuard, CrudMode, CurrencyBrlPipe, CurrencyFieldComponent, DataTableComponent, DocumentType, DropdownFieldComponent, EnumService, ErrorMessageService, FieldErrorMessageComponent, FieldType, FieldsModule, FileUtil, FiltersComponent, FooterModule, FormatDocumentPipe, GenericErrorModalComponent, GenericErrorModalModule, GenericModalComponent, GenericModalModule, GeolocationService, GetCrudHistoryResolver, GetSelectedCrudItemResolver, GetTokenByGuidGuard, HasPermissionGuard, HttpInterceptorProvider, LoadingService, MaskUtil, MenuComponent, MenuModule, MenuService, MessageStatus, ModalService, MultiselectFieldComponent, NotHiddenPipe, ObjectUtil, OnlyActivePipe, PanelComponent, PanelModule, PercentageFieldComponent, PipesModule, ProfileModuleActionType, ProfileModuleType, ProfileService, RadioButtonFieldComponent, RangeValueComponent, RemoveLastChildPipe, Role, RoleGuard, SearchFieldComponent, SelectButtonFieldComponent, Status, StorageService, StringUtil, SubMenusListComponent, TableColumnType, TextFieldComponent, TextareaFieldComponent, TokenIsPresentGuard, TopBarComponent, TopBarModule, ValidationUtil, View, WindowUtil };
|
|
3446
3742
|
//# sourceMappingURL=ngx-vector-components.mjs.map
|