xufenglei
2018-04-03 b8b94e846dcde8680deff869ea65caee23c3bc89
src/app/app.component.ts
@@ -1,9 +1,10 @@
import { element } from 'protractor';
import { LoginService } from '@business/services/http/login.service';
import { Component, HostBinding, OnInit } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';
import { Router, NavigationEnd, NavigationStart } from '@angular/router';
import { ThemesService, SettingsService, TitleService } from '@delon/theme';
import { filter, map } from 'rxjs/operators';
import { filter } from 'rxjs/operators';
import * as $ from 'jquery';
@Component({
  selector: 'app-root',
  template: `<router-outlet></router-outlet>`
@@ -19,16 +20,39 @@
    private settings: SettingsService,
    private router: Router,
    private titleSrv: TitleService,
    private loginService:LoginService) {
    private loginService: LoginService) {
  }
  ngOnInit() {
    this.router.events
      .pipe(filter(evt => evt instanceof NavigationEnd))
      .subscribe(() => this.titleSrv.setTitle());
    this.router.events.pipe(
            filter(evt => evt instanceof NavigationEnd),
            map(() => this.router.url)
        )
        .subscribe(url => {
            this.titleSrv.setTitleByUrl(url);
        });
      filter(evt => evt instanceof NavigationStart)
    )
      .subscribe(() => {
        // 关闭静态蒙版弹窗
        if ($('.ant-modal-close').length > 0) {
          $('.ant-modal-close').click();
        }
        // 下拉按钮模拟点击
        if ($('.ant-select-open').length > 0) {
          $('.ant-select-open').click();
        }
        // 删除多余透明蒙版中元素
        const cdkOverlayContainer = $('.cdk-overlay-container');
        if (cdkOverlayContainer != null && cdkOverlayContainer.children().length > 2) {
          cdkOverlayContainer.children('div:first-child').next().nextAll().each(
            function (index, el) {
              if ($(el).hasClass('cdk-overlay-backdrop-showing')) {
                $(el).remove();
              } else {
                $(el).empty();
              }
            }
          );
        }
      });
  }
}