forked from MapComplete/MapComplete
Add caching into local storage for a faster map experience
This commit is contained in:
parent
3a2d654ac3
commit
f33fe081d0
12 changed files with 128 additions and 41 deletions
|
@ -27,21 +27,16 @@ import Img from "./UI/Base/Img";
|
|||
import UserDetails from "./Logic/Osm/OsmConnection";
|
||||
import Attribution from "./UI/BigComponents/Attribution";
|
||||
import MetaTagging from "./Logic/MetaTagging";
|
||||
import FeatureSourceMerger from "./Logic/FeatureSource/FeatureSourceMerger";
|
||||
import RememberingSource from "./Logic/FeatureSource/RememberingSource";
|
||||
import FilteringFeatureSource from "./Logic/FeatureSource/FilteringFeatureSource";
|
||||
import WayHandlingApplyingFeatureSource from "./Logic/FeatureSource/WayHandlingApplyingFeatureSource";
|
||||
import NoOverlapSource from "./Logic/FeatureSource/NoOverlapSource";
|
||||
import AvailableBaseLayers from "./Logic/Actors/AvailableBaseLayers";
|
||||
import LayerResetter from "./Logic/Actors/LayerResetter";
|
||||
import FullWelcomePaneWithTabs from "./UI/BigComponents/FullWelcomePaneWithTabs";
|
||||
import LayerControlPanel from "./UI/BigComponents/LayerControlPanel";
|
||||
import FeatureSwitched from "./UI/Base/FeatureSwitched";
|
||||
import FeatureDuplicatorPerLayer from "./Logic/FeatureSource/FeatureDuplicatorPerLayer";
|
||||
import LayerConfig from "./Customizations/JSON/LayerConfig";
|
||||
import ShowDataLayer from "./UI/ShowDataLayer";
|
||||
import Hash from "./Logic/Web/Hash";
|
||||
import HistoryHandling from "./Logic/Actors/HistoryHandling";
|
||||
import FeaturePipeline from "./Logic/FeatureSource/FeaturePipeline";
|
||||
|
||||
export class InitUiElements {
|
||||
|
||||
|
@ -294,7 +289,7 @@ export class InitUiElements {
|
|||
const fullOptions2 = new FullWelcomePaneWithTabs();
|
||||
if (Hash.hash.data === undefined) {
|
||||
State.state.fullScreenMessage.setData({content: fullOptions2, hashText: "welcome"})
|
||||
|
||||
|
||||
}
|
||||
|
||||
Svg.help_svg()
|
||||
|
@ -405,20 +400,9 @@ export class InitUiElements {
|
|||
|
||||
const updater = new LoadFromOverpass(state.locationControl, state.layoutToUse, state.leafletMap);
|
||||
State.state.layerUpdater = updater;
|
||||
const source = new FeaturePipeline(flayers, updater);
|
||||
|
||||
|
||||
const source =
|
||||
new FilteringFeatureSource(
|
||||
flayers,
|
||||
State.state.locationControl,
|
||||
new FeatureSourceMerger([
|
||||
new RememberingSource(new WayHandlingApplyingFeatureSource(flayers,
|
||||
new NoOverlapSource(flayers, new FeatureDuplicatorPerLayer(flayers, updater))
|
||||
)),
|
||||
new FeatureDuplicatorPerLayer(flayers, State.state.changes)
|
||||
])
|
||||
);
|
||||
|
||||
source.features.addCallback((featuresFreshness: { feature: any, freshness: Date }[]) => {
|
||||
let features = featuresFreshness.map(ff => ff.feature);
|
||||
features.forEach(feature => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue