StructureJS
0.15.2A class based utility library for building modular and scalable web platform applications. Features opt-in classes and utilities which provide a solid foundation and toolset to build your next project.
import IDataStore from '../interface/IDataStore'; import EventDispatcher from '../event/EventDispatcher'; import LoaderEvent from '../event/LoaderEvent'; /** * The ImageLoader... * * @class ImageLoader * @extends EventDispatcher * @module StructureJS * @submodule util * @constructor * @author Robert S. (www.codeBelt.com) */ class ImageLoader extends EventDispatcher implements IDataStore { protected _image:HTMLImageElement; public data:any; public src:string; public complete:boolean = false; constructor(path:string) { super(); this.src = path; this._init(); } protected _init():void { this._image = new Image(); this._image.onload = (event:Event) => { this._onImageLoad(); } } public load():void { this._image.src = this.src; } protected _onImageLoad():void { this.data = this._image; this.complete = true; this.dispatchEvent(LoaderEvent.COMPLETE); } } export default ImageLoader;