mapcomplete/UI/FullScreenMessageBoxHandler.ts

34 lines
1 KiB
TypeScript
Raw Normal View History

import {UIElement} from "./UIElement";
import State from "../State";
import Combine from "./Base/Combine";
/**
* Handles the full screen popup on mobile
*/
export default class FullScreenMessageBox extends UIElement {
2020-11-15 14:56:20 +01:00
private _content: UIElement;
2021-01-07 04:50:12 +01:00
constructor() {
2020-11-16 01:59:30 +01:00
super(State.state.fullScreenMessage);
this.HideOnEmpty(true);
}
2020-06-29 03:12:44 +02:00
InnerRender(): string {
2020-09-12 23:15:17 +02:00
if (State.state.fullScreenMessage.data === undefined) {
return "";
}
2021-01-08 18:02:07 +01:00
this._content = State.state.fullScreenMessage.data.content;
2021-01-07 04:50:12 +01:00
return new Combine([this._content]).SetClass("fullscreenmessage-content").Render();
}
protected InnerUpdate(htmlElement: HTMLElement) {
super.InnerUpdate(htmlElement);
2021-01-07 04:50:12 +01:00
// This is a bit out of place, and it is a fix specifically for the featureinfobox-titlebar
const height = htmlElement.getElementsByClassName("featureinfobox-titlebar")[0]?.clientHeight ?? 0;
2021-01-07 04:50:12 +01:00
htmlElement.style.setProperty("--variable-title-height", height + "px")
}
}