forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import {UIEventSource} from "../../Logic/UIEventSource";
 | 
						|
import {UIElement} from "../UIElement";
 | 
						|
import Translations from "../i18n/Translations";
 | 
						|
import State from "../../State";
 | 
						|
 | 
						|
export class SaveButton extends UIElement {
 | 
						|
 | 
						|
    private _value: UIEventSource<any>;
 | 
						|
    private _friendlyLogin: UIElement;
 | 
						|
 | 
						|
    constructor(value: UIEventSource<any>) {
 | 
						|
        super(value);
 | 
						|
        if(value === undefined){
 | 
						|
            throw "No event source for savebutton, something is wrong"
 | 
						|
        }
 | 
						|
        this._value = value;
 | 
						|
 | 
						|
        this._friendlyLogin = Translations.t.general.loginToStart.Clone()
 | 
						|
            .SetClass("login-button-friendly")
 | 
						|
            .onClick(() => State.state.osmConnection.AttemptLogin())
 | 
						|
    }
 | 
						|
 | 
						|
    InnerRender(): string {
 | 
						|
        let clss = "save";
 | 
						|
 | 
						|
        if(State.state !== undefined && !State.state.osmConnection.userDetails.data.loggedIn){
 | 
						|
            return this._friendlyLogin.Render();
 | 
						|
        }
 | 
						|
        if ((this._value.data ?? "") === "") {
 | 
						|
            clss = "save-non-active";
 | 
						|
        }
 | 
						|
        return Translations.t.general.save.Clone().SetClass(clss).Render();
 | 
						|
    }
 | 
						|
 | 
						|
} |