forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			756 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			756 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import Translations from "../i18n/Translations"
 | 
						|
import BaseUIElement from "../BaseUIElement"
 | 
						|
 | 
						|
export class Button extends BaseUIElement {
 | 
						|
    private _text: BaseUIElement
 | 
						|
 | 
						|
    constructor(text: string | BaseUIElement, onclick: () => void | Promise<void>) {
 | 
						|
        super()
 | 
						|
        this._text = Translations.W(text)
 | 
						|
        this.onClick(onclick)
 | 
						|
    }
 | 
						|
 | 
						|
    protected InnerConstructElement(): HTMLElement {
 | 
						|
        const el = this._text.ConstructElement()
 | 
						|
        if (el === undefined) {
 | 
						|
            return undefined
 | 
						|
        }
 | 
						|
        const form = document.createElement("form")
 | 
						|
        const button = document.createElement("button")
 | 
						|
        button.type = "button"
 | 
						|
        button.appendChild(el)
 | 
						|
        form.appendChild(button)
 | 
						|
        return form
 | 
						|
    }
 | 
						|
}
 |