forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import LayoutConfig from "./Models/ThemeConfig/LayoutConfig"
 | |
| import * as theme from "./assets/generated/themes/shops.json"
 | |
| import ThemeViewState from "./Models/ThemeViewState"
 | |
| import Combine from "./UI/Base/Combine"
 | |
| import SpecialVisualizations from "./UI/SpecialVisualizations"
 | |
| import InputHelpers from "./UI/InputElement/InputHelpers"
 | |
| import BaseUIElement from "./UI/BaseUIElement"
 | |
| import { UIEventSource } from "./Logic/UIEventSource"
 | |
| import { VariableUiElement } from "./UI/Base/VariableUIElement"
 | |
| import { FixedUiElement } from "./UI/Base/FixedUiElement"
 | |
| import Title from "./UI/Base/Title"
 | |
| import SvelteUIElement from "./UI/Base/SvelteUIElement"
 | |
| import ValidatedInput from "./UI/InputElement/ValidatedInput.svelte"
 | |
| import { SvgToPdf } from "./Utils/svgToPdf"
 | |
| import { Utils } from "./Utils"
 | |
| 
 | |
| function testspecial() {
 | |
|     const layout = new LayoutConfig(<any>theme, true) // qp.data === "" ?  : new AllKnownLayoutsLazy().get(qp.data)
 | |
|     const state = new ThemeViewState(layout)
 | |
| 
 | |
|     const all = SpecialVisualizations.specialVisualizations.map((s) =>
 | |
|         SpecialVisualizations.renderExampleOfSpecial(state, s)
 | |
|     )
 | |
|     new Combine(all).AttachTo("maindiv")
 | |
| }
 | |
| 
 | |
| function testinput() {
 | |
|     const els: BaseUIElement[] = []
 | |
|     for (const key in InputHelpers.AvailableInputHelpers) {
 | |
|         const value = new UIEventSource<string>(undefined)
 | |
|         const helper = InputHelpers.AvailableInputHelpers[key](value, {
 | |
|             mapProperties: {
 | |
|                 zoom: new UIEventSource(16),
 | |
|                 location: new UIEventSource({ lat: 51.1, lon: 3.2 }),
 | |
|             },
 | |
|         })
 | |
| 
 | |
|         const feedback: UIEventSource<any> = new UIEventSource<any>(undefined)
 | |
|         els.push(
 | |
|             new Combine([
 | |
|                 new Title(key),
 | |
|                 new SvelteUIElement(ValidatedInput, { value, type: key, feedback }),
 | |
|                 helper,
 | |
|                 new VariableUiElement(feedback),
 | |
|                 new VariableUiElement(value.map((v) => new FixedUiElement(v))),
 | |
|             ]).SetClass("flex flex-col p-1 border-3 border-gray-500")
 | |
|         )
 | |
|     }
 | |
|     new Combine(els).SetClass("flex flex-col").AttachTo("maindiv")
 | |
| }
 | |
| 
 | |
| async function testPdf() {
 | |
|     const svgs = await Promise.all(
 | |
|         SvgToPdf.templates["flyer_a4"].pages.map((url) => Utils.download(url))
 | |
|     )
 | |
|     console.log("Building svg")
 | |
|     const pdf = new SvgToPdf("Test", svgs, {})
 | |
|     new VariableUiElement(pdf.status).AttachTo("maindiv")
 | |
|     await pdf.ConvertSvg("nl")
 | |
| }
 | |
| 
 | |
| testPdf().then((_) => console.log("All done"))
 | |
| //testinput()
 | |
| /*/
 | |
| testspecial()
 | |
| //*/
 |