UNPKG

ng-block-ui

Version:
72 lines 8.34 kB
import { Injectable } from '@angular/core'; import { BlockUIActions } from '../constants/block-ui-actions.constant'; import * as i0 from "@angular/core"; import * as i1 from "./block-ui-instance.service"; export class BlockUIService { constructor(blockUIInstance) { this.blockUIInstance = blockUIInstance; this.globalDispatch = this.blockUIInstance.decorate(); } /** * Starts blocking for given BlockUI instance or instances */ start(target, message) { this.dispatch(target, BlockUIActions.START, message); } /** * Stops blocking for given BlockUI instance or instances */ stop(target) { this.dispatch(target, BlockUIActions.STOP); } /** * Reset blocking for given BlockUI instance or instances */ reset(target) { this.dispatch(target, BlockUIActions.RESET); } /** * Reset blocking for all BlockUI instances */ resetGlobal() { this.globalDispatch.resetGlobal(); } /** * Updates message for given BlockUI instance or instances */ update(target, message) { this.dispatch(target, BlockUIActions.UPDATE, message); } /** * Unsubscribes for given BlockUI instance or instances */ unsubscribe(target) { this.dispatch(target, BlockUIActions.UNSUBSCRIBE); } /** * Checks if BlockUI is actively blocking */ isActive(target = null) { const targets = target ? this.toArray(target) : null; const instances = this.blockUIInstance.blockUIInstances; return Object.keys(instances).some((key) => { if (!targets) { return instances[key].isActive; } return targets.indexOf(instances[key].name) >= 0 && instances[key].isActive; }); } dispatch(target = [], type, message) { const instances = this.toArray(target); instances.forEach(i => this.blockUIInstance.decorate(i)[type](message)); } toArray(target = []) { return typeof target === 'string' ? [target] : target; } } BlockUIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BlockUIService, deps: [{ token: i1.BlockUIInstanceService }], target: i0.ɵɵFactoryTarget.Injectable }); BlockUIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BlockUIService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BlockUIService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.BlockUIInstanceService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zZXJ2aWNlcy9ibG9jay11aS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFNeEUsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFDVSxlQUF1QztRQUF2QyxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFIakQsbUJBQWMsR0FBYyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBSXhELENBQUM7SUFFTDs7TUFFRTtJQUNGLEtBQUssQ0FBQyxNQUF5QixFQUFFLE9BQWE7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O01BRUU7SUFDRixJQUFJLENBQUMsTUFBeUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7TUFFRTtJQUNGLEtBQUssQ0FBQyxNQUF5QjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOztNQUVFO0lBQ0YsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztNQUVFO0lBQ0YsTUFBTSxDQUFDLE1BQXlCLEVBQUUsT0FBWTtRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7TUFFRTtJQUNGLFdBQVcsQ0FBQyxNQUF5QjtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztNQUVFO0lBQ0YsUUFBUSxDQUFDLFNBQTRCLElBQUk7UUFDdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUV4RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDWixPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7YUFDaEM7WUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxTQUE0QixFQUFFLEVBQUUsSUFBWSxFQUFFLE9BQWE7UUFDMUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sT0FBTyxDQUFDLFNBQTRCLEVBQUU7UUFDNUMsT0FBTyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN4RCxDQUFDOzsyR0F4RVUsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCbG9ja1VJQWN0aW9ucyB9IGZyb20gJy4uL2NvbnN0YW50cy9ibG9jay11aS1hY3Rpb25zLmNvbnN0YW50JztcbmltcG9ydCB7IEJsb2NrVUlJbnN0YW5jZVNlcnZpY2UgfSBmcm9tICcuL2Jsb2NrLXVpLWluc3RhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmdCbG9ja1VJIH0gZnJvbSAnLi4vbW9kZWxzL2Jsb2NrLXVpLm1vZGVsJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQmxvY2tVSVNlcnZpY2Uge1xuICBnbG9iYWxEaXNwYXRjaDogTmdCbG9ja1VJID0gdGhpcy5ibG9ja1VJSW5zdGFuY2UuZGVjb3JhdGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJsb2NrVUlJbnN0YW5jZTogQmxvY2tVSUluc3RhbmNlU2VydmljZVxuICApIHsgfVxuXG4gIC8qKlxuICAqIFN0YXJ0cyBibG9ja2luZyBmb3IgZ2l2ZW4gQmxvY2tVSSBpbnN0YW5jZSBvciBpbnN0YW5jZXNcbiAgKi9cbiAgc3RhcnQodGFyZ2V0OiBzdHJpbmcgfCBzdHJpbmdbXSwgbWVzc2FnZT86IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGF0Y2godGFyZ2V0LCBCbG9ja1VJQWN0aW9ucy5TVEFSVCwgbWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgKiBTdG9wcyBibG9ja2luZyBmb3IgZ2l2ZW4gQmxvY2tVSSBpbnN0YW5jZSBvciBpbnN0YW5jZXNcbiAgKi9cbiAgc3RvcCh0YXJnZXQ6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwYXRjaCh0YXJnZXQsIEJsb2NrVUlBY3Rpb25zLlNUT1ApO1xuICB9XG5cbiAgLyoqXG4gICogUmVzZXQgYmxvY2tpbmcgZm9yIGdpdmVuIEJsb2NrVUkgaW5zdGFuY2Ugb3IgaW5zdGFuY2VzXG4gICovXG4gIHJlc2V0KHRhcmdldDogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BhdGNoKHRhcmdldCwgQmxvY2tVSUFjdGlvbnMuUkVTRVQpO1xuICB9XG5cbiAgLyoqXG4gICogUmVzZXQgYmxvY2tpbmcgZm9yIGFsbCBCbG9ja1VJIGluc3RhbmNlc1xuICAqL1xuICByZXNldEdsb2JhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmdsb2JhbERpc3BhdGNoLnJlc2V0R2xvYmFsKCk7XG4gIH1cblxuICAvKipcbiAgKiBVcGRhdGVzIG1lc3NhZ2UgZm9yIGdpdmVuIEJsb2NrVUkgaW5zdGFuY2Ugb3IgaW5zdGFuY2VzXG4gICovXG4gIHVwZGF0ZSh0YXJnZXQ6IHN0cmluZyB8IHN0cmluZ1tdLCBtZXNzYWdlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BhdGNoKHRhcmdldCwgQmxvY2tVSUFjdGlvbnMuVVBEQVRFLCBtZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAqIFVuc3Vic2NyaWJlcyBmb3IgZ2l2ZW4gQmxvY2tVSSBpbnN0YW5jZSBvciBpbnN0YW5jZXNcbiAgKi9cbiAgdW5zdWJzY3JpYmUodGFyZ2V0OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGF0Y2godGFyZ2V0LCBCbG9ja1VJQWN0aW9ucy5VTlNVQlNDUklCRSk7XG4gIH1cblxuICAvKipcbiAgKiBDaGVja3MgaWYgQmxvY2tVSSBpcyBhY3RpdmVseSBibG9ja2luZ1xuICAqL1xuICBpc0FjdGl2ZSh0YXJnZXQ6IHN0cmluZyB8IHN0cmluZ1tdID0gbnVsbCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRhcmdldHMgPSB0YXJnZXQgPyB0aGlzLnRvQXJyYXkodGFyZ2V0KSA6IG51bGw7XG4gICAgY29uc3QgaW5zdGFuY2VzID0gdGhpcy5ibG9ja1VJSW5zdGFuY2UuYmxvY2tVSUluc3RhbmNlcztcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhpbnN0YW5jZXMpLnNvbWUoKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIXRhcmdldHMpIHtcbiAgICAgICAgcmV0dXJuIGluc3RhbmNlc1trZXldLmlzQWN0aXZlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGFyZ2V0cy5pbmRleE9mKGluc3RhbmNlc1trZXldLm5hbWUpID49IDAgJiYgaW5zdGFuY2VzW2tleV0uaXNBY3RpdmU7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoKHRhcmdldDogc3RyaW5nIHwgc3RyaW5nW10gPSBbXSwgdHlwZTogc3RyaW5nLCBtZXNzYWdlPzogYW55KSB7XG4gICAgY29uc3QgaW5zdGFuY2VzID0gdGhpcy50b0FycmF5KHRhcmdldCk7XG4gICAgaW5zdGFuY2VzLmZvckVhY2goaSA9PiB0aGlzLmJsb2NrVUlJbnN0YW5jZS5kZWNvcmF0ZShpKVt0eXBlXShtZXNzYWdlKSk7XG4gIH1cblxuICBwcml2YXRlIHRvQXJyYXkodGFyZ2V0OiBzdHJpbmcgfCBzdHJpbmdbXSA9IFtdKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnID8gW3RhcmdldF0gOiB0YXJnZXQ7XG4gIH1cbn1cbiJdfQ==