Browse Source

add copy to clipboard action

pull/3768/head
Shaunak Das 12 months ago
parent
commit
a91870aced
  1. 5
      apps/client/src/app/components/access-table/access-table.component.html
  2. 10
      apps/client/src/app/components/access-table/access-table.component.ts
  3. 2
      apps/client/src/app/components/access-table/access-table.module.ts

5
apps/client/src/app/components/access-table/access-table.component.html

@ -58,6 +58,11 @@
<ion-icon name="ellipsis-horizontal" /> <ion-icon name="ellipsis-horizontal" />
</button> </button>
<mat-menu #transactionMenu="matMenu" xPosition="before"> <mat-menu #transactionMenu="matMenu" xPosition="before">
@if (element.type === 'PUBLIC') {
<button mat-menu-item (click)="copyToClipBoard(element.id)">
<ng-container i18n>Copy to clipboard</ng-container>
</button>
}
<button mat-menu-item (click)="onDeleteAccess(element.id)"> <button mat-menu-item (click)="onDeleteAccess(element.id)">
<ng-container i18n>Revoke</ng-container> <ng-container i18n>Revoke</ng-container>
</button> </button>

10
apps/client/src/app/components/access-table/access-table.component.ts

@ -3,6 +3,7 @@ import { NotificationService } from '@ghostfolio/client/core/notification/notifi
import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config'; import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config';
import { Access } from '@ghostfolio/common/interfaces'; import { Access } from '@ghostfolio/common/interfaces';
import { Clipboard } from '@angular/cdk/clipboard';
import { import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
@ -31,7 +32,10 @@ export class AccessTableComponent implements OnChanges, OnInit {
public defaultLanguageCode = DEFAULT_LANGUAGE_CODE; public defaultLanguageCode = DEFAULT_LANGUAGE_CODE;
public displayedColumns = []; public displayedColumns = [];
public constructor(private notificationService: NotificationService) {} public constructor(
private clipboard: Clipboard,
private notificationService: NotificationService
) {}
public ngOnInit() {} public ngOnInit() {}
@ -47,6 +51,10 @@ export class AccessTableComponent implements OnChanges, OnInit {
} }
} }
public copyToClipBoard(aId: string): void {
this.clipboard.copy(`${this.baseUrl}/${this.defaultLanguageCode}/p/${aId}`);
}
public onDeleteAccess(aId: string) { public onDeleteAccess(aId: string) {
this.notificationService.confirm({ this.notificationService.confirm({
confirmFn: () => { confirmFn: () => {

2
apps/client/src/app/components/access-table/access-table.module.ts

@ -1,3 +1,4 @@
import { ClipboardModule } from '@angular/cdk/clipboard';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@ -11,6 +12,7 @@ import { AccessTableComponent } from './access-table.component';
declarations: [AccessTableComponent], declarations: [AccessTableComponent],
exports: [AccessTableComponent], exports: [AccessTableComponent],
imports: [ imports: [
ClipboardModule,
CommonModule, CommonModule,
MatButtonModule, MatButtonModule,
MatMenuModule, MatMenuModule,

Loading…
Cancel
Save