From 6e749c70ef30cc1f1cb3bedb7663a7d8fc174a23 Mon Sep 17 00:00:00 2001 From: Andrew Wong Date: Wed, 19 Dec 2018 17:27:40 -0500 Subject: [PATCH] listening to user generated history changes for validation --- modules/core/context.js | 8 ++++++++ modules/ui/issues.js | 2 ++ modules/validations/issueManager.js | 1 - 3 files changed, 10 insertions(+), 1 deletion(-) 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; };