Fix issue where fixes would not expand when clicking an issue

Rename issue label class to messages
Remove fix list animation
This commit is contained in:
Quincy Morgan
2019-02-15 13:40:45 -05:00
parent 6cb4359d13
commit 31eb837596
4 changed files with 47 additions and 46 deletions

View File

@@ -1,5 +1,3 @@
import _isEmpty from 'lodash-es/isEmpty';
import {
event as d3_event,
select as d3_select

View File

@@ -10,7 +10,7 @@ import { utilHighlightEntities } from '../util';
export function uiEntityIssues(context) {
var _selection = d3_select(null);
var _expanded = 0;
var _expandedIssueID;
var _entityID;
// Listen for validation reload even though the entity editor is reloaded on
@@ -25,11 +25,6 @@ export function uiEntityIssues(context) {
});
function clamp(num, min, max) {
return Math.max(min, Math.min(num, max));
}
function entityIssues(selection) {
_selection = selection;
@@ -55,7 +50,7 @@ export function uiEntityIssues(context) {
function render(selection) {
var issues = context.validator().getIssuesForEntityWithID(_entityID);
_expanded = clamp(_expanded, 0, issues.length);
_expandedIssueID = issues.length > 0 ? issues[0].id() : null;
var items = selection.selectAll('.issue')
.data(issues, function(d) { return d.id(); });
@@ -74,17 +69,25 @@ export function uiEntityIssues(context) {
.placement('top')
)
.on('mouseover.highlight', function(d) {
var ids = d.entities.map(function(e) { return e.id; });
// don't hover-highlight the selected entity
var ids = d.entities.filter(function(e) { return e.id !== _entityID; })
.map(function(e) { return e.id; });
utilHighlightEntities(ids, true, context);
})
.on('mouseout.highlight', function(d) {
var ids = d.entities.map(function(e) { return e.id; });
var ids = d.entities.filter(function(e) { return e.id !== _entityID; })
.map(function(e) { return e.id; });
utilHighlightEntities(ids, false, context);
})
.on('click', function(d, i) {
_expanded = i; // expand only the clicked item
});
var messagesEnter = itemsEnter
.append('button')
.attr('class', 'message')
.on('click', function(d) {
_expandedIssueID = d.id(); // expand only the clicked item
selection.selectAll('.issue')
.classed('expanded', function(d, i) { return i === _expanded; });
.classed('expanded', function(d) { return d.id() === _expandedIssueID; });
var extent = d.extent(context.graph());
if (extent) {
@@ -96,16 +99,12 @@ export function uiEntityIssues(context) {
}
});
var labelsEnter = itemsEnter
.append('button')
.attr('class', 'label');
labelsEnter
messagesEnter
.append('span')
.attr('class', 'issue-icon')
.call(svgIcon('', 'pre-text'));
labelsEnter
messagesEnter
.append('strong')
.attr('class', 'issue-text');
@@ -117,7 +116,7 @@ export function uiEntityIssues(context) {
// Update
items = items
.merge(itemsEnter)
.classed('expanded', function(d, i) { return i === _expanded; });
.classed('expanded', function(d) { return d.id() === _expandedIssueID; });
items.select('.issue-icon svg use') // propagate bound data
.attr('href', function(d) {
@@ -171,7 +170,7 @@ export function uiEntityIssues(context) {
if (!arguments.length) return _entityID;
if (_entityID !== val) {
_entityID = val;
_expanded = 0;
_expandedIssueID = null;
}
return entityIssues;
};

View File

@@ -131,23 +131,23 @@ export function uiIssues(context) {
});
var labelsEnter = itemsEnter
var messagesEnter = itemsEnter
.append('button')
.attr('class', 'label');
.attr('class', 'message');
labelsEnter
messagesEnter
.call(tooltip()
.html(true)
.title(function(d) { return uiTooltipHtml(d.tooltip); })
.placement('top')
);
labelsEnter
messagesEnter
.append('span')
.attr('class', 'issue-icon')
.call(svgIcon('', 'pre-text'));
labelsEnter
messagesEnter
.append('span')
.attr('class', 'issue-text');
@@ -171,17 +171,17 @@ export function uiIssues(context) {
.append('div')
.call(svgIcon('#iD-icon-apply', 'pre-text'));
var noIssuesLabel = selection
var noIssuesMessage = selection
.append('span');
noIssuesLabel
noIssuesMessage
.append('strong')
.text(t('issues.no_issues.message'));
noIssuesLabel
noIssuesMessage
.append('br');
noIssuesLabel
noIssuesMessage
.append('span')
.text(t('issues.no_issues.info'));
}