|
|
@@ -2,9 +2,9 @@ import { Observable } from 'rxjs';
|
|
|
|
|
|
import { Component, OnInit, ElementRef } from '@angular/core';
|
|
|
import { ROUTES } from '../sidebar/sidebar.component';
|
|
|
-import {Location, LocationStrategy, PathLocationStrategy} from '@angular/common';
|
|
|
+import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';
|
|
|
import { Router, ActivatedRoute } from '@angular/router';
|
|
|
-//import { AuthenticationService } from 'src/app/services/authentication.service';
|
|
|
+// import { AuthenticationService } from 'src/app/services/authentication.service';
|
|
|
import { AdminLayoutRoutes } from 'src/app/layouts/admin/admin.routing';
|
|
|
import { AuthService } from '../../../services/auth2.service';
|
|
|
import Swal from 'sweetalert2';
|
|
|
@@ -15,174 +15,174 @@ import Swal from 'sweetalert2';
|
|
|
styleUrls: ['./navbar.component.scss']
|
|
|
})
|
|
|
export class NavbarComponent implements OnInit {
|
|
|
- private listTitles: any[];
|
|
|
-
|
|
|
- private leTitles: any[];
|
|
|
-
|
|
|
- location: Location;
|
|
|
- mobile_menu_visible: any = 0;
|
|
|
- private toggleButton: any;
|
|
|
- private sidebarVisible: boolean;
|
|
|
- private sidebarMini: boolean;
|
|
|
- constructor(location: Location, private element: ElementRef, private router: Router, private auth: AuthService, private route: ActivatedRoute) {
|
|
|
- this.location = location;
|
|
|
- this.sidebarVisible = false;
|
|
|
- this.sidebarMini = false;
|
|
|
+ private listTitles: any[];
|
|
|
+
|
|
|
+ private leTitles: any[];
|
|
|
+
|
|
|
+ location: Location;
|
|
|
+ mobile_menu_visible: any = 0;
|
|
|
+ private toggleButton: any;
|
|
|
+ private sidebarVisible: boolean;
|
|
|
+ private sidebarMini: boolean;
|
|
|
+ constructor(location: Location, private element: ElementRef, private router: Router, private auth: AuthService, private route: ActivatedRoute) {
|
|
|
+ this.location = location;
|
|
|
+ this.sidebarVisible = false;
|
|
|
+ this.sidebarMini = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ ngOnInit() {
|
|
|
+ this.listTitles = ROUTES.filter(listTitle => listTitle);
|
|
|
+ this.leTitles = AdminLayoutRoutes.filter(listTitle => listTitle);
|
|
|
+ const navbar: HTMLElement = this.element.nativeElement;
|
|
|
+ this.toggleButton = navbar.getElementsByClassName('navbar-toggler')[0];
|
|
|
+ this.router.events.subscribe((event) => {
|
|
|
+ this.sidebarClose();
|
|
|
+ var $layer: any = document.getElementsByClassName('close-layer')[0];
|
|
|
+ if ($layer) {
|
|
|
+ $layer.remove();
|
|
|
+ this.mobile_menu_visible = 0;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ sidebarMiniOn() {
|
|
|
+ const toggleButton = this.toggleButton;
|
|
|
+ const body = document.getElementsByTagName('body')[0];
|
|
|
+ setTimeout(() => {
|
|
|
+ toggleButton.classList.add('sidebar-mini');
|
|
|
+ }, 500);
|
|
|
+ body.classList.add('sidebar-mini');
|
|
|
+
|
|
|
+ this.sidebarMini = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ sidebarMiniOff() {
|
|
|
+ const body = document.getElementsByTagName('body')[0];
|
|
|
+ //this.toggleButton.classList.remove('');
|
|
|
+ this.sidebarMini = false;
|
|
|
+ body.classList.remove('sidebar-mini');
|
|
|
+ }
|
|
|
+
|
|
|
+ menuToggle() {
|
|
|
+ const body = document.getElementsByTagName('body')[0];
|
|
|
+ // body.classList.add('sidebar-mini');
|
|
|
+ if (this.sidebarMini === false) {
|
|
|
+ this.sidebarMiniOn();
|
|
|
+ } else {
|
|
|
+ this.sidebarMiniOff();
|
|
|
}
|
|
|
-
|
|
|
- ngOnInit(){
|
|
|
- this.listTitles = ROUTES.filter(listTitle => listTitle);
|
|
|
- this.leTitles = AdminLayoutRoutes.filter(listTitle => listTitle);
|
|
|
- const navbar: HTMLElement = this.element.nativeElement;
|
|
|
- this.toggleButton = navbar.getElementsByClassName('navbar-toggler')[0];
|
|
|
- this.router.events.subscribe((event) => {
|
|
|
- this.sidebarClose();
|
|
|
- var $layer: any = document.getElementsByClassName('close-layer')[0];
|
|
|
- if ($layer) {
|
|
|
- $layer.remove();
|
|
|
- this.mobile_menu_visible = 0;
|
|
|
- }
|
|
|
- });
|
|
|
+ }
|
|
|
+
|
|
|
+ sidebarOpen() {
|
|
|
+ const toggleButton = this.toggleButton;
|
|
|
+ const body = document.getElementsByTagName('body')[0];
|
|
|
+ setTimeout(function () {
|
|
|
+ toggleButton.classList.add('toggled');
|
|
|
+ }, 500);
|
|
|
+
|
|
|
+ body.classList.add('nav-open');
|
|
|
+
|
|
|
+ this.sidebarVisible = true;
|
|
|
+ };
|
|
|
+ sidebarClose() {
|
|
|
+ const body = document.getElementsByTagName('body')[0];
|
|
|
+ this.toggleButton.classList.remove('toggled');
|
|
|
+ this.sidebarVisible = false;
|
|
|
+ body.classList.remove('nav-open');
|
|
|
+ };
|
|
|
+ sidebarToggle() {
|
|
|
+ // const toggleButton = this.toggleButton;
|
|
|
+ // const body = document.getElementsByTagName('body')[0];
|
|
|
+ var $toggle = document.getElementsByClassName('navbar-toggler')[0];
|
|
|
+
|
|
|
+ if (this.sidebarVisible === false) {
|
|
|
+ this.sidebarOpen();
|
|
|
+ } else {
|
|
|
+ this.sidebarClose();
|
|
|
}
|
|
|
+ const body = document.getElementsByTagName('body')[0];
|
|
|
|
|
|
- sidebarMiniOn() {
|
|
|
- const toggleButton = this.toggleButton;
|
|
|
- const body = document.getElementsByTagName('body')[0];
|
|
|
- setTimeout(function(){
|
|
|
- toggleButton.classList.add('sidebar-mini');
|
|
|
- }, 500);
|
|
|
- body.classList.add('sidebar-mini');
|
|
|
-
|
|
|
- this.sidebarMini = true;
|
|
|
- };
|
|
|
-
|
|
|
- sidebarMiniOff() {
|
|
|
- const body = document.getElementsByTagName('body')[0];
|
|
|
- //this.toggleButton.classList.remove('');
|
|
|
- this.sidebarMini = false;
|
|
|
- body.classList.remove('sidebar-mini');
|
|
|
- };
|
|
|
-
|
|
|
- menuToggle(){
|
|
|
- const body = document.getElementsByTagName('body')[0];
|
|
|
- //body.classList.add('sidebar-mini');
|
|
|
- if (this.sidebarMini === false) {
|
|
|
- this.sidebarMiniOn();
|
|
|
- } else {
|
|
|
- this.sidebarMiniOff();
|
|
|
+ if (this.mobile_menu_visible == 1) {
|
|
|
+ // $('html').removeClass('nav-open');
|
|
|
+ body.classList.remove('nav-open');
|
|
|
+ if ($layer) {
|
|
|
+ $layer.remove();
|
|
|
+ }
|
|
|
+ setTimeout(function () {
|
|
|
+ $toggle.classList.remove('toggled');
|
|
|
+ }, 400);
|
|
|
+
|
|
|
+ this.mobile_menu_visible = 0;
|
|
|
+ } else {
|
|
|
+ setTimeout(function () {
|
|
|
+ $toggle.classList.add('toggled');
|
|
|
+ }, 430);
|
|
|
+
|
|
|
+ var $layer = document.createElement('div');
|
|
|
+ $layer.setAttribute('class', 'close-layer');
|
|
|
+
|
|
|
+ if (body.querySelectorAll('.main-panel')) {
|
|
|
+ document.getElementsByClassName('main-panel')[0].appendChild($layer);
|
|
|
+ } else if (body.classList.contains('off-canvas-sidebar')) {
|
|
|
+ document.getElementsByClassName('wrapper-full-page')[0].appendChild($layer);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- sidebarOpen() {
|
|
|
- const toggleButton = this.toggleButton;
|
|
|
- const body = document.getElementsByTagName('body')[0];
|
|
|
- setTimeout(function(){
|
|
|
- toggleButton.classList.add('toggled');
|
|
|
- }, 500);
|
|
|
+ setTimeout(function () {
|
|
|
+ $layer.classList.add('visible');
|
|
|
+ }, 100);
|
|
|
+
|
|
|
+ $layer.onclick = function () { //asign a function
|
|
|
+ body.classList.remove('nav-open');
|
|
|
+ this.mobile_menu_visible = 0;
|
|
|
+ $layer.classList.remove('visible');
|
|
|
+ setTimeout(function () {
|
|
|
+ $layer.remove();
|
|
|
+ $toggle.classList.remove('toggled');
|
|
|
+ }, 400);
|
|
|
+ }.bind(this);
|
|
|
|
|
|
body.classList.add('nav-open');
|
|
|
+ this.mobile_menu_visible = 1;
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
- this.sidebarVisible = true;
|
|
|
- };
|
|
|
- sidebarClose() {
|
|
|
- const body = document.getElementsByTagName('body')[0];
|
|
|
- this.toggleButton.classList.remove('toggled');
|
|
|
- this.sidebarVisible = false;
|
|
|
- body.classList.remove('nav-open');
|
|
|
- };
|
|
|
- sidebarToggle() {
|
|
|
- // const toggleButton = this.toggleButton;
|
|
|
- // const body = document.getElementsByTagName('body')[0];
|
|
|
- var $toggle = document.getElementsByClassName('navbar-toggler')[0];
|
|
|
-
|
|
|
- if (this.sidebarVisible === false) {
|
|
|
- this.sidebarOpen();
|
|
|
- } else {
|
|
|
- this.sidebarClose();
|
|
|
- }
|
|
|
- const body = document.getElementsByTagName('body')[0];
|
|
|
-
|
|
|
- if (this.mobile_menu_visible == 1) {
|
|
|
- // $('html').removeClass('nav-open');
|
|
|
- body.classList.remove('nav-open');
|
|
|
- if ($layer) {
|
|
|
- $layer.remove();
|
|
|
- }
|
|
|
- setTimeout(function() {
|
|
|
- $toggle.classList.remove('toggled');
|
|
|
- }, 400);
|
|
|
-
|
|
|
- this.mobile_menu_visible = 0;
|
|
|
- } else {
|
|
|
- setTimeout(function() {
|
|
|
- $toggle.classList.add('toggled');
|
|
|
- }, 430);
|
|
|
-
|
|
|
- var $layer = document.createElement('div');
|
|
|
- $layer.setAttribute('class', 'close-layer');
|
|
|
-
|
|
|
- if (body.querySelectorAll('.main-panel')) {
|
|
|
- document.getElementsByClassName('main-panel')[0].appendChild($layer);
|
|
|
- }else if (body.classList.contains('off-canvas-sidebar')) {
|
|
|
- document.getElementsByClassName('wrapper-full-page')[0].appendChild($layer);
|
|
|
- }
|
|
|
-
|
|
|
- setTimeout(function() {
|
|
|
- $layer.classList.add('visible');
|
|
|
- }, 100);
|
|
|
-
|
|
|
- $layer.onclick = function() { //asign a function
|
|
|
- body.classList.remove('nav-open');
|
|
|
- this.mobile_menu_visible = 0;
|
|
|
- $layer.classList.remove('visible');
|
|
|
- setTimeout(function() {
|
|
|
- $layer.remove();
|
|
|
- $toggle.classList.remove('toggled');
|
|
|
- }, 400);
|
|
|
- }.bind(this);
|
|
|
-
|
|
|
- body.classList.add('nav-open');
|
|
|
- this.mobile_menu_visible = 1;
|
|
|
- }
|
|
|
- };
|
|
|
+ logout() {
|
|
|
|
|
|
- logout() {
|
|
|
+ Swal.fire({
|
|
|
+ allowOutsideClick: false,
|
|
|
+ type: 'info',
|
|
|
+ text: 'Espere por favor...'
|
|
|
+ });
|
|
|
+ Swal.showLoading();
|
|
|
|
|
|
- Swal.fire({
|
|
|
- allowOutsideClick: false,
|
|
|
- type: 'info',
|
|
|
- text: 'Espere por favor...'
|
|
|
- });
|
|
|
- Swal.showLoading();
|
|
|
+ this.auth.logout();
|
|
|
|
|
|
- this.auth.logout();
|
|
|
+ //this.router.navigateByUrl("login");
|
|
|
+ }
|
|
|
|
|
|
- //this.router.navigateByUrl("login");
|
|
|
- }
|
|
|
+ getTitle() {
|
|
|
+ var titlee = this.location.prepareExternalUrl(this.location.path());
|
|
|
+ var component_local = this.router.url;
|
|
|
+ var main_title: string;
|
|
|
|
|
|
- getTitle(){
|
|
|
- var titlee = this.location.prepareExternalUrl(this.location.path());
|
|
|
- var component_local = this.router.url;
|
|
|
- var main_title:string;
|
|
|
+ if (titlee.charAt(0) === '#') {
|
|
|
+ titlee = titlee.slice(1);
|
|
|
+ }
|
|
|
+ var item = 0
|
|
|
+ while (item < this.leTitles.length) {
|
|
|
|
|
|
- if(titlee.charAt(0) === '#'){
|
|
|
- titlee = titlee.slice( 1 );
|
|
|
- }
|
|
|
- var item=0
|
|
|
- while( item < this.leTitles.length){
|
|
|
-
|
|
|
- if("/"+this.leTitles[item].path === titlee){
|
|
|
- main_title = this.leTitles[item].data['title'];
|
|
|
- break;
|
|
|
- }
|
|
|
- item++;
|
|
|
- }
|
|
|
- if (main_title === undefined) {
|
|
|
- return 'Dashboard';
|
|
|
- }
|
|
|
- else {
|
|
|
- return main_title;
|
|
|
+ if ("/" + this.leTitles[item].path === titlee) {
|
|
|
+ main_title = this.leTitles[item].data['title'];
|
|
|
+ break;
|
|
|
}
|
|
|
-
|
|
|
+ item++;
|
|
|
+ }
|
|
|
+ if (main_title === undefined) {
|
|
|
+ return 'Dashboard';
|
|
|
}
|
|
|
+ else {
|
|
|
+ return main_title;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|