From 620d79bfc852e0c962b86e29733b728688fd55da Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Fri, 29 May 2020 17:18:10 -0400 Subject: [PATCH] Reorganize the code for setting the mode class on the container --- modules/ui/init.js | 10 ++++++++++ modules/ui/tools/modes.js | 18 ++---------------- modules/ui/tools/notes.js | 17 ++--------------- 3 files changed, 14 insertions(+), 31 deletions(-) diff --git a/modules/ui/init.js b/modules/ui/init.js index ed275f2817..e7c399fa48 100644 --- a/modules/ui/init.js +++ b/modules/ui/init.js @@ -364,6 +364,16 @@ export function uiInit(context) { context.map().toggleHighlightEdited(); }); + context + .on('enter.editor', function(entered) { + container + .classed('mode-' + entered.id, true); + }) + .on('exit.editor', function(exited) { + container + .classed('mode-' + exited.id, false); + }); + context.enter(modeBrowse(context)); if (!_initCounter++) { diff --git a/modules/ui/tools/modes.js b/modules/ui/tools/modes.js index 46022be10b..9bcfa47766 100644 --- a/modules/ui/tools/modes.js +++ b/modules/ui/tools/modes.js @@ -73,21 +73,6 @@ export function uiToolOldDrawModes(context) { .attr('class', 'joined') .style('display', 'flex'); - context - .on('enter.editor', function(entered) { - selection.selectAll('button.add-button') - .classed('active', function(mode) { return entered.button === mode.button; }); - context.container() - .classed('mode-' + entered.id, true); - }); - - context - .on('exit.editor', function(exited) { - context.container() - .classed('mode-' + exited.id, false); - }); - - var debouncedUpdate = _debounce(update, 500, { leading: true, trailing: true }); context.map() @@ -152,7 +137,8 @@ export function uiToolOldDrawModes(context) { // update buttons = buttons .merge(buttonsEnter) - .classed('disabled', function(d) { return !enabled(d); }); + .classed('disabled', function(d) { return !enabled(d); }) + .classed('active', function(d) { return context.mode() && context.mode().button === d.button; }); } }; diff --git a/modules/ui/tools/notes.js b/modules/ui/tools/notes.js index 5164d21276..49c750ab38 100644 --- a/modules/ui/tools/notes.js +++ b/modules/ui/tools/notes.js @@ -46,20 +46,6 @@ export function uiToolNotes(context) { tool.render = function(selection) { - context - .on('enter.editor.notes', function(entered) { - selection.selectAll('button.add-button') - .classed('active', function(mode) { return entered.button === mode.button; }); - context.container() - .classed('mode-' + entered.id, true); - }); - - context - .on('exit.editor.notes', function(exited) { - context.container() - .classed('mode-' + exited.id, false); - }); - var debouncedUpdate = _debounce(update, 500, { leading: true, trailing: true }); @@ -123,7 +109,8 @@ export function uiToolNotes(context) { // update buttons = buttons .merge(buttonsEnter) - .classed('disabled', function(d) { return !enabled(d); }); + .classed('disabled', function(d) { return !enabled(d); }) + .classed('active', function(d) { return context.mode() && context.mode().button === d.button; }); } };