| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- import { Component, OnInit, ViewChild, AfterViewInit } from "@angular/core";
- import {
- Location,
- LocationStrategy,
- PathLocationStrategy,
- PopStateEvent
- } from "@angular/common";
- import { filter, map } from "rxjs/operators";
- import { Subscription } from "rxjs/Subscription";
- //import { NavbarComponent } from '../../components/navbar/navbar.component';
- import { Router, NavigationEnd, NavigationStart } from "@angular/router";
- import * as $ from "jquery";
- @Component({
- selector: "app-admin",
- templateUrl: "./admin.component.html",
- styleUrls: ["./admin.component.scss"]
- })
- export class AdminComponent implements OnInit {
- private _router: Subscription;
- private lastPoppedUrl: string;
- private yScrollStack: number[] = [];
- constructor(public location: Location, private router: Router) {}
- ngOnInit() {
- const isWindows = navigator.platform.indexOf("Win") > -1 ? true : false;
- const elemMainPanel = <HTMLElement>document.querySelector(".main-panel");
- const elemSidebar = <HTMLElement>(
- document.querySelector(".sidebar .sidebar-wrapper")
- );
- this.location.subscribe((ev: PopStateEvent) => {
- this.lastPoppedUrl = ev.url;
- });
- this.router.events.subscribe((event: any) => {
- if (event instanceof NavigationStart) {
- if (event.url != this.lastPoppedUrl)
- this.yScrollStack.push(window.scrollY);
- } else if (event instanceof NavigationEnd) {
- if (event.url == this.lastPoppedUrl) {
- this.lastPoppedUrl = undefined;
- window.scrollTo(0, this.yScrollStack.pop());
- } else window.scrollTo(0, 0);
- }
- });
- this._router = this.router.events
- .pipe(filter(event => event instanceof NavigationEnd))
- .subscribe((event: NavigationEnd) => {
- elemMainPanel.scrollTop = 0;
- elemSidebar.scrollTop = 0;
- });
- const window_width = $(window).width();
- let $sidebar = $(".sidebar");
- let $sidebar_responsive = $("body > .navbar-collapse");
- let $sidebar_img_container = $sidebar.find(".sidebar-background");
- if (window_width > 767) {
- if ($(".fixed-plugin .dropdown").hasClass("show-dropdown")) {
- $(".fixed-plugin .dropdown").addClass("open");
- }
- }
- $(".fixed-plugin a").click(function(event) {
- // Alex if we click on switch, stop propagation of the event, so the dropdown will not be hide, otherwise we set the section active
- if ($(this).hasClass("switch-trigger")) {
- if (event.stopPropagation) {
- event.stopPropagation();
- } else if (window.event) {
- window.event.cancelBubble = true;
- }
- }
- });
- $(".fixed-plugin .badge").click(function() {
- let $full_page_background = $(".full-page-background");
- $(this)
- .siblings()
- .removeClass("active");
- $(this).addClass("active");
- var new_color = $(this).data("color");
- if ($sidebar.length !== 0) {
- $sidebar.attr("data-color", new_color);
- }
- if ($sidebar_responsive.length != 0) {
- $sidebar_responsive.attr("data-color", new_color);
- }
- });
- $(".fixed-plugin .img-holder").click(function() {
- let $full_page_background = $(".full-page-background");
- $(this)
- .parent("li")
- .siblings()
- .removeClass("active");
- $(this)
- .parent("li")
- .addClass("active");
- //var new_image = $(this).find("img").attr('src');
- if ($sidebar_img_container.length != 0) {
- $sidebar_img_container.fadeOut("fast", function() {
- //$sidebar_img_container.css('background-image','url("' + new_image + '")');
- $sidebar_img_container.fadeIn("fast");
- });
- }
- if ($full_page_background.length != 0) {
- $full_page_background.fadeOut("fast", function() {
- //$full_page_background.css('background-image','url("' + new_image + '")');
- $full_page_background.fadeIn("fast");
- });
- }
- if ($sidebar_responsive.length != 0) {
- //$sidebar_responsive.css('background-image','url("' + new_image + '")');
- }
- });
- }
- ngAfterViewInit() {
- this.runOnRouteChange();
- }
- isMaps(path) {
- var titlee = this.location.prepareExternalUrl(this.location.path());
- titlee = titlee.slice(1);
- if (path == titlee) {
- return false;
- } else {
- return true;
- }
- }
- runOnRouteChange(): void {
- if (window.matchMedia(`(min-width: 960px)`).matches && !this.isMac()) {
- const elemMainPanel = <HTMLElement>document.querySelector(".main-panel");
- }
- }
- isMac(): boolean {
- let bool = false;
- if (
- navigator.platform.toUpperCase().indexOf("MAC") >= 0 ||
- navigator.platform.toUpperCase().indexOf("IPAD") >= 0
- ) {
- bool = true;
- }
- return bool;
- }
- }
|