import * as $ from "jquery"; //(window).jQuery = $; import { Lixer } from "./Lixer"; import * as _mixin_Observable from "./mixin/Observable"; import * as _util_Observer from "./util/Observer"; /** * Base Class */ export class Base implements _mixin_Observable.mixin.Observable { public subscribes: Object = {}; public on: (ev: string | _util_Observer.util.Observer, callback?: Function, scope?: any) => void; public fireEvent(ev: string): void { } /** * Constructor */ constructor() { setTimeout(() => { this.init(); }, 0); } /** * Initialize * * This method is called subclass constructor */ public init() { var scope = this; // Add Document ready Listener $(function () { scope.onReady.apply(scope); }); } /** * onReady */ protected onReady() { //applyMixins(SmartObject, [Disposable, Activatable]); } } /** * Apply Mixins */ Lixer.applyMixins(Base, [_mixin_Observable.mixin.Observable]); // EOF