Propagate 'store' where applicable, improve docs
This commit is contained in:
parent
4a318c1073
commit
9bfbdf012a
6 changed files with 21 additions and 15 deletions
|
@ -1,5 +1,5 @@
|
|||
/// Given a feature source, calculates a list of OSM-contributors who mapped the latest versions
|
||||
import {UIEventSource} from "./UIEventSource";
|
||||
import {Store, UIEventSource} from "./UIEventSource";
|
||||
import FeaturePipeline from "./FeatureSource/FeaturePipeline";
|
||||
import Loc from "../Models/Loc";
|
||||
import {BBox} from "./BBox";
|
||||
|
@ -7,10 +7,10 @@ import {BBox} from "./BBox";
|
|||
export default class ContributorCount {
|
||||
|
||||
public readonly Contributors: UIEventSource<Map<string, number>> = new UIEventSource<Map<string, number>>(new Map<string, number>());
|
||||
private readonly state: { featurePipeline: FeaturePipeline, currentBounds: UIEventSource<BBox>, locationControl: UIEventSource<Loc> };
|
||||
private readonly state: { featurePipeline: FeaturePipeline, currentBounds: Store<BBox>, locationControl: Store<Loc> };
|
||||
private lastUpdate: Date = undefined;
|
||||
|
||||
constructor(state: { featurePipeline: FeaturePipeline, currentBounds: UIEventSource<BBox>, locationControl: UIEventSource<Loc> }) {
|
||||
constructor(state: { featurePipeline: FeaturePipeline, currentBounds: Store<BBox>, locationControl: Store<Loc> }) {
|
||||
this.state = state;
|
||||
const self = this;
|
||||
state.currentBounds.map(bbox => {
|
||||
|
|
|
@ -1,9 +1,14 @@
|
|||
/**
|
||||
* Rewrites and multiplies the given renderings of type T.
|
||||
*
|
||||
* This can be used for introducing many similar questions automatically,
|
||||
* which also makes translations easier.
|
||||
*
|
||||
* (Note that the key does _not_ need to be wrapped in {}.
|
||||
* However, we recommend to use them if the key is used in a translation, as missing keys will be picked up and warned for by the translation scripts)
|
||||
*
|
||||
* For example:
|
||||
*
|
||||
*
|
||||
* ```
|
||||
* {
|
||||
* rewrite: {
|
||||
|
@ -13,9 +18,9 @@
|
|||
* ["Y", 1],
|
||||
* ["Z", 2]
|
||||
* ],
|
||||
* renderings: {
|
||||
* renderings: [{
|
||||
* "key":"a|b|c"
|
||||
* }
|
||||
* }]
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Combine from "../Base/Combine";
|
||||
import Translations from "../i18n/Translations";
|
||||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {Store, UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {FixedUiElement} from "../Base/FixedUiElement";
|
||||
import * as licenses from "../../assets/generated/license_info.json"
|
||||
import SmallLicense from "../../Models/smallLicense";
|
||||
|
@ -48,7 +48,7 @@ export class OpenIdEditor extends VariableUiElement {
|
|||
|
||||
export class OpenJosm extends Combine {
|
||||
|
||||
constructor(state: { osmConnection: OsmConnection, currentBounds: UIEventSource<BBox>, }, iconStyle?: string) {
|
||||
constructor(state: { osmConnection: OsmConnection, currentBounds: Store<BBox>, }, iconStyle?: string) {
|
||||
const t = Translations.t.general.attribution
|
||||
|
||||
const josmState = new UIEventSource<string>(undefined)
|
||||
|
@ -98,10 +98,10 @@ export default class CopyrightPanel extends Combine {
|
|||
constructor(state: {
|
||||
layoutToUse: LayoutConfig,
|
||||
featurePipeline: FeaturePipeline,
|
||||
currentBounds: UIEventSource<BBox>,
|
||||
currentBounds: Store<BBox>,
|
||||
locationControl: UIEventSource<Loc>,
|
||||
osmConnection: OsmConnection,
|
||||
isTranslator: UIEventSource<boolean>
|
||||
isTranslator: Store<boolean>
|
||||
}) {
|
||||
|
||||
const t = Translations.t.general.attribution
|
||||
|
|
|
@ -6,7 +6,7 @@ import MapControlButton from "../MapControlButton";
|
|||
import Svg from "../../Svg";
|
||||
import AllDownloads from "./AllDownloads";
|
||||
import FilterView from "./FilterView";
|
||||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {Store, UIEventSource} from "../../Logic/UIEventSource";
|
||||
import BackgroundMapSwitch from "./BackgroundMapSwitch";
|
||||
import Lazy from "../Base/Lazy";
|
||||
import {VariableUiElement} from "../Base/VariableUIElement";
|
||||
|
@ -28,7 +28,7 @@ export default class LeftControls extends Combine {
|
|||
const currentViewFL = state.currentView?.layer
|
||||
const currentViewAction = new Toggle(
|
||||
new Lazy(() => {
|
||||
const feature: UIEventSource<any> = state.currentView.features.map(ffs => ffs[0]?.feature)
|
||||
const feature: Store<any> = state.currentView.features.map(ffs => ffs[0]?.feature)
|
||||
const icon = new VariableUiElement(feature.map(feature => {
|
||||
const defaultIcon = Svg.checkbox_empty_svg()
|
||||
if (feature === undefined) {
|
||||
|
|
|
@ -11,7 +11,7 @@ import Link from "../Base/Link";
|
|||
import LinkToWeblate from "../Base/LinkToWeblate";
|
||||
import Toggleable from "../Base/Toggleable";
|
||||
import Title from "../Base/Title";
|
||||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {Store, UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {SubtleButton} from "../Base/SubtleButton";
|
||||
import Svg from "../../Svg";
|
||||
import * as native_languages from "../../assets/language_native.json"
|
||||
|
@ -19,7 +19,7 @@ import * as used_languages from "../../assets/generated/used_languages.json"
|
|||
import BaseUIElement from "../BaseUIElement";
|
||||
|
||||
class TranslatorsPanelContent extends Combine {
|
||||
constructor(layout: LayoutConfig, isTranslator: UIEventSource<boolean>) {
|
||||
constructor(layout: LayoutConfig, isTranslator: Store<boolean>) {
|
||||
const t = Translations.t.translations
|
||||
|
||||
const {completeness, untranslated, total} = TranslatorsPanel.MissingTranslationsFor(layout)
|
||||
|
@ -106,7 +106,7 @@ class TranslatorsPanelContent extends Combine {
|
|||
export default class TranslatorsPanel extends Toggle {
|
||||
|
||||
|
||||
constructor(state: { layoutToUse: LayoutConfig, isTranslator: UIEventSource<boolean> }, iconStyle?: string) {
|
||||
constructor(state: { layoutToUse: LayoutConfig, isTranslator: Store<boolean> }, iconStyle?: string) {
|
||||
const t = Translations.t.translations
|
||||
super(
|
||||
new Lazy(() => new TranslatorsPanelContent(state.layoutToUse, state.isTranslator)
|
||||
|
|
|
@ -6,6 +6,7 @@ import {Utils} from "../../Utils";
|
|||
import Loc from "../../Models/Loc";
|
||||
import {GeoOperations} from "../../Logic/GeoOperations";
|
||||
import Minimap from "../Base/Minimap";
|
||||
import BackgroundMapSwitch from "../BigComponents/BackgroundMapSwitch";
|
||||
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue