| 
									
										
										
										
											2021-01-04 04:06:21 +01:00
										 |  |  | import State from "../../State"; | 
					
						
							|  |  |  | import BackgroundSelector from "./BackgroundSelector"; | 
					
						
							|  |  |  | import Combine from "../Base/Combine"; | 
					
						
							| 
									
										
										
										
											2021-01-08 02:13:44 +01:00
										 |  |  | import ScrollableFullScreen from "../Base/ScrollableFullScreen"; | 
					
						
							| 
									
										
										
										
											2021-01-07 15:19:50 +01:00
										 |  |  | import Translations from "../i18n/Translations"; | 
					
						
							| 
									
										
										
										
											2021-02-25 02:23:26 +01:00
										 |  |  | import {UIEventSource} from "../../Logic/UIEventSource"; | 
					
						
							| 
									
										
										
										
											2021-06-10 14:05:26 +02:00
										 |  |  | import BaseUIElement from "../BaseUIElement"; | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  | import Toggle from "../Input/Toggle"; | 
					
						
							| 
									
										
										
										
											2021-07-26 21:03:27 +02:00
										 |  |  | import {DownloadPanel} from "./DownloadPanel"; | 
					
						
							| 
									
										
										
										
											2021-01-04 04:06:21 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-25 02:23:26 +01:00
										 |  |  | export default class LayerControlPanel extends ScrollableFullScreen { | 
					
						
							| 
									
										
										
										
											2021-07-26 12:26:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-25 02:23:26 +01:00
										 |  |  |     constructor(isShown: UIEventSource<boolean>) { | 
					
						
							| 
									
										
										
										
											2021-03-12 14:52:34 +01:00
										 |  |  |         super(LayerControlPanel.GenTitle, LayerControlPanel.GeneratePanel, "layers", isShown); | 
					
						
							| 
									
										
										
										
											2021-02-25 02:23:26 +01:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-07-26 12:26:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  |     private static GenTitle(): BaseUIElement { | 
					
						
							| 
									
										
										
										
											2021-07-27 19:59:41 +02:00
										 |  |  |         return Translations.t.general.layerSelection.title | 
					
						
							|  |  |  |             .Clone() | 
					
						
							|  |  |  |             .SetClass("text-2xl break-words font-bold p-2"); | 
					
						
							| 
									
										
										
										
											2021-01-04 04:06:21 +01:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-01-07 20:11:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  |     private static GeneratePanel(): BaseUIElement { | 
					
						
							| 
									
										
										
										
											2021-07-27 19:59:41 +02:00
										 |  |  |         const elements: BaseUIElement[] = []; | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-04 04:06:21 +01:00
										 |  |  |         if (State.state.layoutToUse.data.enableBackgroundLayerSelection) { | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  |             const backgroundSelector = new BackgroundSelector(); | 
					
						
							|  |  |  |             backgroundSelector.SetStyle("margin:1em"); | 
					
						
							|  |  |  |             backgroundSelector.onClick(() => { | 
					
						
							| 
									
										
										
										
											2021-01-04 04:06:21 +01:00
										 |  |  |             }); | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  |             elements.push(backgroundSelector) | 
					
						
							| 
									
										
										
										
											2021-01-04 04:06:21 +01:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         elements.push(new Toggle( | 
					
						
							| 
									
										
										
										
											2021-07-26 21:03:27 +02:00
										 |  |  |             new DownloadPanel(), | 
					
						
							| 
									
										
										
										
											2021-07-16 01:42:09 +02:00
										 |  |  |             undefined, | 
					
						
							|  |  |  |             State.state.featureSwitchEnableExport | 
					
						
							|  |  |  |         )) | 
					
						
							| 
									
										
										
										
											2021-07-27 19:59:41 +02:00
										 |  |  |          | 
					
						
							| 
									
										
										
										
											2021-01-07 15:19:50 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-26 12:26:41 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     elements.push( | 
					
						
							|  |  |  |       new Toggle( | 
					
						
							| 
									
										
										
										
											2021-07-27 19:59:41 +02:00
										 |  |  |         new DownloadPanel(), | 
					
						
							| 
									
										
										
										
											2021-07-26 12:26:41 +02:00
										 |  |  |         undefined, | 
					
						
							|  |  |  |         State.state.featureSwitchEnableExport | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return new Combine(elements).SetClass("flex flex-col"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |