zgo/src/app/prompt-invoice/prompt-invoice.component.ts

111 lines
3.5 KiB
TypeScript

import { Inject, Component, OnInit} from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';
import { NotifierService } from '../notifier.service';
import { faCopy } from '@fortawesome/free-solid-svg-icons';
import { LanguageService } from '../language.service';
import { LanguageData } from '../language.model';
var URLSafeBase64 = require('urlsafe-base64');
var Buffer = require('buffer/').Buffer;
@Component({
selector: 'app-prompt-invoice',
templateUrl: './prompt-invoice.component.html',
styleUrls: ['./prompt-invoice.component.css']
})
export class PromptInvoiceComponent implements OnInit {
orderId: string;
invoiceUrl: string;
// ------------------------------------
//
faCopy = faCopy;
// ------------------------------------
// -------------------------------------
// Language Support
//
vE = {
promptinvoiceSendLink : '',
promptinvoiceNotservClose : '',
promptinvoiceNotservError : '',
promptinvoiceNotservSuccess : '',
propmtinvoiceInvoiceClipboard : '',
promptinvoiceFuncNotavail : '',
promptinvoiceInvoiceUrl : '',
promptinvoiceInvoiceSent : '',
promptinvoiceInvoiceCancel : ''
}
//
constructor(
private languageService : LanguageService,
private dialogRef: MatDialogRef<PromptInvoiceComponent>,
@Inject(MAT_DIALOG_DATA) public data: {orderId: string},
private notifierService : NotifierService ) {
this.orderId = data.orderId;
this.invoiceUrl = 'https://app.zgo.cash/invoice/'+this.orderId;
}
ngOnInit(): void {
this.chgUILanguage();
}
confirm() {
this.dialogRef.close(true);
}
close() {
this.dialogRef.close(false);
}
copyUrl() {
// console.log("Inside copyUrl()");
if (navigator.clipboard) {
};
try {
navigator.clipboard.writeText(this.invoiceUrl);
this.notifierService
.showNotification(this.vE.propmtinvoiceInvoiceClipboard,
this.vE.promptinvoiceNotservClose,
'success',
this.vE.promptinvoiceNotservSuccess);
} catch (err) {
// console.error("Error", err);
this.notifierService
.showNotification(this.vE.promptinvoiceFuncNotavail,
this.vE.promptinvoiceNotservClose,
'error',
this.vE.promptinvoiceNotservError);
}
}
chgUILanguage(){
console.log('PROMPTINVOICE.chgUILanguage Called ');
this.languageService.getViewElements('promptinvoice').subscribe(
response => {
console.log('Received >> ', response );
console.log('Language Code : ', response.language);
console.log('Component Name : ',response.component);
console.log('Language data : ',response.data);
this.vE.promptinvoiceSendLink = response.data.promptinvoice_send_link;
this.vE.promptinvoiceNotservClose = response.data.promptinvoice_notserv_close;
this.vE.promptinvoiceNotservError = response.data.promptinvoice_notserv_error;
this.vE.promptinvoiceNotservSuccess = response.data.promptinvoice_notserv_success;
this.vE.propmtinvoiceInvoiceClipboard = response.data.promptinvoice_invoice_clipboard;
this.vE.promptinvoiceFuncNotavail = response.data.promptinvoice_func_notavail;
this.vE.promptinvoiceInvoiceUrl = response.data.promptinvoice_invoice_url;
this.vE.promptinvoiceInvoiceSent = response.data.promptinvoice_invoice_sent;
this.vE.promptinvoiceInvoiceCancel = response.data.promptinvoice_invoice_cancel;
},
error => { console.log('Error >> ',error); }
);
}
}