From d62a62cba8703e7bd64c2d194a1bcb749b1ec190 Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Tue, 24 Mar 2020 17:32:09 -0700 Subject: [PATCH] Make popover and tooltip part of the UI module instead of utils --- modules/ui/commit.js | 6 +++--- modules/ui/commit_warnings.js | 4 ++-- modules/ui/feature_info.js | 4 ++-- modules/ui/field.js | 4 ++-- modules/ui/fields/localized.js | 4 ++-- modules/ui/geolocate.js | 4 ++-- modules/ui/index.js | 2 ++ modules/ui/init.js | 7 +++---- modules/ui/issues_info.js | 4 ++-- modules/ui/pane.js | 4 ++-- modules/ui/panes/help.js | 4 ++-- modules/{util => ui}/popover.js | 4 ++-- modules/ui/preset_list.js | 6 +++--- modules/ui/sections/background_list.js | 16 ++++++++-------- modules/ui/sections/data_layers.js | 16 ++++++++-------- modules/ui/sections/feature_type.js | 4 ++-- modules/ui/sections/map_features.js | 4 ++-- modules/ui/sections/map_style_options.js | 4 ++-- modules/ui/sections/overlay_list.js | 6 +++--- modules/ui/sections/photo_overlays.js | 6 +++--- modules/ui/sections/privacy.js | 4 ++-- modules/ui/sections/raw_membership_editor.js | 4 ++-- modules/ui/sections/validation_rules.js | 4 ++-- modules/ui/tools/modes.js | 4 ++-- modules/ui/tools/notes.js | 4 ++-- modules/ui/tools/save.js | 4 ++-- modules/ui/tools/sidebar_toggle.js | 4 ++-- modules/ui/tools/undo_redo.js | 4 ++-- modules/{util => ui}/tooltip.js | 8 ++++---- modules/ui/version.js | 4 ++-- modules/ui/zoom.js | 4 ++-- modules/ui/zoom_to_selection.js | 4 ++-- 32 files changed, 83 insertions(+), 82 deletions(-) rename modules/{util => ui}/popover.js (99%) rename modules/{util => ui}/tooltip.js (86%) diff --git a/modules/ui/commit.js b/modules/ui/commit.js index 51eb9ed4b..9040d68a9 100644 --- a/modules/ui/commit.js +++ b/modules/ui/commit.js @@ -6,7 +6,7 @@ import { t } from '../util/locale'; import { osmChangeset } from '../osm'; import { svgIcon } from '../svg/icon'; import { services } from '../services'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; import { uiChangesetEditor } from './changeset_editor'; import { uiSectionChanges } from './sections/changes'; import { uiCommitWarnings } from './commit_warnings'; @@ -380,11 +380,11 @@ export function uiCommit(context) { }); // remove any existing tooltip - tooltip().destroyAny(buttonSection.selectAll('.save-button')); + uiTooltip().destroyAny(buttonSection.selectAll('.save-button')); if (uploadBlockerTooltipText) { buttonSection.selectAll('.save-button') - .call(tooltip().title(uploadBlockerTooltipText).placement('top')); + .call(uiTooltip().title(uploadBlockerTooltipText).placement('top')); } // Raw Tag Editor diff --git a/modules/ui/commit_warnings.js b/modules/ui/commit_warnings.js index a04f1881f..ad8b75deb 100644 --- a/modules/ui/commit_warnings.js +++ b/modules/ui/commit_warnings.js @@ -1,6 +1,6 @@ import { t } from '../util/locale'; import { svgIcon } from '../svg/icon'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; import { utilEntityOrMemberSelector } from '../util'; @@ -55,7 +55,7 @@ export function uiCommitWarnings(context) { .attr('class', 'issue-message'); itemsEnter.filter(function(d) { return d.tooltip; }) - .call(tooltip() + .call(uiTooltip() .title(function(d) { return d.tooltip; }) .placement('top') ); diff --git a/modules/ui/feature_info.js b/modules/ui/feature_info.js index c8f2e8be8..5cdac21bf 100644 --- a/modules/ui/feature_info.js +++ b/modules/ui/feature_info.js @@ -2,7 +2,7 @@ import { event as d3_event } from 'd3-selection'; import { t } from '../util/locale'; import { uiTooltipHtml } from './tooltipHtml'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; export function uiFeatureInfo(context) { @@ -20,7 +20,7 @@ export function uiFeatureInfo(context) { selection.html(''); if (hiddenList.length) { - var tooltipBehavior = tooltip() + var tooltipBehavior = uiTooltip() .placement('top') .html(true) .title(function() { diff --git a/modules/ui/field.js b/modules/ui/field.js index 09d18e6c4..cf126005c 100644 --- a/modules/ui/field.js +++ b/modules/ui/field.js @@ -5,7 +5,7 @@ import { event as d3_event, select as d3_select } from 'd3-selection'; import { t } from '../util/locale'; import { textDirection } from '../util/locale'; import { svgIcon } from '../svg/icon'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; import { geoExtent } from '../geo/extent'; import { uiFieldHelp } from './field_help'; import { uiFields } from './fields'; @@ -30,7 +30,7 @@ export function uiField(context, presetField, entityIDs, options) { var _tags = {}; var _locked = false; - var _lockedTip = tooltip() + var _lockedTip = uiTooltip() .title(t('inspector.lock.suggestion', { label: field.label })) .placement('bottom'); diff --git a/modules/ui/fields/localized.js b/modules/ui/fields/localized.js index 870b53275..ad61d704b 100644 --- a/modules/ui/fields/localized.js +++ b/modules/ui/fields/localized.js @@ -6,7 +6,7 @@ import { currentLocale, t, languageName } from '../../util/locale'; import { geoExtent } from '../../geo'; import { services } from '../../services'; import { svgIcon } from '../../svg'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { uiCombobox } from '../combobox'; import { utilDetect } from '../../util/detect'; import { utilArrayUniq, utilEditDistance, utilGetSetValue, utilNoAuto, utilRebind } from '../../util'; @@ -51,7 +51,7 @@ export function uiFieldLocalized(field, context) { var _selection = d3_select(null); var _multilingual = []; - var _buttonTip = tooltip() + var _buttonTip = uiTooltip() .title(t('translate.translate')) .placement('left'); var _wikiTitles; diff --git a/modules/ui/geolocate.js b/modules/ui/geolocate.js index 6a54dc90d..97f077db5 100644 --- a/modules/ui/geolocate.js +++ b/modules/ui/geolocate.js @@ -1,7 +1,7 @@ import { select as d3_select } from 'd3-selection'; import { t, textDirection } from '../util/locale'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; import { geoExtent } from '../geo'; import { modeBrowse } from '../modes/browse'; import { svgIcon } from '../svg/icon'; @@ -87,7 +87,7 @@ export function uiGeolocate(context) { .append('button') .on('click', click) .call(svgIcon('#iD-icon-geolocate', 'light')) - .call(tooltip() + .call(uiTooltip() .placement((textDirection === 'rtl') ? 'right' : 'left') .html(true) .title(uiTooltipHtml(t('geolocate.title'), t('geolocate.key'))) diff --git a/modules/ui/index.js b/modules/ui/index.js index b1731aab9..beacd0f76 100644 --- a/modules/ui/index.js +++ b/modules/ui/index.js @@ -42,6 +42,7 @@ export { uiNoteComments } from './note_comments'; export { uiNoteEditor } from './note_editor'; export { uiNoteHeader } from './note_header'; export { uiNoteReport } from './note_report'; +export { uiPopover } from './popover'; export { uiPresetIcon } from './preset_icon'; export { uiPresetList } from './preset_list'; export { uiRestore } from './restore'; @@ -54,6 +55,7 @@ export { uiStatus } from './status'; export { uiSuccess } from './success'; export { uiTagReference } from './tag_reference'; export { uiToggle } from './toggle'; +export { uiTooltip } from './tooltip'; export { uiTooltipHtml } from './tooltipHtml'; export { uiVersion } from './version'; export { uiViewOnOSM } from './view_on_osm'; diff --git a/modules/ui/init.js b/modules/ui/init.js index 513c4c4f4..23697ba98 100644 --- a/modules/ui/init.js +++ b/modules/ui/init.js @@ -5,8 +5,6 @@ import { import { t, textDirection, setLocale } from '../util/locale'; -import { tooltip } from '../util/tooltip'; - import { behaviorHash } from '../behavior'; import { modeBrowse } from '../modes/browse'; import { svgDefs, svgIcon } from '../svg'; @@ -34,6 +32,7 @@ import { uiSidebar } from './sidebar'; 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'; @@ -216,14 +215,14 @@ export function uiInit(context) { .attr('target', '_blank') .attr('href', 'https://github.com/openstreetmap/iD/issues') .call(svgIcon('#iD-icon-bug', 'light')) - .call(tooltip().title(t('report_a_bug')).placement('top')); + .call(uiTooltip().title(t('report_a_bug')).placement('top')); issueLinks .append('a') .attr('target', '_blank') .attr('href', 'https://github.com/openstreetmap/iD/blob/develop/CONTRIBUTING.md#translating') .call(svgIcon('#iD-icon-translate', 'light')) - .call(tooltip().title(t('help_translate')).placement('top')); + .call(uiTooltip().title(t('help_translate')).placement('top')); aboutList .append('li') diff --git a/modules/ui/issues_info.js b/modules/ui/issues_info.js index 8592462a6..1aecae47a 100644 --- a/modules/ui/issues_info.js +++ b/modules/ui/issues_info.js @@ -2,7 +2,7 @@ import { event as d3_event, select as d3_select } from 'd3-selection'; import { svgIcon } from '../svg/icon'; import { t } from '../util/locale'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; export function uiIssuesInfo(context) { @@ -60,7 +60,7 @@ export function uiIssuesInfo(context) { var chipSelection = d3_select(this); - var tooltipBehavior = tooltip() + var tooltipBehavior = uiTooltip() .placement('top') .title(t(d.descriptionID)); diff --git a/modules/ui/pane.js b/modules/ui/pane.js index c96caa105..7b32955be 100644 --- a/modules/ui/pane.js +++ b/modules/ui/pane.js @@ -5,7 +5,7 @@ import { import { svgIcon } from '../svg/icon'; import { textDirection } from '../util/locale'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; import { uiTooltipHtml } from './tooltipHtml'; @@ -72,7 +72,7 @@ export function uiPane(id, context) { pane.renderToggleButton = function(selection) { if (!_paneTooltip) { - _paneTooltip = tooltip() + _paneTooltip = uiTooltip() .placement((textDirection === 'rtl') ? 'right' : 'left') .html(true) .title(uiTooltipHtml(_description, _key)); diff --git a/modules/ui/panes/help.js b/modules/ui/panes/help.js index eec1a42d3..b9aace172 100644 --- a/modules/ui/panes/help.js +++ b/modules/ui/panes/help.js @@ -8,7 +8,7 @@ import { uiTooltipHtml } from '../tooltipHtml'; import { uiPane } from '../pane'; import { t, textDirection } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { icon } from '../intro/helper'; export function uiPaneHelp(context) { @@ -364,7 +364,7 @@ export function uiPaneHelp(context) { var shortcuts = toc .append('li') .attr('class', 'shortcuts') - .call(tooltip() + .call(uiTooltip() .html(true) .title(uiTooltipHtml(t('shortcuts.tooltip'), '?')) .placement('top') diff --git a/modules/util/popover.js b/modules/ui/popover.js similarity index 99% rename from modules/util/popover.js rename to modules/ui/popover.js index 9685bef51..8c2f89e98 100644 --- a/modules/util/popover.js +++ b/modules/ui/popover.js @@ -1,9 +1,9 @@ import { event as d3_event, select as d3_select } from 'd3-selection'; -import { utilFunctor } from './util'; +import { utilFunctor } from '../util/util'; var _popoverID = 0; -export function popover(klass) { +export function uiPopover(klass) { var _id = _popoverID++; var _anchorSelection = d3_select(null); var popover = function(selection) { diff --git a/modules/ui/preset_list.js b/modules/ui/preset_list.js index 2fcfd9de9..f79fae3dd 100644 --- a/modules/ui/preset_list.js +++ b/modules/ui/preset_list.js @@ -10,7 +10,7 @@ import { t, textDirection } from '../util/locale'; import { actionChangePreset } from '../actions/change_preset'; import { operationDelete } from '../operations/delete'; import { svgIcon } from '../svg/index'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; import { geoExtent } from '../geo/extent'; import { uiPresetIcon } from './preset_icon'; import { uiTagReference } from './tag_reference'; @@ -436,7 +436,7 @@ export function uiPresetList(context) { var button = context.container().selectAll('.preset-list .preset-list-button'); // remove existing tooltips - button.call(tooltip().destroyAny); + button.call(uiTooltip().destroyAny); button.each(function(item, index) { var hiddenPresetFeaturesId; @@ -455,7 +455,7 @@ export function uiPresetList(context) { var isAutoHidden = context.features().autoHidden(hiddenPresetFeaturesId); var tooltipIdSuffix = isAutoHidden ? 'zoom' : 'manual'; var tooltipObj = { features: t('feature.' + hiddenPresetFeaturesId + '.description') }; - d3_select(this).call(tooltip() + d3_select(this).call(uiTooltip() .title(t('inspector.hidden_preset.' + tooltipIdSuffix, tooltipObj)) .placement(index < 2 ? 'bottom' : 'top') ); diff --git a/modules/ui/sections/background_list.js b/modules/ui/sections/background_list.js index 8f6e756a2..3b41011db 100644 --- a/modules/ui/sections/background_list.js +++ b/modules/ui/sections/background_list.js @@ -6,7 +6,7 @@ import { } from 'd3-selection'; import { t, textDirection } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { svgIcon } from '../../svg/icon'; import { uiCmd } from '../cmd'; import { uiSettingsCustomBackground } from '../settings/custom_background'; @@ -55,7 +55,7 @@ export function uiSectionBackgroundList(context) { .append('li') .attr('class', 'minimap-toggle-item') .append('label') - .call(tooltip() + .call(uiTooltip() .html(true) .title(uiTooltipHtml(t('background.minimap.tooltip'), t('background.minimap.key'))) .placement('top') @@ -78,7 +78,7 @@ export function uiSectionBackgroundList(context) { .append('li') .attr('class', 'background-panel-toggle-item') .append('label') - .call(tooltip() + .call(uiTooltip() .html(true) .title(uiTooltipHtml(t('background.panel.tooltip'), uiCmd('⌘⇧' + t('info_panels.background.key')))) .placement('top') @@ -122,10 +122,10 @@ export function uiSectionBackgroundList(context) { var description = d.description(); var isOverflowing = (span.property('clientWidth') !== span.property('scrollWidth')); - item.call(tooltip().destroyAny); + item.call(uiTooltip().destroyAny); if (d.id === previousBackgroundID()) { - item.call(tooltip() + item.call(uiTooltip() .placement(placement) .html(true) .title(function() { @@ -134,7 +134,7 @@ export function uiSectionBackgroundList(context) { }) ); } else if (description || isOverflowing) { - item.call(tooltip() + item.call(uiTooltip() .placement(placement) .title(description || d.name()) ); @@ -174,7 +174,7 @@ export function uiSectionBackgroundList(context) { enter.filter(function(d) { return d.id === 'custom'; }) .append('button') .attr('class', 'layer-browse') - .call(tooltip() + .call(uiTooltip() .title(t('settings.custom_background.tooltip')) .placement((textDirection === 'rtl') ? 'right' : 'left') ) @@ -184,7 +184,7 @@ export function uiSectionBackgroundList(context) { enter.filter(function(d) { return d.best(); }) .append('div') .attr('class', 'best') - .call(tooltip() + .call(uiTooltip() .title(t('background.best_imagery')) .placement((textDirection === 'rtl') ? 'right' : 'left') ) diff --git a/modules/ui/sections/data_layers.js b/modules/ui/sections/data_layers.js index d31a609e0..87eeeb78b 100644 --- a/modules/ui/sections/data_layers.js +++ b/modules/ui/sections/data_layers.js @@ -5,7 +5,7 @@ import { } from 'd3-selection'; import { t, textDirection } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { svgIcon } from '../../svg/icon'; import { geoExtent } from '../../geo'; import { modeBrowse } from '../../modes/browse'; @@ -94,14 +94,14 @@ export function uiSectionDataLayers(context) { .each(function(d) { if (d.id === 'osm') { d3_select(this) - .call(tooltip() + .call(uiTooltip() .html(true) .title(uiTooltipHtml(t('map_data.layers.' + d.id + '.tooltip'), uiCmd('⌥' + t('area_fill.wireframe.key')))) .placement('bottom') ); } else { d3_select(this) - .call(tooltip() + .call(uiTooltip() .title(t('map_data.layers.' + d.id + '.tooltip')) .placement('bottom') ); @@ -153,7 +153,7 @@ export function uiSectionDataLayers(context) { .append('label') .each(function(d) { d3_select(this) - .call(tooltip() + .call(uiTooltip() .title(t('map_data.layers.' + d.id + '.tooltip')) .placement('bottom') ); @@ -254,7 +254,7 @@ export function uiSectionDataLayers(context) { .append('label') .each(function(d) { d3_select(this).call( - tooltip().title(d.tooltip).placement('top') + uiTooltip().title(d.tooltip).placement('top') ); }); @@ -313,7 +313,7 @@ export function uiSectionDataLayers(context) { var labelEnter = liEnter .append('label') - .call(tooltip() + .call(uiTooltip() .title(t('map_data.layers.custom.tooltip')) .placement('top') ); @@ -329,7 +329,7 @@ export function uiSectionDataLayers(context) { liEnter .append('button') - .call(tooltip() + .call(uiTooltip() .title(t('settings.custom_data.tooltip')) .placement((textDirection === 'rtl') ? 'right' : 'left') ) @@ -338,7 +338,7 @@ export function uiSectionDataLayers(context) { liEnter .append('button') - .call(tooltip() + .call(uiTooltip() .title(t('map_data.layers.custom.zoom')) .placement((textDirection === 'rtl') ? 'right' : 'left') ) diff --git a/modules/ui/sections/feature_type.js b/modules/ui/sections/feature_type.js index 12cb9cfe5..6b08b787d 100644 --- a/modules/ui/sections/feature_type.js +++ b/modules/ui/sections/feature_type.js @@ -5,7 +5,7 @@ import { import { utilArrayIdentical } from '../../util/array'; import { t } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { utilRebind } from '../../util'; import { uiPresetIcon } from '../preset_icon'; import { uiSection } from '../section'; @@ -40,7 +40,7 @@ export function uiSectionFeatureType(context) { var presetButton = presetButtonWrap .append('button') .attr('class', 'preset-list-button preset-reset') - .call(tooltip() + .call(uiTooltip() .title(t('inspector.back_tooltip')) .placement('bottom') ); diff --git a/modules/ui/sections/map_features.js b/modules/ui/sections/map_features.js index 8fd9a0e27..00164e1fc 100644 --- a/modules/ui/sections/map_features.js +++ b/modules/ui/sections/map_features.js @@ -1,5 +1,5 @@ import { t } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { uiSection } from '../section'; import { uiTooltipHtml } from '../tooltipHtml'; @@ -66,7 +66,7 @@ export function uiSectionMapFeatures(context) { // Enter var enter = items.enter() .append('li') - .call(tooltip() + .call(uiTooltip() .html(true) .title(function(d) { var tip = t(name + '.' + d + '.tooltip'); diff --git a/modules/ui/sections/map_style_options.js b/modules/ui/sections/map_style_options.js index 2649f55fb..9881b70f7 100644 --- a/modules/ui/sections/map_style_options.js +++ b/modules/ui/sections/map_style_options.js @@ -3,7 +3,7 @@ import { } from 'd3-selection'; import { t } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { uiSection } from '../section'; import { uiTooltipHtml } from '../tooltipHtml'; @@ -47,7 +47,7 @@ export function uiSectionMapStyleOptions(context) { // Enter var enter = items.enter() .append('li') - .call(tooltip() + .call(uiTooltip() .html(true) .title(function(d) { var tip = t(name + '.' + d + '.tooltip'); diff --git a/modules/ui/sections/overlay_list.js b/modules/ui/sections/overlay_list.js index 2fe0c10bd..d36b331c0 100644 --- a/modules/ui/sections/overlay_list.js +++ b/modules/ui/sections/overlay_list.js @@ -6,7 +6,7 @@ import { } from 'd3-selection'; import { t } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { uiSection } from '../section'; export function uiSectionOverlayList(context) { @@ -25,10 +25,10 @@ export function uiSectionOverlayList(context) { var description = d.description(); var isOverflowing = (span.property('clientWidth') !== span.property('scrollWidth')); - item.call(tooltip().destroyAny); + item.call(uiTooltip().destroyAny); if (description || isOverflowing) { - item.call(tooltip() + item.call(uiTooltip() .placement(placement) .title(description || d.name()) ); diff --git a/modules/ui/sections/photo_overlays.js b/modules/ui/sections/photo_overlays.js index 2c3415bb1..c58d9ef7e 100644 --- a/modules/ui/sections/photo_overlays.js +++ b/modules/ui/sections/photo_overlays.js @@ -3,7 +3,7 @@ import { } from 'd3-selection'; import { t } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { svgIcon } from '../../svg/icon'; import { uiSection } from '../section'; @@ -74,7 +74,7 @@ export function uiSectionPhotoOverlays(context) { else if (d.id === 'openstreetcam') titleID = 'openstreetcam_images.tooltip'; else titleID = d.id.replace(/-/g, '_') + '.tooltip'; d3_select(this) - .call(tooltip() + .call(uiTooltip() .title(t(titleID)) .placement('top') ); @@ -148,7 +148,7 @@ export function uiSectionPhotoOverlays(context) { .append('label') .each(function(d) { d3_select(this) - .call(tooltip() + .call(uiTooltip() .title(t('photo_overlays.photo_type.' + d + '.tooltip')) .placement('top') ); diff --git a/modules/ui/sections/privacy.js b/modules/ui/sections/privacy.js index 5482002a0..9c965d8e4 100644 --- a/modules/ui/sections/privacy.js +++ b/modules/ui/sections/privacy.js @@ -3,7 +3,7 @@ import { } from 'd3-selection'; import { t } from '../../util/locale'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { svgIcon } from '../../svg/icon'; import { uiSection } from '../section'; @@ -27,7 +27,7 @@ export function uiSectionPrivacy(context) { .append('li') .attr('class', 'privacy-third-party-icons-item') .append('label') - .call(tooltip() + .call(uiTooltip() .title(t('preferences.privacy.third_party_icons.tooltip')) .placement('bottom') ); diff --git a/modules/ui/sections/raw_membership_editor.js b/modules/ui/sections/raw_membership_editor.js index b38ebb099..847fd47dc 100644 --- a/modules/ui/sections/raw_membership_editor.js +++ b/modules/ui/sections/raw_membership_editor.js @@ -16,7 +16,7 @@ import { services } from '../../services'; import { svgIcon } from '../../svg/icon'; import { uiCombobox } from '../combobox'; import { uiSection } from '../section'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { utilArrayGroupBy, utilDisplayName, utilNoAuto, utilHighlightEntities } from '../../util'; @@ -345,7 +345,7 @@ export function uiSectionRawMembershipEditor(context) { addRelationButton .call(svgIcon('#iD-icon-plus', 'light')); addRelationButton - .call(tooltip().title(t('inspector.add_to_relation')).placement(textDirection === 'ltr' ? 'right' : 'left')); + .call(uiTooltip().title(t('inspector.add_to_relation')).placement(textDirection === 'ltr' ? 'right' : 'left')); addRowEnter .append('div') diff --git a/modules/ui/sections/validation_rules.js b/modules/ui/sections/validation_rules.js index 4eedd4a46..69a135f54 100644 --- a/modules/ui/sections/validation_rules.js +++ b/modules/ui/sections/validation_rules.js @@ -5,7 +5,7 @@ import { import { t } from '../../util/locale'; import { utilGetSetValue, utilNoAuto } from '../../util'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { uiSection } from '../section'; export function uiSectionValidationRules(context) { @@ -82,7 +82,7 @@ export function uiSectionValidationRules(context) { if (name === 'rule') { enter - .call(tooltip() + .call(uiTooltip() .title(function(d) { return t('issues.' + d + '.tip'); }) .placement('top') ); diff --git a/modules/ui/tools/modes.js b/modules/ui/tools/modes.js index 2c7d52832..7d43f2b32 100644 --- a/modules/ui/tools/modes.js +++ b/modules/ui/tools/modes.js @@ -11,7 +11,7 @@ import { import { t } from '../../util/locale'; import { svgIcon } from '../../svg'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { uiTooltipHtml } from '../tooltipHtml'; export function uiToolOldDrawModes(context) { @@ -126,7 +126,7 @@ export function uiToolOldDrawModes(context) { context.enter(d); } }) - .call(tooltip() + .call(uiTooltip() .placement('bottom') .html(true) .title(function(d) { return uiTooltipHtml(d.description, d.key); }) diff --git a/modules/ui/tools/notes.js b/modules/ui/tools/notes.js index 70fe4b9ab..7a4c7fcff 100644 --- a/modules/ui/tools/notes.js +++ b/modules/ui/tools/notes.js @@ -9,7 +9,7 @@ import { import { t } from '../../util/locale'; import { svgIcon } from '../../svg'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; import { uiTooltipHtml } from '../tooltipHtml'; export function uiToolNotes(context) { @@ -103,7 +103,7 @@ export function uiToolNotes(context) { context.enter(d); } }) - .call(tooltip() + .call(uiTooltip() .placement('bottom') .html(true) .title(function(d) { return uiTooltipHtml(d.description, d.key); }) diff --git a/modules/ui/tools/save.js b/modules/ui/tools/save.js index fb2765e82..1ec4018a6 100644 --- a/modules/ui/tools/save.js +++ b/modules/ui/tools/save.js @@ -6,7 +6,7 @@ import { modeSave } from '../../modes'; import { svgIcon } from '../../svg'; import { uiCmd } from '../cmd'; import { uiTooltipHtml } from '../tooltipHtml'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; export function uiToolSave(context) { @@ -76,7 +76,7 @@ export function uiToolSave(context) { tool.render = function(selection) { - tooltipBehavior = tooltip() + tooltipBehavior = uiTooltip() .placement('bottom') .html(true) .title(uiTooltipHtml(t('save.no_changes'), key)) diff --git a/modules/ui/tools/sidebar_toggle.js b/modules/ui/tools/sidebar_toggle.js index 8e75884ab..5416e4b44 100644 --- a/modules/ui/tools/sidebar_toggle.js +++ b/modules/ui/tools/sidebar_toggle.js @@ -1,7 +1,7 @@ import { t, textDirection } from '../../util/locale'; import { svgIcon } from '../../svg'; import { uiTooltipHtml } from '../tooltipHtml'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; export function uiToolSidebarToggle(context) { @@ -17,7 +17,7 @@ export function uiToolSidebarToggle(context) { .on('click', function() { context.ui().sidebar.toggle(); }) - .call(tooltip() + .call(uiTooltip() .placement('bottom') .html(true) .title(uiTooltipHtml(t('sidebar.tooltip'), t('sidebar.key'))) diff --git a/modules/ui/tools/undo_redo.js b/modules/ui/tools/undo_redo.js index 097ee7124..2a1a3c5f1 100644 --- a/modules/ui/tools/undo_redo.js +++ b/modules/ui/tools/undo_redo.js @@ -9,7 +9,7 @@ import { t, textDirection } from '../../util/locale'; import { svgIcon } from '../../svg'; import { uiCmd } from '../cmd'; import { uiTooltipHtml } from '../tooltipHtml'; -import { tooltip } from '../../util/tooltip'; +import { uiTooltip } from '../tooltip'; export function uiToolUndoRedo(context) { @@ -38,7 +38,7 @@ export function uiToolUndoRedo(context) { tool.render = function(selection) { - var tooltipBehavior = tooltip() + var tooltipBehavior = uiTooltip() .placement('bottom') .html(true) .title(function (d) { diff --git a/modules/util/tooltip.js b/modules/ui/tooltip.js similarity index 86% rename from modules/util/tooltip.js rename to modules/ui/tooltip.js index 2888a4775..b093021dd 100644 --- a/modules/util/tooltip.js +++ b/modules/ui/tooltip.js @@ -1,9 +1,9 @@ -import { utilFunctor } from './util'; -import { popover } from './popover'; +import { utilFunctor } from '../util/util'; +import { uiPopover } from './popover'; -export function tooltip(klass) { +export function uiTooltip(klass) { - var tooltip = popover((klass || '') + ' tooltip') + var tooltip = uiPopover((klass || '') + ' tooltip') .displayType('hover'); var _title = function() { diff --git a/modules/ui/version.js b/modules/ui/version.js index cf2234c9c..ee5583541 100644 --- a/modules/ui/version.js +++ b/modules/ui/version.js @@ -1,6 +1,6 @@ import { t } from '../util/locale'; import { svgIcon } from '../svg/icon'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; // these are module variables so they are preserved through a ui.restart() @@ -37,7 +37,7 @@ export function uiVersion(context) { .attr('target', '_blank') .attr('href', 'https://github.com/openstreetmap/iD/blob/release/CHANGELOG.md#whats-new') .call(svgIcon('#maki-gift-11')) - .call(tooltip() + .call(uiTooltip() .title(t('version.whats_new', { version: currVersion })) .placement('top') ); diff --git a/modules/ui/zoom.js b/modules/ui/zoom.js index e83de81dd..0d6690a7a 100644 --- a/modules/ui/zoom.js +++ b/modules/ui/zoom.js @@ -7,7 +7,7 @@ import { t, textDirection } from '../util/locale'; import { svgIcon } from '../svg/icon'; import { uiCmd } from './cmd'; import { uiTooltipHtml } from './tooltipHtml'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; export function uiZoom(context) { @@ -57,7 +57,7 @@ export function uiZoom(context) { d.action(); } }) - .call(tooltip() + .call(uiTooltip() .placement((textDirection === 'rtl') ? 'right' : 'left') .html(true) .title(function(d) { diff --git a/modules/ui/zoom_to_selection.js b/modules/ui/zoom_to_selection.js index 098fa96b0..239b36906 100644 --- a/modules/ui/zoom_to_selection.js +++ b/modules/ui/zoom_to_selection.js @@ -1,7 +1,7 @@ import { select as d3_select } from 'd3-selection'; import { t, textDirection } from '../util/locale'; -import { tooltip } from '../util/tooltip'; +import { uiTooltip } from './tooltip'; import { uiTooltipHtml } from './tooltipHtml'; import { svgIcon } from '../svg/icon'; @@ -32,7 +32,7 @@ export function uiZoomToSelection(context) { .append('button') .on('click', click) .call(svgIcon('#iD-icon-framed-dot', 'light')) - .call(tooltip() + .call(uiTooltip() .placement((textDirection === 'rtl') ? 'right' : 'left') .html(true) .title(uiTooltipHtml(t('inspector.zoom_to.title'), t('inspector.zoom_to.key')))