forked from MapComplete/MapComplete
		
	Fix: Expose all templates
This commit is contained in:
		
							parent
							
								
									de20b00b8f
								
							
						
					
					
						commit
						09a3e7fba1
					
				
					 8 changed files with 187 additions and 154 deletions
				
			
		|  | @ -7,13 +7,8 @@ | |||
|     import DownloadButton from "./DownloadButton.svelte"; | ||||
|     import {GeoOperations} from "../../Logic/GeoOperations"; | ||||
|     import {SvgToPdf} from "../../Utils/svgToPdf"; | ||||
|     import Locale from "../i18n/Locale"; | ||||
|     import ThemeViewState from "../../Models/ThemeViewState"; | ||||
|     import {Utils} from "../../Utils"; | ||||
|     import Constants from "../../Models/Constants"; | ||||
|     import {Translation} from "../i18n/Translation"; | ||||
|     import {AvailableRasterLayers} from "../../Models/RasterLayers"; | ||||
|     import {UIEventSource} from "../../Logic/UIEventSource"; | ||||
|     import DownloadPdf from "./DownloadPdf.svelte"; | ||||
| 
 | ||||
|     export let state: ThemeViewState | ||||
|     let isLoading = state.dataIsLoading | ||||
|  | @ -37,29 +32,6 @@ | |||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     async function constructPdf(_, title: string, status: UIEventSource<string>) { | ||||
|         const templateUrls = SvgToPdf.templates["current_view_a3"].pages | ||||
|         const templates: string[] = await Promise.all(templateUrls.map(url => Utils.download(url))) | ||||
|         console.log("Templates are", templates) | ||||
|         const bg = state.mapProperties.rasterLayer.data ?? AvailableRasterLayers.maplibre | ||||
|         const creator = new SvgToPdf(title, templates, { | ||||
|             state, | ||||
|             freeComponentId: "belowmap", | ||||
|             textSubstitutions: <Record<string, string>> { | ||||
|                 "layout.title": state.layout.title, | ||||
|                 title: state.layout.title, | ||||
|                 layoutImg: state.layout.icon, | ||||
|                 version: Constants.vNumber, | ||||
|                 date: new Date().toISOString().substring(0,16), | ||||
|                 background: new Translation(bg.properties.name).txt | ||||
|             } | ||||
|         }) | ||||
|          | ||||
|         const unsub = creator.status.addCallbackAndRunD(s => status?.setData(s)) | ||||
|         await creator.ExportPdf(Locale.language.data) | ||||
|         unsub() | ||||
|         return undefined | ||||
|     } | ||||
| 
 | ||||
| </script> | ||||
| 
 | ||||
|  | @ -111,13 +83,14 @@ | |||
|                     construct={_ => state.mapProperties.exportAsPng(4)} | ||||
|     /> | ||||
| 
 | ||||
|     <DownloadButton {state} | ||||
|                     mimetype="application/pdf" | ||||
|                     extension="pdf" | ||||
|                     mainText={t.downloadAsPdf} | ||||
|                     helperText={t.downloadAsPdfHelper} | ||||
|                     construct={constructPdf} | ||||
|     /> | ||||
| 
 | ||||
|             <div class="flex flex-col"> | ||||
|                 {#each Object.keys(SvgToPdf.templates) as key} | ||||
|                     {#if SvgToPdf.templates[key].isPublic} | ||||
|                         <DownloadPdf {state} templateName={key}></DownloadPdf> | ||||
|                     {/if} | ||||
|                 {/each} | ||||
|             </div> | ||||
| 
 | ||||
| 
 | ||||
|     <Tr cls="link-underline" t={t.licenseInfo}/> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue