35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
import { AbstractControl, FormControl } from '@angular/forms';
|
|
import { NipService } from 'src/app/service/nip.service';
|
|
import { ClipboardService } from 'src/app/service/gui/clipboard.service';
|
|
|
|
@Component({
|
|
selector: 'app-nip',
|
|
templateUrl: './nip.component.html',
|
|
styleUrls: ['./nip.component.scss']
|
|
})
|
|
export class NipComponent implements OnInit {
|
|
public valueField: FormControl;
|
|
|
|
constructor(private nipService: NipService, private clipboardService: ClipboardService) {
|
|
this.valueField = new FormControl('nip');
|
|
this.valueField.setValidators([(control: AbstractControl) => this.nipService.validateNip(control.value)]);
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
this.generate();
|
|
}
|
|
|
|
generate(): void {
|
|
this.valueField.setValue(this.nipService.generateNip());
|
|
}
|
|
|
|
copyToClipboard(): void {
|
|
this.clipboardService.copyToClipboard(this.valueField.value);
|
|
}
|
|
|
|
navigateToDocs(): void {
|
|
window.open('https://pl.wikipedia.org/wiki/Numer_identyfikacji_podatkowej', "_blank");
|
|
}
|
|
}
|