forked from MapComplete/MapComplete
Huge refactoring: split readonly and writable stores
This commit is contained in:
parent
0946d8ac9c
commit
4283b76f36
95 changed files with 819 additions and 625 deletions
|
@ -1,6 +1,6 @@
|
|||
import BaseUIElement from "../BaseUIElement";
|
||||
import {VariableUiElement} from "./VariableUIElement";
|
||||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {Stores, UIEventSource} from "../../Logic/UIEventSource";
|
||||
import Loading from "./Loading";
|
||||
|
||||
export default class AsyncLazy extends BaseUIElement {
|
||||
|
@ -15,7 +15,7 @@ export default class AsyncLazy extends BaseUIElement {
|
|||
// The caching of the BaseUIElement will guarantee that _f will only be called once
|
||||
|
||||
return new VariableUiElement(
|
||||
UIEventSource.FromPromise(this._f()).map(el => {
|
||||
Stores.FromPromise(this._f()).map(el => {
|
||||
if (el === undefined) {
|
||||
return new Loading()
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import Translations from "../i18n/Translations";
|
||||
import BaseUIElement from "../BaseUIElement";
|
||||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {Store, UIEventSource} from "../../Logic/UIEventSource";
|
||||
|
||||
|
||||
export default class Link extends BaseUIElement {
|
||||
private readonly _href: string | UIEventSource<string>;
|
||||
private readonly _href: string | Store<string>;
|
||||
private readonly _embeddedShow: BaseUIElement;
|
||||
private readonly _newTab: boolean;
|
||||
|
||||
constructor(embeddedShow: BaseUIElement | string, href: string | UIEventSource<string>, newTab: boolean = false) {
|
||||
constructor(embeddedShow: BaseUIElement | string, href: string | Store<string>, newTab: boolean = false) {
|
||||
super();
|
||||
this._embeddedShow = Translations.W(embeddedShow);
|
||||
this._href = href;
|
||||
|
|
|
@ -3,7 +3,7 @@ import Combine from "./Combine";
|
|||
import BaseUIElement from "../BaseUIElement";
|
||||
import Link from "./Link";
|
||||
import Img from "./Img";
|
||||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {Store, UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {UIElement} from "../UIElement";
|
||||
import {VariableUiElement} from "./VariableUIElement";
|
||||
import Lazy from "./Lazy";
|
||||
|
@ -13,11 +13,11 @@ import Loading from "./Loading";
|
|||
export class SubtleButton extends UIElement {
|
||||
private readonly imageUrl: string | BaseUIElement;
|
||||
private readonly message: string | BaseUIElement;
|
||||
private readonly options: { url?: string | UIEventSource<string>; newTab?: boolean ; imgSize?: string};
|
||||
private readonly options: { url?: string | Store<string>; newTab?: boolean ; imgSize?: string};
|
||||
|
||||
|
||||
constructor(imageUrl: string | BaseUIElement, message: string | BaseUIElement, options: {
|
||||
url?: string | UIEventSource<string>,
|
||||
url?: string | Store<string>,
|
||||
newTab?: boolean,
|
||||
imgSize?: "h-11 w-11" | string
|
||||
} = undefined) {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {Store} from "../../Logic/UIEventSource";
|
||||
import BaseUIElement from "../BaseUIElement";
|
||||
import Combine from "./Combine";
|
||||
|
||||
export class VariableUiElement extends BaseUIElement {
|
||||
private readonly _contents: UIEventSource<string | BaseUIElement | BaseUIElement[]>;
|
||||
private readonly _contents: Store<string | BaseUIElement | BaseUIElement[]>;
|
||||
|
||||
constructor(contents: UIEventSource<string | BaseUIElement | BaseUIElement[]>) {
|
||||
constructor(contents: Store<string | BaseUIElement | BaseUIElement[]>) {
|
||||
super();
|
||||
this._contents = contents;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue