forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			37 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import {UIElement} from "../UIElement";
							 | 
						||
| 
								 | 
							
								import BaseUIElement from "../BaseUIElement";
							 | 
						||
| 
								 | 
							
								import Translations from "../i18n/Translations";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default class Title extends BaseUIElement{
							 | 
						||
| 
								 | 
							
								    private readonly _embedded: BaseUIElement;
							 | 
						||
| 
								 | 
							
								    private readonly  _level: number;
							 | 
						||
| 
								 | 
							
								    constructor(embedded: string | BaseUIElement, level: number =3 ) {
							 | 
						||
| 
								 | 
							
								        super()
							 | 
						||
| 
								 | 
							
								        this._embedded = Translations.W(embedded);
							 | 
						||
| 
								 | 
							
								        this._level = level;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected InnerConstructElement(): HTMLElement {
							 | 
						||
| 
								 | 
							
								        const el = this._embedded.ConstructElement()
							 | 
						||
| 
								 | 
							
								        if(el === undefined){
							 | 
						||
| 
								 | 
							
								            return undefined;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        const h =  document.createElement("h"+this._level)
							 | 
						||
| 
								 | 
							
								        h.appendChild(el)
							 | 
						||
| 
								 | 
							
								        return h;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    AsMarkdown(): string {
							 | 
						||
| 
								 | 
							
								        const embedded = " " +this._embedded.AsMarkdown()+" ";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if(this._level == 1){
							 | 
						||
| 
								 | 
							
								            return "\n"+embedded+"\n"+"=".repeat(embedded.length)+"\n\n"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if(this._level == 2){
							 | 
						||
| 
								 | 
							
								            return "\n"+embedded+"\n"+"-".repeat(embedded.length)+"\n\n"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        return "\n"+"#".repeat( this._level)+embedded +"\n\n";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |