forked from MapComplete/MapComplete
Merge branches
This commit is contained in:
commit
e58b93e562
4 changed files with 66 additions and 13 deletions
|
@ -83,7 +83,9 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const tagsFilter = Array.from(layer.appliedFilters.data.values());
|
const appliedFilters = layer.appliedFilters?.data
|
||||||
|
if(appliedFilters !== undefined){
|
||||||
|
const tagsFilter = Array.from(appliedFilters.values());
|
||||||
for (const filter of tagsFilter ?? []) {
|
for (const filter of tagsFilter ?? []) {
|
||||||
const neededTags : TagsFilter = filter?.currentFilter
|
const neededTags : TagsFilter = filter?.currentFilter
|
||||||
if (neededTags !== undefined && !neededTags.matchesProperties(f.feature.properties)) {
|
if (neededTags !== undefined && !neededTags.matchesProperties(f.feature.properties)) {
|
||||||
|
@ -91,6 +93,7 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
includedFeatureIds.add(f.feature.properties.id)
|
includedFeatureIds.add(f.feature.properties.id)
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -2,7 +2,7 @@ import {Utils} from "../Utils";
|
||||||
|
|
||||||
export default class Constants {
|
export default class Constants {
|
||||||
|
|
||||||
public static vNumber = "0.14.1";
|
public static vNumber = "0.14.2";
|
||||||
public static ImgurApiKey = '7070e7167f0a25a'
|
public static ImgurApiKey = '7070e7167f0a25a'
|
||||||
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
|
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ import {TagRenderingConfigJson} from "../Json/TagRenderingConfigJson";
|
||||||
import {Translation} from "../../../UI/i18n/Translation";
|
import {Translation} from "../../../UI/i18n/Translation";
|
||||||
import {SubstitutedTranslation} from "../../../UI/SubstitutedTranslation";
|
import {SubstitutedTranslation} from "../../../UI/SubstitutedTranslation";
|
||||||
import DependencyCalculator from "../DependencyCalculator";
|
import DependencyCalculator from "../DependencyCalculator";
|
||||||
|
import Translations from "../../../UI/i18n/Translations";
|
||||||
|
|
||||||
class SubstituteLayer extends Conversion<(string | LayerConfigJson), LayerConfigJson[]> {
|
class SubstituteLayer extends Conversion<(string | LayerConfigJson), LayerConfigJson[]> {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@ -178,7 +179,7 @@ class AddImportLayers extends DesugaringStep<LayoutConfigJson> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AddMiniMap extends DesugaringStep<LayerConfigJson> {
|
export class AddMiniMap extends DesugaringStep<LayerConfigJson> {
|
||||||
constructor() {
|
constructor() {
|
||||||
super("Adds a default 'minimap'-element to the tagrenderings if none of the elements define such a minimap", ["tagRenderings"]);
|
super("Adds a default 'minimap'-element to the tagrenderings if none of the elements define such a minimap", ["tagRenderings"]);
|
||||||
}
|
}
|
||||||
|
@ -187,8 +188,9 @@ class AddMiniMap extends DesugaringStep<LayerConfigJson> {
|
||||||
* Returns true if this tag rendering has a minimap in some language.
|
* Returns true if this tag rendering has a minimap in some language.
|
||||||
* Note: this minimap can be hidden by conditions
|
* Note: this minimap can be hidden by conditions
|
||||||
*/
|
*/
|
||||||
private static hasMinimap(renderingConfig: TagRenderingConfigJson): boolean {
|
public static hasMinimap(renderingConfig: TagRenderingConfigJson): boolean {
|
||||||
const translations: Translation[] = Utils.NoNull([renderingConfig.render, ...(renderingConfig.mappings ?? []).map(m => m.then)]);
|
const translations: Translation[] = Utils.NoNull([renderingConfig.render, ...(renderingConfig.mappings ?? []).map(m => m.then)])
|
||||||
|
.map(Translations.T);
|
||||||
for (const translation of translations) {
|
for (const translation of translations) {
|
||||||
for (const key in translation.translations) {
|
for (const key in translation.translations) {
|
||||||
if (!translation.translations.hasOwnProperty(key)) {
|
if (!translation.translations.hasOwnProperty(key)) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import T from "./TestHelper";
|
import T from "./TestHelper";
|
||||||
import {FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert";
|
import {AddMiniMap, FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert";
|
||||||
import LayoutConfig from "../Models/ThemeConfig/LayoutConfig";
|
import LayoutConfig from "../Models/ThemeConfig/LayoutConfig";
|
||||||
import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson";
|
import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson";
|
||||||
import {TagRenderingConfigJson} from "../Models/ThemeConfig/Json/TagRenderingConfigJson";
|
import {TagRenderingConfigJson} from "../Models/ThemeConfig/Json/TagRenderingConfigJson";
|
||||||
|
@ -146,14 +146,62 @@ export default class LegacyThemeLoaderSpec extends T {
|
||||||
["Walking_node_theme", () => {
|
["Walking_node_theme", () => {
|
||||||
|
|
||||||
const config = LegacyThemeLoaderSpec.walking_node_theme
|
const config = LegacyThemeLoaderSpec.walking_node_theme
|
||||||
const fixed = new FixLegacyTheme().convert({tagRenderings: new Map<string, TagRenderingConfigJson>(), sharedLayers: new Map<string, LayerConfigJson>()},
|
const fixed = new FixLegacyTheme().convert({
|
||||||
|
tagRenderings: new Map<string, TagRenderingConfigJson>(),
|
||||||
|
sharedLayers: new Map<string, LayerConfigJson>()
|
||||||
|
},
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
config,
|
config,
|
||||||
"While testing")
|
"While testing")
|
||||||
T.isTrue(fixed.errors.length === 0, "Could not fix the legacy theme")
|
T.isTrue(fixed.errors.length === 0, "Could not fix the legacy theme")
|
||||||
const theme = new LayoutConfig(fixed.result)
|
const theme = new LayoutConfig(fixed.result)
|
||||||
|
|
||||||
}]
|
}],
|
||||||
|
["Detect minimaps", () => {
|
||||||
|
function shouldHave(config: TagRenderingConfigJson) {
|
||||||
|
T.equals(AddMiniMap.hasMinimap(config), true, "Did _not_ dected a minimap, even though there is one in " + JSON.stringify(config))
|
||||||
|
}
|
||||||
|
|
||||||
|
function shouldNot(config: TagRenderingConfigJson) {
|
||||||
|
T.equals(AddMiniMap.hasMinimap(config), false, "Did erronously dected a minimap, even though there is none in " + JSON.stringify(config))
|
||||||
|
}
|
||||||
|
|
||||||
|
shouldHave({
|
||||||
|
render: "{minimap()}"
|
||||||
|
});
|
||||||
|
shouldHave({
|
||||||
|
render: {en:"{minimap()}"}
|
||||||
|
});
|
||||||
|
shouldHave({
|
||||||
|
render: {en:"{minimap()}",nl:"{minimap()}"}
|
||||||
|
});
|
||||||
|
shouldHave({
|
||||||
|
render: {en:"{minimap()}",nl:"No map for the dutch!"}
|
||||||
|
});
|
||||||
|
|
||||||
|
shouldHave({
|
||||||
|
render: "{minimap()}"
|
||||||
|
})
|
||||||
|
shouldHave({
|
||||||
|
render: "{minimap(18,featurelist)}"
|
||||||
|
})
|
||||||
|
shouldHave({
|
||||||
|
mappings: [
|
||||||
|
{
|
||||||
|
if: "xyz=abc",
|
||||||
|
then: "{minimap(18,featurelist)}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
shouldNot({
|
||||||
|
render: "Some random value {key}"
|
||||||
|
})
|
||||||
|
shouldNot({
|
||||||
|
render: "Some random value {minimap}"
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue