uitec-ng-header 1.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/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # UiHeader
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project ui-header` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ui-header`.
8
+ > Note: Don't forget to add `--project ui-header` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build ui-header` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build ui-header`, go to the dist folder `cd dist/ui-header` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test ui-header` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,127 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Component, ContentChild, EventEmitter, Inject, Input, Output, TemplateRef } from '@angular/core';
3
+ import { AuthService, BaseUrlService, LayoutService, UsuarioMenuDTO } from 'uitec-ng-core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "uitec-ng-core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "uitec-ng-icon";
8
+ import * as i4 from "uitec-ng-user-top";
9
+ export class UiHeaderComponent {
10
+ constructor(authService, urlService, layoutService, document) {
11
+ this.authService = authService;
12
+ this.urlService = urlService;
13
+ this.layoutService = layoutService;
14
+ this.document = document;
15
+ this.collapseSidebarChange = new EventEmitter();
16
+ this.fullScreenChange = new EventEmitter();
17
+ this.headerBackdropChange = new EventEmitter();
18
+ this.onNavigate = new EventEmitter();
19
+ }
20
+ ngOnInit() {
21
+ this.elem = document.documentElement;
22
+ this.userObs = this.authService.currentUserValue;
23
+ this.accessObs = this.authService.currentAccessValue;
24
+ this.authService.currentUser.subscribe((data) => {
25
+ this.userObs = data;
26
+ });
27
+ this.authService.currentAccess.subscribe((data) => {
28
+ this.accessObs = data;
29
+ });
30
+ }
31
+ layoutToggle() {
32
+ this.dark = !this.dark;
33
+ localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');
34
+ this.layoutService.config.settings.layout_version = this.dark ? "dark-only" : "light";
35
+ }
36
+ //recebe o valor inicial do collapseSidebar e grava no localstorage
37
+ setStatusSideBar() {
38
+ this.statuSidebar = this.collapseSidebar;
39
+ localStorage.setItem('local', this.statuSidebar);
40
+ }
41
+ sidebarToggle() {
42
+ this.collapseSidebar = !this.collapseSidebar;
43
+ this.setStatusSideBar();
44
+ this.collapseSidebarChange.emit(this.collapseSidebar);
45
+ }
46
+ logout() {
47
+ let menu = new UsuarioMenuDTO();
48
+ menu.ds_rota = '/login/logout';
49
+ menu.ds_modulo = 'erp';
50
+ menu.ds_tipo = 'iframeLink';
51
+ this.onNavigate.emit(menu);
52
+ }
53
+ clickMenu(menu) {
54
+ this.onNavigate.emit(menu);
55
+ }
56
+ toggleFullScreen() {
57
+ this.fullScreen = !this.fullScreen;
58
+ if (this.fullScreen) {
59
+ if (this.elem.requestFullscreen) {
60
+ this.elem.requestFullscreen();
61
+ }
62
+ else if (this.elem.mozRequestFullScreen) {
63
+ /* Firefox */
64
+ this.elem.mozRequestFullScreen();
65
+ }
66
+ else if (this.elem.webkitRequestFullscreen) {
67
+ /* Chrome, Safari and Opera */
68
+ this.elem.webkitRequestFullscreen();
69
+ }
70
+ else if (this.elem.msRequestFullscreen) {
71
+ /* IE/Edge */
72
+ this.elem.msRequestFullscreen();
73
+ }
74
+ }
75
+ else {
76
+ if (!this.document.exitFullscreen) {
77
+ this.document.exitFullscreen();
78
+ }
79
+ else if (this.document.mozCancelFullScreen) {
80
+ /* Firefox */
81
+ this.document.mozCancelFullScreen();
82
+ }
83
+ else if (this.document.webkitExitFullscreen) {
84
+ /* Chrome, Safari and Opera */
85
+ this.document.webkitExitFullscreen();
86
+ }
87
+ else if (this.document.msExitFullscreen) {
88
+ /* IE/Edge */
89
+ this.document.msExitFullscreen();
90
+ }
91
+ }
92
+ }
93
+ }
94
+ UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
95
+ UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: [".image-logo{width:89px;height:20px}li.maximize{height:32px}.header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}ui-icon.status_toggle.middle{color:#7366ff}ui-icon.icons-menu{height:20px}.mode.d-none.d-md-block{height:20px}.header-backgrop{position:fixed;inset:0;z-index:8}.header-backgrop .page-header{z-index:11!important}.b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}.b-color img{height:15px}@media (max-width: 576px){.hide-mobile{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "component", type: i4.UiUserTopComponent, selector: "ui-user-top", inputs: ["urlImage", "usuario", "acesso"] }] });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, decorators: [{
97
+ type: Component,
98
+ args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: [".image-logo{width:89px;height:20px}li.maximize{height:32px}.header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}ui-icon.status_toggle.middle{color:#7366ff}ui-icon.icons-menu{height:20px}.mode.d-none.d-md-block{height:20px}.header-backgrop{position:fixed;inset:0;z-index:8}.header-backgrop .page-header{z-index:11!important}.b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}.b-color img{height:15px}@media (max-width: 576px){.hide-mobile{display:none!important}}\n"] }]
99
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: undefined, decorators: [{
100
+ type: Inject,
101
+ args: [DOCUMENT]
102
+ }] }]; }, propDecorators: { collapseSidebar: [{
103
+ type: Input
104
+ }], fullScreen: [{
105
+ type: Input
106
+ }], headerBackdrop: [{
107
+ type: Input
108
+ }], isFree: [{
109
+ type: Input
110
+ }], menus: [{
111
+ type: Input
112
+ }], collapseSidebarChange: [{
113
+ type: Output
114
+ }], fullScreenChange: [{
115
+ type: Output
116
+ }], headerBackdropChange: [{
117
+ type: Output
118
+ }], onNavigate: [{
119
+ type: Output
120
+ }], left: [{
121
+ type: ContentChild,
122
+ args: ['left']
123
+ }], right: [{
124
+ type: ContentChild,
125
+ args: ['right']
126
+ }] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1oZWFkZXIvc3JjL2xpYi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQWMsV0FBVyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQWUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFPcEgsTUFBTSxPQUFPLGlCQUFpQjtJQXNCMUIsWUFDVyxXQUF3QixFQUN4QixVQUEwQixFQUMxQixhQUE0QixFQUNULFFBQWE7UUFIaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDVCxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBbEJqQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDL0MseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFnQnRELENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBRXJDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0Is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LGNBQWMsRUFBRSxDQUFDO2FBQ2xDO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtnQkFDMUMsYUFBYTtnQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDdkM7aUJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFO2dCQUMzQyw4QkFBOEI7Z0JBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUN4QztpQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3ZDLGFBQWE7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3BDO1NBQ0o7SUFDTCxDQUFDOzsrR0F2R1EsaUJBQWlCLHdHQTBCZCxRQUFRO21HQTFCWCxpQkFBaUIscWhCQ1Q5Qiwwd0hBaUZBOzRGRHhFYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksV0FBVzs7MEJBOEJoQixNQUFNOzJCQUFDLFFBQVE7NENBeEJYLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUkscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFFZSxJQUFJO3NCQUF6QixZQUFZO3VCQUFDLE1BQU07Z0JBQ0csS0FBSztzQkFBM0IsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aEFjZXNzbywgQXV0aFNlcnZpY2UsIEJhc2VVcmxTZXJ2aWNlLCBMYXlvdXRTZXJ2aWNlLCBVc2VyQXV0aERUTywgVXN1YXJpb01lbnVEVE8gfSBmcm9tICd1aXRlYy1uZy1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1aS1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLWhlYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVpSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGNvbGxhcHNlU2lkZWJhcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmdWxsU2NyZWVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhlYWRlckJhY2tkcm9wOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXNGcmVlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWVudXM6IFVzdWFyaW9NZW51RFRPW107XG5cbiAgICBAT3V0cHV0KCkgY29sbGFwc2VTaWRlYmFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBmdWxsU2NyZWVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBoZWFkZXJCYWNrZHJvcENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgb25OYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VXN1YXJpb01lbnVEVE8+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKCdsZWZ0JykgbGVmdDogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdyaWdodCcpIHJpZ2h0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHVibGljIHN0YXR1U2lkZWJhcjtcbiAgICBwdWJsaWMgZGFyazogYm9vbGVhbjtcbiAgICBwdWJsaWMgZWxlbTogYW55O1xuICAgIHB1YmxpYyB1c2VyT2JzOiBVc2VyQXV0aERUTztcbiAgICBwdWJsaWMgYWNjZXNzT2JzOiBBdXRoQWNlc3NvO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyB1cmxTZXJ2aWNlOiBCYXNlVXJsU2VydmljZSxcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudXNlck9icyA9IHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZTtcbiAgICAgICAgdGhpcy5hY2Nlc3NPYnMgPSB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRBY2Nlc3NWYWx1ZTtcblxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyT2JzID0gZGF0YTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5jdXJyZW50QWNjZXNzLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY2Nlc3NPYnMgPSBkYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsYXlvdXRUb2dnbGUoKSB7XG4gICAgICAgIHRoaXMuZGFyayA9ICF0aGlzLmRhcms7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkYXJrTW9kZScsIHRoaXMuZGFyayA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCcpO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnNldHRpbmdzLmxheW91dF92ZXJzaW9uID0gdGhpcy5kYXJrID8gXCJkYXJrLW9ubHlcIiA6IFwibGlnaHRcIjtcbiAgICB9XG5cbiAgICAvL3JlY2ViZSBvIHZhbG9yIGluaWNpYWwgZG8gY29sbGFwc2VTaWRlYmFyIGUgZ3JhdmEgbm8gbG9jYWxzdG9yYWdlXG4gICAgc2V0U3RhdHVzU2lkZUJhcigpIHtcbiAgICAgICAgdGhpcy5zdGF0dVNpZGViYXIgPSB0aGlzLmNvbGxhcHNlU2lkZWJhcjtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xvY2FsJywgdGhpcy5zdGF0dVNpZGViYXIpO1xuICAgIH1cblxuICAgIHNpZGViYXJUb2dnbGUoKSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VTaWRlYmFyID0gIXRoaXMuY29sbGFwc2VTaWRlYmFyO1xuICAgICAgICB0aGlzLnNldFN0YXR1c1NpZGVCYXIoKTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZVNpZGViYXJDaGFuZ2UuZW1pdCh0aGlzLmNvbGxhcHNlU2lkZWJhcik7XG4gICAgfVxuXG4gICAgbG9nb3V0KCkge1xuICAgICAgICBsZXQgbWVudSA9IG5ldyBVc3VhcmlvTWVudURUTygpO1xuICAgICAgICBtZW51LmRzX3JvdGEgPSAnL2xvZ2luL2xvZ291dCc7XG4gICAgICAgIG1lbnUuZHNfbW9kdWxvID0gJ2VycCc7XG4gICAgICAgIG1lbnUuZHNfdGlwbyA9ICdpZnJhbWVMaW5rJztcbiAgICAgICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQobWVudSk7XG4gICAgfVxuXG4gICAgY2xpY2tNZW51KG1lbnU6IFVzdWFyaW9NZW51RFRPKSB7XG4gICAgICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KG1lbnUpO1xuICAgIH1cblxuICAgIHRvZ2dsZUZ1bGxTY3JlZW4oKSB7XG4gICAgICAgIHRoaXMuZnVsbFNjcmVlbiA9ICF0aGlzLmZ1bGxTY3JlZW47XG4gICAgICAgIGlmICh0aGlzLmZ1bGxTY3JlZW4pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5lbGVtLm1velJlcXVlc3RGdWxsU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgLyogRmlyZWZveCAqL1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmVsZW0ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAvKiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEgKi9cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5lbGVtLm1zUmVxdWVzdEZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAvKiBJRS9FZGdlICovXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgLyogRmlyZWZveCAqL1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbigpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgLyogQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhICovXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAvKiBJRS9FZGdlICovXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8IS0tIFBhZ2UgSGVhZGVyIEJhY2tkcm9wIC0tPlxuPGRpdiAqbmdJZj1cImhlYWRlckJhY2tkcm9wXCIgKGNsaWNrKT1cIm5hdlNlcnZpY2UuaGlkZUFsbFBvcFVwcygpXCIgY2xhc3M9XCJoZWFkZXItYmFja2dyb3BcIj48L2Rpdj5cblxuPCEtLSBQYWdlIEhlYWRlciBTdGFydCAtLT5cbjxkaXYgY2xhc3M9XCJwYWdlLWhlYWRlclwiIFtjbGFzcy5jbG9zZV9pY29uXT1cImNvbGxhcHNlU2lkZWJhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItd3JhcHBlciBkLWZsZXggbS0wIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItbG9nby13cmFwcGVyIGNvbC1hdXRvIGQtbGctbm9uZSBweC0wXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9nby13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGEgcm91dGVyTGluaz1cIi9cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1mbHVpZCBmb3ItbGlnaHRcIiBzcmM9XCJhc3NldHMvaW1hZ2VzL2xvZ28vbG9nby5wbmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLWZsdWlkIGZvci1kYXJrXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9sb2dvL2xvZ29fZGFyay5wbmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvZ2dsZS1zaWRlYmFyXCIgKGNsaWNrKT1cInNpZGViYXJUb2dnbGUoKVwiPlxuICAgICAgICAgICAgICAgIDx1aS1pY29uIGljb249XCJtZW51XCIgY2xhc3M9XCJzdGF0dXNfdG9nZ2xlIG1pZGRsZVwiPjwvdWktaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1oZWFkZXIgaG9yaXpvbnRhbC13cmFwcGVyIHBzLTBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGVmdFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXJpZ2h0IHAtMFwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2LW1lbnVzXCI+XG4gICAgICAgICAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJsYW5ndWFnZS1uYXZcIiAoY2xpY2spPVwibGFuZ3VhZ2VUb2dnbGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8aGVhZGVyLWxhbmd1YWdlcz48L2hlYWRlci1sYW5ndWFnZXM+XG4gICAgICAgICAgICAgICAgPC9saT4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRnJlZTsgdGhlbiBsaVVwZ3JhZGU7IGVsc2UgbGlFbXB0eVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsaVVwZ3JhZGU+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBib3JkZXItMCByb3VuZGVkLXBpbGwgZ2FwLTIgYi1jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL2Nvcm9hLnN2Z1wiIGNsYXNzPVwidy1hdXRvXCIgYWx0PVwiaWNvbmUtY29yb2FcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhw6dhIFVwZ3JhZGVcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsaUVtcHR5PlxuICAgICAgICAgICAgICAgICAgICA8bGk+PC9saT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kZSBkLW5vbmUgZC1tZC1ibG9ja1wiIChjbGljayk9XCJsYXlvdXRUb2dnbGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVpLWljb24gaWNvbj1cImRhcmtfbW9kZVwiIHNpemU9XCIyNFwiICpuZ0lmPVwiIWRhcmtcIj48L3VpLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBpY29uPVwic3VubnlcIiBzaXplPVwiMjRcIiAqbmdJZj1cImRhcmtcIj48L3VpLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWF4aW1pemVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LWRhcmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInRvZ2dsZUZ1bGxTY3JlZW4oKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVpLWljb24gaWNvbj1cImZ1bGxzY3JlZW5cIiBzaXplPVwiMjRcIj48L3VpLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInByb2ZpbGUtbmF2IG9uaG92ZXItZHJvcGRvd24gcC0wIHBzLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVpLXVzZXItdG9wIFt1cmxJbWFnZV09XCJ1cmxTZXJ2aWNlLmltYWdlbVVzdWFyaW8oe21vZGVsOiB1c2VyT2JzLnVzdWFyaW99KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdXN1YXJpb109XCJ1c2VyT2JzLnVzdWFyaW9cIiBbYWNlc3NvXT1cImFjY2Vzc09ic1wiPjwvdWktdXNlci10b3A+XG5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwicHJvZmlsZS1kcm9wZG93biBvbmhvdmVyLXNob3ctZGl2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGNvbCBvZiBtZW51c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJjbGlja01lbnUoY29sKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBbaWNvbl09XCJjb2wuZHNfaWNvbmVcIiBzaXplPVwiMjBcIj48L3VpLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7Y29sLm5vX2Z1bmNpb25hbGlkYWRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImxvZ291dCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBpY29uPVwibG9naW5cIiBzaXplPVwiMjBcIj48L3VpLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNhaXI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cblxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPCEtLSBQYWdlIEhlYWRlciBFbmRzIC0tPlxuIl19
@@ -0,0 +1,36 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { UiHeaderComponent } from './ui-header.component';
3
+ import { UiIconModule } from 'uitec-ng-icon';
4
+ import { CommonModule } from '@angular/common';
5
+ import { ReactiveFormsModule } from '@angular/forms';
6
+ import { UiUserTopModule } from 'uitec-ng-user-top';
7
+ import * as i0 from "@angular/core";
8
+ export class UiHeaderModule {
9
+ }
10
+ UiHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ UiHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, declarations: [UiHeaderComponent], imports: [CommonModule,
12
+ ReactiveFormsModule,
13
+ UiIconModule,
14
+ UiUserTopModule], exports: [UiHeaderComponent] });
15
+ UiHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, imports: [CommonModule,
16
+ ReactiveFormsModule,
17
+ UiIconModule,
18
+ UiUserTopModule] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ declarations: [
23
+ UiHeaderComponent
24
+ ],
25
+ imports: [
26
+ CommonModule,
27
+ ReactiveFormsModule,
28
+ UiIconModule,
29
+ UiUserTopModule
30
+ ],
31
+ exports: [
32
+ UiHeaderComponent
33
+ ]
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBZ0JwRCxNQUFNLE9BQU8sY0FBYzs7NEdBQWQsY0FBYzs2R0FBZCxjQUFjLGlCQVpuQixpQkFBaUIsYUFHakIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osZUFBZSxhQUdmLGlCQUFpQjs2R0FHWixjQUFjLFlBVG5CLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7NEZBTVYsY0FBYztrQkFkMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjtxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWlIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlJY29uTW9kdWxlIH0gZnJvbSAndWl0ZWMtbmctaWNvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVpVXNlclRvcE1vZHVsZSB9IGZyb20gJ3VpdGVjLW5nLXVzZXItdG9wJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgVWlIZWFkZXJDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBVaUljb25Nb2R1bGUsXG4gICAgICAgIFVpVXNlclRvcE1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBVaUhlYWRlckNvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVWlIZWFkZXJNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class UiHeaderService {
4
+ constructor() { }
5
+ }
6
+ UiHeaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
+ UiHeaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, providedIn: 'root' });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root'
12
+ }]
13
+ }], ctorParameters: function () { return []; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1oZWFkZXIvc3JjL2xpYi91aS1oZWFkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZUFBZTtJQUUxQixnQkFBZ0IsQ0FBQzs7NkdBRk4sZUFBZTtpSEFBZixlQUFlLGNBRmQsTUFBTTs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVWlIZWFkZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Public API Surface of ui-header
3
+ */
4
+ export * from './lib/ui-header.service';
5
+ export * from './lib/ui-header.component';
6
+ export * from './lib/ui-header.module';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB1aS1oZWFkZXJcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1oZWFkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWhlYWRlci5tb2R1bGUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWl0ZWMtbmctaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdWktaGVhZGVyL3NyYy91aXRlYy1uZy1oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,184 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, Inject, Input, Output, ContentChild, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/common';
4
+ import { DOCUMENT, CommonModule } from '@angular/common';
5
+ import * as i1 from 'uitec-ng-core';
6
+ import { UsuarioMenuDTO } from 'uitec-ng-core';
7
+ import * as i3 from 'uitec-ng-icon';
8
+ import { UiIconModule } from 'uitec-ng-icon';
9
+ import * as i4 from 'uitec-ng-user-top';
10
+ import { UiUserTopModule } from 'uitec-ng-user-top';
11
+ import { ReactiveFormsModule } from '@angular/forms';
12
+
13
+ class UiHeaderService {
14
+ constructor() { }
15
+ }
16
+ UiHeaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
+ UiHeaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root'
22
+ }]
23
+ }], ctorParameters: function () { return []; } });
24
+
25
+ class UiHeaderComponent {
26
+ constructor(authService, urlService, layoutService, document) {
27
+ this.authService = authService;
28
+ this.urlService = urlService;
29
+ this.layoutService = layoutService;
30
+ this.document = document;
31
+ this.collapseSidebarChange = new EventEmitter();
32
+ this.fullScreenChange = new EventEmitter();
33
+ this.headerBackdropChange = new EventEmitter();
34
+ this.onNavigate = new EventEmitter();
35
+ }
36
+ ngOnInit() {
37
+ this.elem = document.documentElement;
38
+ this.userObs = this.authService.currentUserValue;
39
+ this.accessObs = this.authService.currentAccessValue;
40
+ this.authService.currentUser.subscribe((data) => {
41
+ this.userObs = data;
42
+ });
43
+ this.authService.currentAccess.subscribe((data) => {
44
+ this.accessObs = data;
45
+ });
46
+ }
47
+ layoutToggle() {
48
+ this.dark = !this.dark;
49
+ localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');
50
+ this.layoutService.config.settings.layout_version = this.dark ? "dark-only" : "light";
51
+ }
52
+ //recebe o valor inicial do collapseSidebar e grava no localstorage
53
+ setStatusSideBar() {
54
+ this.statuSidebar = this.collapseSidebar;
55
+ localStorage.setItem('local', this.statuSidebar);
56
+ }
57
+ sidebarToggle() {
58
+ this.collapseSidebar = !this.collapseSidebar;
59
+ this.setStatusSideBar();
60
+ this.collapseSidebarChange.emit(this.collapseSidebar);
61
+ }
62
+ logout() {
63
+ let menu = new UsuarioMenuDTO();
64
+ menu.ds_rota = '/login/logout';
65
+ menu.ds_modulo = 'erp';
66
+ menu.ds_tipo = 'iframeLink';
67
+ this.onNavigate.emit(menu);
68
+ }
69
+ clickMenu(menu) {
70
+ this.onNavigate.emit(menu);
71
+ }
72
+ toggleFullScreen() {
73
+ this.fullScreen = !this.fullScreen;
74
+ if (this.fullScreen) {
75
+ if (this.elem.requestFullscreen) {
76
+ this.elem.requestFullscreen();
77
+ }
78
+ else if (this.elem.mozRequestFullScreen) {
79
+ /* Firefox */
80
+ this.elem.mozRequestFullScreen();
81
+ }
82
+ else if (this.elem.webkitRequestFullscreen) {
83
+ /* Chrome, Safari and Opera */
84
+ this.elem.webkitRequestFullscreen();
85
+ }
86
+ else if (this.elem.msRequestFullscreen) {
87
+ /* IE/Edge */
88
+ this.elem.msRequestFullscreen();
89
+ }
90
+ }
91
+ else {
92
+ if (!this.document.exitFullscreen) {
93
+ this.document.exitFullscreen();
94
+ }
95
+ else if (this.document.mozCancelFullScreen) {
96
+ /* Firefox */
97
+ this.document.mozCancelFullScreen();
98
+ }
99
+ else if (this.document.webkitExitFullscreen) {
100
+ /* Chrome, Safari and Opera */
101
+ this.document.webkitExitFullscreen();
102
+ }
103
+ else if (this.document.msExitFullscreen) {
104
+ /* IE/Edge */
105
+ this.document.msExitFullscreen();
106
+ }
107
+ }
108
+ }
109
+ }
110
+ UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
111
+ UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: [".image-logo{width:89px;height:20px}li.maximize{height:32px}.header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}ui-icon.status_toggle.middle{color:#7366ff}ui-icon.icons-menu{height:20px}.mode.d-none.d-md-block{height:20px}.header-backgrop{position:fixed;inset:0;z-index:8}.header-backgrop .page-header{z-index:11!important}.b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}.b-color img{height:15px}@media (max-width: 576px){.hide-mobile{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "component", type: i4.UiUserTopComponent, selector: "ui-user-top", inputs: ["urlImage", "usuario", "acesso"] }] });
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: [".image-logo{width:89px;height:20px}li.maximize{height:32px}.header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}ui-icon.status_toggle.middle{color:#7366ff}ui-icon.icons-menu{height:20px}.mode.d-none.d-md-block{height:20px}.header-backgrop{position:fixed;inset:0;z-index:8}.header-backgrop .page-header{z-index:11!important}.b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}.b-color img{height:15px}@media (max-width: 576px){.hide-mobile{display:none!important}}\n"] }]
115
+ }], ctorParameters: function () {
116
+ return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: undefined, decorators: [{
117
+ type: Inject,
118
+ args: [DOCUMENT]
119
+ }] }];
120
+ }, propDecorators: { collapseSidebar: [{
121
+ type: Input
122
+ }], fullScreen: [{
123
+ type: Input
124
+ }], headerBackdrop: [{
125
+ type: Input
126
+ }], isFree: [{
127
+ type: Input
128
+ }], menus: [{
129
+ type: Input
130
+ }], collapseSidebarChange: [{
131
+ type: Output
132
+ }], fullScreenChange: [{
133
+ type: Output
134
+ }], headerBackdropChange: [{
135
+ type: Output
136
+ }], onNavigate: [{
137
+ type: Output
138
+ }], left: [{
139
+ type: ContentChild,
140
+ args: ['left']
141
+ }], right: [{
142
+ type: ContentChild,
143
+ args: ['right']
144
+ }] } });
145
+
146
+ class UiHeaderModule {
147
+ }
148
+ UiHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
149
+ UiHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, declarations: [UiHeaderComponent], imports: [CommonModule,
150
+ ReactiveFormsModule,
151
+ UiIconModule,
152
+ UiUserTopModule], exports: [UiHeaderComponent] });
153
+ UiHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, imports: [CommonModule,
154
+ ReactiveFormsModule,
155
+ UiIconModule,
156
+ UiUserTopModule] });
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, decorators: [{
158
+ type: NgModule,
159
+ args: [{
160
+ declarations: [
161
+ UiHeaderComponent
162
+ ],
163
+ imports: [
164
+ CommonModule,
165
+ ReactiveFormsModule,
166
+ UiIconModule,
167
+ UiUserTopModule
168
+ ],
169
+ exports: [
170
+ UiHeaderComponent
171
+ ]
172
+ }]
173
+ }] });
174
+
175
+ /*
176
+ * Public API Surface of ui-header
177
+ */
178
+
179
+ /**
180
+ * Generated bundle index. Do not edit.
181
+ */
182
+
183
+ export { UiHeaderComponent, UiHeaderModule, UiHeaderService };
184
+ //# sourceMappingURL=uitec-ng-header.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uitec-ng-header.mjs","sources":["../../../projects/ui-header/src/lib/ui-header.service.ts","../../../projects/ui-header/src/lib/ui-header.component.ts","../../../projects/ui-header/src/lib/ui-header.component.html","../../../projects/ui-header/src/lib/ui-header.module.ts","../../../projects/ui-header/src/public-api.ts","../../../projects/ui-header/src/uitec-ng-header.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UiHeaderService {\n\n constructor() { }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, ContentChild, EventEmitter, HostListener, Inject, Input, OnChanges, OnInit, Output, TemplateRef } from '@angular/core';\nimport { AuthAcesso, AuthService, BaseUrlService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\n\n@Component({\n selector: 'ui-header',\n templateUrl: './ui-header.component.html',\n styleUrls: ['./ui-header.component.scss']\n})\nexport class UiHeaderComponent implements OnInit {\n\n @Input() collapseSidebar: boolean;\n @Input() fullScreen: boolean;\n @Input() headerBackdrop: string;\n @Input() isFree: string;\n @Input() menus: UsuarioMenuDTO[];\n\n @Output() collapseSidebarChange = new EventEmitter<boolean>();\n @Output() fullScreenChange = new EventEmitter<boolean>();\n @Output() headerBackdropChange = new EventEmitter<boolean>();\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\n\n @ContentChild('left') left: TemplateRef<any>;\n @ContentChild('right') right: TemplateRef<any>;\n\n public statuSidebar;\n public dark: boolean;\n public elem: any;\n public userObs: UserAuthDTO;\n public accessObs: AuthAcesso;\n\n constructor(\n public authService: AuthService,\n public urlService: BaseUrlService,\n public layoutService: LayoutService,\n @Inject(DOCUMENT) private document: any\n ) { }\n\n ngOnInit(): void {\n this.elem = document.documentElement;\n\n this.userObs = this.authService.currentUserValue;\n this.accessObs = this.authService.currentAccessValue;\n\n this.authService.currentUser.subscribe((data) => {\n this.userObs = data;\n });\n\n this.authService.currentAccess.subscribe((data) => {\n this.accessObs = data;\n });\n }\n\n layoutToggle() {\n this.dark = !this.dark;\n localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : \"light\";\n }\n\n //recebe o valor inicial do collapseSidebar e grava no localstorage\n setStatusSideBar() {\n this.statuSidebar = this.collapseSidebar;\n localStorage.setItem('local', this.statuSidebar);\n }\n\n sidebarToggle() {\n this.collapseSidebar = !this.collapseSidebar;\n this.setStatusSideBar();\n this.collapseSidebarChange.emit(this.collapseSidebar);\n }\n\n logout() {\n let menu = new UsuarioMenuDTO();\n menu.ds_rota = '/login/logout';\n menu.ds_modulo = 'erp';\n menu.ds_tipo = 'iframeLink';\n this.onNavigate.emit(menu);\n }\n\n clickMenu(menu: UsuarioMenuDTO) {\n this.onNavigate.emit(menu);\n }\n\n toggleFullScreen() {\n this.fullScreen = !this.fullScreen;\n if (this.fullScreen) {\n if (this.elem.requestFullscreen) {\n this.elem.requestFullscreen();\n } else if (this.elem.mozRequestFullScreen) {\n /* Firefox */\n this.elem.mozRequestFullScreen();\n } else if (this.elem.webkitRequestFullscreen) {\n /* Chrome, Safari and Opera */\n this.elem.webkitRequestFullscreen();\n } else if (this.elem.msRequestFullscreen) {\n /* IE/Edge */\n this.elem.msRequestFullscreen();\n }\n } else {\n if (!this.document.exitFullscreen) {\n this.document.exitFullscreen();\n } else if (this.document.mozCancelFullScreen) {\n /* Firefox */\n this.document.mozCancelFullScreen();\n } else if (this.document.webkitExitFullscreen) {\n /* Chrome, Safari and Opera */\n this.document.webkitExitFullscreen();\n } else if (this.document.msExitFullscreen) {\n /* IE/Edge */\n this.document.msExitFullscreen();\n }\n }\n }\n}\n","<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Faça Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n","import { NgModule } from '@angular/core';\nimport { UiHeaderComponent } from './ui-header.component';\nimport { UiIconModule } from 'uitec-ng-icon';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { UiUserTopModule } from 'uitec-ng-user-top';\n\n@NgModule({\n declarations: [\n UiHeaderComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n UiIconModule,\n UiUserTopModule\n ],\n exports: [\n UiHeaderComponent\n ]\n})\nexport class UiHeaderModule { }\n","/*\n * Public API Surface of ui-header\n */\n\nexport * from './lib/ui-header.service';\nexport * from './lib/ui-header.component';\nexport * from './lib/ui-header.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, Inject, Input, Output, ContentChild, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/common';
4
+ import { DOCUMENT, CommonModule } from '@angular/common';
5
+ import * as i1 from 'uitec-ng-core';
6
+ import { UsuarioMenuDTO } from 'uitec-ng-core';
7
+ import * as i3 from 'uitec-ng-icon';
8
+ import { UiIconModule } from 'uitec-ng-icon';
9
+ import * as i4 from 'uitec-ng-user-top';
10
+ import { UiUserTopModule } from 'uitec-ng-user-top';
11
+ import { ReactiveFormsModule } from '@angular/forms';
12
+
13
+ class UiHeaderService {
14
+ constructor() { }
15
+ }
16
+ UiHeaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
+ UiHeaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root'
22
+ }]
23
+ }], ctorParameters: function () { return []; } });
24
+
25
+ class UiHeaderComponent {
26
+ constructor(authService, urlService, layoutService, document) {
27
+ this.authService = authService;
28
+ this.urlService = urlService;
29
+ this.layoutService = layoutService;
30
+ this.document = document;
31
+ this.collapseSidebarChange = new EventEmitter();
32
+ this.fullScreenChange = new EventEmitter();
33
+ this.headerBackdropChange = new EventEmitter();
34
+ this.onNavigate = new EventEmitter();
35
+ }
36
+ ngOnInit() {
37
+ this.elem = document.documentElement;
38
+ this.userObs = this.authService.currentUserValue;
39
+ this.accessObs = this.authService.currentAccessValue;
40
+ this.authService.currentUser.subscribe((data) => {
41
+ this.userObs = data;
42
+ });
43
+ this.authService.currentAccess.subscribe((data) => {
44
+ this.accessObs = data;
45
+ });
46
+ }
47
+ layoutToggle() {
48
+ this.dark = !this.dark;
49
+ localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');
50
+ this.layoutService.config.settings.layout_version = this.dark ? "dark-only" : "light";
51
+ }
52
+ //recebe o valor inicial do collapseSidebar e grava no localstorage
53
+ setStatusSideBar() {
54
+ this.statuSidebar = this.collapseSidebar;
55
+ localStorage.setItem('local', this.statuSidebar);
56
+ }
57
+ sidebarToggle() {
58
+ this.collapseSidebar = !this.collapseSidebar;
59
+ this.setStatusSideBar();
60
+ this.collapseSidebarChange.emit(this.collapseSidebar);
61
+ }
62
+ logout() {
63
+ let menu = new UsuarioMenuDTO();
64
+ menu.ds_rota = '/login/logout';
65
+ menu.ds_modulo = 'erp';
66
+ menu.ds_tipo = 'iframeLink';
67
+ this.onNavigate.emit(menu);
68
+ }
69
+ clickMenu(menu) {
70
+ this.onNavigate.emit(menu);
71
+ }
72
+ toggleFullScreen() {
73
+ this.fullScreen = !this.fullScreen;
74
+ if (this.fullScreen) {
75
+ if (this.elem.requestFullscreen) {
76
+ this.elem.requestFullscreen();
77
+ }
78
+ else if (this.elem.mozRequestFullScreen) {
79
+ /* Firefox */
80
+ this.elem.mozRequestFullScreen();
81
+ }
82
+ else if (this.elem.webkitRequestFullscreen) {
83
+ /* Chrome, Safari and Opera */
84
+ this.elem.webkitRequestFullscreen();
85
+ }
86
+ else if (this.elem.msRequestFullscreen) {
87
+ /* IE/Edge */
88
+ this.elem.msRequestFullscreen();
89
+ }
90
+ }
91
+ else {
92
+ if (!this.document.exitFullscreen) {
93
+ this.document.exitFullscreen();
94
+ }
95
+ else if (this.document.mozCancelFullScreen) {
96
+ /* Firefox */
97
+ this.document.mozCancelFullScreen();
98
+ }
99
+ else if (this.document.webkitExitFullscreen) {
100
+ /* Chrome, Safari and Opera */
101
+ this.document.webkitExitFullscreen();
102
+ }
103
+ else if (this.document.msExitFullscreen) {
104
+ /* IE/Edge */
105
+ this.document.msExitFullscreen();
106
+ }
107
+ }
108
+ }
109
+ }
110
+ UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
111
+ UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: [".image-logo{width:89px;height:20px}li.maximize{height:32px}.header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}ui-icon.status_toggle.middle{color:#7366ff}ui-icon.icons-menu{height:20px}.mode.d-none.d-md-block{height:20px}.header-backgrop{position:fixed;inset:0;z-index:8}.header-backgrop .page-header{z-index:11!important}.b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}.b-color img{height:15px}@media (max-width: 576px){.hide-mobile{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "component", type: i4.UiUserTopComponent, selector: "ui-user-top", inputs: ["urlImage", "usuario", "acesso"] }] });
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: [".image-logo{width:89px;height:20px}li.maximize{height:32px}.header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}ui-icon.status_toggle.middle{color:#7366ff}ui-icon.icons-menu{height:20px}.mode.d-none.d-md-block{height:20px}.header-backgrop{position:fixed;inset:0;z-index:8}.header-backgrop .page-header{z-index:11!important}.b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}.b-color img{height:15px}@media (max-width: 576px){.hide-mobile{display:none!important}}\n"] }]
115
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: undefined, decorators: [{
116
+ type: Inject,
117
+ args: [DOCUMENT]
118
+ }] }]; }, propDecorators: { collapseSidebar: [{
119
+ type: Input
120
+ }], fullScreen: [{
121
+ type: Input
122
+ }], headerBackdrop: [{
123
+ type: Input
124
+ }], isFree: [{
125
+ type: Input
126
+ }], menus: [{
127
+ type: Input
128
+ }], collapseSidebarChange: [{
129
+ type: Output
130
+ }], fullScreenChange: [{
131
+ type: Output
132
+ }], headerBackdropChange: [{
133
+ type: Output
134
+ }], onNavigate: [{
135
+ type: Output
136
+ }], left: [{
137
+ type: ContentChild,
138
+ args: ['left']
139
+ }], right: [{
140
+ type: ContentChild,
141
+ args: ['right']
142
+ }] } });
143
+
144
+ class UiHeaderModule {
145
+ }
146
+ UiHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
147
+ UiHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, declarations: [UiHeaderComponent], imports: [CommonModule,
148
+ ReactiveFormsModule,
149
+ UiIconModule,
150
+ UiUserTopModule], exports: [UiHeaderComponent] });
151
+ UiHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, imports: [CommonModule,
152
+ ReactiveFormsModule,
153
+ UiIconModule,
154
+ UiUserTopModule] });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderModule, decorators: [{
156
+ type: NgModule,
157
+ args: [{
158
+ declarations: [
159
+ UiHeaderComponent
160
+ ],
161
+ imports: [
162
+ CommonModule,
163
+ ReactiveFormsModule,
164
+ UiIconModule,
165
+ UiUserTopModule
166
+ ],
167
+ exports: [
168
+ UiHeaderComponent
169
+ ]
170
+ }]
171
+ }] });
172
+
173
+ /*
174
+ * Public API Surface of ui-header
175
+ */
176
+
177
+ /**
178
+ * Generated bundle index. Do not edit.
179
+ */
180
+
181
+ export { UiHeaderComponent, UiHeaderModule, UiHeaderService };
182
+ //# sourceMappingURL=uitec-ng-header.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uitec-ng-header.mjs","sources":["../../../projects/ui-header/src/lib/ui-header.service.ts","../../../projects/ui-header/src/lib/ui-header.component.ts","../../../projects/ui-header/src/lib/ui-header.component.html","../../../projects/ui-header/src/lib/ui-header.module.ts","../../../projects/ui-header/src/public-api.ts","../../../projects/ui-header/src/uitec-ng-header.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UiHeaderService {\n\n constructor() { }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, ContentChild, EventEmitter, HostListener, Inject, Input, OnChanges, OnInit, Output, TemplateRef } from '@angular/core';\nimport { AuthAcesso, AuthService, BaseUrlService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\n\n@Component({\n selector: 'ui-header',\n templateUrl: './ui-header.component.html',\n styleUrls: ['./ui-header.component.scss']\n})\nexport class UiHeaderComponent implements OnInit {\n\n @Input() collapseSidebar: boolean;\n @Input() fullScreen: boolean;\n @Input() headerBackdrop: string;\n @Input() isFree: string;\n @Input() menus: UsuarioMenuDTO[];\n\n @Output() collapseSidebarChange = new EventEmitter<boolean>();\n @Output() fullScreenChange = new EventEmitter<boolean>();\n @Output() headerBackdropChange = new EventEmitter<boolean>();\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\n\n @ContentChild('left') left: TemplateRef<any>;\n @ContentChild('right') right: TemplateRef<any>;\n\n public statuSidebar;\n public dark: boolean;\n public elem: any;\n public userObs: UserAuthDTO;\n public accessObs: AuthAcesso;\n\n constructor(\n public authService: AuthService,\n public urlService: BaseUrlService,\n public layoutService: LayoutService,\n @Inject(DOCUMENT) private document: any\n ) { }\n\n ngOnInit(): void {\n this.elem = document.documentElement;\n\n this.userObs = this.authService.currentUserValue;\n this.accessObs = this.authService.currentAccessValue;\n\n this.authService.currentUser.subscribe((data) => {\n this.userObs = data;\n });\n\n this.authService.currentAccess.subscribe((data) => {\n this.accessObs = data;\n });\n }\n\n layoutToggle() {\n this.dark = !this.dark;\n localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : \"light\";\n }\n\n //recebe o valor inicial do collapseSidebar e grava no localstorage\n setStatusSideBar() {\n this.statuSidebar = this.collapseSidebar;\n localStorage.setItem('local', this.statuSidebar);\n }\n\n sidebarToggle() {\n this.collapseSidebar = !this.collapseSidebar;\n this.setStatusSideBar();\n this.collapseSidebarChange.emit(this.collapseSidebar);\n }\n\n logout() {\n let menu = new UsuarioMenuDTO();\n menu.ds_rota = '/login/logout';\n menu.ds_modulo = 'erp';\n menu.ds_tipo = 'iframeLink';\n this.onNavigate.emit(menu);\n }\n\n clickMenu(menu: UsuarioMenuDTO) {\n this.onNavigate.emit(menu);\n }\n\n toggleFullScreen() {\n this.fullScreen = !this.fullScreen;\n if (this.fullScreen) {\n if (this.elem.requestFullscreen) {\n this.elem.requestFullscreen();\n } else if (this.elem.mozRequestFullScreen) {\n /* Firefox */\n this.elem.mozRequestFullScreen();\n } else if (this.elem.webkitRequestFullscreen) {\n /* Chrome, Safari and Opera */\n this.elem.webkitRequestFullscreen();\n } else if (this.elem.msRequestFullscreen) {\n /* IE/Edge */\n this.elem.msRequestFullscreen();\n }\n } else {\n if (!this.document.exitFullscreen) {\n this.document.exitFullscreen();\n } else if (this.document.mozCancelFullScreen) {\n /* Firefox */\n this.document.mozCancelFullScreen();\n } else if (this.document.webkitExitFullscreen) {\n /* Chrome, Safari and Opera */\n this.document.webkitExitFullscreen();\n } else if (this.document.msExitFullscreen) {\n /* IE/Edge */\n this.document.msExitFullscreen();\n }\n }\n }\n}\n","<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div class=\"logo-wrapper\">\n <a routerLink=\"/\">\n <img class=\"img-fluid for-light\" src=\"assets/images/logo/logo.png\" alt=\"\" />\n <img class=\"img-fluid for-dark\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n <div class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Faça Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode d-none d-md-block\" (click)=\"layoutToggle()\">\n <ui-icon icon=\"dark_mode\" size=\"24\" *ngIf=\"!dark\"></ui-icon>\n <ui-icon icon=\"sunny\" size=\"24\" *ngIf=\"dark\"></ui-icon>\n </div>\n </li>\n <li class=\"maximize\">\n <a class=\"text-dark\" href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs.usuario})\"\n [usuario]=\"userObs.usuario\" [acesso]=\"accessObs\"></ui-user-top>\n\n <ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n </ul>\n\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n","import { NgModule } from '@angular/core';\nimport { UiHeaderComponent } from './ui-header.component';\nimport { UiIconModule } from 'uitec-ng-icon';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { UiUserTopModule } from 'uitec-ng-user-top';\n\n@NgModule({\n declarations: [\n UiHeaderComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n UiIconModule,\n UiUserTopModule\n ],\n exports: [\n UiHeaderComponent\n ]\n})\nexport class UiHeaderModule { }\n","/*\n * Public API Surface of ui-header\n */\n\nexport * from './lib/ui-header.service';\nexport * from './lib/ui-header.component';\nexport * from './lib/ui-header.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="uitec-ng-header" />
5
+ export * from './public-api';
@@ -0,0 +1,35 @@
1
+ import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
2
+ import { AuthAcesso, AuthService, BaseUrlService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class UiHeaderComponent implements OnInit {
5
+ authService: AuthService;
6
+ urlService: BaseUrlService;
7
+ layoutService: LayoutService;
8
+ private document;
9
+ collapseSidebar: boolean;
10
+ fullScreen: boolean;
11
+ headerBackdrop: string;
12
+ isFree: string;
13
+ menus: UsuarioMenuDTO[];
14
+ collapseSidebarChange: EventEmitter<boolean>;
15
+ fullScreenChange: EventEmitter<boolean>;
16
+ headerBackdropChange: EventEmitter<boolean>;
17
+ onNavigate: EventEmitter<UsuarioMenuDTO>;
18
+ left: TemplateRef<any>;
19
+ right: TemplateRef<any>;
20
+ statuSidebar: any;
21
+ dark: boolean;
22
+ elem: any;
23
+ userObs: UserAuthDTO;
24
+ accessObs: AuthAcesso;
25
+ constructor(authService: AuthService, urlService: BaseUrlService, layoutService: LayoutService, document: any);
26
+ ngOnInit(): void;
27
+ layoutToggle(): void;
28
+ setStatusSideBar(): void;
29
+ sidebarToggle(): void;
30
+ logout(): void;
31
+ clickMenu(menu: UsuarioMenuDTO): void;
32
+ toggleFullScreen(): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiHeaderComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiHeaderComponent, "ui-header", never, { "collapseSidebar": "collapseSidebar"; "fullScreen": "fullScreen"; "headerBackdrop": "headerBackdrop"; "isFree": "isFree"; "menus": "menus"; }, { "collapseSidebarChange": "collapseSidebarChange"; "fullScreenChange": "fullScreenChange"; "headerBackdropChange": "headerBackdropChange"; "onNavigate": "onNavigate"; }, ["left", "right"], never, false, never>;
35
+ }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ui-header.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "uitec-ng-icon";
6
+ import * as i5 from "uitec-ng-user-top";
7
+ export declare class UiHeaderModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiHeaderModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiHeaderModule, [typeof i1.UiHeaderComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.UiIconModule, typeof i5.UiUserTopModule], [typeof i1.UiHeaderComponent]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<UiHeaderModule>;
11
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class UiHeaderService {
3
+ constructor();
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiHeaderService, never>;
5
+ static ɵprov: i0.ɵɵInjectableDeclaration<UiHeaderService>;
6
+ }
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "uitec-ng-header",
3
+ "version": "1.0.0",
4
+ "peerDependencies": {
5
+ "@angular/common": "^15.2.0",
6
+ "@angular/core": "^15.2.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2015/uitec-ng-header.mjs",
13
+ "es2020": "fesm2020/uitec-ng-header.mjs",
14
+ "esm2020": "esm2020/uitec-ng-header.mjs",
15
+ "fesm2020": "fesm2020/uitec-ng-header.mjs",
16
+ "fesm2015": "fesm2015/uitec-ng-header.mjs",
17
+ "typings": "index.d.ts",
18
+ "exports": {
19
+ "./package.json": {
20
+ "default": "./package.json"
21
+ },
22
+ ".": {
23
+ "types": "./index.d.ts",
24
+ "esm2020": "./esm2020/uitec-ng-header.mjs",
25
+ "es2020": "./fesm2020/uitec-ng-header.mjs",
26
+ "es2015": "./fesm2015/uitec-ng-header.mjs",
27
+ "node": "./fesm2015/uitec-ng-header.mjs",
28
+ "default": "./fesm2020/uitec-ng-header.mjs"
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,3 @@
1
+ export * from './lib/ui-header.service';
2
+ export * from './lib/ui-header.component';
3
+ export * from './lib/ui-header.module';