@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
41 lines (40 loc) • 1.96 kB
TypeScript
import { OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { ConduitSubject } from './conduit-subject';
import { ConduitEvent } from './interfaces/conduit-event';
import { ConduitMetadata } from './interfaces/conduit-metadata';
import { ConduitProperties } from './interfaces/conduit-properties';
import * as i0 from "@angular/core";
export declare class ConduitZone implements OnDestroy {
/** Create a global subject store */
static subjects: ConduitSubject[];
/** Expose an event stream of new values */
static events: Subject<ConduitEvent>;
/** Store the zone name */
private _zoneId;
ngOnDestroy(): void;
/** Store reference to the repository and begin watching for and emitting changes */
registerConduit(conduit: ConduitMetadata): void;
/** Destroy a conduit */
unregisterConduit(conduit: ConduitMetadata): void;
/** Provide the zone with an ID */
setZoneId(zoneId: string): void;
/** Emit a value to all zones for checking */
emit(event: ConduitEvent): void;
/** Retrieve a conduit subsject object from the rxjs subject */
getConduitSubject(subject: Subject<void>): ConduitSubject | null;
/** Get all subjects from all zones */
getSubjects(): ConduitSubject[];
/** Alter the properties of a conduit dynamically */
setConduitProperties(subject: Subject<string>, properties: Partial<ConduitProperties>): void;
/** Programmatically create a conduit at runtime */
createConduit(subject: Subject<void>, properties: ConduitProperties): void;
/** Register all conduits in a component */
registerConduits(component: any): void;
/** Register all conduits in a component */
unregisterConduits(component: any): void;
/** Return the global event stream */
getEvents(): Subject<ConduitEvent>;
static ɵfac: i0.ɵɵFactoryDeclaration<ConduitZone, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<ConduitZone>;
}