mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-23 16:49:40 +02:00
Merge pull request #5716 from openstreetmap/suggestion-preset-inheritance
Switch brand suggestion preset generation over to inherit fields
This commit is contained in:
+24
-6
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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 });
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user