From 0d0521c9368029fb8d482ba610d04ae579d7d3ca Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Wed, 19 Dec 2018 10:32:14 -0500 Subject: [PATCH] Moved feature applicability into the issue manager class --- modules/ui/issues.js | 20 +++++++++++--------- modules/validations/issueManager.js | 13 +++++++++++++ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/modules/ui/issues.js b/modules/ui/issues.js index 694a5272c..1660aeba5 100644 --- a/modules/ui/issues.js +++ b/modules/ui/issues.js @@ -17,15 +17,12 @@ import { uiMapData } from './map_data'; import { uiSettingsCustomData } from './settings/custom_data'; import { uiTooltipHtml } from './tooltipHtml'; - export function uiIssues(context) { var key = t('issues.key'); - var featureApplicability = ['edited', 'all']; var _issuesOptionsContainer = d3_select(null); var _featureApplicabilityList = d3_select(null); var _issuesList = d3_select(null); var _shown = false; - var _selectedFeatureApplicability = context.storage('issue-features') || 'edited'; function renderIssuesOptions(selection) { var container = selection.selectAll('.issues-options-container') @@ -169,19 +166,24 @@ export function uiIssues(context) { } function showsFeatureApplicability(d) { - return _selectedFeatureApplicability === d; + return context.issueManager().getFeatureApplicability() === d; } - - function _setFeatureApplicability(d) { - _selectedFeatureApplicability = d; - context.storage('issue-features', d); + function setFeatureApplicability(d) { + context.issueManager().setFeatureApplicability(d); update(); } function update() { _featureApplicabilityList - .call(drawListItems, featureApplicability, 'radio', 'feature_applicability', _setFeatureApplicability, showsFeatureApplicability); + .call( + drawListItems, + context.issueManager().featureApplicabilityOptions, + 'radio', + 'feature_applicability', + setFeatureApplicability, + showsFeatureApplicability + ); _issuesList .call(drawIssuesList); diff --git a/modules/validations/issueManager.js b/modules/validations/issueManager.js index ae007a3ca..4bcdc162a 100644 --- a/modules/validations/issueManager.js +++ b/modules/validations/issueManager.js @@ -6,6 +6,19 @@ export function IssueManager(context) { self = {}, issues = []; + self.featureApplicabilityOptions = ['edited', 'all']; + + var featureApplicability = context.storage('issue-features') || 'edited'; + + self.getFeatureApplicability = function() { + return featureApplicability; + }; + + self.setFeatureApplicability = function(applicability) { + featureApplicability = applicability; + context.storage('issue-features', applicability); + }; + self.getIssues = function() { self.validate(); return issues;