forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			No EOL
		
	
	
		
			1,023 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			No EOL
		
	
	
		
			1,023 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import {UIElement} from "../UIElement";
 | 
						|
import Locale from "../i18n/Locale";
 | 
						|
import Translations from "../i18n/Translations";
 | 
						|
 | 
						|
export class Button extends UIElement {
 | 
						|
    private _text: UIElement;
 | 
						|
    private _onclick: () => void;
 | 
						|
    private _clss: string;
 | 
						|
 | 
						|
    constructor(text: string | UIElement, onclick: (() => void), clss: string = "") {
 | 
						|
        super(Locale.language);
 | 
						|
        this._text = Translations.W(text);
 | 
						|
        this._onclick = onclick;
 | 
						|
        if (clss !== "") {
 | 
						|
 | 
						|
            this._clss = "class='" + clss + "'";
 | 
						|
        }else{
 | 
						|
            this._clss = "";
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    InnerRender(): string {
 | 
						|
 | 
						|
        return "<form>" +
 | 
						|
            "<button id='button-"+this.id+"' type='button' "+this._clss+">" + this._text.Render() +  "</button>" +
 | 
						|
            "</form>";
 | 
						|
    }
 | 
						|
 | 
						|
    InnerUpdate(htmlElement: HTMLElement) {
 | 
						|
        super.InnerUpdate(htmlElement);
 | 
						|
        const self = this;
 | 
						|
        document.getElementById("button-"+this.id).onclick = function(){
 | 
						|
            self._onclick();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
} |