diff --git a/modules/core/context.js b/modules/core/context.js index 7d0fa6eb3..a739f9018 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -443,12 +443,20 @@ export function coreContext() { } history = coreHistory(context); + context.graph = history.graph; context.changes = history.changes; context.intersects = history.intersects; issueManager = IssueManager(context); + var debouncedValidate = _debounce(issueManager.validate, 1000); + history.on('change', function(difference) { + if (difference) { + debouncedValidate(); + } + }); + // Debounce save, since it's a synchronous localStorage write, // and history changes can happen frequently (e.g. when dragging). context.debouncedSave = _debounce(context.save, 350); diff --git a/modules/ui/issues.js b/modules/ui/issues.js index 8e6c4163d..13f38cfa1 100644 --- a/modules/ui/issues.js +++ b/modules/ui/issues.js @@ -20,6 +20,8 @@ export function uiIssues(context) { var _issuesList = d3_select(null); var _shown = false; + context.issueManager().on('reload', update); + function renderIssuesOptions(selection) { var container = selection.selectAll('.issues-options-container') .data([0]); diff --git a/modules/validations/issueManager.js b/modules/validations/issueManager.js index 14540af49..4ece630d9 100644 --- a/modules/validations/issueManager.js +++ b/modules/validations/issueManager.js @@ -23,7 +23,6 @@ export function IssueManager(context) { }; self.getIssues = function() { - self.validate(); return issues; };