@synerty/vortexjs
Version:
Custom observable data serialisation and routing based on Angular 2+
50 lines • 6.15 kB
JavaScript
import { Component, } from "@angular/core";
import { Subject } from "rxjs";
import * as i0 from "@angular/core";
export class NgLifeCycleEvents {
onInitEvent = new Subject();
afterViewInitEvent = new Subject();
onDestroyEvent = new Subject();
doCheckEvent = new Subject();
ngOnInit() {
this.onInitEvent.next();
}
ngAfterViewInit() {
this.afterViewInitEvent.next();
}
ngDoCheck() {
this.doCheckEvent.next();
}
ngOnDestroy() {
this.onDestroyEvent.next();
if (this.onDestroyEvent["observers"] != null) {
for (let observer of this.onDestroyEvent["observers"]) {
observer["unsubscribe"]();
}
}
if (this.doCheckEvent["observers"] != null) {
for (let observer of this.doCheckEvent["observers"]) {
observer["unsubscribe"]();
}
}
if (this.onInitEvent["observers"] != null) {
for (let observer of this.onInitEvent["observers"]) {
observer["unsubscribe"]();
}
}
if (this.afterViewInitEvent["observers"] != null) {
for (let observer of this.afterViewInitEvent["observers"]) {
observer["unsubscribe"]();
}
}
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgLifeCycleEvents, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgLifeCycleEvents, selector: "ng-component", ngImport: i0, template: "", isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgLifeCycleEvents, decorators: [{
type: Component,
args: [{
template: "",
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmdMaWZlQ3ljbGVFdmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbC9OZ0xpZmVDeWNsZUV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxHQUlaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsV0FBVyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2pELGtCQUFrQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3hELGNBQWMsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNwRCxZQUFZLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUFFbEQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUzQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzFDLEtBQUssSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDbkQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7YUFDN0I7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDeEMsS0FBSyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNqRCxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQzthQUM3QjtTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN2QyxLQUFLLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2hELFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2FBQzdCO1NBQ0o7UUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDOUMsS0FBSyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3ZELFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2FBQzdCO1NBQ0o7SUFDTCxDQUFDO3dHQTlDUSxpQkFBaUI7NEZBQWpCLGlCQUFpQixvREFGaEIsRUFBRTs7NEZBRUgsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IFwiXCIsXG59KVxuZXhwb3J0IGNsYXNzIE5nTGlmZUN5Y2xlRXZlbnRzXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgRG9DaGVja1xue1xuICAgIG9uSW5pdEV2ZW50OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBhZnRlclZpZXdJbml0RXZlbnQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIG9uRGVzdHJveUV2ZW50OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBkb0NoZWNrRXZlbnQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMub25Jbml0RXZlbnQubmV4dCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5hZnRlclZpZXdJbml0RXZlbnQubmV4dCgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kb0NoZWNrRXZlbnQubmV4dCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9uRGVzdHJveUV2ZW50Lm5leHQoKTtcblxuICAgICAgICBpZiAodGhpcy5vbkRlc3Ryb3lFdmVudFtcIm9ic2VydmVyc1wiXSAhPSBudWxsKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBvYnNlcnZlciBvZiB0aGlzLm9uRGVzdHJveUV2ZW50W1wib2JzZXJ2ZXJzXCJdKSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXJbXCJ1bnN1YnNjcmliZVwiXSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZG9DaGVja0V2ZW50W1wib2JzZXJ2ZXJzXCJdICE9IG51bGwpIHtcbiAgICAgICAgICAgIGZvciAobGV0IG9ic2VydmVyIG9mIHRoaXMuZG9DaGVja0V2ZW50W1wib2JzZXJ2ZXJzXCJdKSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXJbXCJ1bnN1YnNjcmliZVwiXSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub25Jbml0RXZlbnRbXCJvYnNlcnZlcnNcIl0gIT0gbnVsbCkge1xuICAgICAgICAgICAgZm9yIChsZXQgb2JzZXJ2ZXIgb2YgdGhpcy5vbkluaXRFdmVudFtcIm9ic2VydmVyc1wiXSkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyW1widW5zdWJzY3JpYmVcIl0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFmdGVyVmlld0luaXRFdmVudFtcIm9ic2VydmVyc1wiXSAhPSBudWxsKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBvYnNlcnZlciBvZiB0aGlzLmFmdGVyVmlld0luaXRFdmVudFtcIm9ic2VydmVyc1wiXSkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyW1widW5zdWJzY3JpYmVcIl0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ09uRGVzdHJveUV2ZW50SSB7XG4gICAgb25EZXN0cm95RXZlbnQ6IFN1YmplY3Q8dm9pZD4gfCBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuIl19