Merge pull request #1250 from HardenedHunter/master

Added error handler for Image.fromURL
This commit is contained in:
Anton Lavrenov 2021-12-14 11:57:58 -05:00 committed by GitHub
commit 0eda0dc7e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -122,6 +122,7 @@ export class Image extends Shape<ImageConfig> {
* @memberof Konva.Image
* @param {String} url image source
* @param {Function} callback with Konva.Image instance as first argument
* @param {Function} onError optional error handler
* @example
* Konva.Image.fromURL(imageURL, function(image){
* // image is Konva.Image instance
@ -129,7 +130,7 @@ export class Image extends Shape<ImageConfig> {
* layer.draw();
* });
*/
static fromURL(url, callback) {
static fromURL(url, callback, onError = null) {
var img = Util.createImageElement();
img.onload = function () {
var image = new Image({
@ -137,6 +138,7 @@ export class Image extends Shape<ImageConfig> {
});
callback(image);
};
img.onerror = onError;
img.crossOrigin = 'Anonymous';
img.src = url;
}

View File

@ -356,6 +356,16 @@ describe('Image', function () {
});
});
it('check loading failure', function (done) {
var stage = addStage();
var layer = new Konva.Layer();
stage.add(layer);
var src = 'non-existent.jpg';
Konva.Image.fromURL(src, null, function (e) {
done();
});
});
it('check zero values', function (done) {
loadImage('darth-vader.jpg', (imageObj) => {
var stage = addStage();