diff --git a/src/app/components/project-map/project-map-menu/project-map-menu.component.ts b/src/app/components/project-map/project-map-menu/project-map-menu.component.ts index bb2fdeae..3cdeb283 100644 --- a/src/app/components/project-map/project-map-menu/project-map-menu.component.ts +++ b/src/app/components/project-map/project-map-menu/project-map-menu.component.ts @@ -8,6 +8,7 @@ import { SymbolsDataSource } from '../../../cartography/datasources/symbols-data import * as svg from 'save-svg-as-png'; import { MapSymbolsDataSource } from '../../../cartography/datasources/map-datasource'; import { SymbolService } from '../../../services/symbol.service'; +import { Observable } from 'rxjs'; @Component({ @@ -39,260 +40,27 @@ export class ProjectMapMenuComponent implements OnInit, OnDestroy { ngOnInit() {} - public takeScreenshot() { + public async takeScreenshot() { let splittedSvg = document.getElementsByTagName("svg")[0].outerHTML.split('image'); let i = 1; - let test = ''; + while (i < splittedSvg.length) { - let splittedImage = splittedSvg[i].split("\""); - let splittedUrl = splittedImage[1].split("/"); + var splittedImage = splittedSvg[i].split("\""); + var splittedUrl = splittedImage[1].split("/"); - this.symbolService.raw(this.server, splittedUrl[7]).subscribe((elem: string) => { - let splittedElement = elem.split('-->'); - splittedSvg[i] = splittedElement[1]; + let elem = await this.symbolService.raw(this.server, splittedUrl[7]).toPromise(); - test = splittedElement[1]; - console.log(test); - }); + let splittedElement = elem.split('-->'); + splittedSvg[i] = splittedElement[1].substring(2); i += 2; } let svgString = splittedSvg.join(); - svgString = test; - - // var parser = new DOMParser(); - // var doc = parser.parseFromString(document.getElementsByTagName("svg")[0].outerHTML, "text/html"); var placeholder = document.createElement('div'); - placeholder.innerHTML = ` - - - - - image/svg+xml - - Switch - - - Jeremy Grossmann - - - - - GNS-3 - - - Created for the GNS-3 project (www.gns3.net) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - `; + placeholder.innerHTML = svgString; var element = placeholder.firstChild; + svg.saveSvgAsPng(element, "plot.png"); }