// toggles the visibility of ui elements, using a combination of the
// hide class, which sets display=none, and a d3 transition for opacity.
// this will cause blinking when called repeatedly, so check that the
// value actually changes between calls.
iD.ui.Toggle = function(show, callback) {
    return function(selection) {
        selection
            .style('opacity', show ? 0 : 1)
            .classed('hide', false)
            .transition()
            .style('opacity', show ? 1 : 0)
            .each('end', function() {
                d3.select(this).classed('hide', !show);
                if (callback) callback.apply(this);
            });
    };
};

// toggles the visibility of ui elements, using a combination of the
// hide class, which sets display=none, and a d3 transition for opacity.
// this will cause blinking when called repeatedly, so check that the
// value actually changes between calls.
iD.ui.Toggle = function(show, callback) {
    return function(selection) {
        selection
            .style('opacity', show ? 0 : 1)
            .classed('hide', false)
            .transition()
            .style('opacity', show ? 1 : 0)
            .each('end', function() {
                d3.select(this)
                    .classed('hide', !show)
                    .style('opacity', null);
                if (callback) callback.apply(this);
            });
    };
};

Remove inline opacity style after transition complete (This was causing the raw tag editor to sometimes *not* display for fallback presets like "point", "line", "area")
Remove inline opacity style after transition complete
(This was causing the raw tag editor to sometimes *not* display
 for fallback presets like "point", "line", "area")
