Replace various uses of d3_select and d3_selectAll with selection on the container

This commit is contained in:
Quincy Morgan
2020-03-22 12:34:06 -07:00
parent 6b9b58a2ca
commit eed7944a1a
26 changed files with 65 additions and 73 deletions
+1 -1
View File
@@ -111,7 +111,7 @@ export function behaviorSelect(context) {
if (dist > tolerance) return;
var datum = d3_event.target.__data__ || (_lastMouse && _lastMouse.target.__data__);
var isMultiselect = d3_event.shiftKey || d3_select('.surface .lasso').node();
var isMultiselect = d3_event.shiftKey || context.surface().select('.lasso').node();
processClick(datum, isMultiselect);
}
+1 -1
View File
@@ -445,7 +445,7 @@ export function modeDragNode(context) {
var drag = behaviorDrag()
.selector('.layer-touch.points .target')
.surface(d3_select('.main-map').node())
.surface(context.container().select('.main-map').node())
.origin(origin)
.on('start', start)
.on('move', move)
+2 -3
View File
@@ -1,6 +1,5 @@
import {
event as d3_event,
select as d3_select
event as d3_event
} from 'd3-selection';
import { services } from '../services';
@@ -107,7 +106,7 @@ export function modeDragNote(context) {
var drag = behaviorDrag()
.selector('.layer-touch.markers .target.note.new')
.surface(d3_select('.main-map').node())
.surface(context.container().select('.main-map').node())
.origin(origin)
.on('start', start)
.on('move', move)
+1 -1
View File
@@ -827,7 +827,7 @@ export function rendererMap(context) {
};
map.unobscuredOffsetPx = function() {
var openPane = d3_select('.map-panes .map-pane.shown');
var openPane = context.container().select('.map-panes .map-pane.shown');
if (!openPane.empty()) {
return [openPane.node().offsetWidth/2, 0];
}
+5 -4
View File
@@ -379,7 +379,8 @@ export default {
loadViewer: function(context) {
// add mly-wrapper
var wrap = d3_select('.photoviewer').selectAll('.mly-wrapper')
var wrap = context.container().select('.photoviewer')
.selectAll('.mly-wrapper')
.data([0]);
wrap.enter()
@@ -440,14 +441,14 @@ export default {
},
hideViewer: function() {
hideViewer: function(context) {
_mlySelectedImageKey = null;
if (!_mlyFallback && _mlyViewer) {
_mlyViewer.getComponent('sequence').stop();
}
var viewer = d3_select('.photoviewer');
var viewer = context.container().select('.photoviewer');
if (!viewer.empty()) viewer.datum(null);
viewer
@@ -455,7 +456,7 @@ export default {
.selectAll('.photo-wrapper')
.classed('hide', true);
d3_selectAll('.viewfield-group, .sequence, .icon-detected')
context.container().selectAll('.viewfield-group, .sequence, .icon-detected')
.classed('currentView', false);
return this.setStyles(null, true);
+3 -3
View File
@@ -371,10 +371,10 @@ export default {
},
hideViewer: function() {
hideViewer: function(context) {
_oscSelectedImage = null;
var viewer = d3_select('.photoviewer');
var viewer = context.container().select('.photoviewer');
if (!viewer.empty()) viewer.datum(null);
viewer
@@ -382,7 +382,7 @@ export default {
.selectAll('.photo-wrapper')
.classed('hide', true);
d3_selectAll('.viewfield-group, .sequence, .icon-sign')
context.container().selectAll('.viewfield-group, .sequence, .icon-sign')
.classed('currentView', false);
return this.setStyles(null, true);
+3 -3
View File
@@ -692,8 +692,8 @@ export default {
/**
* hideViewer()
*/
hideViewer: function () {
let viewer = d3_select('.photoviewer');
hideViewer: function (context) {
let viewer = context.container().select('.photoviewer');
if (!viewer.empty()) viewer.datum(null);
viewer
@@ -701,7 +701,7 @@ export default {
.selectAll('.photo-wrapper')
.classed('hide', true);
d3_selectAll('.viewfield-group, .sequence, .icon-sign')
context.container().selectAll('.viewfield-group, .sequence, .icon-sign')
.classed('currentView', false);
return this.setStyles(null, true);
+2 -2
View File
@@ -1,5 +1,5 @@
import { dispatch as d3_dispatch } from 'd3-dispatch';
import { event as d3_event, selectAll as d3_selectAll } from 'd3-selection';
import { event as d3_event } from 'd3-selection';
import deepEqual from 'fast-deep-equal';
import { t, textDirection } from '../util/locale';
@@ -154,7 +154,7 @@ export function uiEntityEditor(context) {
if (priorActivePreset && _activePresets.length === 1 && priorActivePreset !== _activePresets[0]) {
// flash the button to indicate the preset changed
d3_selectAll('.entity-editor button.preset-reset .label')
context.container().selectAll('.entity-editor button.preset-reset .label')
.style('background-color', '#fff')
.transition()
.duration(750)
+1 -1
View File
@@ -94,7 +94,7 @@ export function uiInfo(context) {
wasActive = [which];
}
d3_select('.' + which + '-panel-toggle-item')
context.container().select('.' + which + '-panel-toggle-item')
.classed('active', active[which])
.select('input')
.property('checked', active[which]);
+6 -7
View File
@@ -1,7 +1,6 @@
import {
event as d3_event,
select as d3_select,
selectAll as d3_selectAll
select as d3_select
} from 'd3-selection';
import { t, textDirection, setLocale } from '../util/locale';
@@ -422,8 +421,8 @@ export function uiInit(context) {
// Recalc dimensions of map and sidebar.. (`true` = force recalc)
// This will call `getBoundingClientRect` and trigger reflow,
// but the values will be cached for later use.
var mapDimensions = utilGetDimensions(d3_select('.main-content'), true);
utilGetDimensions(d3_select('.sidebar'), true);
var mapDimensions = utilGetDimensions(context.container().select('.main-content'), true);
utilGetDimensions(context.container().select('.sidebar'), true);
if (withPan !== undefined) {
map.redrawEnable(false);
@@ -470,14 +469,14 @@ export function uiInit(context) {
};
ui.togglePanes = function(showPane) {
var shownPanes = d3_selectAll('.map-pane.shown');
var shownPanes = context.container().selectAll('.map-pane.shown');
var side = textDirection === 'ltr' ? 'right' : 'left';
shownPanes
.classed('shown', false);
d3_selectAll('.map-pane-control button')
context.container().selectAll('.map-pane-control button')
.classed('active', false);
if (showPane) {
@@ -485,7 +484,7 @@ export function uiInit(context) {
.style('display', 'none')
.style(side, '-500px');
d3_selectAll('.' + showPane.attr('pane') + '-control button')
context.container().selectAll('.' + showPane.attr('pane') + '-control button')
.classed('active', true);
showPane
+2 -2
View File
@@ -1,5 +1,5 @@
import { interpolate as d3_interpolate } from 'd3-interpolate';
import { select as d3_select, selectAll as d3_selectAll } from 'd3-selection';
import { select as d3_select } from 'd3-selection';
import { uiEntityEditor } from './entity_editor';
import { uiPresetList } from './preset_list';
@@ -136,7 +136,7 @@ export function uiInspector(context) {
entityEditor.state(_state);
// remove any old field help overlay that might have gotten attached to the inspector
d3_selectAll('.field-help-body').remove();
context.container().selectAll('.field-help-body').remove();
return inspector;
};
+6 -6
View File
@@ -1,4 +1,4 @@
import { select as d3_select, selectAll as d3_selectAll } from 'd3-selection';
import { select as d3_select } from 'd3-selection';
import { t, textDirection } from '../../util/locale';
import { localize } from './helper';
@@ -72,14 +72,14 @@ export function uiIntro(context) {
let zoom = context.map().zoom();
let background = context.background().baseLayerSource();
let overlays = context.background().overlayLayerSources();
let opacity = d3_selectAll('.main-map .layer-background').style('opacity');
let opacity = context.container().selectAll('.main-map .layer-background').style('opacity');
let caches = osm && osm.caches();
let baseEntities = context.history().graph().base().entities;
// Show sidebar and disable the sidebar resizing button
// (this needs to be before `context.inIntro(true)`)
context.ui().sidebar.expand();
d3_selectAll('button.sidebar-toggle').classed('disabled', true);
context.container().selectAll('button.sidebar-toggle').classed('disabled', true);
// Block saving
context.inIntro(true);
@@ -109,7 +109,7 @@ export function uiIntro(context) {
});
d3_selectAll('.main-map .layer-background').style('opacity', 1);
context.container().selectAll('.main-map .layer-background').style('opacity', 1);
let curtain = uiCurtain();
selection.call(curtain);
@@ -156,8 +156,8 @@ export function uiIntro(context) {
curtain.remove();
navwrap.remove();
d3_selectAll('.main-map .layer-background').style('opacity', opacity);
d3_selectAll('button.sidebar-toggle').classed('disabled', false);
context.container().selectAll('.main-map .layer-background').style('opacity', opacity);
context.container().selectAll('button.sidebar-toggle').classed('disabled', false);
if (osm) { osm.toggle(true).reset().caches(caches); }
context.history().reset().merge(Object.values(baseEntities));
context.background().baseLayerSource(background);
+4 -5
View File
@@ -1,7 +1,6 @@
import { dispatch as d3_dispatch } from 'd3-dispatch';
import {
select as d3_select,
selectAll as d3_selectAll
select as d3_select
} from 'd3-selection';
import { t } from '../../util/locale';
@@ -38,7 +37,7 @@ export function uiIntroStartEditing(context, reveal) {
}
function showSave() {
d3_selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
context.container().selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
reveal('.top-toolbar button.save',
t('intro.startediting.save'), {
buttonText: t('intro.ok'),
@@ -48,7 +47,7 @@ export function uiIntroStartEditing(context, reveal) {
}
function showStart() {
d3_selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
context.container().selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
modalSelection = uiModal(context.container());
@@ -86,7 +85,7 @@ export function uiIntroStartEditing(context, reveal) {
chapter.exit = function() {
modalSelection.remove();
d3_selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
context.container().selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
};
+1 -1
View File
@@ -71,7 +71,7 @@ export function uiIssuesInfo(context) {
tooltipBehavior.hide(d3_select(this));
// open the Issues pane
context.ui().togglePanes(d3_select('.map-panes .issues-pane'));
context.ui().togglePanes(context.container().select('.map-panes .issues-pane'));
});
chipSelection.call(svgIcon('#' + d.iconID));
+1 -1
View File
@@ -263,7 +263,7 @@ export function uiMapInMap(context) {
_isHidden = !_isHidden;
d3_select('.minimap-toggle-item')
context.container().select('.minimap-toggle-item')
.classed('active', !_isHidden)
.select('input')
.property('checked', !_isHidden);
+2 -3
View File
@@ -1,8 +1,7 @@
import _debounce from 'lodash-es/debounce';
import {
event as d3_event,
select as d3_select
event as d3_event
} from 'd3-selection';
import { t } from '../../util/locale';
@@ -101,7 +100,7 @@ export function uiPanelBackground(context) {
var debouncedGetMetadata = _debounce(getMetadata, 250);
function getMetadata(selection) {
var tile = d3_select('.layer-background img.tile-center'); // tile near viewport center
var tile = context.container().select('.layer-background img.tile-center'); // tile near viewport center
if (tile.empty()) return;
var sourceName = currSourceName;
+5 -5
View File
@@ -18,9 +18,9 @@ export function uiPhotoviewer(context) {
.append('button')
.attr('class', 'thumb-hide')
.on('click', function () {
if (services.streetside) { services.streetside.hideViewer(); }
if (services.mapillary) { services.mapillary.hideViewer(); }
if (services.openstreetcam) { services.openstreetcam.hideViewer(); }
if (services.streetside) { services.streetside.hideViewer(context); }
if (services.mapillary) { services.mapillary.hideViewer(context); }
if (services.openstreetcam) { services.openstreetcam.hideViewer(context); }
})
.append('div')
.call(svgIcon('#iD-icon-close'));
@@ -104,8 +104,8 @@ export function uiPhotoviewer(context) {
}
photoviewer.onMapResize = function() {
var photoviewer = d3_select('.photoviewer');
var content = d3_select('.main-content');
var photoviewer = context.container().select('.photoviewer');
var content = context.container().select('.main-content');
var mapDimensions = utilGetDimensions(content, true);
// shrink photo viewer if it is too big
// (-90 preserves space at top and bottom of map used by menus)
+2 -3
View File
@@ -3,8 +3,7 @@ import * as countryCoder from '@ideditor/country-coder';
import {
event as d3_event,
select as d3_select,
selectAll as d3_selectAll
select as d3_select
} from 'd3-selection';
import { t, textDirection } from '../util/locale';
@@ -434,7 +433,7 @@ export function uiPresetList(context) {
if (!_entityIDs.every(context.hasEntity)) return;
var geometries = entityGeometries();
var button = d3_selectAll('.preset-list .preset-list-button');
var button = context.container().selectAll('.preset-list .preset-list-button');
// remove existing tooltips
button.call(tooltip().destroyAny);
+4 -5
View File
@@ -1,7 +1,6 @@
import {
event as d3_event,
select as d3_select,
selectAll as d3_selectAll
select as d3_select
} from 'd3-selection';
import { t, textDirection } from '../../util/locale';
@@ -36,12 +35,12 @@ export function uiSectionBackgroundOffset(context) {
var x = +meters[0].toFixed(2);
var y = +meters[1].toFixed(2);
d3_selectAll('.nudge-inner-rect')
context.container().selectAll('.nudge-inner-rect')
.select('input')
.classed('error', false)
.property('value', x + ', ' + y);
d3_selectAll('.nudge-reset')
context.container().selectAll('.nudge-reset')
.classed('disabled', function() {
return (x === 0 && y === 0);
});
@@ -125,7 +124,7 @@ export function uiSectionBackgroundOffset(context) {
})
.on('mouseup.offset', function() {
if (d3_event.button !== 0) return;
d3_selectAll('.nudge-surface')
context.container().selectAll('.nudge-surface')
.remove();
d3_select(window)
+2 -2
View File
@@ -1,4 +1,4 @@
import { select as d3_select, selectAll as d3_selectAll } from 'd3-selection';
import { select as d3_select } from 'd3-selection';
import { t } from '../util/locale';
import { svgIcon } from '../svg/icon';
@@ -17,7 +17,7 @@ export function uiShortcuts(context) {
context.keybinding()
.on([t('shortcuts.toggle.key'), '?'], function () {
if (d3_selectAll('.modal-shortcuts').size()) { // already showing
if (context.container().selectAll('.modal-shortcuts').size()) { // already showing
if (_modalSelection) {
_modalSelection.close();
_modalSelection = null;
+5 -7
View File
@@ -4,9 +4,7 @@ import { drag as d3_drag } from 'd3-drag';
import { interpolateNumber as d3_interpolateNumber } from 'd3-interpolate';
import {
select as d3_select,
event as d3_event,
selectAll as d3_selectAll
event as d3_event
} from 'd3-selection';
import { utilArrayIdentical } from '../util/array';
import { osmEntity, osmNote, QAItem } from '../osm';
@@ -35,7 +33,7 @@ export function uiSidebar(context) {
function sidebar(selection) {
var container = d3_select('#id-container');
var container = context.container();
var minWidth = 280;
var sidebarWidth;
var containerWidth;
@@ -159,7 +157,7 @@ export function uiSidebar(context) {
errEditor = improveOsmEditor;
}
d3_selectAll('.qaItem.' + datum.service)
context.container().selectAll('.qaItem.' + datum.service)
.classed('hover', function(d) { return d.id === datum.id; });
sidebar
@@ -197,8 +195,8 @@ export function uiSidebar(context) {
_wasNote = false;
_wasData = false;
_wasQaItem = false;
d3_selectAll('.note').classed('hover', false);
d3_selectAll('.qaItem').classed('hover', false);
context.container().selectAll('.note').classed('hover', false);
context.container().selectAll('.qaItem').classed('hover', false);
sidebar.hide();
}
}
+1 -1
View File
@@ -130,7 +130,7 @@ export function uiToolOldDrawModes(context) {
.placement('bottom')
.html(true)
.title(function(d) { return uiTooltipHtml(d.description, d.key); })
.scrollContainer(d3_select('.top-toolbar'))
.scrollContainer(context.container().select('.top-toolbar'))
);
buttonsEnter
+1 -1
View File
@@ -107,7 +107,7 @@ export function uiToolNotes(context) {
.placement('bottom')
.html(true)
.title(function(d) { return uiTooltipHtml(d.description, d.key); })
.scrollContainer(d3_select('.top-toolbar'))
.scrollContainer(context.container().select('.top-toolbar'))
);
buttonsEnter
+2 -2
View File
@@ -1,5 +1,5 @@
import { interpolateRgb as d3_interpolateRgb } from 'd3-interpolate';
import { event as d3_event, select as d3_select } from 'd3-selection';
import { event as d3_event } from 'd3-selection';
import { t } from '../../util/locale';
import { modeSave } from '../../modes';
@@ -80,7 +80,7 @@ export function uiToolSave(context) {
.placement('bottom')
.html(true)
.title(uiTooltipHtml(t('save.no_changes'), key))
.scrollContainer(d3_select('.top-toolbar'));
.scrollContainer(context.container().select('.top-toolbar'));
button = selection
.append('button')
+1 -2
View File
@@ -1,4 +1,3 @@
import { select as d3_select } from 'd3-selection';
import { t, textDirection } from '../../util/locale';
import { svgIcon } from '../../svg';
import { uiTooltipHtml } from '../tooltipHtml';
@@ -22,7 +21,7 @@ export function uiToolSidebarToggle(context) {
.placement('bottom')
.html(true)
.title(uiTooltipHtml(t('sidebar.tooltip'), t('sidebar.key')))
.scrollContainer(d3_select('.top-toolbar'))
.scrollContainer(context.container().select('.top-toolbar'))
)
.call(svgIcon('#iD-icon-sidebar-' + (textDirection === 'rtl' ? 'right' : 'left')));
};
+1 -1
View File
@@ -46,7 +46,7 @@ export function uiToolUndoRedo(context) {
t(d.id + '.tooltip', {action: d.annotation()}) :
t(d.id + '.nothing'), d.cmd);
})
.scrollContainer(d3_select('.top-toolbar'));
.scrollContainer(context.container().select('.top-toolbar'));
var buttons = selection.selectAll('button')
.data(commands)