import { marked } from 'marked'; import { select as d3_select } from 'd3-selection'; import { prefs } from '../core/preferences'; import { t, localizer } from '../core/localizer'; import { presetManager } from '../presets'; import { behaviorHash } from '../behavior'; import { modeBrowse } from '../modes/browse'; import { svgDefs, svgIcon } from '../svg'; import { utilDetect } from '../util/detect'; import { utilGetDimensions } from '../util/dimensions'; import { uiAccount } from './account'; import { uiAttribution } from './attribution'; import { uiContributors } from './contributors'; import { uiEditMenu } from './edit_menu'; import { uiFeatureInfo } from './feature_info'; import { uiFlash } from './flash'; import { uiFullScreen } from './full_screen'; import { uiGeolocate } from './geolocate'; import { uiInfo } from './info'; import { uiIntro } from './intro'; import { uiIssuesInfo } from './issues_info'; import { uiLoading } from './loading'; import { uiMapInMap } from './map_in_map'; import { uiNotice } from './notice'; import { uiPhotoviewer } from './photoviewer'; import { uiRestore } from './restore'; import { uiScale } from './scale'; import { uiShortcuts } from './shortcuts'; import { uiSidebar } from './sidebar'; import { uiSourceSwitch } from './source_switch'; import { uiSpinner } from './spinner'; import { uiSplash } from './splash'; import { uiStatus } from './status'; import { uiTooltip } from './tooltip'; import { uiTopToolbar } from './top_toolbar'; import { uiVersion } from './version'; import { uiZoom } from './zoom'; import { uiZoomToSelection } from './zoom_to_selection'; import { uiCmd } from './cmd'; import { uiPaneBackground } from './panes/background'; import { uiPaneHelp } from './panes/help'; import { uiPaneIssues } from './panes/issues'; import { uiPaneMapData } from './panes/map_data'; import { uiPanePreferences } from './panes/preferences'; export function uiInit(context) { var _initCounter = 0; var _needWidth = {}; var _lastPointerType; function render(container) { container .on('click.ui', function(d3_event) { // we're only concerned with the primary mouse button if (d3_event.button !== 0) return; if (!d3_event.composedPath) return; // some targets have default click events we don't want to override var isOkayTarget = d3_event.composedPath().some(function(node) { // we only care about element nodes return node.nodeType === 1 && // clicking focuses it and/or changes a value (node.nodeName === 'INPUT' || // clicking