mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-12 16:52:50 +00:00
Cherry pick preset image error fallback
This commit is contained in:
@@ -1193,6 +1193,14 @@ a.hide-toggle {
|
||||
height: 50px;
|
||||
object-fit: contain;
|
||||
border-radius: 2px;
|
||||
z-index: 2;
|
||||
visibility: hidden;
|
||||
}
|
||||
.preset-icon-container.showing-img img.image-icon {
|
||||
visibility: visible;
|
||||
}
|
||||
.preset-icon-container.showing-img *:not(.image-icon) {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.preset-icon-point-border path {
|
||||
|
||||
@@ -202,7 +202,7 @@ export function uiPresetIcon(context) {
|
||||
geom = 'route';
|
||||
}
|
||||
var imageURL = p.imageURL;
|
||||
var picon = imageURL ? null : getIcon(p, geom);
|
||||
var picon = getIcon(p, geom);
|
||||
var isMaki = picon && /^maki-/.test(picon);
|
||||
var isTemaki = picon && /^temaki-/.test(picon);
|
||||
var isFa = picon && /^fa[srb]-/.test(picon);
|
||||
@@ -236,20 +236,6 @@ export function uiPresetIcon(context) {
|
||||
|
||||
container.classed('fallback', isFallback);
|
||||
|
||||
var imageIcon = container.selectAll('img.image-icon')
|
||||
.data(imageURL ? [0] : []);
|
||||
|
||||
imageIcon.exit()
|
||||
.remove();
|
||||
|
||||
imageIcon = imageIcon.enter()
|
||||
.append('img')
|
||||
.attr('class', 'image-icon')
|
||||
.merge(imageIcon);
|
||||
|
||||
imageIcon
|
||||
.attr('src', imageURL);
|
||||
|
||||
var pointBorder = container.selectAll('.preset-icon-point-border')
|
||||
.data(drawPoint ? [0] : []);
|
||||
|
||||
@@ -329,7 +315,6 @@ export function uiPresetIcon(context) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
var icon = container.selectAll('.preset-icon')
|
||||
.data(picon ? [0] : []);
|
||||
|
||||
@@ -355,6 +340,26 @@ export function uiPresetIcon(context) {
|
||||
icon.selectAll('use')
|
||||
.attr('href', '#' + picon + (isMaki ? (isSmall() && geom === 'point' ? '-11' : '-15') : ''));
|
||||
|
||||
var imageIcon = container.selectAll('img.image-icon')
|
||||
.data(imageURL ? [0] : []);
|
||||
|
||||
imageIcon.exit()
|
||||
.remove();
|
||||
|
||||
imageIcon = imageIcon.enter()
|
||||
.append('img')
|
||||
.attr('class', 'image-icon')
|
||||
.on('load', function() {
|
||||
container.classed('showing-img', true);
|
||||
})
|
||||
.on('error', function() {
|
||||
container.classed('showing-img', false);
|
||||
})
|
||||
.merge(imageIcon);
|
||||
|
||||
imageIcon
|
||||
.attr('src', imageURL);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user