import { Component, OnInit, OnDestroy,ElementRef, ViewChild} from "@angular/core"; let jsPDF = require('jspdf'); import { Injectable } from "@angular/core"; import { AppSettings } from '../../app.settings'; import { HelperDataService } from '../../services/helper-data-service'; import {Observable} from "rxjs/Observable"; import {IStudentDataFields, IStudentDataField} from '../../store/studentdatafields'; import {Http, Headers, RequestOptions} from '@angular/http'; import {Removetags} from '../../pipes/removehtmltags'; import { NgRedux, select } from 'ng2-redux'; import { IAppState } from '../../store/store'; import { ILoginInfo } from '../../store/logininfo/logininfo.types'; import {Router, ActivatedRoute, Params} from '@angular/router'; import { BehaviorSubject, Subscription } from 'rxjs/Rx'; import * as html2canvas from "html2canvas" @Component({ selector: 'submited-preview', template: `
Έχει υποβληθεί αίτηση για εγγραφή στην Επαγγελματική Εκπαίδευση των παρακάτω ατόμων:
` }) @Injectable() export default class SubmitedPreview implements OnInit , OnDestroy{ private SubmitedApplic$: BehaviorSubject; private SubmitedUsersSub: Subscription; private SubmitedDetails$: BehaviorSubject; private SubmitedDetailsSub: Subscription; private EpalChosen$: BehaviorSubject; private EpalChosenSub: Subscription; private incomeChosen$: BehaviorSubject; private incomeChosenSub: Subscription; private CritirioChosen$: BehaviorSubject; private CritirioChosenSub: Subscription; private showLoader$: BehaviorSubject; public StudentId; private userActive = -1; @ViewChild('target') element: ElementRef; constructor(private _hds: HelperDataService, private activatedRoute: ActivatedRoute, private router: Router , ) { this.SubmitedApplic$ = new BehaviorSubject([{}]); this.SubmitedDetails$ = new BehaviorSubject([{}]); this.EpalChosen$ = new BehaviorSubject([{}]); this.CritirioChosen$ = new BehaviorSubject([{}]); this.incomeChosen$ = new BehaviorSubject([{}]); this.showLoader$ = new BehaviorSubject(false); } ngOnDestroy() { if (this.SubmitedUsersSub) this.SubmitedUsersSub.unsubscribe(); if (this.SubmitedDetailsSub) this.SubmitedDetailsSub.unsubscribe(); if (this.EpalChosenSub) this.EpalChosenSub.unsubscribe(); if (this.CritirioChosenSub) this.CritirioChosenSub.unsubscribe(); if (this.incomeChosenSub) this.incomeChosenSub.unsubscribe(); this.SubmitedDetails$.unsubscribe(); this.EpalChosen$.unsubscribe(); this.SubmitedApplic$.unsubscribe(); } ngOnInit() { this.showLoader$.next(true); this.SubmitedUsersSub = this._hds.getSubmittedPreviw().subscribe( data => { this.SubmitedApplic$.next(data); this.showLoader$.next(false); }, error => { this.SubmitedApplic$.next([{}]); this.showLoader$.next(false); console.log("Error Getting Schools"); }, () => { console.log("Getting Schools") this.showLoader$.next(false); }); } setActiveUser(ind,i) { ind = +ind; console.log(this.userActive,"RA",ind); if (ind === this.userActive){ ind = -1; } ind--; this.userActive = ind+1 ; this.showLoader$.next(true); this.SubmitedDetailsSub = this._hds.getStudentDetails(this.userActive+1).subscribe(data => { this.SubmitedDetails$.next(data); this.showLoader$.next(false); }, error => { this.SubmitedDetails$.next([{}]); console.log("Error Getting Schools"); this.showLoader$.next(false); }, () => { console.log("Getting Schools"); this.showLoader$.next(false); }); this.EpalChosenSub = this._hds.getEpalchosen(this.userActive+1).subscribe(data => { this.EpalChosen$.next(data)}, error => { this.EpalChosen$.next([{}]); console.log("Error Getting Schools"); }, () => console.log("Getting Schools")); this.CritirioChosenSub = this._hds.getCritiria(this.userActive+1, 1).subscribe(data => { this.CritirioChosen$.next(data)}, error => { this.CritirioChosen$.next([{}]); console.log("Error Getting Schools"); }, () => console.log("Getting Schools")); this.incomeChosenSub = this._hds.getCritiria(this.userActive+1, 2).subscribe(data => { this.incomeChosen$.next(data)}, error => { this.incomeChosen$.next([{}]); console.log("Error Getting Schools"); }, () => console.log("Getting Schools")); } createPdf1() { html2canvas(document.getElementById("target")).then(function(canvas) { var img=new Image(); img.src=canvas.toDataURL(); img.onload=function(){ console.log(img,"img"); var doc = new jsPDF(); console.log(img, doc, "ok"); doc.addImage(img, 'PNG',0, 0, 210, 297); console.log(img, doc, "ok2"); doc.save('applications.pdf'); } }, function(error){ console.log("i fail"); }); } createPdf() { html2canvas(document.getElementById("target"), { onrendered: function(canvas: HTMLCanvasElement) { var img = canvas.toDataURL(); var doc = new jsPDF(); console.log("mphkaneo"); setTimeout(function(){ }, 100000); doc.addImage(img, 'PNG',0, 0, 1000, 1000); console.log("mphkaneoneo"); doc.save('applications.pdf'); } }); } }