UNPKG

devexpress-diagram

Version:

DevExpress Diagram Control

42 lines (33 loc) 1.55 kB
import { Base64Utils } from "@devexpress/utils/lib/utils/base64"; export class ImageInfo { private static transparentWhiteImage1_1: string = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAANSURBVBhXY/j///9/AAn7A/0FQ0XKAAAAAElFTkSuQmCC"; url: string = undefined; base64: string = undefined; private loadFailed: boolean; constructor(imageUrlOrBase64?: string) { if(imageUrlOrBase64) if(Base64Utils.checkPrependDataUrl(imageUrlOrBase64)) this.base64 = imageUrlOrBase64; else this.url = imageUrlOrBase64; this.loadFailed = false; } clone(): ImageInfo { const result = new ImageInfo(); result.url = this.url; result.base64 = this.base64; return result; } get isEmpty(): boolean { return this.url === undefined && this.base64 === undefined; } get unableToLoad(): boolean { return this.loadFailed; } get renderUrl(): string { return this.base64 || ""; } get exportUrl(): string { return this.base64 ? this.base64 : this.url; } get actualUrl(): string { return this.url ? this.url : this.base64; } static get transparentOnePixelImage(): string { return this.transparentWhiteImage1_1; } loadBase64Content(base64Content: string) { this.base64 = Base64Utils.normalizeToDataUrl(base64Content, "image/png"); } setUnableToLoadFlag() { this.loadFailed = true; } }