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 +24 -0
- package/esm2020/lib/ui-header.component.mjs +127 -0
- package/esm2020/lib/ui-header.module.mjs +36 -0
- package/esm2020/lib/ui-header.service.mjs +14 -0
- package/esm2020/public-api.mjs +7 -0
- package/esm2020/uitec-ng-header.mjs +5 -0
- package/fesm2015/uitec-ng-header.mjs +184 -0
- package/fesm2015/uitec-ng-header.mjs.map +1 -0
- package/fesm2020/uitec-ng-header.mjs +182 -0
- package/fesm2020/uitec-ng-header.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/ui-header.component.d.ts +35 -0
- package/lib/ui-header.module.d.ts +11 -0
- package/lib/ui-header.service.d.ts +6 -0
- package/package.json +31 -0
- package/public-api.d.ts +3 -0
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,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
|
+
}
|
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
|
+
}
|
package/public-api.d.ts
ADDED