111 lines
3.5 KiB
TypeScript
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); }
|
|
);
|
|
}
|
|
|
|
|
|
}
|