mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
Handle tooltip disabled reasons
This commit is contained in:
@@ -132,7 +132,8 @@ en:
|
||||
annotation: "Merged {n} features."
|
||||
not_eligible: These features can't be merged.
|
||||
not_adjacent: These features can't be merged because their endpoints aren't connected.
|
||||
restriction: "These features can't be merged because at least one is a member of a \"{relation}\" relation."
|
||||
restriction: "These features can't be merged because it would damage a \"{relation}\" relation."
|
||||
relation: These features can't be merged because they have conflicting relation roles.
|
||||
incomplete_relation: These features can't be merged because at least one hasn't been fully downloaded.
|
||||
conflicting_tags: These features can't be merged because some of their tags have conflicting values.
|
||||
move:
|
||||
|
||||
3
dist/locales/en.json
vendored
3
dist/locales/en.json
vendored
@@ -170,7 +170,8 @@
|
||||
"annotation": "Merged {n} features.",
|
||||
"not_eligible": "These features can't be merged.",
|
||||
"not_adjacent": "These features can't be merged because their endpoints aren't connected.",
|
||||
"restriction": "These features can't be merged because at least one is a member of a \"{relation}\" relation.",
|
||||
"restriction": "These features can't be merged because it would damage a \"{relation}\" relation.",
|
||||
"relation": "These features can't be merged because they have conflicting relation roles.",
|
||||
"incomplete_relation": "These features can't be merged because at least one hasn't been fully downloaded.",
|
||||
"conflicting_tags": "These features can't be merged because some of their tags have conflicting values."
|
||||
},
|
||||
|
||||
@@ -30,6 +30,7 @@ export function actionMergeNodes(nodeIDs) {
|
||||
|
||||
|
||||
var action = function(graph) {
|
||||
if (nodeIDs.length < 2) return graph;
|
||||
var toLoc = chooseLoc(graph);
|
||||
|
||||
for (var i = 0; i < nodeIDs.length; i++) {
|
||||
@@ -41,7 +42,14 @@ export function actionMergeNodes(nodeIDs) {
|
||||
};
|
||||
|
||||
|
||||
action.disabled = function (graph) {
|
||||
action.disabled = function(graph) {
|
||||
if (nodeIDs.length < 2) return 'not_eligible';
|
||||
|
||||
for (var i = 0; i < nodeIDs.length; i++) {
|
||||
var entity = graph.entity(nodeIDs[i]);
|
||||
if (entity.type !== 'node') return 'not_eligible';
|
||||
}
|
||||
|
||||
return actionConnect(nodeIDs).disabled(graph);
|
||||
};
|
||||
|
||||
|
||||
@@ -78,25 +78,30 @@ export function operationMerge(selectedIDs, context) {
|
||||
|
||||
|
||||
operation.tooltip = function() {
|
||||
var j = join.disabled(context.graph());
|
||||
var m = merge.disabled(context.graph());
|
||||
var p = mergePolygon.disabled(context.graph());
|
||||
var n = mergeNodes.disabled(context.graph());
|
||||
|
||||
if (j === 'restriction' && m && p && n) {
|
||||
return t('operations.merge.restriction',
|
||||
{ relation: context.presets().item('type/restriction').name() });
|
||||
}
|
||||
|
||||
if (p === 'incomplete_relation' && j && m && n) {
|
||||
return t('operations.merge.incomplete_relation');
|
||||
}
|
||||
var j = join.disabled(context.graph()); // 'not_eligible', 'not_adjacent', 'restriction', 'conflicting_tags'
|
||||
var m = merge.disabled(context.graph()); // 'not_eligible'
|
||||
var p = mergePolygon.disabled(context.graph()); // 'not_eligible', 'incomplete_relation'
|
||||
var n = mergeNodes.disabled(context.graph()); // 'not_eligible', 'relation', 'restriction'
|
||||
|
||||
// disabled for one of various reasons
|
||||
if (j && m && p && n) {
|
||||
return t('operations.merge.' + j);
|
||||
}
|
||||
if (j === 'restriction' || n === 'restriction') {
|
||||
return t('operations.merge.restriction',
|
||||
{ relation: context.presets().item('type/restriction').name() });
|
||||
|
||||
return t('operations.merge.description');
|
||||
} else if (p === 'incomplete_relation') {
|
||||
return t('operations.merge.incomplete_relation');
|
||||
|
||||
} else if (n === 'relation') {
|
||||
return t('operations.merge.relation');
|
||||
|
||||
} else {
|
||||
return t('operations.merge.' + j);
|
||||
}
|
||||
|
||||
} else {
|
||||
return t('operations.merge.description');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user