From b8d416afe13a679a6ec8ba132b1b71bc281cfbe8 Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 14 Jun 2023 09:57:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20account=20selec?= =?UTF-8?q?t=20=E6=90=9C=E7=B4=A2=E5=90=8E=E6=97=A0=E6=B3=95=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../select-account.component.ts | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/src/app/elements/connect/connect-dialog/select-account/select-account.component.ts b/src/app/elements/connect/connect-dialog/select-account/select-account.component.ts index b7ab91b0..6120dc9a 100644 --- a/src/app/elements/connect/connect-dialog/select-account/select-account.component.ts +++ b/src/app/elements/connect/connect-dialog/select-account/select-account.component.ts @@ -1,8 +1,8 @@ import {ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core'; -import {Account, AccountGroup, AuthInfo, Asset} from '@app/model'; +import {Account, AccountGroup, Asset, AuthInfo} from '@app/model'; import {BehaviorSubject, ReplaySubject, Subject} from 'rxjs'; import {FormControl, Validators} from '@angular/forms'; -import {AppService, LocalStorageService, LogService, SettingService, I18nService} from '@app/services'; +import {AppService, I18nService, LocalStorageService, LogService, SettingService} from '@app/services'; import {takeUntil} from 'rxjs/operators'; @Component({ @@ -28,14 +28,12 @@ export class ElementSelectAccountComponent implements OnInit, OnDestroy { filteredOptions: AuthInfo[]; accountManualAuthInit = false; usernamePlaceholder: string = 'Username'; - - protected _onDestroy = new Subject(); public accountSelected: Account; public groupedAccounts: AccountGroup[]; public accountCtl: FormControl = new FormControl(); public accountFilterCtl: FormControl = new FormControl(); public filteredUsersGroups: ReplaySubject = new ReplaySubject(1); - public compareFn = (f1, f2) => f1 && f2 && f1.id === f2.id; + protected _onDestroy = new Subject(); constructor(private _logger: LogService, private _appSvc: AppService, @@ -43,14 +41,17 @@ export class ElementSelectAccountComponent implements OnInit, OnDestroy { private _settingSvc: SettingService, private _cdRef: ChangeDetectorRef, private _localStorage: LocalStorageService - ) {} + ) { + } get noSecretAccounts() { return this.accounts .filter((item) => !item.has_secret) .sort((a, b) => { const eq = +a.username.startsWith('@') - +b.username.startsWith('@'); - if (eq !== 0) { return eq; } + if (eq !== 0) { + return eq; + } if (a.name === 'root') { return -1; } @@ -66,6 +67,8 @@ export class ElementSelectAccountComponent implements OnInit, OnDestroy { }); } + public compareFn = (f1, f2) => f1 && f2 && f1.alias === f2.alias; + ngOnInit() { this.groupedAccounts = this.groupAccounts(); this.filteredUsersGroups.next(this.groupedAccounts.slice()); @@ -155,31 +158,18 @@ export class ElementSelectAccountComponent implements OnInit, OnDestroy { if (!search) { this.filteredUsersGroups.next(this.groupedAccounts.slice()); return; - } else { - search = search.toLowerCase(); } - this.filteredUsersGroups.next( - accountsGroupsCopy.filter(group => { - const showGroup = group.name.toLowerCase().indexOf(search) > -1; - if (!showGroup) { - group.accounts = group.accounts.filter(account => { - return account.name.toLowerCase().indexOf(search) > -1; - }); - } - return group.accounts.length > 0; - }) - ); - } - - protected copyGroupedAccounts(groups) { - const accountsCopy = []; - groups.forEach(group => { - accountsCopy.push({ - name: group.name, - accounts: group.accounts.slice() - }); + search = search.toLowerCase(); + const filteredGroups = accountsGroupsCopy.filter(group => { + const showGroup = group.name.toLowerCase().indexOf(search) > -1; + if (!showGroup) { + group.accounts = group.accounts.filter(account => { + return account.name.toLowerCase().indexOf(search) > -1; + }); + } + return group.accounts.length > 0; }); - return accountsCopy; + this.filteredUsersGroups.next(filteredGroups); } setUsernamePlaceholder() { @@ -238,4 +228,15 @@ export class ElementSelectAccountComponent implements OnInit, OnDestroy { getSavedAuthInfos() { this.localAuthItems = this._appSvc.getAccountLocalAuth(this.asset.id); } + + protected copyGroupedAccounts(groups) { + const accountsCopy = []; + groups.forEach(group => { + accountsCopy.push({ + name: group.name, + accounts: group.accounts.slice() + }); + }); + return accountsCopy; + } } From 308e2c77791bafe98ce72665f595c91a74b3f16f Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 14 Jun 2023 10:13:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=20=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../connect-dialog.component.html | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/app/elements/connect/connect-dialog/connect-dialog.component.html b/src/app/elements/connect/connect-dialog/connect-dialog.component.html index 82d58a69..06df663a 100644 --- a/src/app/elements/connect/connect-dialog/connect-dialog.component.html +++ b/src/app/elements/connect/connect-dialog/connect-dialog.component.html @@ -1,62 +1,62 @@

{{"Connect" | translate}} - {{ asset.name | truncatechars:30 }}

-
- -
+
- + {{ "Automatic login next" | translate }}
-