Files
FarmMapsLib/projects/common/src/fm/components/item-link/item-link.component.ts
Willem Dantuma ccf77805a0
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
AW-5495
2023-09-11 21:59:34 +02:00

45 lines
1.2 KiB
TypeScript

import { Component, Input, OnDestroy} from '@angular/core';
import { IItemLinkType} from '../../models/itemlink.type'
import { IUrlType } from '../../models/url.type';
import { ItemService } from '../../common-service.module';
import { Subscription } from 'rxjs';
import { ClipboardService } from 'ngx-clipboard'
@Component({
selector: 'fm-item-link',
templateUrl: './item-link.component.html'
})
export class ItemLinkComponent implements OnDestroy {
@Input() itemCode:string;
@Input() pathSuffix:string;
@Input() query:string;
@Input() validMinutes:number;
@Input() showText:boolean;
private sub : Subscription = null;
constructor(private itemService:ItemService,private clipboardService$: ClipboardService) { }
copylink(tooltip) {
if(this.sub) {
this.sub.unsubscribe();
}
let link: IItemLinkType = {itemcode:this.itemCode,pathsuffix:this.pathSuffix,query:this.query,validminutes:this.validMinutes}
this.sub = this.itemService.getItemLink(link).subscribe((url:IUrlType) => {
this.clipboardService$.copy(url.url);
tooltip.open();
setTimeout(() => {
tooltip.close();
}, 2000);
})
}
ngOnDestroy(): void {
if(this.sub) {
this.sub.unsubscribe();
}
}
}