mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-23 00:29:50 +02:00
Handle tooltip disabled reasons
This commit is contained in:
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
+21
-16
@@ -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