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
 | |
|     }
 | |
| }
 |