mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 09:12:52 +00:00
44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
import { t } from '../core/localizer';
|
|
import { services } from '../services';
|
|
import { svgIcon } from '../svg/icon';
|
|
import { QAItem } from '../osm';
|
|
|
|
export function uiViewOnOsmose() {
|
|
let _qaItem;
|
|
|
|
function viewOnOsmose(selection) {
|
|
let url;
|
|
if (services.osmose && (_qaItem instanceof QAItem)) {
|
|
url = services.osmose.itemURL(_qaItem);
|
|
}
|
|
|
|
const link = selection.selectAll('.view-on-osmose')
|
|
.data(url ? [url] : []);
|
|
|
|
// exit
|
|
link.exit()
|
|
.remove();
|
|
|
|
// enter
|
|
const linkEnter = link.enter()
|
|
.append('a')
|
|
.attr('class', 'view-on-osmose')
|
|
.attr('target', '_blank')
|
|
.attr('rel', 'noopener') // security measure
|
|
.attr('href', d => d)
|
|
.call(svgIcon('#iD-icon-out-link', 'inline'));
|
|
|
|
linkEnter
|
|
.append('span')
|
|
.call(t.append('inspector.view_on_osmose'));
|
|
}
|
|
|
|
viewOnOsmose.what = function(val) {
|
|
if (!arguments.length) return _qaItem;
|
|
_qaItem = val;
|
|
return viewOnOsmose;
|
|
};
|
|
|
|
return viewOnOsmose;
|
|
}
|