2021-10-01 03:14:36 +02:00
|
|
|
import BaseUIElement from "../BaseUIElement"
|
|
|
|
|
2021-11-07 16:34:51 +01:00
|
|
|
export default class Lazy extends BaseUIElement {
|
2021-10-01 03:14:36 +02:00
|
|
|
private readonly _f: () => BaseUIElement
|
2021-11-07 16:34:51 +01:00
|
|
|
|
2021-10-01 03:14:36 +02:00
|
|
|
constructor(f: () => BaseUIElement) {
|
|
|
|
super()
|
|
|
|
this._f = f
|
|
|
|
}
|
2021-11-07 16:34:51 +01:00
|
|
|
|
2021-10-01 03:14:36 +02:00
|
|
|
protected InnerConstructElement(): HTMLElement {
|
|
|
|
// The caching of the BaseUIElement will guarantee that _f will only be called once
|
|
|
|
return this._f().ConstructElement()
|
|
|
|
}
|
|
|
|
}
|