UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

58 lines 6.58 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; export class BaseAllowedNetsService { _baseAllowedNets; _sub; constructor() { this._baseAllowedNets = new BehaviorSubject([]); } ngOnDestroy() { this._baseAllowedNets.complete(); if (this._sub !== undefined) { this._sub.unsubscribe(); } } /** * Sets the new identifiers of the base allowed nets * @param nets new base net identifiers */ set allowedNets(nets) { this._baseAllowedNets.next(nets); } /** * @deprecated This method should not be used. Use {@link BaseAllowedNetsService#allowedNets$} instead * @returns the currently set allowed nets. Returns an empty array if no value was set. */ get allowedNets() { return this._baseAllowedNets.value; } /** * Subscribes to the provided `Observable` and forwards the emissions to the baseAllowedNets `Subject`. * If a new `Observable` is set, the previous Subscription is unsubscribed. * @param observableNets an observable emitting the new base net identifiers */ set allowedNets$(observableNets) { if (this._sub !== undefined) { this._sub.unsubscribe(); } this._sub = observableNets.subscribe(nets => { this._baseAllowedNets.next(nets); }); } /** * @returns an observable that emits the currently set base allowed nets and any subsequent values */ get allowedNets$() { return this._baseAllowedNets.asObservable(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseAllowedNetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseAllowedNetsService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseAllowedNetsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hbGxvd2VkLW5ldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYWxsb3dlZC1uZXRzL3NlcnZpY2VzL2Jhc2UtYWxsb3dlZC1uZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUEyQixNQUFNLE1BQU0sQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLHNCQUFzQjtJQUVyQixnQkFBZ0IsQ0FBaUM7SUFDbkQsSUFBSSxDQUFlO0lBRTNCO1FBQ0ksSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFdBQVcsQ0FBQyxJQUFtQjtRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxZQUFZLENBQUMsY0FBeUM7UUFDN0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQzt3R0FyRFEsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VBbGxvd2VkTmV0c1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJvdGVjdGVkIF9iYXNlQWxsb3dlZE5ldHM6IEJlaGF2aW9yU3ViamVjdDxBcnJheTxzdHJpbmc+PjtcbiAgICBwcml2YXRlIF9zdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9iYXNlQWxsb3dlZE5ldHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYmFzZUFsbG93ZWROZXRzLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3N1YiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIG5ldyBpZGVudGlmaWVycyBvZiB0aGUgYmFzZSBhbGxvd2VkIG5ldHNcbiAgICAgKiBAcGFyYW0gbmV0cyBuZXcgYmFzZSBuZXQgaWRlbnRpZmllcnNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGFsbG93ZWROZXRzKG5ldHM6IEFycmF5PHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fYmFzZUFsbG93ZWROZXRzLm5leHQobmV0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBtZXRob2Qgc2hvdWxkIG5vdCBiZSB1c2VkLiBVc2Uge0BsaW5rIEJhc2VBbGxvd2VkTmV0c1NlcnZpY2UjYWxsb3dlZE5ldHMkfSBpbnN0ZWFkXG4gICAgICogQHJldHVybnMgdGhlIGN1cnJlbnRseSBzZXQgYWxsb3dlZCBuZXRzLiBSZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlmIG5vIHZhbHVlIHdhcyBzZXQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBhbGxvd2VkTmV0cygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jhc2VBbGxvd2VkTmV0cy52YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmVzIHRvIHRoZSBwcm92aWRlZCBgT2JzZXJ2YWJsZWAgYW5kIGZvcndhcmRzIHRoZSBlbWlzc2lvbnMgdG8gdGhlIGJhc2VBbGxvd2VkTmV0cyBgU3ViamVjdGAuXG4gICAgICogSWYgYSBuZXcgYE9ic2VydmFibGVgIGlzIHNldCwgdGhlIHByZXZpb3VzIFN1YnNjcmlwdGlvbiBpcyB1bnN1YnNjcmliZWQuXG4gICAgICogQHBhcmFtIG9ic2VydmFibGVOZXRzIGFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIG5ldyBiYXNlIG5ldCBpZGVudGlmaWVyc1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXQgYWxsb3dlZE5ldHMkKG9ic2VydmFibGVOZXRzOiBPYnNlcnZhYmxlPEFycmF5PHN0cmluZz4+KSB7XG4gICAgICAgIGlmICh0aGlzLl9zdWIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdWIgPSBvYnNlcnZhYmxlTmV0cy5zdWJzY3JpYmUobmV0cyA9PiB7XG4gICAgICAgICAgICB0aGlzLl9iYXNlQWxsb3dlZE5ldHMubmV4dChuZXRzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50bHkgc2V0IGJhc2UgYWxsb3dlZCBuZXRzIGFuZCBhbnkgc3Vic2VxdWVudCB2YWx1ZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGFsbG93ZWROZXRzJCgpOiBPYnNlcnZhYmxlPEFycmF5PHN0cmluZz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jhc2VBbGxvd2VkTmV0cy5hc09ic2VydmFibGUoKTtcbiAgICB9XG59XG4iXX0=