From e07f25000ddba1b510766966f2f8d0f3bfdb94aa Mon Sep 17 00:00:00 2001 From: Pavlo Tkach <3469726+ptkach@users.noreply.github.com> Date: Tue, 3 Oct 2023 15:51:48 -0400 Subject: [PATCH] Add console registrars paging, fix empty registrars mobile (#2162) --- .../src/app/header/header.component.html | 28 +++++++++++-------- .../src/app/header/header.component.scss | 15 ++++++++++ .../src/app/header/header.component.ts | 4 +++ .../src/app/home/home.component.scss | 5 ++++ .../registrar/emptyRegistrar.component.scss | 1 + .../registrar-selector.component.html | 13 +++++++-- .../registrar/registrar-selector.component.ts | 27 ++++++++++++++++-- .../registrar/registrarsTable.component.html | 19 ++++++------- .../registrar/registrarsTable.component.scss | 22 +++++++++++++++ .../registrar/registrarsTable.component.ts | 22 +++++++++++++-- .../contact/contact-details.component.html | 16 +++++------ .../app/shared/services/backend.service.ts | 2 +- console-webapp/src/styles.scss | 3 +- 13 files changed, 139 insertions(+), 38 deletions(-) diff --git a/console-webapp/src/app/header/header.component.html b/console-webapp/src/app/header/header.component.html index 28468afa1..502c2caee 100644 --- a/console-webapp/src/app/header/header.component.html +++ b/console-webapp/src/app/header/header.component.html @@ -1,24 +1,30 @@ -

+

- - - + - + + +

diff --git a/console-webapp/src/app/header/header.component.scss b/console-webapp/src/app/header/header.component.scss index 5cd600f51..d9453fe79 100644 --- a/console-webapp/src/app/header/header.component.scss +++ b/console-webapp/src/app/header/header.component.scss @@ -17,6 +17,21 @@ color: inherit; text-decoration: none; } + &__header { + @media (max-width: 599px) { + .mat-toolbar { + padding: 0; + } + .console-app__logo { + font-size: 16px; + } + button { + padding-left: 0; + padding-right: 0; + width: 30px; + } + } + } } .spacer { flex: 1; diff --git a/console-webapp/src/app/header/header.component.ts b/console-webapp/src/app/header/header.component.ts index 01258b105..3be0014c2 100644 --- a/console-webapp/src/app/header/header.component.ts +++ b/console-webapp/src/app/header/header.component.ts @@ -28,4 +28,8 @@ export class HeaderComponent { this.isNavOpen = !this.isNavOpen; this.toggleNavOpen.emit(this.isNavOpen); } + + logOut() { + window.open('/console?gcp-iap-mode=CLEAR_LOGIN_COOKIE', '_self'); + } } diff --git a/console-webapp/src/app/home/home.component.scss b/console-webapp/src/app/home/home.component.scss index 969e2998d..f591fdf0f 100644 --- a/console-webapp/src/app/home/home.component.scss +++ b/console-webapp/src/app/home/home.component.scss @@ -29,4 +29,9 @@ } } } + @media (max-width: 510px) { + .console-app__widget-wrapper__wide { + grid-column: initial; + } + } } diff --git a/console-webapp/src/app/registrar/emptyRegistrar.component.scss b/console-webapp/src/app/registrar/emptyRegistrar.component.scss index 78c485465..b1bb8fdae 100644 --- a/console-webapp/src/app/registrar/emptyRegistrar.component.scss +++ b/console-webapp/src/app/registrar/emptyRegistrar.component.scss @@ -8,6 +8,7 @@ left: 50%; top: 50%; transform: translate(-50%, -50%); + white-space: nowrap; &-icon { transform: scale(3); diff --git a/console-webapp/src/app/registrar/registrar-selector.component.html b/console-webapp/src/app/registrar/registrar-selector.component.html index 6a16810b4..bf8241fa5 100644 --- a/console-webapp/src/app/registrar/registrar-selector.component.html +++ b/console-webapp/src/app/registrar/registrar-selector.component.html @@ -1,5 +1,14 @@
-
+ + Registrar -
+
diff --git a/console-webapp/src/app/registrar/registrar-selector.component.ts b/console-webapp/src/app/registrar/registrar-selector.component.ts index 7fae4bcd0..e743fbd72 100644 --- a/console-webapp/src/app/registrar/registrar-selector.component.ts +++ b/console-webapp/src/app/registrar/registrar-selector.component.ts @@ -12,14 +12,35 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Component } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; import { RegistrarService } from './registrar.service'; +import { BreakpointObserver } from '@angular/cdk/layout'; +import { distinctUntilChanged } from 'rxjs'; + +const MOBILE_LAYOUT_BREAKPOINT = '(max-width: 599px)'; @Component({ selector: 'app-registrar-selector', templateUrl: './registrar-selector.component.html', styleUrls: ['./registrar-selector.component.scss'], }) -export class RegistrarSelectorComponent { - constructor(protected registrarService: RegistrarService) {} +export class RegistrarSelectorComponent implements OnInit { + protected isMobile: boolean = false; + + readonly breakpoint$ = this.breakpointObserver + .observe([MOBILE_LAYOUT_BREAKPOINT]) + .pipe(distinctUntilChanged()); + + constructor( + protected registrarService: RegistrarService, + protected breakpointObserver: BreakpointObserver + ) {} + + ngOnInit(): void { + this.breakpoint$.subscribe(() => this.breakpointChanged()); + } + + private breakpointChanged() { + this.isMobile = this.breakpointObserver.isMatched(MOBILE_LAYOUT_BREAKPOINT); + } } diff --git a/console-webapp/src/app/registrar/registrarsTable.component.html b/console-webapp/src/app/registrar/registrarsTable.component.html index a84f98667..fcc760d7a 100644 --- a/console-webapp/src/app/registrar/registrarsTable.component.html +++ b/console-webapp/src/app/registrar/registrarsTable.component.html @@ -1,22 +1,21 @@
- - - + {{ column.header }} + + + + - - -
- {{ column.header }} -
; columns = [ { columnDef: 'registrarId', @@ -72,5 +77,18 @@ export class RegistrarComponent { }, ]; displayedColumns = this.columns.map((c) => c.columnDef); - constructor(protected registrarService: RegistrarService) {} + + @ViewChild(MatPaginator) paginator!: MatPaginator; + @ViewChild(MatSort) sort!: MatSort; + + constructor(protected registrarService: RegistrarService) { + this.dataSource = new MatTableDataSource( + registrarService.registrars + ); + } + + ngAfterViewInit() { + this.dataSource.paginator = this.paginator; + this.dataSource.sort = this.sort; + } } diff --git a/console-webapp/src/app/settings/contact/contact-details.component.html b/console-webapp/src/app/settings/contact/contact-details.component.html index c83438f27..b0ee9912d 100644 --- a/console-webapp/src/app/settings/contact/contact-details.component.html +++ b/console-webapp/src/app/settings/contact/contact-details.component.html @@ -1,7 +1,7 @@

Contact details

-
+

Name: -

+

-
+

Primary account email: -

+

-
+

Phone: -

+

-
+

Fax: -

+

diff --git a/console-webapp/src/app/shared/services/backend.service.ts b/console-webapp/src/app/shared/services/backend.service.ts index 38cc8aa6d..09af8da2c 100644 --- a/console-webapp/src/app/shared/services/backend.service.ts +++ b/console-webapp/src/app/shared/services/backend.service.ts @@ -95,7 +95,7 @@ export class BackendService { getUserData(): Observable { return this.http - .get(`/console-api/userdata`) + .get('/console-api/userdata') .pipe(catchError((err) => this.errorCatcher(err))); } diff --git a/console-webapp/src/styles.scss b/console-webapp/src/styles.scss index 2220a284d..2d85f950c 100644 --- a/console-webapp/src/styles.scss +++ b/console-webapp/src/styles.scss @@ -44,11 +44,12 @@ body { &-link { padding: 0 !important; text-align: left; - height: 20px !important; min-width: auto !important; + height: min-content !important; } &-title { color: var(--primary) !important; + text-align: center; } &-icon { font-size: 5rem;