Merge pull request #5716 from openstreetmap/suggestion-preset-inheritance

Switch brand suggestion preset generation over to inherit fields
This commit is contained in:
Bryan Housel
2019-01-15 17:25:03 -05:00
committed by GitHub
3 changed files with 1242 additions and 1224 deletions
+24 -6
View File
@@ -199,22 +199,40 @@ function suggestionsToPresets(presets) {
function addSuggestion(key, value, name) {
var presetID = key + '/' + value;
var preset = presets[presetID];
var suggestion = suggestions[key][value][name];
var presetID, preset;
// sometimes we can find a more specific preset then key/value..
if (suggestion.tags.cuisine) {
presetID = key + '/' + value + '/' + suggestion.tags.cuisine;
preset = presets[presetID];
} else if (suggestion.tags.vending) {
if (suggestion.tags.vending === 'parcel_pickup;parcel_mail_in') {
presetID = key + '/' + value + '/parcel_pickup_dropoff';
} else {
presetID = key + '/' + value + '/' + suggestion.tags.vending;
}
preset = presets[presetID];
}
// fallback to key/value
if (!preset) {
presetID = key + '/' + value;
preset = presets[presetID];
}
// still no match?
if (!preset) {
console.log('Warning: No preset "' + presetID + '" for name-suggestion "' + name + '"');
return;
}
var suggestionID = key + '/' + value + '/' + name;
var suggestion = suggestions[key][value][name];
var wikidataTag = { 'brand:wikidata': suggestion.tags['brand:wikidata'] };
var suggestionID = presetID + '/' + name;
presets[suggestionID] = {
name: name,
icon: preset.icon,
fields: preset.fields,
moreFields: preset.moreFields,
geometry: preset.geometry,
tags: _merge({}, preset.tags, wikidataTag),
addTags: suggestion.tags,
+1215 -1215
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -119,9 +119,9 @@ export function presetPreset(id, preset, fields, visible, rawPresets) {
var origName = preset.name || '';
preset.name = function() {
if (preset.suggestion) {
id = id.split('/');
id = id[0] + '/' + id[1];
return origName + ' - ' + t('presets.presets.' + id + '.name');
var path = id.split('/');
path.pop(); // remove brand name
return origName + ' - ' + t('presets.presets.' + path.join('/') + '.name');
}
return preset.t('name', { 'default': origName });
};