Skip to content

Commit

Permalink
Merge pull request #832 from jumpserver/pr@dev@perf_circle_import
Browse files Browse the repository at this point in the history
perf: 解决循环引用
  • Loading branch information
ibuler committed Jun 5, 2023
2 parents 5c125ad + d284462 commit a3d549a
Show file tree
Hide file tree
Showing 12 changed files with 48 additions and 46 deletions.
10 changes: 5 additions & 5 deletions src/app/app.module.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
import {InfiniteScrollModule} from 'ngx-infinite-scroll';
import {FormsModule, ReactiveFormsModule} from '@angular/forms'; // <-- NgModel lives here
import {NGXLogger} from 'ngx-logger';
import {CookieService} from 'ngx-cookie-service';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {ToastrModule} from 'ngx-toastr';
import {MAT_LABEL_GLOBAL_OPTIONS} from '@angular/material';
import {HttpClient, HttpClientModule} from '@angular/common/http';
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';

// service
Expand All @@ -29,10 +29,10 @@ import {ChangLanWarningDialogComponent} from './elements/nav/nav.component';
import {ElementSettingComponent} from '@app/elements/setting/setting.component';
import {ElementConnectDialogComponent} from './elements/connect/connect-dialog/connect-dialog.component';
import {ElementDownloadDialogComponent} from './elements/connect/download-dialog/download-dialog.component';
import {ElementACLDialogComponent} from './elements/connect/acl-dialog/acl-dialog.component';
import {ElementDialogAlertComponent} from './elements/dialog/dialog.service';
import {ElementACLDialogComponent} from '@app/services/connect-token/acl-dialog/acl-dialog.component';
import {ElementDialogAlertComponent} from '@app/services/dialog/dialog.service';
import {ClipboardService} from 'ngx-clipboard';
import { ElementsReplayMp4Component } from './elements/replay/mp4/mp4.component';
import {ElementsReplayMp4Component} from './elements/replay/mp4/mp4.component';

export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, '/luna/assets/i18n/');
Expand Down
22 changes: 11 additions & 11 deletions src/app/elements/connect/connect.component.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import {Component, OnInit, Output, OnDestroy, EventEmitter} from '@angular/core';
import {Component, EventEmitter, OnDestroy, OnInit, Output} from '@angular/core';
import 'rxjs/add/operator/toPromise';
import {connectEvt} from '@app/globals';
import {MatDialog} from '@angular/material';
import {AppService, HttpService, LogService, SettingService, DialogService, I18nService, ConnectTokenService} from '@app/services';
import {Account, ConnectData, Asset, ConnectionToken, View, K8sInfo} from '@app/model';
import {AppService, ConnectTokenService, DialogService, HttpService, I18nService, LogService, SettingService} from '@app/services';
import {Account, Asset, ConnectData, ConnectionToken, K8sInfo, View} from '@app/model';
import {ElementConnectDialogComponent} from './connect-dialog/connect-dialog.component';
import {ElementDownloadDialogComponent} from './download-dialog/download-dialog.component';
import {launchLocalApp} from '@app/utils/common';
Expand Down Expand Up @@ -202,13 +202,13 @@ export class ElementConnectComponent implements OnInit, OnDestroy {
const url = response['url'];
launchLocalApp(url, () => {
const downLoadStatus = localStorage.getItem('hasDownLoadApp');
if (downLoadStatus !== '1') {
this._dialog.open(ElementDownloadDialogComponent, {
height: 'auto',
width: '800px',
disableClose: true
});
}
if (downLoadStatus !== '1') {
this._dialog.open(ElementDownloadDialogComponent, {
height: 'auto',
width: '800px',
disableClose: true
});
}
});
}

Expand Down Expand Up @@ -276,7 +276,7 @@ export class ElementConnectComponent implements OnInit, OnDestroy {
});

