| 
									
										
										
										
											2020-08-31 02:59:47 +02:00
										 |  |  | import {UIElement} from "../UIElement"; | 
					
						
							|  |  |  | import {UIEventSource} from "../../Logic/UIEventSource"; | 
					
						
							|  |  |  | import {LayoutConfigJson} from "../../Customizations/JSON/LayoutConfigJson"; | 
					
						
							|  |  |  | import Combine from "../Base/Combine"; | 
					
						
							|  |  |  | import {VariableUiElement} from "../Base/VariableUIElement"; | 
					
						
							| 
									
										
										
										
											2021-01-04 04:36:21 +01:00
										 |  |  | import UserDetails from "../../Logic/Osm/OsmConnection"; | 
					
						
							| 
									
										
										
										
											2020-08-31 02:59:47 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | export default class SharePanel extends UIElement { | 
					
						
							|  |  |  |     private _config: UIEventSource<LayoutConfigJson>; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     private _panel: UIElement; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-07 02:25:45 +02:00
										 |  |  |     constructor(config: UIEventSource<LayoutConfigJson>, liveUrl: UIEventSource<string>, userDetails: UserDetails) { | 
					
						
							| 
									
										
										
										
											2020-08-31 02:59:47 +02:00
										 |  |  |         super(undefined); | 
					
						
							|  |  |  |         this._config = config; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         this._panel = new Combine([ | 
					
						
							| 
									
										
										
										
											2020-09-08 00:33:05 +02:00
										 |  |  |             "<h2>Share</h2>", | 
					
						
							| 
									
										
										
										
											2020-08-31 02:59:47 +02:00
										 |  |  |             "Share the following link with friends:<br/>", | 
					
						
							|  |  |  |             new VariableUiElement(liveUrl.map(url => `<a href='${url}' target="_blank">${url}</a>`)), | 
					
						
							| 
									
										
										
										
											2021-02-20 02:37:47 +01:00
										 |  |  |             "<h2>Publish on some website</h2>", | 
					
						
							|  |  |  |              | 
					
						
							|  |  |  |             "It is possible to load a JSON-file from the wide internet, but you'll need some (public CORS-enabled) server.", | 
					
						
							|  |  |  |             `Put the raw json online, and use ${window.location.host}?userlayout=https://<your-url-here>.json`, | 
					
						
							|  |  |  |             "Please note: it used to be possible to load from the wiki - this is not possible anymore due to technical reasons.", | 
					
						
							| 
									
										
										
										
											2020-08-31 02:59:47 +02:00
										 |  |  |             "</div>" | 
					
						
							|  |  |  |         ]); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     InnerRender(): string { | 
					
						
							|  |  |  |         return this._panel.Render(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |