forked from MapComplete/MapComplete
Simplified update process
This commit is contained in:
parent
5e0d54601c
commit
5c9fb293e9
6 changed files with 51 additions and 69 deletions
|
@ -4,6 +4,7 @@ import {UIEventSource} from "./UIEventSource";
|
|||
import {Basemap} from "../Logic/Basemap";
|
||||
import L from "leaflet";
|
||||
import {FixedUiElement} from "./Base/FixedUiElement";
|
||||
import {VariableUiElement} from "./Base/VariableUIElement";
|
||||
|
||||
/**
|
||||
* Handles and updates the user badge
|
||||
|
@ -13,6 +14,7 @@ export class UserBadge extends UIElement {
|
|||
private _pendingChanges: UIElement;
|
||||
private _logout: UIElement;
|
||||
private _basemap: Basemap;
|
||||
private _homeButton: UIElement;
|
||||
|
||||
|
||||
constructor(userDetails: UIEventSource<UserDetails>,
|
||||
|
@ -38,6 +40,21 @@ export class UserBadge extends UIElement {
|
|||
}
|
||||
});
|
||||
|
||||
this._homeButton = new VariableUiElement(
|
||||
userDetails.map((userinfo) => {
|
||||
if (userinfo.home) {
|
||||
return "<img id='home' src='./assets/home.svg' alt='home' class='small-userbadge-icon'> ";
|
||||
}
|
||||
return "";
|
||||
})
|
||||
).onClick(() => {
|
||||
const home = userDetails.data?.home;
|
||||
if (home === undefined) {
|
||||
return;
|
||||
}
|
||||
basemap.map.flyTo([home.lat, home.lon], 18);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
protected InnerRender(): string {
|
||||
|
@ -66,9 +83,7 @@ export class UserBadge extends UIElement {
|
|||
dryrun = " <span class='alert'>TESTING</span>";
|
||||
}
|
||||
|
||||
let home = "";
|
||||
if (user.home !== undefined) {
|
||||
home = "<img id='home' src='./assets/home.svg' alt='home' class='small-userbadge-icon'> ";
|
||||
const icon = L.icon({
|
||||
iconUrl: 'assets/home.svg',
|
||||
iconSize: [20, 20],
|
||||
|
@ -91,7 +106,7 @@ export class UserBadge extends UIElement {
|
|||
dryrun +
|
||||
"</p> " +
|
||||
"<p id='userstats'>" +
|
||||
home +
|
||||
this._homeButton.Render() +
|
||||
settings +
|
||||
messageSpan +
|
||||
"<span id='csCount'> " +
|
||||
|
@ -104,25 +119,5 @@ export class UserBadge extends UIElement {
|
|||
"</div>";
|
||||
}
|
||||
|
||||
InnerUpdate(htmlElement: HTMLElement) {
|
||||
this._pendingChanges.Update();
|
||||
var btn = document.getElementById("home");
|
||||
if (btn) {
|
||||
const self = this;
|
||||
btn.onclick = function () {
|
||||
const home = self._userDetails?.data?.home;
|
||||
if (home === undefined) {
|
||||
return;
|
||||
}
|
||||
self._basemap.map.flyTo([home.lat, home.lon], 18);
|
||||
|
||||
}
|
||||
}
|
||||
this._logout.Update();
|
||||
}
|
||||
|
||||
Activate() {
|
||||
this._pendingChanges.Activate();
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue