Files
iD/modules/ui/fields/lanes.js
2016-07-02 19:04:51 +05:30

45 lines
1.1 KiB
JavaScript

export function lanes(field, context) {
var dispatch = d3.dispatch('change'),
wayID,
laneData;
function lanes(selection) {
// if form field is hidden or has detached from dom, clean up.
if (!d3.select('.inspector-wrap.inspector-hidden').empty() || !selection.node().parentNode) {
selection.call(lanes.off);
return;
}
laneData = context.entity(wayID).lanes();
var wrap = selection.selectAll('.preset-input-wrap')
.data([0]);
var enter = wrap.enter()
.append('div')
.attr('class', 'preset-input-wrap');
enter
.append('div')
.attr('class', 'lane-count')
.append('span');
selection.selectAll('.lane-count')
.text(laneData.tagged.lanes.count || laneData.defaults.lanes.count);
}
lanes.entity = function(_) {
if (!wayID || wayID !== _.id) {
wayID = _.id;
}
};
lanes.tags = function() {};
lanes.focus = function() {};
lanes.off = function() {};
return d3.rebind(lanes, dispatch, 'on');
}