Merge pull request #583 from SVG-Edit/issues/431

#431 Need help about image tags
master
JFH 2021-06-10 19:11:45 +02:00 committed by GitHub
commit 4cd30d7a9a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 12 deletions

View File

@ -417,11 +417,22 @@ class Editor extends EditorStartup {
$id("change_image_url").style.display = 'block';
} else {
// regular URL
this.svgCanvas.embedImage(url, function (dataURI) {
// Couldn't embed, so show warning
$id('url_notice').style.display = (!dataURI) ? 'block' : 'none';
this.defaultImageURL = url;
});
const self = this;
const promised = this.svgCanvas.embedImage(url);
// eslint-disable-next-line promise/catch-or-return
promised
.then( function (dataURI) {
// eslint-disable-next-line promise/always-return
$id('url_notice').style.display = (!dataURI) ? 'block' : 'none';
// switch into "select" mode if we've clicked on an element
self.svgCanvas.setMode('select');
self.svgCanvas.selectOnly(self.svgCanvas.getSelectedElems(), true);
}, function (error) {
// eslint-disable-next-line no-console
console.log("error =", error);
seAlert(self.i18next.t('tools.no_embed'));
self.svgCanvas.deleteSelectedElements();
});
$id("image_url").style.display = 'block';
$id("change_image_url").style.display = 'none';
}

View File

@ -292,12 +292,14 @@ class TopPanel {
$id("g_panel").style.display = 'block';
}
// siblings
const selements = Array.prototype.filter.call(elem.parentNode.children, function(child){
return child !== elem;
});
if (elem.parentNode.tagName === "a" && !selements.length) {
$id("a_panel").style.display = 'block';
linkHref = this.editor.svgCanvas.getHref(elem.parentNode);
if (elem.parentNode) {
const selements = Array.prototype.filter.call(elem.parentNode.children, function(child){
return child !== elem;
});
if (elem.parentNode.tagName === "a" && !selements.length) {
$id("a_panel").style.display = 'block';
linkHref = this.editor.svgCanvas.getHref(elem.parentNode);
}
}
// Hide/show the make_link buttons

View File

@ -651,7 +651,7 @@ export const embedImage = function (src) {
resolve(svgContext_.getEncodableImages(src));
});
imgI.addEventListener("error", (e) => {
reject(new Error(`error loading image: ${e.currentTarget.attributes.src.value}`));
reject(`error loading image: ${e.currentTarget.attributes.src.value}`);
});
imgI.setAttribute('src', src);
});