ngx-vector-components 2.14.0 → 3.0.0
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 +27 -0
- package/assets/styles/_mixins.scss +7 -0
- package/assets/styles/_primeng-custom-theme.scss +110 -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 +9 -3
- 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 +1525 -1226
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +1501 -1205
- 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 +3 -1
- 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 +2 -2
- 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,166 +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 () {
|
|
123
|
-
return [{ type: i2.Router }, { type: undefined, decorators: [{
|
|
124
|
-
type: Inject,
|
|
125
|
-
args: ['environment']
|
|
126
|
-
}] }, { type: undefined, decorators: [{
|
|
127
|
-
type: Inject,
|
|
128
|
-
args: ['menuOptions']
|
|
129
|
-
}] }];
|
|
130
|
-
} });
|
|
131
|
-
|
|
132
|
-
class CurrencyBrlPipe {
|
|
133
|
-
transform(value = 0) {
|
|
134
|
-
if (!value)
|
|
135
|
-
value = 0;
|
|
136
|
-
return `${value.toLocaleString('pt-BR', { currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
CurrencyBrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
140
|
-
CurrencyBrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, name: "currencyBrl" });
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyBrlPipe, decorators: [{
|
|
142
|
-
type: Pipe,
|
|
143
|
-
args: [{
|
|
144
|
-
name: 'currencyBrl',
|
|
145
|
-
}]
|
|
146
|
-
}] });
|
|
147
|
-
|
|
148
|
-
class NotHiddenPipe {
|
|
149
|
-
transform(value) {
|
|
150
|
-
return (value === null || value === void 0 ? void 0 : value.filter((item) => !item.hidden)) || [];
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
NotHiddenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
154
|
-
NotHiddenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, name: "notHidden" });
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, decorators: [{
|
|
156
|
-
type: Pipe,
|
|
157
|
-
args: [{
|
|
158
|
-
name: 'notHidden',
|
|
159
|
-
}]
|
|
160
|
-
}] });
|
|
161
|
-
|
|
162
|
-
class OnlyActivePipe {
|
|
163
|
-
transform(value) {
|
|
164
|
-
return (value === null || value === void 0 ? void 0 : value.filter((item) => item.active)) || [];
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
OnlyActivePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
168
|
-
OnlyActivePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, name: "onlyActive" });
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, decorators: [{
|
|
170
|
-
type: Pipe,
|
|
171
|
-
args: [{
|
|
172
|
-
name: 'onlyActive',
|
|
173
|
-
}]
|
|
174
|
-
}] });
|
|
175
|
-
|
|
176
|
-
class PipesModule {
|
|
177
|
-
}
|
|
178
|
-
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
179
|
-
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] });
|
|
180
|
-
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule });
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, decorators: [{
|
|
182
|
-
type: NgModule,
|
|
183
|
-
args: [{
|
|
184
|
-
declarations: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe],
|
|
185
|
-
exports: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe],
|
|
186
|
-
}]
|
|
187
|
-
}] });
|
|
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 = {}));
|
|
188
72
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, decorators: [{
|
|
195
|
-
type: NgModule,
|
|
196
|
-
args: [{
|
|
197
|
-
exports: [CommonModule, TooltipModule, PipesModule],
|
|
198
|
-
}]
|
|
199
|
-
}] });
|
|
73
|
+
var BooleanType;
|
|
74
|
+
(function (BooleanType) {
|
|
75
|
+
BooleanType["YES"] = "YES";
|
|
76
|
+
BooleanType["NO"] = "NO";
|
|
77
|
+
})(BooleanType || (BooleanType = {}));
|
|
200
78
|
|
|
201
|
-
class
|
|
79
|
+
class CrudHistory {
|
|
202
80
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
declarations: [BreadcrumbComponent],
|
|
210
|
-
exports: [BreadcrumbComponent],
|
|
211
|
-
imports: [SharedModule],
|
|
212
|
-
}]
|
|
213
|
-
}] });
|
|
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 = {}));
|
|
214
87
|
|
|
215
88
|
var CrudMode;
|
|
216
89
|
(function (CrudMode) {
|
|
@@ -219,314 +92,21 @@ var CrudMode;
|
|
|
219
92
|
CrudMode[CrudMode["VIEW"] = 2] = "VIEW";
|
|
220
93
|
})(CrudMode || (CrudMode = {}));
|
|
221
94
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
ngOnDestroy() {
|
|
233
|
-
this.subscription.unsubscribe();
|
|
234
|
-
}
|
|
235
|
-
getCrudModeByRoute(route) {
|
|
236
|
-
switch (route) {
|
|
237
|
-
case 'new':
|
|
238
|
-
return CrudMode.NEW;
|
|
239
|
-
case 'edit':
|
|
240
|
-
return CrudMode.EDIT;
|
|
241
|
-
case 'view':
|
|
242
|
-
return CrudMode.VIEW;
|
|
243
|
-
default:
|
|
244
|
-
return CrudMode.NEW;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
CrudBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudBaseComponent, deps: [{ token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
249
|
-
CrudBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudBaseComponent, decorators: [{
|
|
251
|
-
type: Component,
|
|
252
|
-
args: [{
|
|
253
|
-
template: '',
|
|
254
|
-
}]
|
|
255
|
-
}], 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 = {}));
|
|
256
104
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
this.leftIcon = '';
|
|
263
|
-
this.noShadow = false;
|
|
264
|
-
this.onClick = new EventEmitter();
|
|
265
|
-
}
|
|
266
|
-
get styleClass() {
|
|
267
|
-
return { [this.type]: true, 'no-shadow': this.noShadow };
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
271
|
-
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"] }] });
|
|
272
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
273
|
-
type: Component,
|
|
274
|
-
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"] }]
|
|
275
|
-
}], propDecorators: { disabled: [{
|
|
276
|
-
type: Input
|
|
277
|
-
}], label: [{
|
|
278
|
-
type: Input
|
|
279
|
-
}], type: [{
|
|
280
|
-
type: Input
|
|
281
|
-
}], leftIcon: [{
|
|
282
|
-
type: Input
|
|
283
|
-
}], noShadow: [{
|
|
284
|
-
type: Input
|
|
285
|
-
}], onClick: [{
|
|
286
|
-
type: Output
|
|
287
|
-
}] } });
|
|
288
|
-
|
|
289
|
-
class CrudFooterComponent {
|
|
290
|
-
constructor() {
|
|
291
|
-
this.submitDisabled = false;
|
|
292
|
-
this.submitHidden = false;
|
|
293
|
-
this.onGoBack = new EventEmitter();
|
|
294
|
-
this.onSubmit = new EventEmitter();
|
|
295
|
-
}
|
|
296
|
-
ngOnInit() { }
|
|
297
|
-
}
|
|
298
|
-
CrudFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
299
|
-
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"] }] });
|
|
300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, decorators: [{
|
|
301
|
-
type: Component,
|
|
302
|
-
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"] }]
|
|
303
|
-
}], ctorParameters: function () { return []; }, propDecorators: { submitDisabled: [{
|
|
304
|
-
type: Input
|
|
305
|
-
}], submitHidden: [{
|
|
306
|
-
type: Input
|
|
307
|
-
}], onGoBack: [{
|
|
308
|
-
type: Output
|
|
309
|
-
}], onSubmit: [{
|
|
310
|
-
type: Output
|
|
311
|
-
}] } });
|
|
312
|
-
|
|
313
|
-
class PanelComponent {
|
|
314
|
-
constructor() { }
|
|
315
|
-
ngOnInit() { }
|
|
316
|
-
}
|
|
317
|
-
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
318
|
-
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"] }] });
|
|
319
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, decorators: [{
|
|
320
|
-
type: Component,
|
|
321
|
-
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: [""] }]
|
|
322
|
-
}], ctorParameters: function () { return []; } });
|
|
323
|
-
|
|
324
|
-
class PanelModule {
|
|
325
|
-
}
|
|
326
|
-
PanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
327
|
-
PanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, declarations: [PanelComponent], imports: [SharedModule, PanelModule$1], exports: [PanelComponent] });
|
|
328
|
-
PanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, imports: [[SharedModule, PanelModule$1]] });
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, decorators: [{
|
|
330
|
-
type: NgModule,
|
|
331
|
-
args: [{
|
|
332
|
-
declarations: [PanelComponent],
|
|
333
|
-
exports: [PanelComponent],
|
|
334
|
-
imports: [SharedModule, PanelModule$1],
|
|
335
|
-
}]
|
|
336
|
-
}] });
|
|
337
|
-
|
|
338
|
-
class AuthService {
|
|
339
|
-
constructor(http, storageService, profileService, activatedRoute, environment) {
|
|
340
|
-
this.http = http;
|
|
341
|
-
this.storageService = storageService;
|
|
342
|
-
this.profileService = profileService;
|
|
343
|
-
this.activatedRoute = activatedRoute;
|
|
344
|
-
this.environment = environment;
|
|
345
|
-
this.role$ = new BehaviorSubject(this.storageService.getRole());
|
|
346
|
-
this.parentWindowUrl = '';
|
|
347
|
-
this.subscription = new Subscription();
|
|
348
|
-
this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';
|
|
349
|
-
this.subscription.add(this.activatedRoute.queryParams.subscribe((params) => {
|
|
350
|
-
if (params['parent']) {
|
|
351
|
-
this.parentWindowUrl = decodeURIComponent(params['parent']);
|
|
352
|
-
}
|
|
353
|
-
}));
|
|
354
|
-
}
|
|
355
|
-
getTokenByGuid(tokenGuid) {
|
|
356
|
-
return this.http.get(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(tap((response) => {
|
|
357
|
-
this.storageService.setToken(response.accessToken);
|
|
358
|
-
this.storageService.setUsername(response.userName);
|
|
359
|
-
this.storageService.setRefreshToken(response.refreshToken);
|
|
360
|
-
this.profileService.getUserProfile();
|
|
361
|
-
}));
|
|
362
|
-
}
|
|
363
|
-
getTokenByRefreshToken(refreshToken) {
|
|
364
|
-
const headers = new HttpHeaders()
|
|
365
|
-
.set('Content-Type', 'application/x-www-form-urlencoded')
|
|
366
|
-
.set('no-spinner', 'true');
|
|
367
|
-
return this.http
|
|
368
|
-
.post(`connect/token`, `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`, { headers })
|
|
369
|
-
.pipe(tap((response) => {
|
|
370
|
-
if ((response === null || response === void 0 ? void 0 : response.access_token) && (response === null || response === void 0 ? void 0 : response.refresh_token)) {
|
|
371
|
-
this.storageService.setToken(`Bearer ${response.access_token}`);
|
|
372
|
-
this.storageService.setRefreshToken(response.refresh_token);
|
|
373
|
-
}
|
|
374
|
-
}));
|
|
375
|
-
}
|
|
376
|
-
generateTokenGuid() {
|
|
377
|
-
return this.http
|
|
378
|
-
.post(`${this.baseUrl}/TemporaryAccessToken/generate`, {
|
|
379
|
-
RefreshToken: this.storageService.getRefreshToken(),
|
|
380
|
-
})
|
|
381
|
-
.pipe(map((response) => (response === null || response === void 0 ? void 0 : response.accessToken) || ''));
|
|
382
|
-
}
|
|
383
|
-
logout() {
|
|
384
|
-
this.storageService.clear();
|
|
385
|
-
if (window.parent == window) {
|
|
386
|
-
window.location.href = this.environment.PORTAL_URL;
|
|
387
|
-
}
|
|
388
|
-
else {
|
|
389
|
-
window.parent.postMessage({ logout: true }, this.parentWindowUrl);
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
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 });
|
|
394
|
-
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, decorators: [{
|
|
396
|
-
type: Injectable,
|
|
397
|
-
args: [{ providedIn: 'root' }]
|
|
398
|
-
}], ctorParameters: function () {
|
|
399
|
-
return [{ type: i1$2.HttpClient }, { type: StorageService }, { type: ProfileService }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
|
|
400
|
-
type: Inject,
|
|
401
|
-
args: ['environment']
|
|
402
|
-
}] }];
|
|
403
|
-
} });
|
|
404
|
-
|
|
405
|
-
class CrudBaseService {
|
|
406
|
-
constructor() {
|
|
407
|
-
this.dataset$ = new BehaviorSubject({
|
|
408
|
-
data: [],
|
|
409
|
-
draw: 0,
|
|
410
|
-
recordsFiltered: 0,
|
|
411
|
-
recordsTotal: 0,
|
|
412
|
-
});
|
|
413
|
-
this.flatUnpagedDataset$ = new BehaviorSubject([]);
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
class EnumService {
|
|
418
|
-
constructor(translateService) {
|
|
419
|
-
this.translateService = translateService;
|
|
420
|
-
}
|
|
421
|
-
getTranslatedListItemsFromEnum(enumType, enumName) {
|
|
422
|
-
return this.getEnumTranslations(enumName).pipe(map((enumTranslations) => {
|
|
423
|
-
return Object.keys(enumType)
|
|
424
|
-
.filter((item) => isNaN(+item))
|
|
425
|
-
.map((item) => {
|
|
426
|
-
return {
|
|
427
|
-
name: enumTranslations[item],
|
|
428
|
-
code: enumType[item],
|
|
429
|
-
};
|
|
430
|
-
});
|
|
431
|
-
}));
|
|
432
|
-
}
|
|
433
|
-
getEnumTranslations(enumName) {
|
|
434
|
-
return this.translateService.get('enums').pipe(map((translations) => {
|
|
435
|
-
return translations[enumName];
|
|
436
|
-
}));
|
|
437
|
-
}
|
|
438
|
-
getListItemsFromEnum(enumType) {
|
|
439
|
-
return Object.keys(enumType)
|
|
440
|
-
.filter((item) => isNaN(+item))
|
|
441
|
-
.map((item) => {
|
|
442
|
-
return {
|
|
443
|
-
name: enumType[item],
|
|
444
|
-
code: enumType[item],
|
|
445
|
-
};
|
|
446
|
-
});
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
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 });
|
|
450
|
-
EnumService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, providedIn: 'root' });
|
|
451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, decorators: [{
|
|
452
|
-
type: Injectable,
|
|
453
|
-
args: [{ providedIn: 'root' }]
|
|
454
|
-
}], ctorParameters: function () { return [{ type: i1$3.TranslateService }]; } });
|
|
455
|
-
|
|
456
|
-
class ErrorMessageService {
|
|
457
|
-
constructor() {
|
|
458
|
-
this.hasToken$ = new Subject();
|
|
459
|
-
this.genericModalErrorMessage$ = new Subject();
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
ErrorMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
463
|
-
ErrorMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, providedIn: 'root' });
|
|
464
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, decorators: [{
|
|
465
|
-
type: Injectable,
|
|
466
|
-
args: [{ providedIn: 'root' }]
|
|
467
|
-
}] });
|
|
468
|
-
|
|
469
|
-
class GeolocationService {
|
|
470
|
-
constructor(http, backend) {
|
|
471
|
-
this.http = http;
|
|
472
|
-
this.backend = backend;
|
|
473
|
-
this.customHttpClient = new HttpClient(backend);
|
|
474
|
-
}
|
|
475
|
-
getGeoLoc() {
|
|
476
|
-
return this.customHttpClient.get("http://api.ipify.org/?format=json");
|
|
477
|
-
}
|
|
478
|
-
createUserLoginInfo(userInfo) {
|
|
479
|
-
return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
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 });
|
|
483
|
-
GeolocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService });
|
|
484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService, decorators: [{
|
|
485
|
-
type: Injectable
|
|
486
|
-
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1$2.HttpBackend }]; } });
|
|
487
|
-
|
|
488
|
-
class LoadingService {
|
|
489
|
-
constructor() {
|
|
490
|
-
this.loading$ = new Subject();
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
494
|
-
LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, providedIn: 'root' });
|
|
495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, decorators: [{
|
|
496
|
-
type: Injectable,
|
|
497
|
-
args: [{ providedIn: 'root' }]
|
|
498
|
-
}] });
|
|
499
|
-
|
|
500
|
-
var AppName;
|
|
501
|
-
(function (AppName) {
|
|
502
|
-
AppName["PORTAL"] = "PORTAL";
|
|
503
|
-
AppName["FINTECH"] = "FINTECH";
|
|
504
|
-
AppName["MARKETPLACE"] = "MARKETPLACE";
|
|
505
|
-
AppName["LOGTECH"] = "LOGTECH";
|
|
506
|
-
AppName["SURVEY"] = "SURVEY";
|
|
507
|
-
})(AppName || (AppName = {}));
|
|
508
|
-
|
|
509
|
-
var BooleanType;
|
|
510
|
-
(function (BooleanType) {
|
|
511
|
-
BooleanType["YES"] = "YES";
|
|
512
|
-
BooleanType["NO"] = "NO";
|
|
513
|
-
})(BooleanType || (BooleanType = {}));
|
|
514
|
-
|
|
515
|
-
var TableColumnType;
|
|
516
|
-
(function (TableColumnType) {
|
|
517
|
-
TableColumnType["TEXT"] = "TEXT";
|
|
518
|
-
TableColumnType["BOOLEAN"] = "BOOLEAN";
|
|
519
|
-
TableColumnType["DATETIME"] = "DATETIME";
|
|
520
|
-
TableColumnType["ENUM"] = "ENUM";
|
|
521
|
-
TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
|
|
522
|
-
TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
|
|
523
|
-
})(TableColumnType || (TableColumnType = {}));
|
|
524
|
-
|
|
525
|
-
var DocumentType;
|
|
526
|
-
(function (DocumentType) {
|
|
527
|
-
DocumentType[DocumentType["CPF"] = 0] = "CPF";
|
|
528
|
-
DocumentType[DocumentType["CNPJ"] = 1] = "CNPJ";
|
|
529
|
-
})(DocumentType || (DocumentType = {}));
|
|
105
|
+
var DocumentType;
|
|
106
|
+
(function (DocumentType) {
|
|
107
|
+
DocumentType[DocumentType["CPF"] = 0] = "CPF";
|
|
108
|
+
DocumentType[DocumentType["CNPJ"] = 1] = "CNPJ";
|
|
109
|
+
})(DocumentType || (DocumentType = {}));
|
|
530
110
|
|
|
531
111
|
var MessageStatus;
|
|
532
112
|
(function (MessageStatus) {
|
|
@@ -673,803 +253,1314 @@ var View;
|
|
|
673
253
|
(function (View) {
|
|
674
254
|
View[View["HOME"] = 0] = "HOME";
|
|
675
255
|
View[View["ADMIN"] = 1] = "ADMIN";
|
|
256
|
+
View[View["DIGITAL_CARRIER"] = 2] = "DIGITAL_CARRIER";
|
|
676
257
|
})(View || (View = {}));
|
|
677
258
|
|
|
678
|
-
class
|
|
679
|
-
constructor(
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
this.
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
}
|
|
692
|
-
getSideMainMenuOptions() {
|
|
693
|
-
return this.menuOptions
|
|
694
|
-
.filter((menu) => !menu.view && !menu.hidden && this.profileService.userHasPermission(menu.permission))
|
|
695
|
-
.map((menu) => this.removeHiddenChildren(menu))
|
|
696
|
-
.filter((menu) => !menu.hidden)
|
|
697
|
-
.map((menu, index) => this.generateId(menu, index));
|
|
698
|
-
}
|
|
699
|
-
getSideAdminMenuOptions() {
|
|
700
|
-
return this.menuOptions
|
|
701
|
-
.filter((menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission))
|
|
702
|
-
.map((menu) => this.removeHiddenChildren(menu))
|
|
703
|
-
.filter((menu) => !menu.hidden)
|
|
704
|
-
.map((menu, index) => this.generateId(menu, index));
|
|
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 '';
|
|
705
272
|
}
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);
|
|
728
|
-
}
|
|
729
|
-
updateMenuNotifications(menuId, notificationsCount) {
|
|
730
|
-
this.menuNotifications[menuId] = notificationsCount;
|
|
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\n class=\"badge\"\n [class]=\"getStatusColor()\"\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\n>\n {{ label }}\n</div>\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\n class=\"badge\"\n [class]=\"getStatusColor()\"\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\n>\n {{ label }}\n</div>\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 })}`;
|
|
731
294
|
}
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
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);
|
|
744
311
|
}
|
|
745
|
-
return
|
|
312
|
+
return new Blob([new Uint8Array(byteNumbers)], { type: mimeType });
|
|
746
313
|
}
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
menu.id = `${parentId}${index}`;
|
|
750
|
-
menu.children = (_a = menu.children) === null || _a === void 0 ? void 0 : _a.map((child, childIndex) => this.generateId(child, childIndex, menu.id));
|
|
751
|
-
return menu;
|
|
314
|
+
static downloadFile(mimeType, base64StringData, fileName) {
|
|
315
|
+
saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);
|
|
752
316
|
}
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
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 '';
|
|
766
329
|
}
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
if (params.portal === 'marketplace') {
|
|
770
|
-
this.router.navigate([''], {
|
|
771
|
-
queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },
|
|
772
|
-
});
|
|
330
|
+
if (stringValue.length === 11) {
|
|
331
|
+
return this.doMaskString(stringValue, CPF_PATTERN);
|
|
773
332
|
}
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
777
|
-
if (params.admin) {
|
|
778
|
-
url += `&role=${btoa('ADMIN')}`;
|
|
779
|
-
}
|
|
780
|
-
window.location.href = url;
|
|
333
|
+
if (stringValue.length === 14) {
|
|
334
|
+
return this.doMaskString(stringValue, CNPJ_PATTERN);
|
|
781
335
|
}
|
|
336
|
+
return stringValue;
|
|
782
337
|
}
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
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 '';
|
|
788
347
|
}
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
}
|
|
795
|
-
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);
|
|
796
353
|
}
|
|
354
|
+
return stringValue;
|
|
797
355
|
}
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, decorators: [{
|
|
802
|
-
type: Injectable,
|
|
803
|
-
args: [{ providedIn: 'root' }]
|
|
804
|
-
}], ctorParameters: function () {
|
|
805
|
-
return [{ type: AuthService }, { type: i2.Router }, { type: StorageService }, { type: ProfileService }, { type: undefined, decorators: [{
|
|
806
|
-
type: Inject,
|
|
807
|
-
args: ['environment']
|
|
808
|
-
}] }, { type: undefined, decorators: [{
|
|
809
|
-
type: Inject,
|
|
810
|
-
args: ['menuOptions']
|
|
811
|
-
}] }, { type: AppName, decorators: [{
|
|
812
|
-
type: Inject,
|
|
813
|
-
args: ['appName']
|
|
814
|
-
}] }];
|
|
815
|
-
} });
|
|
816
|
-
|
|
817
|
-
class ModalService {
|
|
818
|
-
constructor() {
|
|
819
|
-
this.showModalBackground$ = new Subject();
|
|
356
|
+
static doMaskString(str, pattern) {
|
|
357
|
+
let i = 0;
|
|
358
|
+
return pattern.replace(/#/g, () => str[i++]);
|
|
820
359
|
}
|
|
821
360
|
}
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
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';
|
|
828
367
|
|
|
829
|
-
class
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
368
|
+
class ObjectUtil {
|
|
369
|
+
static getObjectKeys(obj) {
|
|
370
|
+
if (!obj) {
|
|
371
|
+
return [];
|
|
372
|
+
}
|
|
373
|
+
return Object.keys(obj).map((key) => key);
|
|
834
374
|
}
|
|
835
|
-
|
|
836
|
-
|
|
375
|
+
static isValid(obj) {
|
|
376
|
+
return obj !== null && obj !== undefined;
|
|
837
377
|
}
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
return storageItem;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
class StringUtil {
|
|
381
|
+
static getInitials(nameString) {
|
|
382
|
+
if (!nameString) {
|
|
383
|
+
return '';
|
|
845
384
|
}
|
|
385
|
+
const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));
|
|
386
|
+
return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';
|
|
846
387
|
}
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
388
|
+
static revertString(str) {
|
|
389
|
+
if (!str) {
|
|
390
|
+
return '';
|
|
391
|
+
}
|
|
392
|
+
return str.split('').reverse().join('');
|
|
852
393
|
}
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
class ValidationUtil {
|
|
397
|
+
static email(control) {
|
|
398
|
+
const email = control.value;
|
|
399
|
+
if (!email || email === '') {
|
|
400
|
+
return null;
|
|
857
401
|
}
|
|
858
|
-
|
|
859
|
-
|
|
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
|
+
};
|
|
860
407
|
}
|
|
408
|
+
return null;
|
|
861
409
|
}
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
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;
|
|
867
423
|
}
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
}
|
|
877
|
-
getRefreshToken() {
|
|
878
|
-
return sessionStorage.getItem('refreshToken') || '';
|
|
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;
|
|
879
432
|
}
|
|
880
|
-
|
|
881
|
-
|
|
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;
|
|
882
444
|
}
|
|
883
|
-
|
|
884
|
-
|
|
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;
|
|
885
486
|
}
|
|
886
|
-
|
|
887
|
-
|
|
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
|
+
}
|
|
888
510
|
}
|
|
889
|
-
|
|
890
|
-
|
|
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;
|
|
891
520
|
}
|
|
892
|
-
|
|
893
|
-
|
|
521
|
+
static matchField(anotherField) {
|
|
522
|
+
const validator = (control) => {
|
|
523
|
+
if (!control.value || !(anotherField === null || anotherField === void 0 ? void 0 : anotherField.value)) {
|
|
524
|
+
return null;
|
|
525
|
+
}
|
|
526
|
+
if (control.value !== (anotherField === null || anotherField === void 0 ? void 0 : anotherField.value)) {
|
|
527
|
+
return { fieldDoesNotMatch: true };
|
|
528
|
+
}
|
|
529
|
+
return null;
|
|
530
|
+
};
|
|
531
|
+
return validator;
|
|
894
532
|
}
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
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;
|
|
898
542
|
}
|
|
899
|
-
|
|
900
|
-
|
|
543
|
+
static lowerThanOrEqualTo(greaterControlName) {
|
|
544
|
+
const validator = (control) => {
|
|
545
|
+
var _a, _b, _c;
|
|
546
|
+
const lowerValue = control.value;
|
|
547
|
+
const greaterValue = (_b = (_a = control.parent) === null || _a === void 0 ? void 0 : _a.get(greaterControlName)) === null || _b === void 0 ? void 0 : _b.value;
|
|
548
|
+
if (!((_c = control.parent) === null || _c === void 0 ? void 0 : _c.get(greaterControlName))) {
|
|
549
|
+
console.log(`Control with name ${greaterControlName} not registered`);
|
|
550
|
+
return {};
|
|
551
|
+
}
|
|
552
|
+
if (ObjectUtil.isValid(lowerValue) &&
|
|
553
|
+
ObjectUtil.isValid(greaterValue) &&
|
|
554
|
+
lowerValue !== '' &&
|
|
555
|
+
greaterValue !== '' &&
|
|
556
|
+
+lowerValue > +greaterValue) {
|
|
557
|
+
return {
|
|
558
|
+
invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
return {};
|
|
562
|
+
};
|
|
563
|
+
return validator;
|
|
901
564
|
}
|
|
902
|
-
|
|
903
|
-
|
|
565
|
+
static greaterThanOrEqualTo(lowerControlName) {
|
|
566
|
+
const validator = (control) => {
|
|
567
|
+
var _a, _b, _c;
|
|
568
|
+
const greaterValue = control.value;
|
|
569
|
+
const lowerValue = (_b = (_a = control.parent) === null || _a === void 0 ? void 0 : _a.get(lowerControlName)) === null || _b === void 0 ? void 0 : _b.value;
|
|
570
|
+
if (!((_c = control.parent) === null || _c === void 0 ? void 0 : _c.get(lowerControlName))) {
|
|
571
|
+
console.log(`Control with name ${lowerControlName} not registered`);
|
|
572
|
+
return {};
|
|
573
|
+
}
|
|
574
|
+
if (ObjectUtil.isValid(lowerValue) &&
|
|
575
|
+
ObjectUtil.isValid(greaterValue) &&
|
|
576
|
+
lowerValue !== '' &&
|
|
577
|
+
greaterValue !== '' &&
|
|
578
|
+
+lowerValue > +greaterValue) {
|
|
579
|
+
return {
|
|
580
|
+
invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
return {};
|
|
584
|
+
};
|
|
585
|
+
return validator;
|
|
904
586
|
}
|
|
905
|
-
|
|
906
|
-
|
|
587
|
+
static notSequentialNumbers(length) {
|
|
588
|
+
const validator = (control) => {
|
|
589
|
+
const controlValue = control.value;
|
|
590
|
+
const sequentialNumbers = '01234567890123456789';
|
|
591
|
+
if (controlValue) {
|
|
592
|
+
if (controlValue.length === length) {
|
|
593
|
+
if (~sequentialNumbers.indexOf(control.value)) {
|
|
594
|
+
return { isSequential: true };
|
|
595
|
+
}
|
|
596
|
+
else if (!!controlValue.match(/^(\d)\1+$/)) {
|
|
597
|
+
return { isSequential: true };
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
return null;
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
return null;
|
|
605
|
+
};
|
|
606
|
+
return validator;
|
|
907
607
|
}
|
|
908
|
-
|
|
909
|
-
|
|
608
|
+
static firstLetterIsUppercase(control) {
|
|
609
|
+
const controlValue = control.value;
|
|
610
|
+
const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;
|
|
611
|
+
if (!!controlValue) {
|
|
612
|
+
if (!controlValue.match(regex)) {
|
|
613
|
+
return { invalidField: true };
|
|
614
|
+
}
|
|
615
|
+
return null;
|
|
616
|
+
}
|
|
617
|
+
return null;
|
|
910
618
|
}
|
|
911
|
-
|
|
912
|
-
|
|
619
|
+
static containsLettersAndNumbers(control) {
|
|
620
|
+
const controlValue = control.value;
|
|
621
|
+
const regex = /^(?=.*[0-9])(?=.*[a-z])([a-z0-9_-]+)$/;
|
|
622
|
+
if (!!controlValue) {
|
|
623
|
+
if (!!!controlValue.match(regex)) {
|
|
624
|
+
return { isNotAlphaNumeric: true };
|
|
625
|
+
}
|
|
626
|
+
return null;
|
|
627
|
+
}
|
|
628
|
+
return null;
|
|
913
629
|
}
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
class WindowUtil {
|
|
633
|
+
static isSmallDevice() {
|
|
634
|
+
return window.innerWidth < 640;
|
|
917
635
|
}
|
|
918
|
-
|
|
919
|
-
|
|
636
|
+
static isDesktop() {
|
|
637
|
+
return window.innerWidth >= 1024;
|
|
920
638
|
}
|
|
921
|
-
|
|
922
|
-
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
class FormatDocumentPipe {
|
|
642
|
+
transform(value = '') {
|
|
643
|
+
return MaskUtil.formatDocument(value);
|
|
923
644
|
}
|
|
924
645
|
}
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
928
|
-
type:
|
|
929
|
-
args: [{
|
|
930
|
-
|
|
646
|
+
FormatDocumentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatDocumentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
647
|
+
FormatDocumentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatDocumentPipe, name: "formatDocument" });
|
|
648
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormatDocumentPipe, decorators: [{
|
|
649
|
+
type: Pipe,
|
|
650
|
+
args: [{
|
|
651
|
+
name: 'formatDocument',
|
|
652
|
+
}]
|
|
653
|
+
}] });
|
|
931
654
|
|
|
932
|
-
class
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
this.http = http;
|
|
936
|
-
this.storageService = storageService;
|
|
937
|
-
this.moduleProfile$ = new BehaviorSubject(this.storageService.getProfile().allModules);
|
|
938
|
-
this.hasFintechAdminPermission = false;
|
|
939
|
-
this.hasMarketplaceAdminPermission = false;
|
|
940
|
-
this.hasAnyFintechPermission = false;
|
|
941
|
-
this.hasAnyMarketplacePermission = false;
|
|
942
|
-
const { fintech, marketplace } = this.storageService.getProfile();
|
|
943
|
-
this.hasFintechAdminPermission = !!(fintech === null || fintech === void 0 ? void 0 : fintech.actions.some((act) => [
|
|
944
|
-
ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),
|
|
945
|
-
ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),
|
|
946
|
-
].includes(act.name)));
|
|
947
|
-
this.hasMarketplaceAdminPermission = !!(marketplace === null || marketplace === void 0 ? void 0 : marketplace.actions.some((act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE));
|
|
948
|
-
this.hasAnyFintechPermission = !!((_a = fintech === null || fintech === void 0 ? void 0 : fintech.actions) === null || _a === void 0 ? void 0 : _a.length);
|
|
949
|
-
this.hasAnyMarketplacePermission = !!((_b = marketplace === null || marketplace === void 0 ? void 0 : marketplace.actions) === null || _b === void 0 ? void 0 : _b.length);
|
|
655
|
+
class NotHiddenPipe {
|
|
656
|
+
transform(value) {
|
|
657
|
+
return (value === null || value === void 0 ? void 0 : value.filter((item) => !item.hidden)) || [];
|
|
950
658
|
}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
this.storageService.setProfile({
|
|
965
|
-
marketplace: marketplaceProfileModule,
|
|
966
|
-
fintech: fintechProfileModule,
|
|
967
|
-
allModules,
|
|
968
|
-
});
|
|
969
|
-
this.moduleProfile$.next(allModules);
|
|
970
|
-
});
|
|
659
|
+
}
|
|
660
|
+
NotHiddenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
661
|
+
NotHiddenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, name: "notHidden" });
|
|
662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotHiddenPipe, decorators: [{
|
|
663
|
+
type: Pipe,
|
|
664
|
+
args: [{
|
|
665
|
+
name: 'notHidden',
|
|
666
|
+
}]
|
|
667
|
+
}] });
|
|
668
|
+
|
|
669
|
+
class OnlyActivePipe {
|
|
670
|
+
transform(value) {
|
|
671
|
+
return (value === null || value === void 0 ? void 0 : value.filter((item) => item.active)) || [];
|
|
971
672
|
}
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
}
|
|
988
|
-
return false;
|
|
989
|
-
});
|
|
990
|
-
}
|
|
991
|
-
else {
|
|
992
|
-
if (Object.values(ProfileModuleActionType).some((val) => val === action)) {
|
|
993
|
-
return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));
|
|
994
|
-
}
|
|
995
|
-
if (Object.values(ProfileModuleType).some((val) => val === action)) {
|
|
996
|
-
return this.moduleProfile$.value.some((module) => module.name === action);
|
|
997
|
-
}
|
|
998
|
-
}
|
|
999
|
-
return false;
|
|
673
|
+
}
|
|
674
|
+
OnlyActivePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
675
|
+
OnlyActivePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, name: "onlyActive" });
|
|
676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: OnlyActivePipe, decorators: [{
|
|
677
|
+
type: Pipe,
|
|
678
|
+
args: [{
|
|
679
|
+
name: 'onlyActive',
|
|
680
|
+
}]
|
|
681
|
+
}] });
|
|
682
|
+
|
|
683
|
+
class RemoveLastChildPipe {
|
|
684
|
+
transform(value) {
|
|
685
|
+
const newArray = [...value];
|
|
686
|
+
newArray.pop();
|
|
687
|
+
return newArray;
|
|
1000
688
|
}
|
|
1001
689
|
}
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
1005
|
-
type:
|
|
1006
|
-
args: [{
|
|
1007
|
-
|
|
690
|
+
RemoveLastChildPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
691
|
+
RemoveLastChildPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, name: "removeLastChild" });
|
|
692
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RemoveLastChildPipe, decorators: [{
|
|
693
|
+
type: Pipe,
|
|
694
|
+
args: [{
|
|
695
|
+
name: 'removeLastChild',
|
|
696
|
+
}]
|
|
697
|
+
}] });
|
|
1008
698
|
|
|
1009
|
-
class
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
699
|
+
class PipesModule {
|
|
700
|
+
}
|
|
701
|
+
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
702
|
+
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] });
|
|
703
|
+
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule });
|
|
704
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipesModule, decorators: [{
|
|
705
|
+
type: NgModule,
|
|
706
|
+
args: [{
|
|
707
|
+
declarations: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe, FormatDocumentPipe],
|
|
708
|
+
exports: [RemoveLastChildPipe, CurrencyBrlPipe, NotHiddenPipe, OnlyActivePipe, FormatDocumentPipe],
|
|
709
|
+
}]
|
|
710
|
+
}] });
|
|
711
|
+
|
|
712
|
+
class SharedModule {
|
|
713
|
+
}
|
|
714
|
+
SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
715
|
+
SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, exports: [CommonModule, TooltipModule, PipesModule] });
|
|
716
|
+
SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, imports: [CommonModule, TooltipModule, PipesModule] });
|
|
717
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SharedModule, decorators: [{
|
|
718
|
+
type: NgModule,
|
|
719
|
+
args: [{
|
|
720
|
+
exports: [CommonModule, TooltipModule, PipesModule],
|
|
721
|
+
}]
|
|
722
|
+
}] });
|
|
723
|
+
|
|
724
|
+
class BadgeModule {
|
|
725
|
+
}
|
|
726
|
+
BadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
727
|
+
BadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, declarations: [BadgeComponent], imports: [SharedModule], exports: [BadgeComponent] });
|
|
728
|
+
BadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, imports: [[SharedModule]] });
|
|
729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BadgeModule, decorators: [{
|
|
730
|
+
type: NgModule,
|
|
731
|
+
args: [{
|
|
732
|
+
declarations: [BadgeComponent],
|
|
733
|
+
imports: [SharedModule],
|
|
734
|
+
exports: [BadgeComponent],
|
|
735
|
+
}]
|
|
736
|
+
}] });
|
|
737
|
+
|
|
738
|
+
class BreadcrumbComponent {
|
|
739
|
+
constructor(router, environment, menuOptions) {
|
|
740
|
+
this.router = router;
|
|
741
|
+
this.environment = environment;
|
|
742
|
+
this.menuOptions = menuOptions;
|
|
743
|
+
this.appName = this.environment.appName;
|
|
744
|
+
this.routeFragments = [];
|
|
745
|
+
this.subscription = new Subscription();
|
|
746
|
+
}
|
|
747
|
+
ngOnInit() {
|
|
748
|
+
this.subscription.add(this.router.events.subscribe((event) => {
|
|
749
|
+
if (event instanceof NavigationEnd) {
|
|
750
|
+
this.routeFragments = [];
|
|
751
|
+
let url = event.urlAfterRedirects.replace('/', '');
|
|
752
|
+
if (url.includes('?')) {
|
|
753
|
+
url = url.substring(0, url.indexOf('?'));
|
|
754
|
+
}
|
|
755
|
+
this.extractRouteFragmentsFromMenu(url, this.menuOptions);
|
|
1016
756
|
}
|
|
1017
|
-
|
|
1018
|
-
|
|
757
|
+
}));
|
|
758
|
+
}
|
|
759
|
+
ngOnDestroy() {
|
|
760
|
+
this.subscription.unsubscribe();
|
|
761
|
+
}
|
|
762
|
+
navigateToFragment(fragment) {
|
|
763
|
+
this.router.navigate([fragment.route]);
|
|
764
|
+
}
|
|
765
|
+
extractRouteFragmentsFromMenu(url, currentChildren) {
|
|
766
|
+
let foundItem = false;
|
|
767
|
+
for (let i = 0; i < currentChildren.length; i++) {
|
|
768
|
+
if (currentChildren[i].route) {
|
|
769
|
+
if (currentChildren[i].route && url.startsWith(currentChildren[i].route || '')) {
|
|
770
|
+
this.routeFragments = [currentChildren[i]];
|
|
771
|
+
foundItem = true;
|
|
772
|
+
}
|
|
1019
773
|
}
|
|
1020
|
-
if (this.
|
|
1021
|
-
|
|
774
|
+
if (currentChildren[i].children && this.extractRouteFragmentsFromMenu(url, currentChildren[i].children || [])) {
|
|
775
|
+
this.routeFragments = [currentChildren[i]].concat(this.routeFragments);
|
|
776
|
+
foundItem = true;
|
|
777
|
+
break;
|
|
1022
778
|
}
|
|
1023
|
-
return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
|
|
1024
779
|
}
|
|
1025
|
-
return
|
|
780
|
+
return foundItem;
|
|
1026
781
|
}
|
|
1027
782
|
}
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
783
|
+
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 });
|
|
784
|
+
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 } });
|
|
785
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
1031
786
|
type: Component,
|
|
1032
|
-
args: [{ selector: 'vector-
|
|
1033
|
-
}], ctorParameters: function () {
|
|
1034
|
-
|
|
1035
|
-
|
|
787
|
+
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"] }]
|
|
788
|
+
}], ctorParameters: function () {
|
|
789
|
+
return [{ type: i2$1.Router }, { type: undefined, decorators: [{
|
|
790
|
+
type: Inject,
|
|
791
|
+
args: ['environment']
|
|
792
|
+
}] }, { type: undefined, decorators: [{
|
|
793
|
+
type: Inject,
|
|
794
|
+
args: ['menuOptions']
|
|
795
|
+
}] }];
|
|
796
|
+
} });
|
|
1036
797
|
|
|
1037
|
-
class
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
798
|
+
class BreadcrumbModule {
|
|
799
|
+
}
|
|
800
|
+
BreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
801
|
+
BreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, declarations: [BreadcrumbComponent], imports: [SharedModule], exports: [BreadcrumbComponent] });
|
|
802
|
+
BreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, imports: [[SharedModule]] });
|
|
803
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BreadcrumbModule, decorators: [{
|
|
804
|
+
type: NgModule,
|
|
805
|
+
args: [{
|
|
806
|
+
declarations: [BreadcrumbComponent],
|
|
807
|
+
exports: [BreadcrumbComponent],
|
|
808
|
+
imports: [SharedModule],
|
|
809
|
+
}]
|
|
810
|
+
}] });
|
|
811
|
+
|
|
812
|
+
class CrudBaseComponent {
|
|
813
|
+
constructor(activatedRoute) {
|
|
814
|
+
this.activatedRoute = activatedRoute;
|
|
815
|
+
this.crudMode = CrudMode.NEW;
|
|
816
|
+
this.isReadonly = false;
|
|
817
|
+
this.form = new FormGroup({});
|
|
818
|
+
this.subscription = new Subscription();
|
|
819
|
+
this.crudMode = this.getCrudModeByRoute(this.activatedRoute.snapshot.url[0].path);
|
|
820
|
+
this.isReadonly = this.crudMode === CrudMode.VIEW;
|
|
1050
821
|
}
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
return '';
|
|
1054
|
-
}
|
|
1055
|
-
return `${this.label}${this.isRequired ? '*' : ''}`;
|
|
822
|
+
ngOnDestroy() {
|
|
823
|
+
this.subscription.unsubscribe();
|
|
1056
824
|
}
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
if (this.control.hasError('required')) {
|
|
1060
|
-
return 'Campo obrigatório';
|
|
1061
|
-
}
|
|
1062
|
-
if (this.control.hasError('maxlength')) {
|
|
1063
|
-
return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
|
|
1064
|
-
}
|
|
1065
|
-
return 'Campo inválido';
|
|
1066
|
-
}
|
|
1067
|
-
return '';
|
|
825
|
+
isInsertion() {
|
|
826
|
+
return this.crudMode === CrudMode.NEW;
|
|
1068
827
|
}
|
|
1069
|
-
|
|
1070
|
-
this.
|
|
828
|
+
isEdition() {
|
|
829
|
+
return this.crudMode === CrudMode.EDIT;
|
|
1071
830
|
}
|
|
1072
|
-
|
|
1073
|
-
|
|
831
|
+
getCrudModeByRoute(route) {
|
|
832
|
+
switch (route) {
|
|
833
|
+
case 'new':
|
|
834
|
+
return CrudMode.NEW;
|
|
835
|
+
case 'edit':
|
|
836
|
+
return CrudMode.EDIT;
|
|
837
|
+
case 'view':
|
|
838
|
+
return CrudMode.VIEW;
|
|
839
|
+
default:
|
|
840
|
+
return CrudMode.NEW;
|
|
841
|
+
}
|
|
1074
842
|
}
|
|
1075
843
|
}
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
844
|
+
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 });
|
|
845
|
+
CrudBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CrudBaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
846
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudBaseComponent, decorators: [{
|
|
1079
847
|
type: Component,
|
|
1080
|
-
args: [{
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
848
|
+
args: [{
|
|
849
|
+
template: '',
|
|
850
|
+
}]
|
|
851
|
+
}], ctorParameters: function () { return [{ type: i2$1.ActivatedRoute }]; } });
|
|
852
|
+
|
|
853
|
+
class ButtonComponent {
|
|
854
|
+
constructor() {
|
|
855
|
+
this.disabled = false;
|
|
856
|
+
this.label = '';
|
|
857
|
+
this.type = 'default';
|
|
858
|
+
this.leftIcon = '';
|
|
859
|
+
this.rightIcon = '';
|
|
860
|
+
this.noShadow = false;
|
|
861
|
+
this.style = '';
|
|
862
|
+
this.onClick = new EventEmitter();
|
|
863
|
+
}
|
|
864
|
+
get styleClass() {
|
|
865
|
+
return { [this.type]: true, 'no-shadow': this.noShadow };
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
869
|
+
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: "<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 || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: [".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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
871
|
+
type: Component,
|
|
872
|
+
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 || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: [".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"] }]
|
|
873
|
+
}], propDecorators: { disabled: [{
|
|
1084
874
|
type: Input
|
|
1085
875
|
}], label: [{
|
|
1086
876
|
type: Input
|
|
1087
|
-
}],
|
|
1088
|
-
type: Input
|
|
1089
|
-
}], min: [{
|
|
1090
|
-
type: Input
|
|
1091
|
-
}], max: [{
|
|
877
|
+
}], type: [{
|
|
1092
878
|
type: Input
|
|
1093
|
-
}],
|
|
879
|
+
}], leftIcon: [{
|
|
1094
880
|
type: Input
|
|
1095
|
-
}],
|
|
881
|
+
}], rightIcon: [{
|
|
1096
882
|
type: Input
|
|
1097
|
-
}],
|
|
883
|
+
}], noShadow: [{
|
|
1098
884
|
type: Input
|
|
1099
|
-
}],
|
|
885
|
+
}], style: [{
|
|
1100
886
|
type: Input
|
|
887
|
+
}], onClick: [{
|
|
888
|
+
type: Output
|
|
1101
889
|
}] } });
|
|
1102
890
|
|
|
1103
|
-
class
|
|
891
|
+
class CrudFooterComponent {
|
|
1104
892
|
constructor() {
|
|
1105
|
-
this.
|
|
1106
|
-
this.
|
|
1107
|
-
this.
|
|
1108
|
-
this.
|
|
1109
|
-
this.value = false;
|
|
1110
|
-
this.disabled = false;
|
|
1111
|
-
this.valueChange = new EventEmitter();
|
|
893
|
+
this.submitDisabled = false;
|
|
894
|
+
this.submitHidden = false;
|
|
895
|
+
this.onGoBack = new EventEmitter();
|
|
896
|
+
this.onSubmit = new EventEmitter();
|
|
1112
897
|
}
|
|
1113
898
|
ngOnInit() { }
|
|
1114
899
|
}
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
900
|
+
CrudFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
901
|
+
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"] }] });
|
|
902
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudFooterComponent, decorators: [{
|
|
1118
903
|
type: Component,
|
|
1119
|
-
args: [{ selector: 'vector-
|
|
1120
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
1121
|
-
type: Input
|
|
1122
|
-
}], control: [{
|
|
1123
|
-
type: Input
|
|
1124
|
-
}], label: [{
|
|
1125
|
-
type: Input
|
|
1126
|
-
}], rounded: [{
|
|
1127
|
-
type: Input
|
|
1128
|
-
}], labelSize: [{
|
|
1129
|
-
type: Input
|
|
1130
|
-
}], value: [{
|
|
904
|
+
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"] }]
|
|
905
|
+
}], ctorParameters: function () { return []; }, propDecorators: { submitDisabled: [{
|
|
1131
906
|
type: Input
|
|
1132
|
-
}],
|
|
907
|
+
}], submitHidden: [{
|
|
1133
908
|
type: Input
|
|
1134
|
-
}],
|
|
909
|
+
}], onGoBack: [{
|
|
910
|
+
type: Output
|
|
911
|
+
}], onSubmit: [{
|
|
1135
912
|
type: Output
|
|
1136
913
|
}] } });
|
|
1137
914
|
|
|
1138
|
-
class
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
}
|
|
1147
|
-
|
|
1148
|
-
saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);
|
|
1149
|
-
}
|
|
1150
|
-
}
|
|
915
|
+
class PanelComponent {
|
|
916
|
+
constructor() { }
|
|
917
|
+
ngOnInit() { }
|
|
918
|
+
}
|
|
919
|
+
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
920
|
+
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"] }] });
|
|
921
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelComponent, decorators: [{
|
|
922
|
+
type: Component,
|
|
923
|
+
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: [""] }]
|
|
924
|
+
}], ctorParameters: function () { return []; } });
|
|
1151
925
|
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
926
|
+
class PanelModule {
|
|
927
|
+
}
|
|
928
|
+
PanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
929
|
+
PanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, declarations: [PanelComponent], imports: [SharedModule, PanelModule$1], exports: [PanelComponent] });
|
|
930
|
+
PanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, imports: [[SharedModule, PanelModule$1]] });
|
|
931
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PanelModule, decorators: [{
|
|
932
|
+
type: NgModule,
|
|
933
|
+
args: [{
|
|
934
|
+
declarations: [PanelComponent],
|
|
935
|
+
exports: [PanelComponent],
|
|
936
|
+
imports: [SharedModule, PanelModule$1],
|
|
937
|
+
}]
|
|
938
|
+
}] });
|
|
939
|
+
|
|
940
|
+
class AuthService {
|
|
941
|
+
constructor(http, storageService, profileService, activatedRoute, environment) {
|
|
942
|
+
this.http = http;
|
|
943
|
+
this.storageService = storageService;
|
|
944
|
+
this.profileService = profileService;
|
|
945
|
+
this.activatedRoute = activatedRoute;
|
|
946
|
+
this.environment = environment;
|
|
947
|
+
this.role$ = new BehaviorSubject(this.storageService.getRole());
|
|
948
|
+
this.parentWindowUrl = '';
|
|
949
|
+
this.subscription = new Subscription();
|
|
950
|
+
this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';
|
|
951
|
+
this.subscription.add(this.activatedRoute.queryParams.subscribe((params) => {
|
|
952
|
+
if (params['parent']) {
|
|
953
|
+
this.parentWindowUrl = decodeURIComponent(params['parent']);
|
|
954
|
+
}
|
|
955
|
+
}));
|
|
1170
956
|
}
|
|
1171
|
-
|
|
1172
|
-
return this.
|
|
957
|
+
getTokenByGuid(tokenGuid) {
|
|
958
|
+
return this.http.get(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(tap((response) => {
|
|
959
|
+
this.storageService.setToken(response.accessToken);
|
|
960
|
+
this.storageService.setUsername(response.userName);
|
|
961
|
+
this.storageService.setRefreshToken(response.refreshToken);
|
|
962
|
+
this.profileService.getUserProfile();
|
|
963
|
+
}));
|
|
1173
964
|
}
|
|
1174
|
-
|
|
1175
|
-
|
|
965
|
+
getTokenByRefreshToken(refreshToken) {
|
|
966
|
+
const headers = new HttpHeaders()
|
|
967
|
+
.set('Content-Type', 'application/x-www-form-urlencoded')
|
|
968
|
+
.set('no-spinner', 'true');
|
|
969
|
+
return this.http
|
|
970
|
+
.post(`connect/token`, `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`, { headers })
|
|
971
|
+
.pipe(tap((response) => {
|
|
972
|
+
if ((response === null || response === void 0 ? void 0 : response.access_token) && (response === null || response === void 0 ? void 0 : response.refresh_token)) {
|
|
973
|
+
this.storageService.setToken(`Bearer ${response.access_token}`);
|
|
974
|
+
this.storageService.setRefreshToken(response.refresh_token);
|
|
975
|
+
}
|
|
976
|
+
}));
|
|
1176
977
|
}
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
978
|
+
generateTokenGuid() {
|
|
979
|
+
return this.http
|
|
980
|
+
.post(`${this.baseUrl}/TemporaryAccessToken/generate`, {
|
|
981
|
+
RefreshToken: this.storageService.getRefreshToken(),
|
|
982
|
+
})
|
|
983
|
+
.pipe(map((response) => (response === null || response === void 0 ? void 0 : response.accessToken) || ''));
|
|
984
|
+
}
|
|
985
|
+
logout() {
|
|
986
|
+
this.storageService.clear();
|
|
987
|
+
if (window.parent == window) {
|
|
988
|
+
window.location.href = this.environment.PORTAL_URL;
|
|
1183
989
|
}
|
|
1184
|
-
else
|
|
1185
|
-
|
|
990
|
+
else {
|
|
991
|
+
window.parent.postMessage({ logout: true }, this.parentWindowUrl);
|
|
1186
992
|
}
|
|
1187
|
-
return stringValue;
|
|
1188
|
-
}
|
|
1189
|
-
static doMaskString(str, pattern) {
|
|
1190
|
-
let i = 0;
|
|
1191
|
-
return pattern.replace(/#/g, () => str[i++]);
|
|
1192
993
|
}
|
|
1193
994
|
}
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
995
|
+
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 });
|
|
996
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
997
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AuthService, decorators: [{
|
|
998
|
+
type: Injectable,
|
|
999
|
+
args: [{ providedIn: 'root' }]
|
|
1000
|
+
}], ctorParameters: function () {
|
|
1001
|
+
return [{ type: i1$2.HttpClient }, { type: StorageService }, { type: ProfileService }, { type: i2$1.ActivatedRoute }, { type: undefined, decorators: [{
|
|
1002
|
+
type: Inject,
|
|
1003
|
+
args: ['environment']
|
|
1004
|
+
}] }];
|
|
1005
|
+
} });
|
|
1200
1006
|
|
|
1201
|
-
class
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1007
|
+
class CrudBaseService {
|
|
1008
|
+
constructor() {
|
|
1009
|
+
this.dataset$ = new BehaviorSubject({
|
|
1010
|
+
data: [],
|
|
1011
|
+
draw: 0,
|
|
1012
|
+
recordsFiltered: 0,
|
|
1013
|
+
recordsTotal: 0,
|
|
1014
|
+
});
|
|
1015
|
+
this.flatUnpagedDataset$ = new BehaviorSubject([]);
|
|
1210
1016
|
}
|
|
1017
|
+
getHistory(entityId) { }
|
|
1211
1018
|
}
|
|
1212
1019
|
|
|
1213
|
-
class
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
return '';
|
|
1217
|
-
}
|
|
1218
|
-
const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));
|
|
1219
|
-
return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';
|
|
1020
|
+
class EnumService {
|
|
1021
|
+
constructor(translateService) {
|
|
1022
|
+
this.translateService = translateService;
|
|
1220
1023
|
}
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
return
|
|
1024
|
+
getTranslatedListItemsFromEnum(enumType, enumName) {
|
|
1025
|
+
return this.getEnumTranslations(enumName).pipe(map((enumTranslations) => {
|
|
1026
|
+
return Object.keys(enumType)
|
|
1027
|
+
.filter((item) => isNaN(+item))
|
|
1028
|
+
.map((item) => {
|
|
1029
|
+
return {
|
|
1030
|
+
name: enumTranslations[item],
|
|
1031
|
+
code: enumType[item],
|
|
1032
|
+
};
|
|
1033
|
+
});
|
|
1034
|
+
}));
|
|
1035
|
+
}
|
|
1036
|
+
getEnumTranslations(enumName) {
|
|
1037
|
+
return this.translateService.get('enums').pipe(map((translations) => {
|
|
1038
|
+
return translations[enumName];
|
|
1039
|
+
}));
|
|
1040
|
+
}
|
|
1041
|
+
getListItemsFromEnum(enumType) {
|
|
1042
|
+
return Object.keys(enumType)
|
|
1043
|
+
.filter((item) => isNaN(+item))
|
|
1044
|
+
.map((item) => {
|
|
1045
|
+
return {
|
|
1046
|
+
name: enumType[item],
|
|
1047
|
+
code: enumType[item],
|
|
1048
|
+
};
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
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 });
|
|
1053
|
+
EnumService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, providedIn: 'root' });
|
|
1054
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EnumService, decorators: [{
|
|
1055
|
+
type: Injectable,
|
|
1056
|
+
args: [{ providedIn: 'root' }]
|
|
1057
|
+
}], ctorParameters: function () { return [{ type: i1$3.TranslateService }]; } });
|
|
1058
|
+
|
|
1059
|
+
class ErrorMessageService {
|
|
1060
|
+
constructor() {
|
|
1061
|
+
this.hasToken$ = new Subject();
|
|
1062
|
+
this.genericModalErrorMessage$ = new Subject();
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
ErrorMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1066
|
+
ErrorMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, providedIn: 'root' });
|
|
1067
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ErrorMessageService, decorators: [{
|
|
1068
|
+
type: Injectable,
|
|
1069
|
+
args: [{ providedIn: 'root' }]
|
|
1070
|
+
}] });
|
|
1071
|
+
|
|
1072
|
+
class GeolocationService {
|
|
1073
|
+
constructor(http, backend) {
|
|
1074
|
+
this.http = http;
|
|
1075
|
+
this.backend = backend;
|
|
1076
|
+
this.customHttpClient = new HttpClient(backend);
|
|
1077
|
+
}
|
|
1078
|
+
getGeoLoc() {
|
|
1079
|
+
return this.customHttpClient.get('http://api.ipify.org/?format=json');
|
|
1080
|
+
}
|
|
1081
|
+
createUserLoginInfo(userInfo) {
|
|
1082
|
+
return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
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 });
|
|
1086
|
+
GeolocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService });
|
|
1087
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GeolocationService, decorators: [{
|
|
1088
|
+
type: Injectable
|
|
1089
|
+
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1$2.HttpBackend }]; } });
|
|
1090
|
+
|
|
1091
|
+
class LoadingService {
|
|
1092
|
+
constructor() {
|
|
1093
|
+
this.loading$ = new Subject();
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1096
|
+
LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1097
|
+
LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, providedIn: 'root' });
|
|
1098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoadingService, decorators: [{
|
|
1099
|
+
type: Injectable,
|
|
1100
|
+
args: [{ providedIn: 'root' }]
|
|
1101
|
+
}] });
|
|
1102
|
+
|
|
1103
|
+
class MenuService {
|
|
1104
|
+
constructor(authService, router, storageService, profileService, environment, menuOptions, appName) {
|
|
1105
|
+
this.authService = authService;
|
|
1106
|
+
this.router = router;
|
|
1107
|
+
this.storageService = storageService;
|
|
1108
|
+
this.profileService = profileService;
|
|
1109
|
+
this.environment = environment;
|
|
1110
|
+
this.menuOptions = menuOptions;
|
|
1111
|
+
this.appName = appName;
|
|
1112
|
+
this.toggleMenu$ = new Subject();
|
|
1113
|
+
this.menuOpened$ = new Subject();
|
|
1114
|
+
this.frameUrl$ = new Subject();
|
|
1115
|
+
this.menuNotifications = {};
|
|
1116
|
+
}
|
|
1117
|
+
getSideMainMenuOptions() {
|
|
1118
|
+
return this.menuOptions
|
|
1119
|
+
.filter((menu) => (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&
|
|
1120
|
+
!menu.hidden &&
|
|
1121
|
+
this.profileService.userHasPermission(menu.permission))
|
|
1122
|
+
.map((menu) => this.removeHiddenChildren(menu))
|
|
1123
|
+
.filter((menu) => !menu.hidden)
|
|
1124
|
+
.map((menu, index) => this.generateId(menu, index));
|
|
1125
|
+
}
|
|
1126
|
+
getSideAdminMenuOptions() {
|
|
1127
|
+
return this.menuOptions
|
|
1128
|
+
.filter((menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission))
|
|
1129
|
+
.map((menu) => this.removeHiddenChildren(menu))
|
|
1130
|
+
.filter((menu) => !menu.hidden)
|
|
1131
|
+
.map((menu, index) => this.generateId(menu, index));
|
|
1132
|
+
}
|
|
1133
|
+
navigateToPortal(params) {
|
|
1134
|
+
this.authService.generateTokenGuid().subscribe((tokenGuid) => {
|
|
1135
|
+
const userId = this.storageService.getUserId();
|
|
1136
|
+
switch (this.appName) {
|
|
1137
|
+
case AppName.FINTECH:
|
|
1138
|
+
this.handleFintechRedirects(params, tokenGuid, userId);
|
|
1139
|
+
break;
|
|
1140
|
+
case AppName.MARKETPLACE:
|
|
1141
|
+
this.handleMarketplaceRedirects(params, tokenGuid, userId);
|
|
1142
|
+
break;
|
|
1143
|
+
case AppName.LOGTECH:
|
|
1144
|
+
this.handleLogtechRedirects(params, tokenGuid, userId);
|
|
1145
|
+
break;
|
|
1146
|
+
}
|
|
1147
|
+
this.storageService.clear();
|
|
1148
|
+
});
|
|
1149
|
+
}
|
|
1150
|
+
addMenuNotification(menuId) {
|
|
1151
|
+
this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);
|
|
1152
|
+
}
|
|
1153
|
+
subtractMenuNotification(menuId) {
|
|
1154
|
+
this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);
|
|
1155
|
+
}
|
|
1156
|
+
updateMenuNotifications(menuId, notificationsCount) {
|
|
1157
|
+
this.menuNotifications[menuId] = notificationsCount;
|
|
1158
|
+
}
|
|
1159
|
+
removeHiddenChildren(menu) {
|
|
1160
|
+
var _a, _b, _c;
|
|
1161
|
+
const newMenu = Object.assign({}, menu);
|
|
1162
|
+
const hadChildren = !!((_a = newMenu.children) === null || _a === void 0 ? void 0 : _a.length);
|
|
1163
|
+
newMenu.children = (_b = newMenu.children) === null || _b === void 0 ? void 0 : _b.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission)).map((menu) => this.removeHiddenChildren(menu)).filter((child) => !child.hidden);
|
|
1164
|
+
if (hadChildren &&
|
|
1165
|
+
!((_c = newMenu.children) === null || _c === void 0 ? void 0 : _c.length) &&
|
|
1166
|
+
!newMenu.route &&
|
|
1167
|
+
!newMenu.frameUrl &&
|
|
1168
|
+
!newMenu.externalUrl &&
|
|
1169
|
+
!newMenu.command) {
|
|
1170
|
+
newMenu.hidden = true;
|
|
1224
1171
|
}
|
|
1225
|
-
return
|
|
1172
|
+
return newMenu;
|
|
1173
|
+
}
|
|
1174
|
+
generateId(menu, index, parentId = '') {
|
|
1175
|
+
var _a;
|
|
1176
|
+
menu.id = `${parentId}${index}`;
|
|
1177
|
+
menu.children = (_a = menu.children) === null || _a === void 0 ? void 0 : _a.map((child, childIndex) => this.generateId(child, childIndex, menu.id));
|
|
1178
|
+
return menu;
|
|
1179
|
+
}
|
|
1180
|
+
handleFintechRedirects(params, tokenGuid, userId) {
|
|
1181
|
+
if (params.portal === 'fintech') {
|
|
1182
|
+
this.router.navigate([''], {
|
|
1183
|
+
queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId },
|
|
1184
|
+
});
|
|
1185
|
+
}
|
|
1186
|
+
else {
|
|
1187
|
+
let url = params.portal === 'marketplace' ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;
|
|
1188
|
+
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
1189
|
+
if (params.admin) {
|
|
1190
|
+
url += `&role=${btoa('ADMIN')}`;
|
|
1191
|
+
}
|
|
1192
|
+
window.location.href = url;
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
handleMarketplaceRedirects(params, tokenGuid, userId) {
|
|
1196
|
+
if (params.portal === 'marketplace') {
|
|
1197
|
+
this.router.navigate([''], {
|
|
1198
|
+
queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },
|
|
1199
|
+
});
|
|
1200
|
+
}
|
|
1201
|
+
else {
|
|
1202
|
+
let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;
|
|
1203
|
+
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
1204
|
+
if (params.admin) {
|
|
1205
|
+
url += `&role=${btoa('ADMIN')}`;
|
|
1206
|
+
}
|
|
1207
|
+
window.location.href = url;
|
|
1208
|
+
}
|
|
1209
|
+
}
|
|
1210
|
+
handleLogtechRedirects(params, tokenGuid, userId) {
|
|
1211
|
+
if (params.portal === 'logtech') {
|
|
1212
|
+
this.router.navigate([''], {
|
|
1213
|
+
queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },
|
|
1214
|
+
});
|
|
1215
|
+
}
|
|
1216
|
+
else {
|
|
1217
|
+
let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;
|
|
1218
|
+
url += `?Token=${tokenGuid}&userId=${userId}`;
|
|
1219
|
+
if (params.admin) {
|
|
1220
|
+
url += `&role=${btoa('ADMIN')}`;
|
|
1221
|
+
}
|
|
1222
|
+
window.location.href = url;
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
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 });
|
|
1227
|
+
MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, providedIn: 'root' });
|
|
1228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, decorators: [{
|
|
1229
|
+
type: Injectable,
|
|
1230
|
+
args: [{ providedIn: 'root' }]
|
|
1231
|
+
}], ctorParameters: function () {
|
|
1232
|
+
return [{ type: AuthService }, { type: i2$1.Router }, { type: StorageService }, { type: ProfileService }, { type: undefined, decorators: [{
|
|
1233
|
+
type: Inject,
|
|
1234
|
+
args: ['environment']
|
|
1235
|
+
}] }, { type: undefined, decorators: [{
|
|
1236
|
+
type: Inject,
|
|
1237
|
+
args: ['menuOptions']
|
|
1238
|
+
}] }, { type: AppName, decorators: [{
|
|
1239
|
+
type: Inject,
|
|
1240
|
+
args: ['appName']
|
|
1241
|
+
}] }];
|
|
1242
|
+
} });
|
|
1243
|
+
|
|
1244
|
+
class ModalService {
|
|
1245
|
+
constructor() {
|
|
1246
|
+
this.showModalBackground$ = new Subject();
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1250
|
+
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
1251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, decorators: [{
|
|
1252
|
+
type: Injectable,
|
|
1253
|
+
args: [{ providedIn: 'root' }]
|
|
1254
|
+
}] });
|
|
1255
|
+
|
|
1256
|
+
class StorageService {
|
|
1257
|
+
constructor() { }
|
|
1258
|
+
clear() {
|
|
1259
|
+
sessionStorage.clear();
|
|
1260
|
+
localStorage.clear();
|
|
1261
|
+
}
|
|
1262
|
+
clearSession() {
|
|
1263
|
+
sessionStorage.clear();
|
|
1264
|
+
}
|
|
1265
|
+
get(key) {
|
|
1266
|
+
const storageItem = localStorage.getItem(key);
|
|
1267
|
+
try {
|
|
1268
|
+
return storageItem ? JSON.parse(storageItem) : '';
|
|
1269
|
+
}
|
|
1270
|
+
catch (e) {
|
|
1271
|
+
return storageItem;
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
set(key, value) {
|
|
1275
|
+
localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));
|
|
1276
|
+
}
|
|
1277
|
+
remove(key) {
|
|
1278
|
+
localStorage.removeItem(key);
|
|
1279
|
+
}
|
|
1280
|
+
getSession(key) {
|
|
1281
|
+
const storageItem = sessionStorage.getItem(key);
|
|
1282
|
+
try {
|
|
1283
|
+
return storageItem ? JSON.parse(storageItem) : '';
|
|
1284
|
+
}
|
|
1285
|
+
catch (e) {
|
|
1286
|
+
return storageItem;
|
|
1287
|
+
}
|
|
1288
|
+
}
|
|
1289
|
+
setSession(key, value) {
|
|
1290
|
+
sessionStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));
|
|
1291
|
+
}
|
|
1292
|
+
removeSession(key) {
|
|
1293
|
+
sessionStorage.removeItem(key);
|
|
1294
|
+
}
|
|
1295
|
+
getToken() {
|
|
1296
|
+
return localStorage.getItem('token') || '';
|
|
1297
|
+
}
|
|
1298
|
+
setToken(token) {
|
|
1299
|
+
localStorage.setItem('token', token);
|
|
1300
|
+
}
|
|
1301
|
+
removeToken() {
|
|
1302
|
+
localStorage.removeItem('token');
|
|
1303
|
+
}
|
|
1304
|
+
getRefreshToken() {
|
|
1305
|
+
return sessionStorage.getItem('refreshToken') || '';
|
|
1306
|
+
}
|
|
1307
|
+
setRefreshToken(refreshToken) {
|
|
1308
|
+
sessionStorage.setItem('refreshToken', refreshToken);
|
|
1309
|
+
}
|
|
1310
|
+
removeRefreshToken() {
|
|
1311
|
+
sessionStorage.removeItem('refreshToken');
|
|
1312
|
+
}
|
|
1313
|
+
getUsername() {
|
|
1314
|
+
return sessionStorage.getItem('username') || '';
|
|
1315
|
+
}
|
|
1316
|
+
setUsername(username) {
|
|
1317
|
+
sessionStorage.setItem('username', username);
|
|
1318
|
+
}
|
|
1319
|
+
removeUsername() {
|
|
1320
|
+
sessionStorage.removeItem('username');
|
|
1321
|
+
}
|
|
1322
|
+
getUserId() {
|
|
1323
|
+
const userId = sessionStorage.getItem('userId') || '';
|
|
1324
|
+
return userId ? +atob(userId) : 0;
|
|
1325
|
+
}
|
|
1326
|
+
setUserId(userId) {
|
|
1327
|
+
sessionStorage.setItem('userId', btoa(`${userId}`));
|
|
1328
|
+
}
|
|
1329
|
+
clearUserId() {
|
|
1330
|
+
sessionStorage.removeItem('userId');
|
|
1331
|
+
}
|
|
1332
|
+
getRole() {
|
|
1333
|
+
return atob(sessionStorage.getItem('role') || '');
|
|
1334
|
+
}
|
|
1335
|
+
setRole(role) {
|
|
1336
|
+
sessionStorage.setItem('role', role || '');
|
|
1337
|
+
}
|
|
1338
|
+
clearRole() {
|
|
1339
|
+
sessionStorage.removeItem('role');
|
|
1226
1340
|
}
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
static email(control) {
|
|
1231
|
-
const email = control.value;
|
|
1232
|
-
if (!email || email === '') {
|
|
1233
|
-
return null;
|
|
1234
|
-
}
|
|
1235
|
-
if (!email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) ||
|
|
1236
|
-
email.match(/['`~!#%^&*()|+¨=?;:'´",<>\{\}\[\]\\\/]/gi)) {
|
|
1237
|
-
return {
|
|
1238
|
-
email: true,
|
|
1239
|
-
};
|
|
1240
|
-
}
|
|
1241
|
-
return null;
|
|
1341
|
+
getProfile() {
|
|
1342
|
+
const data = sessionStorage.getItem('profile') || '';
|
|
1343
|
+
return data ? JSON.parse(data) : data;
|
|
1242
1344
|
}
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
if (!name) {
|
|
1246
|
-
return null;
|
|
1247
|
-
}
|
|
1248
|
-
const splittedName = name
|
|
1249
|
-
.trim()
|
|
1250
|
-
.split(' ')
|
|
1251
|
-
.map((namePart) => namePart.trim());
|
|
1252
|
-
if (splittedName.length < 2) {
|
|
1253
|
-
return { notFullName: true };
|
|
1254
|
-
}
|
|
1255
|
-
return null;
|
|
1345
|
+
setProfile(profiles) {
|
|
1346
|
+
sessionStorage.setItem('profile', JSON.stringify(profiles || ''));
|
|
1256
1347
|
}
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
if (name) {
|
|
1260
|
-
if (!name.match(/^([a-zA-ZÀ-ú0-9]+\s)*[a-zA-ZÀ-ú0-9]+$/)) {
|
|
1261
|
-
return { haveWhiteSpace: true };
|
|
1262
|
-
}
|
|
1263
|
-
}
|
|
1264
|
-
return null;
|
|
1348
|
+
removeProfile() {
|
|
1349
|
+
sessionStorage.removeItem('profile');
|
|
1265
1350
|
}
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1351
|
+
}
|
|
1352
|
+
StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1353
|
+
StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, providedIn: 'root' });
|
|
1354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, decorators: [{
|
|
1355
|
+
type: Injectable,
|
|
1356
|
+
args: [{ providedIn: 'root' }]
|
|
1357
|
+
}], ctorParameters: function () { return []; } });
|
|
1358
|
+
|
|
1359
|
+
class ProfileService {
|
|
1360
|
+
constructor(http, storageService) {
|
|
1361
|
+
var _a, _b;
|
|
1362
|
+
this.http = http;
|
|
1363
|
+
this.storageService = storageService;
|
|
1364
|
+
this.moduleProfile$ = new BehaviorSubject(this.storageService.getProfile().allModules);
|
|
1365
|
+
this.hasFintechAdminPermission = false;
|
|
1366
|
+
this.hasMarketplaceAdminPermission = false;
|
|
1367
|
+
this.hasAnyFintechPermission = false;
|
|
1368
|
+
this.hasAnyMarketplacePermission = false;
|
|
1369
|
+
const { fintech, marketplace } = this.storageService.getProfile();
|
|
1370
|
+
this.hasFintechAdminPermission = !!(fintech === null || fintech === void 0 ? void 0 : fintech.actions.some((act) => [
|
|
1371
|
+
ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),
|
|
1372
|
+
ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),
|
|
1373
|
+
].includes(act.name)));
|
|
1374
|
+
this.hasMarketplaceAdminPermission = !!(marketplace === null || marketplace === void 0 ? void 0 : marketplace.actions.some((act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE));
|
|
1375
|
+
this.hasAnyFintechPermission = !!((_a = fintech === null || fintech === void 0 ? void 0 : fintech.actions) === null || _a === void 0 ? void 0 : _a.length);
|
|
1376
|
+
this.hasAnyMarketplacePermission = !!((_b = marketplace === null || marketplace === void 0 ? void 0 : marketplace.actions) === null || _b === void 0 ? void 0 : _b.length);
|
|
1377
|
+
}
|
|
1378
|
+
getUserProfile() {
|
|
1379
|
+
this.http.get('connect/userinfo').subscribe((response) => {
|
|
1380
|
+
var _a;
|
|
1381
|
+
const completeProfile = response.profile;
|
|
1382
|
+
const marketplaceProfileModule = completeProfile.modules.find((mod) => mod.name === 'Marketplace');
|
|
1383
|
+
const fintechProfileModule = completeProfile.modules.find((mod) => mod.name === 'Fintech');
|
|
1384
|
+
const allModules = completeProfile.modules;
|
|
1385
|
+
this.hasFintechAdminPermission = !!(fintechProfileModule === null || fintechProfileModule === void 0 ? void 0 : fintechProfileModule.actions.some((act) => [
|
|
1386
|
+
ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),
|
|
1387
|
+
ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),
|
|
1388
|
+
].includes(act.name)));
|
|
1389
|
+
this.hasMarketplaceAdminPermission = !!(marketplaceProfileModule === null || marketplaceProfileModule === void 0 ? void 0 : marketplaceProfileModule.actions.some((act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE));
|
|
1390
|
+
this.hasAnyFintechPermission = !!((_a = fintechProfileModule === null || fintechProfileModule === void 0 ? void 0 : fintechProfileModule.actions) === null || _a === void 0 ? void 0 : _a.length);
|
|
1391
|
+
this.storageService.setProfile({
|
|
1392
|
+
marketplace: marketplaceProfileModule,
|
|
1393
|
+
fintech: fintechProfileModule,
|
|
1394
|
+
allModules,
|
|
1395
|
+
});
|
|
1396
|
+
this.moduleProfile$.next(allModules);
|
|
1397
|
+
});
|
|
1398
|
+
}
|
|
1399
|
+
userHasPermission(action) {
|
|
1400
|
+
if (!action) {
|
|
1401
|
+
return true;
|
|
1272
1402
|
}
|
|
1273
|
-
if (
|
|
1274
|
-
return
|
|
1403
|
+
if (!this.moduleProfile$.value) {
|
|
1404
|
+
return false;
|
|
1275
1405
|
}
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
let numbers, digits, sum, i, result, equalDigits;
|
|
1282
|
-
equalDigits = 1;
|
|
1283
|
-
if (cpf.length < 11) {
|
|
1284
|
-
return null;
|
|
1285
|
-
}
|
|
1286
|
-
for (i = 0; i < cpf.length - 1; i++) {
|
|
1287
|
-
if (cpf.charAt(i) !== cpf.charAt(i + 1)) {
|
|
1288
|
-
equalDigits = 0;
|
|
1289
|
-
break;
|
|
1290
|
-
}
|
|
1291
|
-
}
|
|
1292
|
-
if (!equalDigits) {
|
|
1293
|
-
numbers = cpf.substring(0, 9);
|
|
1294
|
-
digits = cpf.substring(9);
|
|
1295
|
-
sum = 0;
|
|
1296
|
-
for (i = 10; i > 1; i--) {
|
|
1297
|
-
sum += numbers.charAt(10 - i) * i;
|
|
1298
|
-
}
|
|
1299
|
-
result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
|
|
1300
|
-
if (result !== Number(digits.charAt(0))) {
|
|
1301
|
-
return { cpfNotValid: true };
|
|
1302
|
-
}
|
|
1303
|
-
numbers = cpf.substring(0, 10);
|
|
1304
|
-
sum = 0;
|
|
1305
|
-
for (i = 11; i > 1; i--) {
|
|
1306
|
-
sum += numbers.charAt(11 - i) * i;
|
|
1406
|
+
if (Array.isArray(action)) {
|
|
1407
|
+
return action.some((act) => {
|
|
1408
|
+
var _a, _b;
|
|
1409
|
+
if (Object.values(ProfileModuleActionType).some((val) => val === act)) {
|
|
1410
|
+
return (_a = this.moduleProfile$.value) === null || _a === void 0 ? void 0 : _a.some((module) => module.actions.some((moduleAction) => moduleAction.name === act));
|
|
1307
1411
|
}
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
return { cpfNotValid: true };
|
|
1412
|
+
if (Object.values(ProfileModuleType).some((val) => val === act)) {
|
|
1413
|
+
return (_b = this.moduleProfile$.value) === null || _b === void 0 ? void 0 : _b.some((module) => module.name === act);
|
|
1311
1414
|
}
|
|
1312
|
-
return
|
|
1313
|
-
}
|
|
1314
|
-
else {
|
|
1315
|
-
return { cpfNotValid: true };
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
return null;
|
|
1319
|
-
}
|
|
1320
|
-
static isValidCnpj(control) {
|
|
1321
|
-
let cnpj = control.value;
|
|
1322
|
-
cnpj = cnpj.replace(/[^\d]+/g, '');
|
|
1323
|
-
// verificando se tem a quantidade certa de caracter e se não tem todos caracteres iguais
|
|
1324
|
-
if (/^(\d)\1+$/.test(cnpj)) {
|
|
1325
|
-
return { cnpjNotValid: true };
|
|
1326
|
-
}
|
|
1327
|
-
let t = cnpj.length - 2, d = cnpj.substring(t), d1 = parseInt(d.charAt(0)), d2 = parseInt(d.charAt(1)), calc = (x) => {
|
|
1328
|
-
let n = cnpj.substring(0, x), y = x - 7, s = 0, r = 0;
|
|
1329
|
-
for (let i = x; i >= 1; i--) {
|
|
1330
|
-
s += n.charAt(x - i) * y--;
|
|
1331
|
-
if (y < 2)
|
|
1332
|
-
y = 9;
|
|
1333
|
-
}
|
|
1334
|
-
r = 11 - (s % 11);
|
|
1335
|
-
return r > 9 ? 0 : r;
|
|
1336
|
-
};
|
|
1337
|
-
if (calc(t) === d1 && calc(t + 1) === d2) {
|
|
1338
|
-
return null;
|
|
1415
|
+
return false;
|
|
1416
|
+
});
|
|
1339
1417
|
}
|
|
1340
1418
|
else {
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
}
|
|
1344
|
-
static majorAge(control) {
|
|
1345
|
-
if (!control.value) {
|
|
1346
|
-
return null;
|
|
1347
|
-
}
|
|
1348
|
-
const age = ~~((Date.now() - control.value) / 31557600000);
|
|
1349
|
-
if (age < 18) {
|
|
1350
|
-
return { isNotMajorAge: true };
|
|
1351
|
-
}
|
|
1352
|
-
return null;
|
|
1353
|
-
}
|
|
1354
|
-
static matchField(anotherField) {
|
|
1355
|
-
const validator = (control) => {
|
|
1356
|
-
if (!control.value || !(anotherField === null || anotherField === void 0 ? void 0 : anotherField.value)) {
|
|
1357
|
-
return null;
|
|
1419
|
+
if (Object.values(ProfileModuleActionType).some((val) => val === action)) {
|
|
1420
|
+
return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));
|
|
1358
1421
|
}
|
|
1359
|
-
if (
|
|
1360
|
-
return
|
|
1422
|
+
if (Object.values(ProfileModuleType).some((val) => val === action)) {
|
|
1423
|
+
return this.moduleProfile$.value.some((module) => module.name === action);
|
|
1361
1424
|
}
|
|
1362
|
-
return null;
|
|
1363
|
-
};
|
|
1364
|
-
return validator;
|
|
1365
|
-
}
|
|
1366
|
-
static cellphone(control) {
|
|
1367
|
-
if (!control.value || control.value.length < 11) {
|
|
1368
|
-
return null;
|
|
1369
|
-
}
|
|
1370
|
-
const firstNumber = control.value.substring(2, 3);
|
|
1371
|
-
if (firstNumber != '9') {
|
|
1372
|
-
return { cellphoneInvalid: true };
|
|
1373
1425
|
}
|
|
1374
|
-
return
|
|
1426
|
+
return false;
|
|
1375
1427
|
}
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
return
|
|
1391
|
-
invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',
|
|
1392
|
-
};
|
|
1428
|
+
}
|
|
1429
|
+
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 });
|
|
1430
|
+
ProfileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ProfileService, providedIn: 'root' });
|
|
1431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ProfileService, decorators: [{
|
|
1432
|
+
type: Injectable,
|
|
1433
|
+
args: [{ providedIn: 'root' }]
|
|
1434
|
+
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: StorageService }]; } });
|
|
1435
|
+
|
|
1436
|
+
class FieldErrorMessageComponent {
|
|
1437
|
+
constructor() { }
|
|
1438
|
+
ngOnInit() { }
|
|
1439
|
+
fieldErrorLabel() {
|
|
1440
|
+
if (this.control && this.control.invalid && this.control.touched) {
|
|
1441
|
+
if (this.control.hasError('required')) {
|
|
1442
|
+
return 'Campo obrigatório';
|
|
1393
1443
|
}
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
return validator;
|
|
1397
|
-
}
|
|
1398
|
-
static greaterThanOrEqualTo(lowerControlName) {
|
|
1399
|
-
const validator = (control) => {
|
|
1400
|
-
var _a, _b, _c;
|
|
1401
|
-
const greaterValue = control.value;
|
|
1402
|
-
const lowerValue = (_b = (_a = control.parent) === null || _a === void 0 ? void 0 : _a.get(lowerControlName)) === null || _b === void 0 ? void 0 : _b.value;
|
|
1403
|
-
if (!((_c = control.parent) === null || _c === void 0 ? void 0 : _c.get(lowerControlName))) {
|
|
1404
|
-
console.log(`Control with name ${lowerControlName} not registered`);
|
|
1405
|
-
return {};
|
|
1444
|
+
if (this.control.hasError('minlength')) {
|
|
1445
|
+
return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;
|
|
1406
1446
|
}
|
|
1407
|
-
if (
|
|
1408
|
-
|
|
1409
|
-
lowerValue !== '' &&
|
|
1410
|
-
greaterValue !== '' &&
|
|
1411
|
-
+lowerValue > +greaterValue) {
|
|
1412
|
-
return {
|
|
1413
|
-
invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',
|
|
1414
|
-
};
|
|
1447
|
+
if (this.control.hasError('maxlength')) {
|
|
1448
|
+
return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
|
|
1415
1449
|
}
|
|
1416
|
-
return
|
|
1417
|
-
}
|
|
1418
|
-
return
|
|
1450
|
+
return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
|
|
1451
|
+
}
|
|
1452
|
+
return '';
|
|
1419
1453
|
}
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1454
|
+
}
|
|
1455
|
+
FieldErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1456
|
+
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"] });
|
|
1457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, decorators: [{
|
|
1458
|
+
type: Component,
|
|
1459
|
+
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"] }]
|
|
1460
|
+
}], ctorParameters: function () { return []; }, propDecorators: { control: [{
|
|
1461
|
+
type: Input
|
|
1462
|
+
}] } });
|
|
1463
|
+
|
|
1464
|
+
class CalendarComponent {
|
|
1465
|
+
constructor(modalService) {
|
|
1466
|
+
this.modalService = modalService;
|
|
1467
|
+
this.isRequired = false;
|
|
1468
|
+
this.label = '';
|
|
1469
|
+
this.showCalendarOnFocus = true;
|
|
1470
|
+
this.min = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();
|
|
1471
|
+
this.max = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();
|
|
1472
|
+
this.disabledDates = [];
|
|
1473
|
+
this.disabled = false;
|
|
1474
|
+
this.defaultDate = DateTime.now().toJSDate();
|
|
1475
|
+
this.hiddenErrorMessage = false;
|
|
1476
|
+
this.keyFilter = '';
|
|
1440
1477
|
}
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
if (!!controlValue) {
|
|
1445
|
-
if (!controlValue.match(regex)) {
|
|
1446
|
-
return { invalidField: true };
|
|
1447
|
-
}
|
|
1448
|
-
return null;
|
|
1478
|
+
get placeholder() {
|
|
1479
|
+
if (!this.label) {
|
|
1480
|
+
return '';
|
|
1449
1481
|
}
|
|
1450
|
-
return
|
|
1482
|
+
return `${this.label}${this.isRequired ? '*' : ''}`;
|
|
1451
1483
|
}
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
if (!!!controlValue.match(regex)) {
|
|
1457
|
-
return { isNotAlphaNumeric: true };
|
|
1484
|
+
fieldErrorLabel() {
|
|
1485
|
+
if (this.control && this.control.invalid && this.control.touched) {
|
|
1486
|
+
if (this.control.hasError('required')) {
|
|
1487
|
+
return 'Campo obrigatório';
|
|
1458
1488
|
}
|
|
1459
|
-
|
|
1489
|
+
if (this.control.hasError('maxlength')) {
|
|
1490
|
+
return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
|
|
1491
|
+
}
|
|
1492
|
+
return 'Campo inválido';
|
|
1460
1493
|
}
|
|
1461
|
-
return
|
|
1494
|
+
return '';
|
|
1462
1495
|
}
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
class WindowUtil {
|
|
1466
|
-
static isSmallDevice() {
|
|
1467
|
-
return window.innerWidth < 640;
|
|
1496
|
+
onShowCalendar() {
|
|
1497
|
+
this.modalService.showModalBackground$.next(true);
|
|
1468
1498
|
}
|
|
1469
|
-
|
|
1470
|
-
|
|
1499
|
+
onHideCalendar() {
|
|
1500
|
+
this.modalService.showModalBackground$.next(false);
|
|
1471
1501
|
}
|
|
1472
|
-
}
|
|
1502
|
+
}
|
|
1503
|
+
CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1504
|
+
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"] }] });
|
|
1505
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
1506
|
+
type: Component,
|
|
1507
|
+
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"] }]
|
|
1508
|
+
}], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { isRequired: [{
|
|
1509
|
+
type: Input
|
|
1510
|
+
}], control: [{
|
|
1511
|
+
type: Input
|
|
1512
|
+
}], label: [{
|
|
1513
|
+
type: Input
|
|
1514
|
+
}], showCalendarOnFocus: [{
|
|
1515
|
+
type: Input
|
|
1516
|
+
}], min: [{
|
|
1517
|
+
type: Input
|
|
1518
|
+
}], max: [{
|
|
1519
|
+
type: Input
|
|
1520
|
+
}], disabledDates: [{
|
|
1521
|
+
type: Input
|
|
1522
|
+
}], disabled: [{
|
|
1523
|
+
type: Input
|
|
1524
|
+
}], defaultDate: [{
|
|
1525
|
+
type: Input
|
|
1526
|
+
}], hiddenErrorMessage: [{
|
|
1527
|
+
type: Input
|
|
1528
|
+
}] } });
|
|
1529
|
+
|
|
1530
|
+
class CheckboxFieldComponent {
|
|
1531
|
+
constructor() {
|
|
1532
|
+
this.isRequired = false;
|
|
1533
|
+
this.label = '';
|
|
1534
|
+
this.rounded = false;
|
|
1535
|
+
this.labelSize = 'default';
|
|
1536
|
+
this.value = false;
|
|
1537
|
+
this.disabled = false;
|
|
1538
|
+
this.valueChange = new EventEmitter();
|
|
1539
|
+
}
|
|
1540
|
+
ngOnInit() { }
|
|
1541
|
+
}
|
|
1542
|
+
CheckboxFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1543
|
+
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"] }] });
|
|
1544
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
|
|
1545
|
+
type: Component,
|
|
1546
|
+
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"] }]
|
|
1547
|
+
}], ctorParameters: function () { return []; }, propDecorators: { isRequired: [{
|
|
1548
|
+
type: Input
|
|
1549
|
+
}], control: [{
|
|
1550
|
+
type: Input
|
|
1551
|
+
}], label: [{
|
|
1552
|
+
type: Input
|
|
1553
|
+
}], rounded: [{
|
|
1554
|
+
type: Input
|
|
1555
|
+
}], labelSize: [{
|
|
1556
|
+
type: Input
|
|
1557
|
+
}], value: [{
|
|
1558
|
+
type: Input
|
|
1559
|
+
}], disabled: [{
|
|
1560
|
+
type: Input
|
|
1561
|
+
}], valueChange: [{
|
|
1562
|
+
type: Output
|
|
1563
|
+
}] } });
|
|
1473
1564
|
|
|
1474
1565
|
class CurrencyFieldComponent {
|
|
1475
1566
|
constructor() {
|
|
@@ -1558,10 +1649,10 @@ class CurrencyFieldComponent {
|
|
|
1558
1649
|
}
|
|
1559
1650
|
}
|
|
1560
1651
|
CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1561
|
-
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: ["
|
|
1652
|
+
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"] }] });
|
|
1562
1653
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
1563
1654
|
type: Component,
|
|
1564
|
-
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: ["
|
|
1655
|
+
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"] }]
|
|
1565
1656
|
}], propDecorators: { minValue: [{
|
|
1566
1657
|
type: Input
|
|
1567
1658
|
}], maxValue: [{
|
|
@@ -1747,10 +1838,10 @@ class TextFieldComponent {
|
|
|
1747
1838
|
}
|
|
1748
1839
|
}
|
|
1749
1840
|
TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1750
|
-
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: ["
|
|
1841
|
+
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"] }] });
|
|
1751
1842
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
1752
1843
|
type: Component,
|
|
1753
|
-
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: ["
|
|
1844
|
+
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"] }]
|
|
1754
1845
|
}], propDecorators: { isRequired: [{
|
|
1755
1846
|
type: Input
|
|
1756
1847
|
}], label: [{
|
|
@@ -1802,6 +1893,7 @@ class DropdownFieldComponent {
|
|
|
1802
1893
|
this.isLoading = false;
|
|
1803
1894
|
this.pagedSuggestions = [];
|
|
1804
1895
|
this.unlistenAutocompleteVirtualScroll = () => { };
|
|
1896
|
+
this.selectedDynamicFilter = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;
|
|
1805
1897
|
this._options = [];
|
|
1806
1898
|
this.currentScrollPage = -1;
|
|
1807
1899
|
this.currentScrollIndex = 0;
|
|
@@ -1928,10 +2020,10 @@ class DropdownFieldComponent {
|
|
|
1928
2020
|
}
|
|
1929
2021
|
}
|
|
1930
2022
|
DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
1931
|
-
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
|
|
2023
|
+
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"] }] });
|
|
1932
2024
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
|
|
1933
2025
|
type: Component,
|
|
1934
|
-
args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-autoComplete\r\n
|
|
2026
|
+
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"] }]
|
|
1935
2027
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
|
|
1936
2028
|
type: Input
|
|
1937
2029
|
}], isRequired: [{
|
|
@@ -1950,10 +2042,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
1950
2042
|
type: Input
|
|
1951
2043
|
}], hiddenErrorMessage: [{
|
|
1952
2044
|
type: Input
|
|
2045
|
+
}], dynamicFilters: [{
|
|
2046
|
+
type: Input
|
|
1953
2047
|
}], onFocus: [{
|
|
1954
2048
|
type: Output
|
|
1955
2049
|
}] } });
|
|
1956
2050
|
|
|
2051
|
+
class SelectButtonFieldComponent {
|
|
2052
|
+
constructor() {
|
|
2053
|
+
this.options = [];
|
|
2054
|
+
}
|
|
2055
|
+
}
|
|
2056
|
+
SelectButtonFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2057
|
+
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"] }] });
|
|
2058
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectButtonFieldComponent, decorators: [{
|
|
2059
|
+
type: Component,
|
|
2060
|
+
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: [""] }]
|
|
2061
|
+
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
2062
|
+
type: Input
|
|
2063
|
+
}], control: [{
|
|
2064
|
+
type: Input
|
|
2065
|
+
}] } });
|
|
2066
|
+
|
|
1957
2067
|
var FieldType;
|
|
1958
2068
|
(function (FieldType) {
|
|
1959
2069
|
FieldType[FieldType["DROPDOWN"] = 0] = "DROPDOWN";
|
|
@@ -1961,6 +2071,8 @@ var FieldType;
|
|
|
1961
2071
|
FieldType[FieldType["DATE"] = 2] = "DATE";
|
|
1962
2072
|
FieldType[FieldType["NUMBER"] = 3] = "NUMBER";
|
|
1963
2073
|
FieldType[FieldType["CURRENCY"] = 4] = "CURRENCY";
|
|
2074
|
+
FieldType[FieldType["DYNAMIC_DROPDOWN"] = 5] = "DYNAMIC_DROPDOWN";
|
|
2075
|
+
FieldType[FieldType["SELECT_BUTTON"] = 6] = "SELECT_BUTTON";
|
|
1964
2076
|
})(FieldType || (FieldType = {}));
|
|
1965
2077
|
class FiltersComponent {
|
|
1966
2078
|
constructor() {
|
|
@@ -1995,6 +2107,10 @@ class FiltersComponent {
|
|
|
1995
2107
|
get fields() {
|
|
1996
2108
|
return this._fields;
|
|
1997
2109
|
}
|
|
2110
|
+
get hideFilters() {
|
|
2111
|
+
var _a;
|
|
2112
|
+
return !((_a = this.fields) === null || _a === void 0 ? void 0 : _a.filter((item) => !item.hidden).length);
|
|
2113
|
+
}
|
|
1998
2114
|
ngOnInit() { }
|
|
1999
2115
|
ngOnDestroy() {
|
|
2000
2116
|
this.subscription.unsubscribe();
|
|
@@ -2036,6 +2152,11 @@ class FiltersComponent {
|
|
|
2036
2152
|
case 'medium':
|
|
2037
2153
|
return 'md:col-3';
|
|
2038
2154
|
case 'large':
|
|
2155
|
+
return 'md:col-4';
|
|
2156
|
+
case 'largest':
|
|
2157
|
+
return 'md:col-8';
|
|
2158
|
+
case 'full':
|
|
2159
|
+
return 'md:col-12';
|
|
2039
2160
|
default:
|
|
2040
2161
|
return 'md:col-4';
|
|
2041
2162
|
}
|
|
@@ -2061,10 +2182,10 @@ class FiltersComponent {
|
|
|
2061
2182
|
}
|
|
2062
2183
|
}
|
|
2063
2184
|
FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2064
|
-
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: "<
|
|
2185
|
+
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 } });
|
|
2065
2186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
2066
2187
|
type: Component,
|
|
2067
|
-
args: [{ selector: 'vector-filters', template: "<
|
|
2188
|
+
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"] }]
|
|
2068
2189
|
}], ctorParameters: function () { return []; }, propDecorators: { fields: [{
|
|
2069
2190
|
type: Input
|
|
2070
2191
|
}], onSearch: [{
|
|
@@ -2082,9 +2203,12 @@ class DataTableComponent {
|
|
|
2082
2203
|
this.addItemLabel = '';
|
|
2083
2204
|
this.pagination = true;
|
|
2084
2205
|
this.virtualPagination = false;
|
|
2206
|
+
this.addItemButtonPlusSign = false;
|
|
2085
2207
|
this.onLazyLoad = new EventEmitter();
|
|
2086
2208
|
this.onFilter = new EventEmitter();
|
|
2087
2209
|
this.onAdd = new EventEmitter();
|
|
2210
|
+
this.onExportExcel = new EventEmitter();
|
|
2211
|
+
this.onExportPDF = new EventEmitter();
|
|
2088
2212
|
this._tabs = [];
|
|
2089
2213
|
this.draw = 1;
|
|
2090
2214
|
this.firstLazyLoadedDone = false;
|
|
@@ -2190,10 +2314,10 @@ class DataTableComponent {
|
|
|
2190
2314
|
}
|
|
2191
2315
|
}
|
|
2192
2316
|
DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2193
|
-
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
|
|
2317
|
+
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"] }] });
|
|
2194
2318
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
2195
2319
|
type: Component,
|
|
2196
|
-
args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12
|
|
2320
|
+
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"] }]
|
|
2197
2321
|
}], ctorParameters: function () { return []; }, propDecorators: { columns: [{
|
|
2198
2322
|
type: Input
|
|
2199
2323
|
}], data: [{
|
|
@@ -2214,12 +2338,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2214
2338
|
type: Input
|
|
2215
2339
|
}], tabs: [{
|
|
2216
2340
|
type: Input
|
|
2341
|
+
}], addItemButtonPlusSign: [{
|
|
2342
|
+
type: Input
|
|
2217
2343
|
}], onLazyLoad: [{
|
|
2218
2344
|
type: Output
|
|
2219
2345
|
}], onFilter: [{
|
|
2220
2346
|
type: Output
|
|
2221
2347
|
}], onAdd: [{
|
|
2222
2348
|
type: Output
|
|
2349
|
+
}], onExportExcel: [{
|
|
2350
|
+
type: Output
|
|
2351
|
+
}], onExportPDF: [{
|
|
2352
|
+
type: Output
|
|
2223
2353
|
}], filtersComponent: [{
|
|
2224
2354
|
type: ViewChild,
|
|
2225
2355
|
args: [FiltersComponent, { static: true }]
|
|
@@ -2248,10 +2378,10 @@ class MultiselectFieldComponent {
|
|
|
2248
2378
|
}
|
|
2249
2379
|
}
|
|
2250
2380
|
MultiselectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2251
|
-
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: ["
|
|
2381
|
+
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", "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"] }] });
|
|
2252
2382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
|
|
2253
2383
|
type: Component,
|
|
2254
|
-
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: ["
|
|
2384
|
+
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"] }]
|
|
2255
2385
|
}], propDecorators: { isRequired: [{
|
|
2256
2386
|
type: Input
|
|
2257
2387
|
}], control: [{
|
|
@@ -2273,10 +2403,10 @@ class PercentageFieldComponent {
|
|
|
2273
2403
|
}
|
|
2274
2404
|
}
|
|
2275
2405
|
PercentageFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2276
|
-
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: ["
|
|
2406
|
+
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"] }] });
|
|
2277
2407
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PercentageFieldComponent, decorators: [{
|
|
2278
2408
|
type: Component,
|
|
2279
|
-
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: ["
|
|
2409
|
+
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"] }]
|
|
2280
2410
|
}], propDecorators: { control: [{
|
|
2281
2411
|
type: Input
|
|
2282
2412
|
}], min: [{
|
|
@@ -2307,7 +2437,7 @@ class RadioButtonFieldComponent {
|
|
|
2307
2437
|
}
|
|
2308
2438
|
}
|
|
2309
2439
|
RadioButtonFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2310
|
-
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$
|
|
2440
|
+
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"] }] });
|
|
2311
2441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioButtonFieldComponent, decorators: [{
|
|
2312
2442
|
type: Component,
|
|
2313
2443
|
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"] }]
|
|
@@ -2368,10 +2498,10 @@ class RangeValueComponent {
|
|
|
2368
2498
|
}
|
|
2369
2499
|
}
|
|
2370
2500
|
RangeValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RangeValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2371
|
-
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: ["
|
|
2501
|
+
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"] }] });
|
|
2372
2502
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RangeValueComponent, decorators: [{
|
|
2373
2503
|
type: Component,
|
|
2374
|
-
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: ["
|
|
2504
|
+
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"] }]
|
|
2375
2505
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
2376
2506
|
type: Input
|
|
2377
2507
|
}], movimentedValue: [{
|
|
@@ -2462,10 +2592,10 @@ class TextareaFieldComponent {
|
|
|
2462
2592
|
}
|
|
2463
2593
|
}
|
|
2464
2594
|
TextareaFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2465
|
-
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: ["
|
|
2595
|
+
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"] }] });
|
|
2466
2596
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, decorators: [{
|
|
2467
2597
|
type: Component,
|
|
2468
|
-
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: ["
|
|
2598
|
+
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"] }]
|
|
2469
2599
|
}], propDecorators: { isRequired: [{
|
|
2470
2600
|
type: Input
|
|
2471
2601
|
}], label: [{
|
|
@@ -2499,7 +2629,8 @@ FieldsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
2499
2629
|
DataTableComponent,
|
|
2500
2630
|
FiltersComponent,
|
|
2501
2631
|
TextareaFieldComponent,
|
|
2502
|
-
FieldErrorMessageComponent
|
|
2632
|
+
FieldErrorMessageComponent,
|
|
2633
|
+
SelectButtonFieldComponent], imports: [SharedModule,
|
|
2503
2634
|
FormsModule,
|
|
2504
2635
|
ReactiveFormsModule,
|
|
2505
2636
|
KeyFilterModule,
|
|
@@ -2520,7 +2651,8 @@ FieldsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
2520
2651
|
TabViewModule,
|
|
2521
2652
|
PanelModule,
|
|
2522
2653
|
ButtonModule,
|
|
2523
|
-
InputTextareaModule
|
|
2654
|
+
InputTextareaModule,
|
|
2655
|
+
SelectButtonModule], exports: [TextFieldComponent,
|
|
2524
2656
|
CheckboxFieldComponent,
|
|
2525
2657
|
ButtonComponent,
|
|
2526
2658
|
CalendarComponent,
|
|
@@ -2536,7 +2668,8 @@ FieldsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
2536
2668
|
DataTableComponent,
|
|
2537
2669
|
FiltersComponent,
|
|
2538
2670
|
TextareaFieldComponent,
|
|
2539
|
-
FieldErrorMessageComponent
|
|
2671
|
+
FieldErrorMessageComponent,
|
|
2672
|
+
SelectButtonFieldComponent] });
|
|
2540
2673
|
FieldsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldsModule, imports: [[
|
|
2541
2674
|
SharedModule,
|
|
2542
2675
|
FormsModule,
|
|
@@ -2560,6 +2693,7 @@ FieldsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
|
2560
2693
|
PanelModule,
|
|
2561
2694
|
ButtonModule,
|
|
2562
2695
|
InputTextareaModule,
|
|
2696
|
+
SelectButtonModule,
|
|
2563
2697
|
], FileUploadModule,
|
|
2564
2698
|
DialogModule] });
|
|
2565
2699
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldsModule, decorators: [{
|
|
@@ -2588,6 +2722,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2588
2722
|
PanelModule,
|
|
2589
2723
|
ButtonModule,
|
|
2590
2724
|
InputTextareaModule,
|
|
2725
|
+
SelectButtonModule,
|
|
2591
2726
|
],
|
|
2592
2727
|
declarations: [
|
|
2593
2728
|
TextFieldComponent,
|
|
@@ -2605,6 +2740,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2605
2740
|
FiltersComponent,
|
|
2606
2741
|
TextareaFieldComponent,
|
|
2607
2742
|
FieldErrorMessageComponent,
|
|
2743
|
+
SelectButtonFieldComponent,
|
|
2608
2744
|
],
|
|
2609
2745
|
exports: [
|
|
2610
2746
|
TextFieldComponent,
|
|
@@ -2624,6 +2760,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2624
2760
|
FiltersComponent,
|
|
2625
2761
|
TextareaFieldComponent,
|
|
2626
2762
|
FieldErrorMessageComponent,
|
|
2763
|
+
SelectButtonFieldComponent,
|
|
2627
2764
|
],
|
|
2628
2765
|
}]
|
|
2629
2766
|
}] });
|
|
@@ -2642,6 +2779,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2642
2779
|
}]
|
|
2643
2780
|
}] });
|
|
2644
2781
|
|
|
2782
|
+
class CrudHeaderComponent {
|
|
2783
|
+
constructor() { }
|
|
2784
|
+
get statusLabel() {
|
|
2785
|
+
switch (this.statusCode) {
|
|
2786
|
+
case Status.PENDING:
|
|
2787
|
+
return 'Pendente';
|
|
2788
|
+
case Status.APPROVED:
|
|
2789
|
+
return 'Ativo';
|
|
2790
|
+
case Status.REJECTED:
|
|
2791
|
+
return 'Inativo';
|
|
2792
|
+
}
|
|
2793
|
+
return '';
|
|
2794
|
+
}
|
|
2795
|
+
ngOnInit() { }
|
|
2796
|
+
}
|
|
2797
|
+
CrudHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2798
|
+
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\">\n <div class=\"status-container\">\n <span>Status</span>\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\n </div>\n <div class=\"separator\"></div>\n <span class=\"code-label\"\n >C\u00F3digo de identifica\u00E7\u00E3o<span class=\"code\">{{ code }}</span></span\n >\n</div>\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"] }] });
|
|
2799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderComponent, decorators: [{
|
|
2800
|
+
type: Component,
|
|
2801
|
+
args: [{ selector: 'vector-crud-header', template: "<div class=\"container\">\n <div class=\"status-container\">\n <span>Status</span>\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\n </div>\n <div class=\"separator\"></div>\n <span class=\"code-label\"\n >C\u00F3digo de identifica\u00E7\u00E3o<span class=\"code\">{{ code }}</span></span\n >\n</div>\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"] }]
|
|
2802
|
+
}], ctorParameters: function () { return []; }, propDecorators: { statusCode: [{
|
|
2803
|
+
type: Input
|
|
2804
|
+
}], code: [{
|
|
2805
|
+
type: Input
|
|
2806
|
+
}] } });
|
|
2807
|
+
|
|
2808
|
+
class CrudHeaderModule {
|
|
2809
|
+
}
|
|
2810
|
+
CrudHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2811
|
+
CrudHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, declarations: [CrudHeaderComponent], imports: [SharedModule, BadgeModule], exports: [CrudHeaderComponent] });
|
|
2812
|
+
CrudHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, imports: [[SharedModule, BadgeModule]] });
|
|
2813
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHeaderModule, decorators: [{
|
|
2814
|
+
type: NgModule,
|
|
2815
|
+
args: [{
|
|
2816
|
+
declarations: [CrudHeaderComponent],
|
|
2817
|
+
imports: [SharedModule, BadgeModule],
|
|
2818
|
+
exports: [CrudHeaderComponent],
|
|
2819
|
+
}]
|
|
2820
|
+
}] });
|
|
2821
|
+
|
|
2822
|
+
class CrudHistoryComponent {
|
|
2823
|
+
getHistoryBadgeBackgroundColor(crudHistoryEventType) {
|
|
2824
|
+
switch (crudHistoryEventType) {
|
|
2825
|
+
case CrudHistoryEventType.CREATE:
|
|
2826
|
+
return '#CBFFAE';
|
|
2827
|
+
case CrudHistoryEventType.UPDATE:
|
|
2828
|
+
return '#FFE6B0';
|
|
2829
|
+
case CrudHistoryEventType.DELETE:
|
|
2830
|
+
default:
|
|
2831
|
+
return '#FF9393';
|
|
2832
|
+
}
|
|
2833
|
+
}
|
|
2834
|
+
getHistoryBadgeColor(crudHistoryEventType) {
|
|
2835
|
+
switch (crudHistoryEventType) {
|
|
2836
|
+
case CrudHistoryEventType.CREATE:
|
|
2837
|
+
return '#067306';
|
|
2838
|
+
case CrudHistoryEventType.UPDATE:
|
|
2839
|
+
return '#946300';
|
|
2840
|
+
case CrudHistoryEventType.DELETE:
|
|
2841
|
+
default:
|
|
2842
|
+
return '#6B2D2D';
|
|
2843
|
+
}
|
|
2844
|
+
}
|
|
2845
|
+
getHistoryBadgeLabel(crudHistoryEventType) {
|
|
2846
|
+
switch (crudHistoryEventType) {
|
|
2847
|
+
case CrudHistoryEventType.CREATE:
|
|
2848
|
+
return 'Criado';
|
|
2849
|
+
case CrudHistoryEventType.UPDATE:
|
|
2850
|
+
return 'Modificado';
|
|
2851
|
+
case CrudHistoryEventType.DELETE:
|
|
2852
|
+
default:
|
|
2853
|
+
return 'Removido';
|
|
2854
|
+
}
|
|
2855
|
+
}
|
|
2856
|
+
}
|
|
2857
|
+
CrudHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2858
|
+
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\">\n <ng-template pTemplate=\"header\">\n <div class=\"history-item-header-container\">\n <div class=\"history-item-header-left\">\n <vector-badge\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\n ></vector-badge>\n <span>por {{ crudHistory.modifiedBy }}</span>\n </div>\n <span class=\"history-item-header-right\">\n {{ crudHistory.dateTime | date: 'dd/MM/yyyy HH:mm' }}\n </span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n</p-accordionTab>\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 } });
|
|
2859
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryComponent, decorators: [{
|
|
2860
|
+
type: Component,
|
|
2861
|
+
args: [{ selector: 'vector-crud-history', template: "<p-accordionTab *ngIf=\"crudHistory\" class=\"history-item\">\n <ng-template pTemplate=\"header\">\n <div class=\"history-item-header-container\">\n <div class=\"history-item-header-left\">\n <vector-badge\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\n ></vector-badge>\n <span>por {{ crudHistory.modifiedBy }}</span>\n </div>\n <span class=\"history-item-header-right\">\n {{ crudHistory.dateTime | date: 'dd/MM/yyyy HH:mm' }}\n </span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n</p-accordionTab>\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"] }]
|
|
2862
|
+
}], propDecorators: { crudHistory: [{
|
|
2863
|
+
type: Input
|
|
2864
|
+
}] } });
|
|
2865
|
+
|
|
2866
|
+
class CrudHistoryModule {
|
|
2867
|
+
}
|
|
2868
|
+
CrudHistoryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2869
|
+
CrudHistoryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, declarations: [CrudHistoryComponent], imports: [SharedModule, BadgeModule, AccordionModule], exports: [CrudHistoryComponent] });
|
|
2870
|
+
CrudHistoryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, imports: [[SharedModule, BadgeModule, AccordionModule]] });
|
|
2871
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, decorators: [{
|
|
2872
|
+
type: NgModule,
|
|
2873
|
+
args: [{
|
|
2874
|
+
declarations: [CrudHistoryComponent],
|
|
2875
|
+
imports: [SharedModule, BadgeModule, AccordionModule],
|
|
2876
|
+
exports: [CrudHistoryComponent],
|
|
2877
|
+
}]
|
|
2878
|
+
}] });
|
|
2879
|
+
|
|
2645
2880
|
class GenericErrorModalComponent {
|
|
2646
2881
|
constructor(errorService) {
|
|
2647
2882
|
this.errorService = errorService;
|
|
@@ -2660,10 +2895,10 @@ class GenericErrorModalComponent {
|
|
|
2660
2895
|
}
|
|
2661
2896
|
}
|
|
2662
2897
|
GenericErrorModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericErrorModalComponent, deps: [{ token: ErrorMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2663
|
-
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: ["
|
|
2898
|
+
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"] }] });
|
|
2664
2899
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericErrorModalComponent, decorators: [{
|
|
2665
2900
|
type: Component,
|
|
2666
|
-
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: ["
|
|
2901
|
+
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"] }]
|
|
2667
2902
|
}], ctorParameters: function () { return [{ type: ErrorMessageService }]; } });
|
|
2668
2903
|
|
|
2669
2904
|
class GenericErrorModalModule {
|
|
@@ -2702,12 +2937,12 @@ class GenericModalComponent {
|
|
|
2702
2937
|
}
|
|
2703
2938
|
}
|
|
2704
2939
|
}
|
|
2705
|
-
GenericModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericModalComponent, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2706
|
-
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=\"
|
|
2940
|
+
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 });
|
|
2941
|
+
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"] }] });
|
|
2707
2942
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GenericModalComponent, decorators: [{
|
|
2708
2943
|
type: Component,
|
|
2709
|
-
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=\"
|
|
2710
|
-
}], ctorParameters: function () { return [{ type: i2.Router }]; }, propDecorators: { title: [{
|
|
2944
|
+
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"] }]
|
|
2945
|
+
}], ctorParameters: function () { return [{ type: i2$1.Router }]; }, propDecorators: { title: [{
|
|
2711
2946
|
type: Input
|
|
2712
2947
|
}], message: [{
|
|
2713
2948
|
type: Input
|
|
@@ -2760,10 +2995,10 @@ class SubMenusListComponent {
|
|
|
2760
2995
|
}
|
|
2761
2996
|
}
|
|
2762
2997
|
SubMenusListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SubMenusListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2763
|
-
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: ["
|
|
2998
|
+
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"] }] });
|
|
2764
2999
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SubMenusListComponent, decorators: [{
|
|
2765
3000
|
type: Component,
|
|
2766
|
-
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: ["
|
|
3001
|
+
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"] }]
|
|
2767
3002
|
}], propDecorators: { showList: [{
|
|
2768
3003
|
type: Input
|
|
2769
3004
|
}], options: [{
|
|
@@ -2892,7 +3127,7 @@ class MenuComponent {
|
|
|
2892
3127
|
this.resizeMenu();
|
|
2893
3128
|
}
|
|
2894
3129
|
onMenuClick(option) {
|
|
2895
|
-
var _a, _b, _c
|
|
3130
|
+
var _a, _b, _c;
|
|
2896
3131
|
if (!option.alwaysOpen) {
|
|
2897
3132
|
if (((_a = this.activeOption) === null || _a === void 0 ? void 0 : _a.id) === option.id) {
|
|
2898
3133
|
this.activeOption = undefined;
|
|
@@ -2900,27 +3135,25 @@ class MenuComponent {
|
|
|
2900
3135
|
else {
|
|
2901
3136
|
this.activeOption = ((_b = option.children) === null || _b === void 0 ? void 0 : _b.length) ? option : undefined;
|
|
2902
3137
|
}
|
|
2903
|
-
if (
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
this.menuService.frameUrl$.next(undefined);
|
|
2910
|
-
}
|
|
2911
|
-
else if (option.externalUrl) {
|
|
2912
|
-
window.open(option.externalUrl, '_blank');
|
|
2913
|
-
this.menuService.frameUrl$.next(undefined);
|
|
2914
|
-
}
|
|
3138
|
+
if (option.frameUrl) {
|
|
3139
|
+
this.menuService.frameUrl$.next(option.frameUrl);
|
|
3140
|
+
}
|
|
3141
|
+
else if (option.route) {
|
|
3142
|
+
this.router.navigate([option.route]);
|
|
3143
|
+
this.menuService.frameUrl$.next(undefined);
|
|
2915
3144
|
}
|
|
2916
|
-
if (
|
|
3145
|
+
else if (option.externalUrl) {
|
|
3146
|
+
window.open(option.externalUrl, '_blank');
|
|
3147
|
+
this.menuService.frameUrl$.next(undefined);
|
|
3148
|
+
}
|
|
3149
|
+
if (((_c = option.children) === null || _c === void 0 ? void 0 : _c.length) && !this.opened) {
|
|
2917
3150
|
this.toggleMenu();
|
|
2918
3151
|
}
|
|
2919
3152
|
this.activeSubmenuOption = undefined;
|
|
2920
3153
|
}
|
|
2921
3154
|
}
|
|
2922
3155
|
onSubmenuClick(submenuItem) {
|
|
2923
|
-
var _a, _b
|
|
3156
|
+
var _a, _b;
|
|
2924
3157
|
if (!submenuItem.alwaysOpen) {
|
|
2925
3158
|
if (((_a = this.activeSubmenuOption) === null || _a === void 0 ? void 0 : _a.id) === (submenuItem === null || submenuItem === void 0 ? void 0 : submenuItem.id)) {
|
|
2926
3159
|
this.activeSubmenuOption = undefined;
|
|
@@ -2928,22 +3161,20 @@ class MenuComponent {
|
|
|
2928
3161
|
else {
|
|
2929
3162
|
this.activeSubmenuOption = ((_b = submenuItem.children) === null || _b === void 0 ? void 0 : _b.length) ? submenuItem : undefined;
|
|
2930
3163
|
}
|
|
2931
|
-
if (
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
this.menuService.frameUrl$.next(undefined);
|
|
2946
|
-
}
|
|
3164
|
+
if (submenuItem.frameUrl) {
|
|
3165
|
+
this.menuService.frameUrl$.next(submenuItem.frameUrl);
|
|
3166
|
+
}
|
|
3167
|
+
else if (submenuItem.route) {
|
|
3168
|
+
this.router.navigate([submenuItem.route]);
|
|
3169
|
+
this.menuService.frameUrl$.next(undefined);
|
|
3170
|
+
}
|
|
3171
|
+
else if (submenuItem.externalUrl) {
|
|
3172
|
+
window.open(submenuItem.externalUrl, '_blank');
|
|
3173
|
+
this.menuService.frameUrl$.next(undefined);
|
|
3174
|
+
}
|
|
3175
|
+
else if (submenuItem.command) {
|
|
3176
|
+
submenuItem.command();
|
|
3177
|
+
this.menuService.frameUrl$.next(undefined);
|
|
2947
3178
|
}
|
|
2948
3179
|
}
|
|
2949
3180
|
}
|
|
@@ -2970,8 +3201,8 @@ class MenuComponent {
|
|
|
2970
3201
|
this.activeSubmenuOption = undefined;
|
|
2971
3202
|
}
|
|
2972
3203
|
}
|
|
2973
|
-
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 });
|
|
2974
|
-
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: [
|
|
3204
|
+
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 });
|
|
3205
|
+
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: [
|
|
2975
3206
|
trigger('sideInOut', [state('in', style({ width: '60px' })), state('out', style({ width: '250px' }))]),
|
|
2976
3207
|
trigger('fadeInOut', [
|
|
2977
3208
|
state('0', style({
|
|
@@ -3052,9 +3283,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3052
3283
|
})),
|
|
3053
3284
|
transition('0 <=> 1', animate('350ms ease-in-out')),
|
|
3054
3285
|
]),
|
|
3055
|
-
], 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"] }]
|
|
3286
|
+
], 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"] }]
|
|
3056
3287
|
}], ctorParameters: function () {
|
|
3057
|
-
return [{ type: MenuService }, { type: i2.Router }, { type: ProfileService }, { type: StorageService }, { type: undefined, decorators: [{
|
|
3288
|
+
return [{ type: MenuService }, { type: i2$1.Router }, { type: ProfileService }, { type: StorageService }, { type: undefined, decorators: [{
|
|
3058
3289
|
type: Inject,
|
|
3059
3290
|
args: ['environment']
|
|
3060
3291
|
}] }, { type: undefined, decorators: [{
|
|
@@ -3155,12 +3386,12 @@ class TopBarComponent {
|
|
|
3155
3386
|
this.router.navigate(['fintech/under-construction']);
|
|
3156
3387
|
}
|
|
3157
3388
|
}
|
|
3158
|
-
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 });
|
|
3159
|
-
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"] }] });
|
|
3389
|
+
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 });
|
|
3390
|
+
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"] }] });
|
|
3160
3391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, decorators: [{
|
|
3161
3392
|
type: Component,
|
|
3162
|
-
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"] }]
|
|
3163
|
-
}], ctorParameters: function () { return [{ type: MenuService }, { type: AuthService }, { type: i2.Router }]; }, propDecorators: { fintech: [{
|
|
3393
|
+
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"] }]
|
|
3394
|
+
}], ctorParameters: function () { return [{ type: MenuService }, { type: AuthService }, { type: i2$1.Router }]; }, propDecorators: { fintech: [{
|
|
3164
3395
|
type: Input
|
|
3165
3396
|
}], accountService: [{
|
|
3166
3397
|
type: Input
|
|
@@ -3180,6 +3411,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3180
3411
|
}]
|
|
3181
3412
|
}] });
|
|
3182
3413
|
|
|
3414
|
+
class CrudListHasItemsGuard {
|
|
3415
|
+
constructor(injector) {
|
|
3416
|
+
this.injector = injector;
|
|
3417
|
+
}
|
|
3418
|
+
canActivate(route) {
|
|
3419
|
+
var _a, _b, _c;
|
|
3420
|
+
const serviceType = route.data['service'];
|
|
3421
|
+
if (!serviceType) {
|
|
3422
|
+
console.error('You forgot to add the service declaration to route "data" property.');
|
|
3423
|
+
return false;
|
|
3424
|
+
}
|
|
3425
|
+
const service = this.injector.get(serviceType);
|
|
3426
|
+
return !!(((_b = (_a = service.dataset$.value) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) || ((_c = service.flatUnpagedDataset$.value) === null || _c === void 0 ? void 0 : _c.length));
|
|
3427
|
+
}
|
|
3428
|
+
}
|
|
3429
|
+
CrudListHasItemsGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudListHasItemsGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3430
|
+
CrudListHasItemsGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudListHasItemsGuard });
|
|
3431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudListHasItemsGuard, decorators: [{
|
|
3432
|
+
type: Injectable
|
|
3433
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
3434
|
+
|
|
3183
3435
|
class GetTokenByGuidGuard {
|
|
3184
3436
|
constructor(authService, storageService, router, appName) {
|
|
3185
3437
|
this.authService = authService;
|
|
@@ -3212,12 +3464,12 @@ class GetTokenByGuidGuard {
|
|
|
3212
3464
|
return false;
|
|
3213
3465
|
}
|
|
3214
3466
|
}
|
|
3215
|
-
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 });
|
|
3467
|
+
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 });
|
|
3216
3468
|
GetTokenByGuidGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard });
|
|
3217
3469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard, decorators: [{
|
|
3218
3470
|
type: Injectable
|
|
3219
3471
|
}], ctorParameters: function () {
|
|
3220
|
-
return [{ type: AuthService }, { type: StorageService }, { type: i2.Router }, { type: AppName, decorators: [{
|
|
3472
|
+
return [{ type: AuthService }, { type: StorageService }, { type: i2$1.Router }, { type: AppName, decorators: [{
|
|
3221
3473
|
type: Inject,
|
|
3222
3474
|
args: ['appName']
|
|
3223
3475
|
}] }];
|
|
@@ -3236,12 +3488,12 @@ class HasPermissionGuard {
|
|
|
3236
3488
|
return true;
|
|
3237
3489
|
}
|
|
3238
3490
|
}
|
|
3239
|
-
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 });
|
|
3491
|
+
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 });
|
|
3240
3492
|
HasPermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard });
|
|
3241
3493
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard, decorators: [{
|
|
3242
3494
|
type: Injectable
|
|
3243
3495
|
}], ctorParameters: function () {
|
|
3244
|
-
return [{ type: ProfileService }, { type: i2.Router }, { type: AppName, decorators: [{
|
|
3496
|
+
return [{ type: ProfileService }, { type: i2$1.Router }, { type: AppName, decorators: [{
|
|
3245
3497
|
type: Inject,
|
|
3246
3498
|
args: ['appName']
|
|
3247
3499
|
}] }];
|
|
@@ -3260,11 +3512,11 @@ class RoleGuard {
|
|
|
3260
3512
|
return this.router.createUrlTree(['']);
|
|
3261
3513
|
}
|
|
3262
3514
|
}
|
|
3263
|
-
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 });
|
|
3515
|
+
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 });
|
|
3264
3516
|
RoleGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard });
|
|
3265
3517
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard, decorators: [{
|
|
3266
3518
|
type: Injectable
|
|
3267
|
-
}], ctorParameters: function () { return [{ type: StorageService }, { type: i2.Router }]; } });
|
|
3519
|
+
}], ctorParameters: function () { return [{ type: StorageService }, { type: i2$1.Router }]; } });
|
|
3268
3520
|
|
|
3269
3521
|
class TokenIsPresentGuard {
|
|
3270
3522
|
constructor(storageService, authService) {
|
|
@@ -3461,9 +3713,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3461
3713
|
}] }];
|
|
3462
3714
|
} });
|
|
3463
3715
|
|
|
3716
|
+
class GetCrudHistoryResolver {
|
|
3717
|
+
constructor(injector) {
|
|
3718
|
+
this.injector = injector;
|
|
3719
|
+
}
|
|
3720
|
+
resolve(route) {
|
|
3721
|
+
const serviceType = route.data['service'];
|
|
3722
|
+
if (!serviceType) {
|
|
3723
|
+
console.error('You forgot to add the service declaration to route "data" property.');
|
|
3724
|
+
return false;
|
|
3725
|
+
}
|
|
3726
|
+
const service = this.injector.get(serviceType);
|
|
3727
|
+
return service.getHistory(route.params['id']);
|
|
3728
|
+
}
|
|
3729
|
+
}
|
|
3730
|
+
GetCrudHistoryResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetCrudHistoryResolver, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3731
|
+
GetCrudHistoryResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetCrudHistoryResolver });
|
|
3732
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetCrudHistoryResolver, decorators: [{
|
|
3733
|
+
type: Injectable
|
|
3734
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
3735
|
+
|
|
3736
|
+
class GetSelectedCrudItemResolver {
|
|
3737
|
+
constructor(injector) {
|
|
3738
|
+
this.injector = injector;
|
|
3739
|
+
}
|
|
3740
|
+
resolve(route) {
|
|
3741
|
+
var _a, _b, _c;
|
|
3742
|
+
const serviceType = route.data['service'];
|
|
3743
|
+
if (!serviceType) {
|
|
3744
|
+
console.error('You forgot to add the service declaration to route "data" property.');
|
|
3745
|
+
return undefined;
|
|
3746
|
+
}
|
|
3747
|
+
const service = this.injector.get(serviceType);
|
|
3748
|
+
if ((_b = (_a = service.dataset$.value) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) {
|
|
3749
|
+
return service.dataset$.value.data.find((item) => item.id == route.params['id']);
|
|
3750
|
+
}
|
|
3751
|
+
if ((_c = service.flatUnpagedDataset$.value) === null || _c === void 0 ? void 0 : _c.length) {
|
|
3752
|
+
return service.flatUnpagedDataset$.value.find((item) => item.id == route.params['id']);
|
|
3753
|
+
}
|
|
3754
|
+
return undefined;
|
|
3755
|
+
}
|
|
3756
|
+
}
|
|
3757
|
+
GetSelectedCrudItemResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetSelectedCrudItemResolver, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3758
|
+
GetSelectedCrudItemResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetSelectedCrudItemResolver });
|
|
3759
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetSelectedCrudItemResolver, decorators: [{
|
|
3760
|
+
type: Injectable
|
|
3761
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
3762
|
+
|
|
3464
3763
|
/**
|
|
3465
3764
|
* Generated bundle index. Do not edit.
|
|
3466
3765
|
*/
|
|
3467
3766
|
|
|
3468
|
-
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 };
|
|
3767
|
+
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 };
|
|
3469
3768
|
//# sourceMappingURL=ngx-vector-components.mjs.map
|