mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
Filter out deprecated tag values from combobox suggestions (close #6084)
This commit is contained in:
@@ -50,6 +50,29 @@ osmEntity.key = function(entity) {
|
||||
return entity.id + 'v' + (entity.v || 0);
|
||||
};
|
||||
|
||||
var _deprecatedTagValuesByKey;
|
||||
|
||||
osmEntity.deprecatedTagValuesByKey = function() {
|
||||
if (!_deprecatedTagValuesByKey) {
|
||||
_deprecatedTagValuesByKey = {};
|
||||
dataDeprecated.forEach(function(d) {
|
||||
var oldKeys = Object.keys(d.old);
|
||||
if (oldKeys.length === 1) {
|
||||
var oldKey = oldKeys[0];
|
||||
var oldValue = d.old[oldKey];
|
||||
if (oldValue !== '*') {
|
||||
if (!_deprecatedTagValuesByKey[oldKey]) {
|
||||
_deprecatedTagValuesByKey[oldKey] = [oldValue];
|
||||
} else {
|
||||
_deprecatedTagValuesByKey[oldKey].push(oldValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return _deprecatedTagValuesByKey;
|
||||
};
|
||||
|
||||
|
||||
osmEntity.prototype = {
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
select as d3_select
|
||||
} from 'd3-selection';
|
||||
|
||||
import { osmEntity } from '../../osm/entity';
|
||||
import { t } from '../../util/locale';
|
||||
import { services } from '../../services';
|
||||
import { uiCombobox } from '../index';
|
||||
@@ -185,6 +186,15 @@ export function uiFieldCombo(field, context) {
|
||||
|
||||
taginfo[fn](params, function(err, data) {
|
||||
if (err) return;
|
||||
|
||||
var deprecatedValues = osmEntity.deprecatedTagValuesByKey()[field.key];
|
||||
if (deprecatedValues) {
|
||||
// don't suggest deprecated tag values
|
||||
data = data.filter(function(d) {
|
||||
return deprecatedValues.indexOf(d.value) === -1;
|
||||
});
|
||||
}
|
||||
|
||||
if (hasCountryPrefix) {
|
||||
data = data.filter(function(d) {
|
||||
return d.value.toLowerCase().indexOf(_country + ':') === 0;
|
||||
|
||||
Reference in New Issue
Block a user