forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			No EOL
		
	
	
		
			4.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			No EOL
		
	
	
		
			4.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import ValidatedTextField from "./UI/Input/ValidatedTextField";
 | |
| import Combine from "./UI/Base/Combine";
 | |
| import {VariableUiElement} from "./UI/Base/VariableUIElement";
 | |
| import {UIEventSource} from "./Logic/UIEventSource";
 | |
| import TagRenderingConfig from "./Customizations/JSON/TagRenderingConfig";
 | |
| import State from "./State";
 | |
| import TagRenderingQuestion from "./UI/Popup/TagRenderingQuestion";
 | |
| import {SlideShow} from "./UI/Image/SlideShow";
 | |
| import {FixedUiElement} from "./UI/Base/FixedUiElement";
 | |
| import Img from "./UI/Base/Img";
 | |
| import {AttributedImage} from "./UI/Image/AttributedImage";
 | |
| import {Imgur} from "./Logic/ImageProviders/Imgur";
 | |
| import Minimap from "./UI/Base/Minimap";
 | |
| import Loc from "./Models/Loc";
 | |
| import AvailableBaseLayers from "./Logic/Actors/AvailableBaseLayers";
 | |
| import ShowDataLayer from "./UI/ShowDataLayer";
 | |
| import LayoutConfig from "./Customizations/JSON/LayoutConfig";
 | |
| import {AllKnownLayouts} from "./Customizations/AllKnownLayouts";
 | |
| 
 | |
| 
 | |
| function TestSlideshow() {
 | |
|     const elems = new UIEventSource([
 | |
|         new FixedUiElement("A"),
 | |
|         new FixedUiElement("qmsldkfjqmlsdkjfmqlskdjfmqlksdf").SetClass("text-xl"),
 | |
|         new Img("https://i.imgur.com/8lIQ5Hv.jpg"),
 | |
|         new AttributedImage("https://i.imgur.com/y5XudzW.jpg", Imgur.singleton),
 | |
|         new Img("https://www.grunge.com/img/gallery/the-real-reason-your-cat-sleeps-so-much/intro-1601496900.webp")
 | |
|     ])
 | |
|     new SlideShow(elems).AttachTo("maindiv")
 | |
| }
 | |
| 
 | |
| function TestTagRendering() {
 | |
|     State.state = new State(undefined)
 | |
|     const tagsSource = new UIEventSource({
 | |
|         id: "node/1"
 | |
|     })
 | |
|     new TagRenderingQuestion(
 | |
|         tagsSource,
 | |
|         new TagRenderingConfig({
 | |
|             multiAnswer: false,
 | |
|             freeform: {
 | |
|                 key: "valve"
 | |
|             },
 | |
|             question: "What valves are supported?",
 | |
|             render: "This pump supports {valve}",
 | |
|             mappings: [
 | |
|                 {
 | |
|                     if: "valve=dunlop",
 | |
|                     then: "This pump supports dunlop"
 | |
|                 },
 | |
|                 {
 | |
|                     if: "valve=shrader",
 | |
|                     then: "shrader is supported",
 | |
|                 }
 | |
|             ],
 | |
|             
 | |
|         }, undefined, "test"),
 | |
|         []
 | |
|     ).AttachTo("maindiv")
 | |
|     new VariableUiElement(tagsSource.map(tags => tags["valves"])).SetClass("alert").AttachTo("extradiv")
 | |
| }
 | |
| 
 | |
| function TestAllInputMethods() {
 | |
| 
 | |
|     new Combine(ValidatedTextField.tpList.map(tp => {
 | |
|         const tf = ValidatedTextField.InputForType(tp.name);
 | |
| 
 | |
|         return new Combine([tf, new VariableUiElement(tf.GetValue()).SetClass("alert")]);
 | |
|     })).AttachTo("maindiv")
 | |
| }
 | |
| 
 | |
| 
 | |
| const location = new UIEventSource<Loc>({
 | |
|     lon: 4.84771728515625,
 | |
|     lat: 51.17920846421931,
 | |
|     zoom: 14
 | |
| })
 | |
| const map0 = new Minimap({
 | |
|     location: location,
 | |
|     allowMoving: true,
 | |
|     background: new AvailableBaseLayers(location).availableEditorLayers.map(layers => layers[2])
 | |
| })
 | |
| map0.SetStyle("width: 500px; height: 250px; overflow: hidden; border: 2px solid red")
 | |
|     .AttachTo("maindiv")
 | |
| 
 | |
| const layout = AllKnownLayouts.layoutsList[1]
 | |
| State.state = new State(layout)
 | |
| console.log("LAYOUT is", layout.id)
 | |
| 
 | |
| const feature = {
 | |
|         "type": "Feature",
 | |
|         _matching_layer_id: "bike_repair_station",
 | |
|         "properties": {
 | |
|             id: "node/-1",
 | |
|             "amenity": "bicycle_repair_station"
 | |
|         },
 | |
|         "geometry": {
 | |
|             "type": "Point",
 | |
|             "coordinates": [
 | |
|                 4.84771728515625,
 | |
|                 51.17920846421931
 | |
|             ]
 | |
|         }
 | |
|     }
 | |
| 
 | |
| ;
 | |
| 
 | |
| State.state.allElements.addOrGetElement(feature)
 | |
| 
 | |
| const featureSource = new UIEventSource([{
 | |
|     freshness: new Date(),
 | |
|     feature: feature
 | |
| }])
 | |
| 
 | |
| new ShowDataLayer(
 | |
|     featureSource,
 | |
|     map0.leafletMap,
 | |
|     new UIEventSource<LayoutConfig>(layout)
 | |
| )
 | |
| 
 | |
| const map1 = new Minimap({
 | |
|         location: location,
 | |
|         allowMoving: true,
 | |
|         background: new AvailableBaseLayers(location).availableEditorLayers.map(layers => layers[5])
 | |
|     },
 | |
| )
 | |
| 
 | |
| map1.SetStyle("width: 500px; height: 250px; overflow: hidden; border : 2px solid black")
 | |
|     .AttachTo("extradiv")
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| new ShowDataLayer(
 | |
|     featureSource,
 | |
|     map1.leafletMap,
 | |
|     new UIEventSource<LayoutConfig>(layout)
 | |
| )
 | |
| 
 | |
| featureSource.ping()
 | |
| 
 | |
| // */
 |