From 4583a3a765e18e2b98ab5f4f6d5c818614e00ade Mon Sep 17 00:00:00 2001 From: Francesco Torchia Date: Thu, 23 May 2024 02:43:58 +0200 Subject: [PATCH] Add copy to clipboard Signed-off-by: Francesco Torchia --- src/console/src/app/app.module.ts | 2 ++ .../admin-views/admin-views.component.html | 17 ++++++++++++++++- .../admin/admin-views/admin-views.component.ts | 12 ++++++++---- .../user/user-views/user-views.component.html | 2 +- src/console/src/assets/i18n/en.json | 4 +++- src/console/src/assets/i18n/it.json | 4 +++- 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/console/src/app/app.module.ts b/src/console/src/app/app.module.ts index 56b5160..6d4b55d 100644 --- a/src/console/src/app/app.module.ts +++ b/src/console/src/app/app.module.ts @@ -43,6 +43,7 @@ import { MatExpansionModule } from '@angular/material/expansion'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { UserViewsComponent } from './components/dashboard/user/user-views/user-views.component'; import { FileuploadComponent } from './components/widgets/fileupload.component'; +import { ClipboardModule } from '@angular/cdk/clipboard'; // Required during AOT compilation export function httpTranslateLoaderFactory(http: HttpClient) { @@ -92,6 +93,7 @@ export function httpTranslateLoaderFactory(http: HttpClient) { MatProgressSpinnerModule, MatTabsModule, MatTooltipModule, + ClipboardModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, diff --git a/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.html b/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.html index 1e49647..b4314c0 100644 --- a/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.html +++ b/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.html @@ -106,7 +106,7 @@ - + + + + diff --git a/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.ts b/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.ts index d43fa33..e2b50f2 100644 --- a/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.ts +++ b/src/console/src/app/components/dashboard/admin/admin-views/admin-views.component.ts @@ -42,7 +42,7 @@ export class AdminViewsComponent implements OnInit, OnDestroy { dataSource: MatTableDataSource = new MatTableDataSource(); displayedColumns = ['Id', 'Name', 'Email', 'Phone', 'Status']; - innerDisplayedColumns = ['Id', 'Path', 'VScodeSettings', 'GitAuth', 'Delete', 'GoTo']; + innerDisplayedColumns = ['Id', 'Path', 'VScodeSettings', 'GitAuth', 'Delete', 'CopyToClipboard', 'GoTo']; expandedElements: Record = {}; collapseDisabled = false; @@ -171,6 +171,12 @@ export class AdminViewsComponent implements OnInit, OnDestroy { } } + public getUrl(element: View) { + const url = `${environment.protocol}://${window.location.hostname}${element.Path}?${element.Query}`; + + return url; + } + public goToView(element: View) { this.cookieService.get('code-server-session'); this.cookieService.put('code-server-session', element.Session, { @@ -179,8 +185,6 @@ export class AdminViewsComponent implements OnInit, OnDestroy { storeUnencoded: true }); - const url = `${environment.protocol}://${window.location.hostname}${element.Path}?${element.Query}`; - - window.open(url, '_blank'); + window.open(this.getUrl(element), '_blank'); } } diff --git a/src/console/src/app/components/dashboard/user/user-views/user-views.component.html b/src/console/src/app/components/dashboard/user/user-views/user-views.component.html index 6a5c61b..a7b91a3 100644 --- a/src/console/src/app/components/dashboard/user/user-views/user-views.component.html +++ b/src/console/src/app/components/dashboard/user/user-views/user-views.component.html @@ -34,7 +34,7 @@ - +