forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			No EOL
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			No EOL
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import {UIElement} from "../UIElement";
 | 
						|
import State from "../../State";
 | 
						|
import BackgroundSelector from "./BackgroundSelector";
 | 
						|
import LayerSelection from "./LayerSelection";
 | 
						|
import Combine from "../Base/Combine";
 | 
						|
import {FixedUiElement} from "../Base/FixedUiElement";
 | 
						|
import ScrollableFullScreen from "../Base/ScrollableFullScreen";
 | 
						|
import Translations from "../i18n/Translations";
 | 
						|
 | 
						|
export default class LayerControlPanel extends UIElement {
 | 
						|
    private readonly _panel: UIElement;
 | 
						|
 | 
						|
 | 
						|
    constructor(onClose: () => void) {
 | 
						|
        super();
 | 
						|
        let layerControlPanel: UIElement = new FixedUiElement("");
 | 
						|
        if (State.state.layoutToUse.data.enableBackgroundLayerSelection) {
 | 
						|
            layerControlPanel = new BackgroundSelector();
 | 
						|
            layerControlPanel.SetStyle("margin:1em");
 | 
						|
            layerControlPanel.onClick(() => {
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        if (State.state.filteredLayers.data.length > 1) {
 | 
						|
            const layerSelection = new LayerSelection(State.state.filteredLayers);
 | 
						|
            layerSelection.onClick(() => {
 | 
						|
            });
 | 
						|
            layerControlPanel = new Combine([layerSelection, "<br/>", layerControlPanel]);
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        const title = Translations.t.general.layerSelection.title.SetClass("text-2xl break-words font-bold p-2")
 | 
						|
 | 
						|
        this._panel = new ScrollableFullScreen(title, layerControlPanel, onClose);
 | 
						|
    }
 | 
						|
 | 
						|
    InnerRender(): string {
 | 
						|
        return this._panel.Render();
 | 
						|
    }
 | 
						|
 | 
						|
} |