return new Promise<ConnectData>(resolve => {
dialogRef.afterClosed().subscribe(outputData => {
dialogRef.afterClosed().subscribe(outputData => {
resolve(outputData);
});
});
Expand Down
8 changes: 4 additions & 4 deletions src/app/elements/elements.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import {ElementLeftBarComponent} from './left-bar/left-bar.component';
import {ElementContentComponent} from './content/content.component';
import {ElementContentWindowComponent} from './content/content-window/content-window.component';
import {ElementContentTabComponent} from './content/content-tab/content-tab.component';
import {ElementAssetTreeComponent, DisabledAssetsDialogComponent} from './asset-tree/asset-tree.component';
import {DisabledAssetsDialogComponent, ElementAssetTreeComponent} from './asset-tree/asset-tree.component';
import {ElementTreeFilterComponent} from './tree-filter/tree-filter.component';
import {ElementOrganizationComponent} from './organization/organization.component';
import {ElementUserFileComponent} from './profile/profile.component';
import {ElementTermComponent} from './term/term.component';
import {ChangLanWarningDialogComponent, ElementNavComponent} from './nav/nav.component';
import {ElementIframeComponent} from './iframe/iframe.component';
import {ElementDialogAlertComponent} from './dialog/dialog.service';
import {ElementDialogAlertComponent} from '@app/services/dialog/dialog.service';
import {ElementConnectComponent} from './connect/connect.component';
import {ElementConnectDialogComponent} from './connect/connect-dialog/connect-dialog.component';
import {ElementSettingComponent} from './setting/setting.component';
Expand All @@ -25,8 +25,8 @@ import {ElementReplayAsciicastComponent} from '@app/elements/replay/asciicast/as
import {ElementAdvancedOptionComponent} from './connect/connect-dialog/advanced-option/advanced-option.component';
import {ElementConnectMethodComponent} from './connect/connect-dialog/connect-method/connect-method.component';
import {ElementDownloadDialogComponent} from './connect/download-dialog/download-dialog.component';
import {ElementACLDialogComponent} from './connect/acl-dialog/acl-dialog.component';
import { ElementsReplayMp4Component } from './replay/mp4/mp4.component';
import {ElementACLDialogComponent} from '@app/services/connect-token/acl-dialog/acl-dialog.component';
import {ElementsReplayMp4Component} from './replay/mp4/mp4.component';


export const ElementComponents = [
Expand Down
19 changes: 9 additions & 10 deletions src/app/elements/iframe/iframe.component.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import {Component, Input, OnInit, AfterViewInit, ViewChild, ElementRef, Output, EventEmitter, OnDestroy} from '@angular/core';
import {ConnectionToken, View} from '@app/model';
import {HttpService, I18nService, LogService, ConnectTokenService} from '@app/services';
import {AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';
import {View} from '@app/model';
import {ConnectTokenService, HttpService, I18nService, LogService} from '@app/services';
import {MatDialog} from '@angular/material';
import {environment} from '@src/environments/environment';
import {ElementACLDialogComponent} from '@app/elements/connect/acl-dialog/acl-dialog.component';

@Component({
selector: 'elements-iframe',
Expand Down Expand Up @@ -93,18 +92,18 @@ export class ElementIframeComponent implements OnInit, AfterViewInit, OnDestroy

sendCommand(data) {
this._logger.info(`[Luna] Send CMD to: ${this.id}`);
this.iframeWindow.postMessage({name: 'CMD', data: data.data}, '*' );
this.iframeWindow.postMessage({name: 'CMD', data: data.data}, '*');
}

async reconnect() {
const oldConnectToken = this.view.connectToken
const newConnectToken = await this._connectTokenSvc.exchange(oldConnectToken)
const oldConnectToken = this.view.connectToken;
const newConnectToken = await this._connectTokenSvc.exchange(oldConnectToken);
if (!newConnectToken) {
return
return;
}
// 更新当前 view 的 connectToken
this.view.connectToken = newConnectToken
const url = this.src.replace(oldConnectToken.id, newConnectToken.id)
this.view.connectToken = newConnectToken;
const url = this.src.replace(oldConnectToken.id, newConnectToken.id);
this.src = 'about:blank';
setTimeout(() => {
this.src = url;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import {Component, Inject, OnInit} from '@angular/core';
import {Asset, ConnectData, ConnectionToken} from '@app/model';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material';
import {HttpService, I18nService} from '@app/services';
import {I18nService} from '@app/services/i18n';
import {HttpService} from '@app/services/http';
import {ToastrService} from 'ngx-toastr';
import {HttpErrorResponse} from '@angular/common/http';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {Injectable} from '@angular/core';
import {Asset, ConnectData, ConnectionToken} from '@app/model';
import {ElementACLDialogComponent} from '@app/elements/connect/acl-dialog/acl-dialog.component';
import {HttpService} from '@app/services/http';
import {MatDialog} from '@angular/material';
import {ElementACLDialogComponent} from './acl-dialog/acl-dialog.component';

@Injectable()
export class ConnectTokenService {
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import {Component, Inject, Injectable} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material';
import {I18nService, LogService} from '@app/services';
import {I18nService} from '../i18n';
import {LogService} from '../share';


@Component({
Expand Down Expand Up @@ -45,9 +46,9 @@ export class DialogService {
loading() {
}

async alert(msg: string, title: string='') {
async alert(msg: string, title: string = '') {
if (!title) {
title = await this._i18n.t('Tips')
title = await this._i18n.t('Tips');
}
this._dialog.open(ElementDialogAlertComponent, {
height: 'auto',
Expand Down
23 changes: 12 additions & 11 deletions src/app/services/index.ts
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
import {LogService, LocalStorageService, UUIDService} from './share';
import {LocalStorageService, LogService, UUIDService} from './share';
import {AppService} from './app';
import {HttpService} from './http';
import {NavService} from './nav';
import {TreeFilterService} from './treeFilter';
import {SettingService} from './setting';
import {ViewService} from './view';
import {OrganizationService} from './organization';
import {I18nService} from './i18n';
import {DialogService} from './dialog/dialog.service';
import {ConnectTokenService} from './connect-token/';

export {LogService, LocalStorageService, UUIDService} from './share';

import {AppService} from './app';
export {AppService} from './app';

import {HttpService} from './http';
export {HttpService} from './http';

import {NavService} from './nav';
export {NavService} from './nav';

import {TreeFilterService} from './treeFilter';
export {TreeFilterService} from './treeFilter';

import {SettingService} from './setting';
export {SettingService} from './setting';

import {ViewService} from './view';
export {ViewService} from './view';

import {OrganizationService} from './organization';
export {OrganizationService} from './organization';

import {I18nService} from './i18n';
export {I18nService};

import {DialogService} from '@app/elements/dialog/dialog.service';
export {DialogService};

import {ConnectTokenService} from '@app/services/connect-token';
export {ConnectTokenService};


Expand Down

0 comments on commit a3d549a

Please sign in to comment.