diff --git a/modules/behavior/copy.js b/modules/behavior/copy.js index c4480ab0a..3f7e4e52c 100644 --- a/modules/behavior/copy.js +++ b/modules/behavior/copy.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { cmd } from '../ui/index'; export function Copy(context) { diff --git a/modules/behavior/draw.js b/modules/behavior/draw.js index a040c5636..1217d850f 100644 --- a/modules/behavior/draw.js +++ b/modules/behavior/draw.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import { rebind } from '../util/rebind'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { chooseEdge, euclideanDistance } from '../geo/index'; import { Edit } from './edit'; import { Hover } from './hover'; diff --git a/modules/behavior/hover.js b/modules/behavior/hover.js index 36ad4ec4d..93a00911f 100644 --- a/modules/behavior/hover.js +++ b/modules/behavior/hover.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import { rebind } from '../util/rebind'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { Entity } from '../core/index'; /* @@ -71,7 +71,7 @@ export function Hover() { var down; - function mouseover() { + function mouseover(evt) { if (down) return; var target = d3.event.target; enter(target ? target.__data__ : null); diff --git a/modules/behavior/paste.js b/modules/behavior/paste.js index d7a37c381..2c426efee 100644 --- a/modules/behavior/paste.js +++ b/modules/behavior/paste.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { ChangeTags, CopyEntities, Move as MoveAction} from '../actions/index'; import { Extent, pointInPolygon } from '../geo/index'; import { Move as MoveMode } from '../modes/index'; diff --git a/modules/core/connection.js b/modules/core/connection.js index 7f615b258..3b12d74a6 100644 --- a/modules/core/connection.js +++ b/modules/core/connection.js @@ -2,7 +2,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import { rebind } from '../util/rebind'; import { functor } from '../util/index'; -import { d3geoTile } from '../../js/lib/d3.geo.tile'; +import { d3geoTile } from '../lib/d3.geo.tile'; import { Detect } from '../util/detect'; import { Entity } from './entity'; import { Extent } from '../geo/index'; diff --git a/modules/index.js b/modules/index.js index 52c6cc34f..f1db5a8c5 100644 --- a/modules/index.js +++ b/modules/index.js @@ -8,6 +8,7 @@ import * as services from './services/index'; import * as svg from './svg/index'; import * as ui from './ui/index'; import * as util from './util/index'; +import * as lib from './lib/index'; import * as validations from './validations/index'; // detect @@ -50,6 +51,7 @@ export { services, svg, util, + lib, ui, validations }; diff --git a/js/lib/d3.combobox.js b/modules/lib/d3.combobox.js similarity index 100% rename from js/lib/d3.combobox.js rename to modules/lib/d3.combobox.js diff --git a/js/lib/d3.geo.tile.js b/modules/lib/d3.geo.tile.js similarity index 100% rename from js/lib/d3.geo.tile.js rename to modules/lib/d3.geo.tile.js diff --git a/js/lib/d3.keybinding.js b/modules/lib/d3.keybinding.js similarity index 100% rename from js/lib/d3.keybinding.js rename to modules/lib/d3.keybinding.js diff --git a/modules/lib/index.js b/modules/lib/index.js new file mode 100644 index 000000000..b6ddad54a --- /dev/null +++ b/modules/lib/index.js @@ -0,0 +1,3 @@ +export { d3combobox } from './d3.combobox'; +export { d3geoTile } from './d3.geo.tile'; +export { d3keybinding } from './d3.keybinding'; diff --git a/modules/modes/move.js b/modules/modes/move.js index ebc11bfd2..9e424038d 100644 --- a/modules/modes/move.js +++ b/modules/modes/move.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { Browse, Select } from './index'; import { Move as MoveAction, Noop } from '../actions/index'; diff --git a/modules/modes/rotate_way.js b/modules/modes/rotate_way.js index 85afe9a88..43cbe1578 100644 --- a/modules/modes/rotate_way.js +++ b/modules/modes/rotate_way.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { Browse, Select } from './index'; import { Noop, RotateWay as RotateWayAction } from '../actions/index'; diff --git a/modules/modes/select.js b/modules/modes/select.js index f9e99d571..e0b6186da 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import * as Operations from '../operations/index'; import { Breathe, Copy, Hover, Lasso, Paste, Select as SelectBehavior } from '../behavior/index'; diff --git a/modules/renderer/tile_layer.js b/modules/renderer/tile_layer.js index d9616728e..843083e33 100644 --- a/modules/renderer/tile_layer.js +++ b/modules/renderer/tile_layer.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3geoTile } from '../../js/lib/d3.geo.tile'; +import { d3geoTile } from '../lib/d3.geo.tile'; import { prefixCSSProperty, functor } from '../util/index'; export function TileLayer(context) { diff --git a/modules/services/mapillary.js b/modules/services/mapillary.js index 6f69a79d7..168ef4415 100644 --- a/modules/services/mapillary.js +++ b/modules/services/mapillary.js @@ -3,7 +3,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import rbush from 'rbush'; import { rebind } from '../util/rebind'; -import { d3geoTile } from '../../js/lib/d3.geo.tile'; +import { d3geoTile } from '../lib/d3.geo.tile'; import { Detect } from '../util/detect'; import { Extent } from '../geo/index'; import { Icon } from '../svg/index'; diff --git a/modules/ui/background.js b/modules/ui/background.js index b5c29315b..7826c1542 100644 --- a/modules/ui/background.js +++ b/modules/ui/background.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { tooltip } from '../util/tooltip'; import { metersToOffset, offsetToMeters } from '../geo/index'; diff --git a/modules/ui/commit.js b/modules/ui/commit.js index 2af07a3c2..f2dc5030d 100644 --- a/modules/ui/commit.js +++ b/modules/ui/commit.js @@ -1,7 +1,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import { rebind } from '../util/rebind'; -import { d3combobox } from '../../js/lib/d3.combobox.js'; +import { d3combobox } from '../lib/d3.combobox.js'; import { t } from '../util/locale'; import { triggerEvent } from '../util/trigger_event'; import { tooltip } from '../util/tooltip'; diff --git a/modules/ui/fields/access.js b/modules/ui/fields/access.js index fd3427f2c..2ff4fe75e 100644 --- a/modules/ui/fields/access.js +++ b/modules/ui/fields/access.js @@ -2,7 +2,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import { rebind } from '../../util/rebind'; import { getSetValue } from '../../util/get_set_value'; -import { d3combobox } from '../../../js/lib/d3.combobox.js'; +import { d3combobox } from '../../lib/d3.combobox.js'; export function access(field) { var dispatch = d3.dispatch('change'), diff --git a/modules/ui/fields/address.js b/modules/ui/fields/address.js index d5176207f..5901123f3 100644 --- a/modules/ui/fields/address.js +++ b/modules/ui/fields/address.js @@ -2,7 +2,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import { rebind } from '../../util/rebind'; import { getSetValue } from '../../util/get_set_value'; -import { d3combobox } from '../../../js/lib/d3.combobox.js'; +import { d3combobox } from '../../lib/d3.combobox.js'; import { Extent, chooseEdge, sphericalDistance } from '../../geo/index'; import { nominatim } from '../../services/index'; import { addressFormats } from '../../../data/index'; diff --git a/modules/ui/fields/combo.js b/modules/ui/fields/combo.js index ae8e75a63..393cb0d0e 100644 --- a/modules/ui/fields/combo.js +++ b/modules/ui/fields/combo.js @@ -3,7 +3,7 @@ import _ from 'lodash'; import { t } from '../../util/locale'; import { rebind } from '../../util/rebind'; import { getSetValue } from '../../util/get_set_value'; -import { d3combobox } from '../../../js/lib/d3.combobox.js'; +import { d3combobox } from '../../lib/d3.combobox.js'; import { nominatim } from '../../services/index'; export { diff --git a/modules/ui/fields/cycleway.js b/modules/ui/fields/cycleway.js index 9ec0838be..fa68e197a 100644 --- a/modules/ui/fields/cycleway.js +++ b/modules/ui/fields/cycleway.js @@ -1,7 +1,7 @@ import * as d3 from 'd3'; import { rebind } from '../../util/rebind'; import { getSetValue } from '../../util/get_set_value'; -import { d3combobox } from '../../../js/lib/d3.combobox.js'; +import { d3combobox } from '../../lib/d3.combobox.js'; export function cycleway(field) { var dispatch = d3.dispatch('change'), diff --git a/modules/ui/fields/localized.js b/modules/ui/fields/localized.js index e137dc4ff..857a128cd 100644 --- a/modules/ui/fields/localized.js +++ b/modules/ui/fields/localized.js @@ -1,7 +1,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import { rebind } from '../../util/rebind'; -import { d3combobox } from '../../../js/lib/d3.combobox.js'; +import { d3combobox } from '../../lib/d3.combobox.js'; import { getSetValue } from '../../util/get_set_value'; import { t } from '../../util/locale'; import { tooltip } from '../../util/tooltip'; diff --git a/modules/ui/fields/maxspeed.js b/modules/ui/fields/maxspeed.js index dc05f5836..fb2ecd3ff 100644 --- a/modules/ui/fields/maxspeed.js +++ b/modules/ui/fields/maxspeed.js @@ -2,7 +2,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import { rebind } from '../../util/rebind'; import { getSetValue } from '../../util/get_set_value'; -import { d3combobox } from '../../../js/lib/d3.combobox.js'; +import { d3combobox } from '../../lib/d3.combobox.js'; import { pointInPolygon } from '../../geo/index'; import { imperial as imperialData } from '../../../data/index'; diff --git a/modules/ui/fields/wikipedia.js b/modules/ui/fields/wikipedia.js index 2c14fa734..5b118a9f5 100644 --- a/modules/ui/fields/wikipedia.js +++ b/modules/ui/fields/wikipedia.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3combobox } from '../../../js/lib/d3.combobox.js'; +import { d3combobox } from '../../lib/d3.combobox.js'; import { getSetValue } from '../../util/get_set_value'; import { rebind } from '../../util/rebind'; import { t } from '../../util/locale'; diff --git a/modules/ui/full_screen.js b/modules/ui/full_screen.js index 79b92b862..5d98804ff 100644 --- a/modules/ui/full_screen.js +++ b/modules/ui/full_screen.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { cmd } from './cmd'; export function FullScreen(context) { diff --git a/modules/ui/help.js b/modules/ui/help.js index 529a507ec..19198362d 100644 --- a/modules/ui/help.js +++ b/modules/ui/help.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import marked from 'marked'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { tooltip } from '../util/tooltip'; import { Icon } from '../svg/index'; diff --git a/modules/ui/info.js b/modules/ui/info.js index 2ef37414a..0ba683e19 100644 --- a/modules/ui/info.js +++ b/modules/ui/info.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { Detect } from '../util/detect'; import { Extent } from '../geo/index'; diff --git a/modules/ui/init.js b/modules/ui/init.js index 2173d41aa..cdff0c6e4 100644 --- a/modules/ui/init.js +++ b/modules/ui/init.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { setDimensions } from '../util/dimensions'; import { tooltip } from '../util/tooltip'; diff --git a/modules/ui/map_data.js b/modules/ui/map_data.js index da00d316d..51ddc30a4 100644 --- a/modules/ui/map_data.js +++ b/modules/ui/map_data.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { tooltip } from '../util/tooltip'; import { Icon } from '../svg/index'; diff --git a/modules/ui/map_in_map.js b/modules/ui/map_in_map.js index ea37627d2..1391a42ba 100644 --- a/modules/ui/map_in_map.js +++ b/modules/ui/map_in_map.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { Debug, Gpx } from '../svg/index'; import { RawMercator } from '../geo/index'; import { TileLayer } from '../renderer/index'; diff --git a/modules/ui/modal.js b/modules/ui/modal.js index d7099724f..aa3d9315c 100644 --- a/modules/ui/modal.js +++ b/modules/ui/modal.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { Icon } from '../svg/index'; export function modal(selection, blocking) { diff --git a/modules/ui/modes.js b/modules/ui/modes.js index c9cf836a3..9a9bda5e8 100644 --- a/modules/ui/modes.js +++ b/modules/ui/modes.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { tooltip } from '../util/tooltip'; import { AddArea, AddLine, AddPoint, Browse } from '../modes/index'; import { Icon } from '../svg/index'; diff --git a/modules/ui/preset.js b/modules/ui/preset.js index 10e9db4c4..b91f2d5c6 100644 --- a/modules/ui/preset.js +++ b/modules/ui/preset.js @@ -2,7 +2,7 @@ import * as d3 from 'd3'; import _ from 'lodash'; import { rebind } from '../util/rebind'; import { getSetValue } from '../util/get_set_value'; -import { d3combobox } from '../../js/lib/d3.combobox.js'; +import { d3combobox } from '../lib/d3.combobox.js'; import { t } from '../util/locale'; import { Browse } from '../modes/index'; import { Disclosure } from './disclosure'; diff --git a/modules/ui/preset_list.js b/modules/ui/preset_list.js index 08bb79abe..ee0ab8857 100644 --- a/modules/ui/preset_list.js +++ b/modules/ui/preset_list.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import { rebind } from '../util/rebind'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { Browse } from '../modes/index'; import { ChangePreset } from '../actions/index'; diff --git a/modules/ui/raw_member_editor.js b/modules/ui/raw_member_editor.js index d7c1f4f19..3acb87f99 100644 --- a/modules/ui/raw_member_editor.js +++ b/modules/ui/raw_member_editor.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3combobox } from '../../js/lib/d3.combobox.js'; +import { d3combobox } from '../lib/d3.combobox.js'; import { t } from '../util/locale'; import { Browse, Select } from '../modes/index'; import { ChangeMember, DeleteMember } from '../actions/index'; diff --git a/modules/ui/raw_membership_editor.js b/modules/ui/raw_membership_editor.js index 851eb4c2e..755edcb27 100644 --- a/modules/ui/raw_membership_editor.js +++ b/modules/ui/raw_membership_editor.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3combobox } from '../../js/lib/d3.combobox.js'; +import { d3combobox } from '../lib/d3.combobox.js'; import { t } from '../util/locale'; import { AddEntity, AddMember, ChangeMember, DeleteMember } from '../actions/index'; import { Entity, Relation } from '../core/index'; diff --git a/modules/ui/raw_tag_editor.js b/modules/ui/raw_tag_editor.js index 70239bae8..877223616 100644 --- a/modules/ui/raw_tag_editor.js +++ b/modules/ui/raw_tag_editor.js @@ -1,7 +1,7 @@ import * as d3 from 'd3'; import { rebind } from '../util/rebind'; import { getSetValue } from '../util/get_set_value'; -import { d3combobox } from '../../js/lib/d3.combobox.js'; +import { d3combobox } from '../lib/d3.combobox.js'; import { t } from '../util/locale'; import { Disclosure } from './disclosure'; import { Icon } from '../svg/index'; diff --git a/modules/ui/save.js b/modules/ui/save.js index 21b5325f1..09fe0ef88 100644 --- a/modules/ui/save.js +++ b/modules/ui/save.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { tooltip } from '../util/tooltip'; import { Save as SaveMode } from '../modes/index'; diff --git a/modules/ui/undo_redo.js b/modules/ui/undo_redo.js index 6d0e207cb..a56e76d88 100644 --- a/modules/ui/undo_redo.js +++ b/modules/ui/undo_redo.js @@ -1,5 +1,5 @@ import * as d3 from 'd3'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { tooltip } from '../util/tooltip'; import { Icon } from '../svg/index'; diff --git a/modules/ui/zoom.js b/modules/ui/zoom.js index fd5f511f1..864df3344 100644 --- a/modules/ui/zoom.js +++ b/modules/ui/zoom.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3keybinding } from '../../js/lib/d3.keybinding.js'; +import { d3keybinding } from '../lib/d3.keybinding.js'; import { t } from '../util/locale'; import { tooltip } from '../util/tooltip'; import { Icon } from '../svg/index'; diff --git a/test/index.html b/test/index.html index 276ebe5b1..fb2aa929b 100644 --- a/test/index.html +++ b/test/index.html @@ -63,8 +63,8 @@ - - + + diff --git a/test/spec/lib/d3.combobox.js b/test/spec/lib/d3.combobox.js index 9b4011643..57f4ebbb5 100644 --- a/test/spec/lib/d3.combobox.js +++ b/test/spec/lib/d3.combobox.js @@ -8,7 +8,7 @@ describe('d3.combobox', function() { ]; function simulateKeypress(key) { - var keyCode = d3.keybinding.keyCodes[key], + var keyCode = iD.lib.d3keybinding.keyCodes[key], value = input.property('value'), start = input.property('selectionStart'), finis = input.property('selectionEnd'); @@ -61,7 +61,7 @@ describe('d3.combobox', function() { body = d3.select('body'); content = body.append('div'); input = content.append('input'); - combobox = d3.combobox(); + combobox = iD.lib.d3combobox(); }); afterEach(function() { @@ -85,8 +85,8 @@ describe('d3.combobox', function() { input.property('value', 'b').call(combobox.data(data)); input.node().focus(); expect(body.selectAll('.combobox-option').size()).to.equal(2); - expect(body.selectAll('.combobox-option')[0][0].text).to.equal('bar'); - expect(body.selectAll('.combobox-option')[0][1].text).to.equal('Baz'); + expect(body.selectAll('.combobox-option').nodes()[0].text).to.equal('bar'); + expect(body.selectAll('.combobox-option').nodes()[1].text).to.equal('Baz'); }); it('shows no menu on focus if it would contain only one item', function() { diff --git a/test/spec/lib/d3.keybinding.js b/test/spec/lib/d3.keybinding.js index cb96b946c..79a43a225 100644 --- a/test/spec/lib/d3.keybinding.js +++ b/test/spec/lib/d3.keybinding.js @@ -2,7 +2,7 @@ describe('d3.keybinding', function() { var keybinding, spy, input; beforeEach(function () { - keybinding = d3.keybinding('keybinding-test'); + keybinding = iD.lib.d3keybinding('keybinding-test'); spy = sinon.spy(); input = d3.select('body') .append('input');