mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-17 22:24:49 +02:00
Add lang attribute to issue fix labels (re: #7963)
This commit is contained in:
@@ -58,7 +58,7 @@ export function validationIssue(attrs) {
|
||||
if (issue.severity === 'warning') {
|
||||
// allow ignoring any issue that's not an error
|
||||
fixes.push(new validationIssueFix({
|
||||
title: t('issues.fix.ignore_issue.title'),
|
||||
title: t.html('issues.fix.ignore_issue.title'),
|
||||
icon: 'iD-icon-close',
|
||||
onClick: function() {
|
||||
context.validator().ignoreIssue(this.issue.id);
|
||||
@@ -67,6 +67,7 @@ export function validationIssue(attrs) {
|
||||
}
|
||||
|
||||
fixes.forEach(function(fix) {
|
||||
// the id doesn't matter as long as it's unique to this issue/fix
|
||||
fix.id = fix.title;
|
||||
// add a reference to the issue for use in actions
|
||||
fix.issue = issue;
|
||||
|
||||
@@ -88,8 +88,8 @@ export function validationAlmostJunction(context) {
|
||||
function makeFixes(context) {
|
||||
let fixes = [new validationIssueFix({
|
||||
icon: 'iD-icon-abutment',
|
||||
title: t('issues.fix.connect_features.title'),
|
||||
onClick(context) {
|
||||
title: t.html('issues.fix.connect_features.title'),
|
||||
onClick: function(context) {
|
||||
const annotation = t('issues.fix.connect_almost_junction.annotation');
|
||||
const [, endNodeId, crossWayId] = this.issue.entityIds;
|
||||
const midNode = context.entity(this.issue.data.midId);
|
||||
@@ -135,8 +135,8 @@ export function validationAlmostJunction(context) {
|
||||
// node has no descriptive tags, suggest noexit fix
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'maki-barrier',
|
||||
title: t('issues.fix.tag_as_disconnected.title'),
|
||||
onClick(context) {
|
||||
title: t.html('issues.fix.tag_as_disconnected.title'),
|
||||
onClick: function(context) {
|
||||
const nodeID = this.issue.entityIds[1];
|
||||
const tags = Object.assign({}, context.entity(nodeID).tags);
|
||||
tags.noexit = 'yes';
|
||||
|
||||
@@ -179,11 +179,11 @@ export function validationCloseNodes(context) {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-disconnect',
|
||||
title: t('issues.fix.move_points_apart.title')
|
||||
title: t.html('issues.fix.move_points_apart.title')
|
||||
}),
|
||||
new validationIssueFix({
|
||||
icon: 'iD-icon-layers',
|
||||
title: t('issues.fix.use_different_layers_or_levels.title')
|
||||
title: t.html('issues.fix.use_different_layers_or_levels.title')
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -242,7 +242,7 @@ export function validationCloseNodes(context) {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
icon: 'iD-icon-plus',
|
||||
title: t('issues.fix.merge_points.title'),
|
||||
title: t.html('issues.fix.merge_points.title'),
|
||||
onClick: function(context) {
|
||||
var entityIds = this.issue.entityIds;
|
||||
var action = actionMergeNodes([entityIds[1], entityIds[2]]);
|
||||
@@ -251,7 +251,7 @@ export function validationCloseNodes(context) {
|
||||
}),
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-disconnect',
|
||||
title: t('issues.fix.move_points_apart.title')
|
||||
title: t.html('issues.fix.move_points_apart.title')
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -444,7 +444,7 @@ export function validationCrossingWays(context) {
|
||||
if (isCrossingIndoors) {
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'iD-icon-layers',
|
||||
title: t('issues.fix.use_different_levels.title')
|
||||
title: t.html('issues.fix.use_different_levels.title')
|
||||
}));
|
||||
} else if (isCrossingTunnels ||
|
||||
isCrossingBridges ||
|
||||
@@ -473,7 +473,7 @@ export function validationCrossingWays(context) {
|
||||
// repositioning the features is always an option
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'iD-operation-move',
|
||||
title: t('issues.fix.reposition_features.title')
|
||||
title: t.html('issues.fix.reposition_features.title')
|
||||
}));
|
||||
|
||||
return fixes;
|
||||
@@ -493,7 +493,7 @@ export function validationCrossingWays(context) {
|
||||
function makeAddBridgeOrTunnelFix(fixTitleID, iconName, bridgeOrTunnel){
|
||||
return new validationIssueFix({
|
||||
icon: iconName,
|
||||
title: t('issues.fix.' + fixTitleID + '.title'),
|
||||
title: t.html('issues.fix.' + fixTitleID + '.title'),
|
||||
onClick: function(context) {
|
||||
var mode = context.mode();
|
||||
if (!mode || mode.id !== 'select') return;
|
||||
@@ -702,7 +702,7 @@ export function validationCrossingWays(context) {
|
||||
|
||||
return new validationIssueFix({
|
||||
icon: 'iD-icon-crossing',
|
||||
title: t('issues.fix.' + fixTitleID + '.title'),
|
||||
title: t.html('issues.fix.' + fixTitleID + '.title'),
|
||||
onClick: function(context) {
|
||||
var loc = this.issue.loc;
|
||||
var connectionTags = this.issue.data.connectionTags;
|
||||
@@ -745,7 +745,7 @@ export function validationCrossingWays(context) {
|
||||
function makeChangeLayerFix(higherOrLower) {
|
||||
return new validationIssueFix({
|
||||
icon: 'iD-icon-' + (higherOrLower === 'higher' ? 'up' : 'down'),
|
||||
title: t('issues.fix.tag_this_as_' + higherOrLower + '.title'),
|
||||
title: t.html('issues.fix.tag_this_as_' + higherOrLower + '.title'),
|
||||
onClick: function(context) {
|
||||
|
||||
var mode = context.mode();
|
||||
|
||||
@@ -53,13 +53,13 @@ export function validationDisconnectedWay() {
|
||||
}
|
||||
if (!fixes.length) {
|
||||
fixes.push(new validationIssueFix({
|
||||
title: t('issues.fix.connect_feature.title')
|
||||
title: t.html('issues.fix.connect_feature.title')
|
||||
}));
|
||||
}
|
||||
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'iD-operation-delete',
|
||||
title: t('issues.fix.delete_feature.title'),
|
||||
title: t.html('issues.fix.delete_feature.title'),
|
||||
entityIds: [singleEntity.id],
|
||||
onClick: function(context) {
|
||||
var id = this.issue.entityIds[0];
|
||||
@@ -71,7 +71,7 @@ export function validationDisconnectedWay() {
|
||||
}));
|
||||
} else {
|
||||
fixes.push(new validationIssueFix({
|
||||
title: t('issues.fix.connect_features.title')
|
||||
title: t.html('issues.fix.connect_features.title')
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ export function validationDisconnectedWay() {
|
||||
|
||||
return new validationIssueFix({
|
||||
icon: 'iD-operation-continue' + (useLeftContinue ? '-left' : ''),
|
||||
title: t('issues.fix.continue_from_' + whichEnd + '.title'),
|
||||
title: t.html('issues.fix.continue_from_' + whichEnd + '.title'),
|
||||
entityIds: [vertexID],
|
||||
onClick: function(context) {
|
||||
var wayId = this.issue.entityIds[0];
|
||||
|
||||
@@ -30,7 +30,7 @@ export function validationHelpRequest(context) {
|
||||
dynamicFixes: function() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
title: t('issues.fix.address_the_concern.title')
|
||||
title: t.html('issues.fix.address_the_concern.title')
|
||||
})
|
||||
];
|
||||
},
|
||||
|
||||
@@ -176,7 +176,7 @@ export function validationImpossibleOneway() {
|
||||
if (attachedOneways.length) {
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'iD-operation-reverse',
|
||||
title: t('issues.fix.reverse_feature.title'),
|
||||
title: t.html('issues.fix.reverse_feature.title'),
|
||||
entityIds: [way.id],
|
||||
onClick: function(context) {
|
||||
var id = this.issue.entityIds[0];
|
||||
@@ -190,7 +190,7 @@ export function validationImpossibleOneway() {
|
||||
(!isFirst && textDirection === 'rtl');
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'iD-operation-continue' + (useLeftContinue ? '-left' : ''),
|
||||
title: t('issues.fix.continue_from_' + (isFirst ? 'start' : 'end') + '.title'),
|
||||
title: t.html('issues.fix.continue_from_' + (isFirst ? 'start' : 'end') + '.title'),
|
||||
onClick: function(context) {
|
||||
var entityID = this.issue.entityIds[0];
|
||||
var vertexID = this.issue.entityIds[1];
|
||||
|
||||
@@ -43,7 +43,7 @@ export function validationIncompatibleSource() {
|
||||
dynamicFixes: function() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
title: t('issues.fix.remove_proprietary_data.title')
|
||||
title: t.html('issues.fix.remove_proprietary_data.title')
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -103,13 +103,13 @@ export function validationMismatchedGeometry() {
|
||||
var connectEndsOnClick = makeConnectEndpointsFixOnClick(entity, context.graph());
|
||||
|
||||
fixes.push(new validationIssueFix({
|
||||
title: t('issues.fix.connect_endpoints.title'),
|
||||
title: t.html('issues.fix.connect_endpoints.title'),
|
||||
onClick: connectEndsOnClick
|
||||
}));
|
||||
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'iD-operation-delete',
|
||||
title: t('issues.fix.remove_tag.title'),
|
||||
title: t.html('issues.fix.remove_tag.title'),
|
||||
onClick: function(context) {
|
||||
var entityId = this.issue.entityIds[0];
|
||||
var entity = context.entity(entityId);
|
||||
@@ -218,7 +218,7 @@ export function validationMismatchedGeometry() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-extract',
|
||||
title: t('issues.fix.extract_point.title'),
|
||||
title: t.html('issues.fix.extract_point.title'),
|
||||
onClick: extractOnClick
|
||||
})
|
||||
];
|
||||
|
||||
@@ -61,7 +61,7 @@ export function validationMissingRole() {
|
||||
makeAddRoleFix('outer'),
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-delete',
|
||||
title: t('issues.fix.remove_from_relation.title'),
|
||||
title: t.html('issues.fix.remove_from_relation.title'),
|
||||
onClick: function(context) {
|
||||
context.perform(
|
||||
actionDeleteMember(this.issue.entityIds[0], this.issue.data.member.index),
|
||||
@@ -87,7 +87,7 @@ export function validationMissingRole() {
|
||||
|
||||
function makeAddRoleFix(role) {
|
||||
return new validationIssueFix({
|
||||
title: t('issues.fix.set_as_' + role + '.title'),
|
||||
title: t.html('issues.fix.set_as_' + role + '.title'),
|
||||
onClick: function(context) {
|
||||
var oldMember = this.issue.data.member;
|
||||
var member = { id: this.issue.entityIds[1], type: oldMember.type, role: role };
|
||||
|
||||
@@ -98,7 +98,7 @@ export function validationMissingTag(context) {
|
||||
|
||||
fixes.push(new validationIssueFix({
|
||||
icon: 'iD-icon-search',
|
||||
title: t('issues.fix.' + selectFixType + '.title'),
|
||||
title: t.html('issues.fix.' + selectFixType + '.title'),
|
||||
onClick: function(context) {
|
||||
context.ui().sidebar.showPresetList();
|
||||
}
|
||||
@@ -122,7 +122,7 @@ export function validationMissingTag(context) {
|
||||
fixes.push(
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-delete',
|
||||
title: t('issues.fix.delete_feature.title'),
|
||||
title: t.html('issues.fix.delete_feature.title'),
|
||||
disabledReason: disabledReasonID ? t('operations.delete.' + disabledReasonID + '.single') : undefined,
|
||||
onClick: deleteOnClick
|
||||
})
|
||||
|
||||
@@ -180,7 +180,7 @@ export function validationOutdatedTags() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
autoArgs: autoArgs,
|
||||
title: t('issues.fix.upgrade_tags.title'),
|
||||
title: t.html('issues.fix.upgrade_tags.title'),
|
||||
onClick: (context) => {
|
||||
context.perform(doUpgrade, t('issues.fix.upgrade_tags.annotation'));
|
||||
}
|
||||
@@ -276,7 +276,7 @@ export function validationOutdatedTags() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
autoArgs: [doUpgrade, t('issues.fix.move_tags.annotation')],
|
||||
title: t('issues.fix.move_tags.title'),
|
||||
title: t.html('issues.fix.move_tags.title'),
|
||||
onClick: (context) => {
|
||||
context.perform(doUpgrade, t('issues.fix.move_tags.annotation'));
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ export function validationPrivateData() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-delete',
|
||||
title: t('issues.fix.' + fixID + '.title'),
|
||||
title: t.html('issues.fix.' + fixID + '.title'),
|
||||
onClick: function(context) {
|
||||
context.perform(doUpgrade, t('issues.fix.upgrade_tags.annotation'));
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ export function validationSuspiciousName() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-delete',
|
||||
title: t('issues.fix.remove_the_name.title'),
|
||||
title: t.html('issues.fix.remove_the_name.title'),
|
||||
onClick: function(context) {
|
||||
let entityId = this.issue.entityIds[0];
|
||||
let entity = context.entity(entityId);
|
||||
@@ -121,7 +121,7 @@ export function validationSuspiciousName() {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-delete',
|
||||
title: t('issues.fix.remove_the_name.title'),
|
||||
title: t.html('issues.fix.remove_the_name.title'),
|
||||
onClick: function(context) {
|
||||
const entityId = this.issue.entityIds[0];
|
||||
const entity = context.entity(entityId);
|
||||
|
||||
@@ -85,7 +85,7 @@ export function validationUnsquareWay(context) {
|
||||
return [
|
||||
new validationIssueFix({
|
||||
icon: 'iD-operation-orthogonalize',
|
||||
title: t('issues.fix.square_feature.title'),
|
||||
title: t.html('issues.fix.square_feature.title'),
|
||||
autoArgs: autoArgs,
|
||||
onClick: function(context, completionHandler) {
|
||||
var entityId = this.issue.entityIds[0];
|
||||
@@ -100,7 +100,7 @@ export function validationUnsquareWay(context) {
|
||||
}),
|
||||
/*
|
||||
new validationIssueFix({
|
||||
title: t('issues.fix.tag_as_unsquare.title'),
|
||||
title: t.html('issues.fix.tag_as_unsquare.title'),
|
||||
onClick: function(context) {
|
||||
var entityId = this.issue.entityIds[0];
|
||||
var entity = context.entity(entityId);
|
||||
|
||||
Reference in New Issue
Block a user