@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
43 lines • 5.32 kB
JavaScript
import { Injectable } from '@angular/core';
import { TaskHandlingService } from '../../task/services/task-handling-service';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "./task-content.service";
/**
* Holds logic about the available operations on a {@link Task} object based on it's state.
*
* Beware that it gets the Task from (@link TaskContentService) instance and thus the task might not be always initialized.
* If the task is not initialized this class cannot work properly.
*/
export class TaskEventService extends TaskHandlingService {
_taskEventNotifications$;
constructor(_taskContentService) {
super(_taskContentService);
this._taskEventNotifications$ = new Subject();
}
/**
* Completes the stream
*/
ngOnDestroy() {
this._taskEventNotifications$.complete();
}
/**
* Provides information about results of events executed on the managed {@link Task}
*/
get taskEventNotifications$() {
return this._taskEventNotifications$.asObservable();
}
/**
* Emits a new {@link TaskEventNotification} into the notifications stream
* @param event the event information that will be pushed into the stream
*/
publishTaskEvent(event) {
this._taskEventNotifications$.next(event);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskEventService, deps: [{ token: i1.TaskContentService }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskEventService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskEventService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.TaskContentService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ldmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi90YXNrLWNvbnRlbnQvc2VydmljZXMvdGFzay1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBR3pDOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG1CQUFtQjtJQUUzQyx3QkFBd0IsQ0FBaUM7SUFFbkUsWUFBWSxtQkFBdUM7UUFDL0MsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksT0FBTyxFQUF5QixDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyx1QkFBdUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGdCQUFnQixDQUFDLEtBQTRCO1FBQ2hELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzt3R0E3QlEsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Rhc2tDb250ZW50U2VydmljZX0gZnJvbSAnLi90YXNrLWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tIYW5kbGluZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2svc2VydmljZXMvdGFzay1oYW5kbGluZy1zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tFdmVudE5vdGlmaWNhdGlvbn0gZnJvbSAnLi4vbW9kZWwvdGFzay1ldmVudC1ub3RpZmljYXRpb24nO1xuXG4vKipcbiAqIEhvbGRzIGxvZ2ljIGFib3V0IHRoZSBhdmFpbGFibGUgb3BlcmF0aW9ucyBvbiBhIHtAbGluayBUYXNrfSBvYmplY3QgYmFzZWQgb24gaXQncyBzdGF0ZS5cbiAqXG4gKiBCZXdhcmUgdGhhdCBpdCBnZXRzIHRoZSBUYXNrIGZyb20gKEBsaW5rIFRhc2tDb250ZW50U2VydmljZSkgaW5zdGFuY2UgYW5kIHRodXMgdGhlIHRhc2sgbWlnaHQgbm90IGJlIGFsd2F5cyBpbml0aWFsaXplZC5cbiAqIElmIHRoZSB0YXNrIGlzIG5vdCBpbml0aWFsaXplZCB0aGlzIGNsYXNzIGNhbm5vdCB3b3JrIHByb3Blcmx5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFza0V2ZW50U2VydmljZSBleHRlbmRzIFRhc2tIYW5kbGluZ1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJvdGVjdGVkIF90YXNrRXZlbnROb3RpZmljYXRpb25zJDogU3ViamVjdDxUYXNrRXZlbnROb3RpZmljYXRpb24+O1xuXG4gICAgY29uc3RydWN0b3IoX3Rhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKF90YXNrQ29udGVudFNlcnZpY2UpO1xuICAgICAgICB0aGlzLl90YXNrRXZlbnROb3RpZmljYXRpb25zJCA9IG5ldyBTdWJqZWN0PFRhc2tFdmVudE5vdGlmaWNhdGlvbj4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21wbGV0ZXMgdGhlIHN0cmVhbVxuICAgICAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrRXZlbnROb3RpZmljYXRpb25zJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHJlc3VsdHMgb2YgZXZlbnRzIGV4ZWN1dGVkIG9uIHRoZSBtYW5hZ2VkIHtAbGluayBUYXNrfVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdGFza0V2ZW50Tm90aWZpY2F0aW9ucyQoKTogT2JzZXJ2YWJsZTxUYXNrRXZlbnROb3RpZmljYXRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rhc2tFdmVudE5vdGlmaWNhdGlvbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGEgbmV3IHtAbGluayBUYXNrRXZlbnROb3RpZmljYXRpb259IGludG8gdGhlIG5vdGlmaWNhdGlvbnMgc3RyZWFtXG4gICAgICogQHBhcmFtIGV2ZW50IHRoZSBldmVudCBpbmZvcm1hdGlvbiB0aGF0IHdpbGwgYmUgcHVzaGVkIGludG8gdGhlIHN0cmVhbVxuICAgICAqL1xuICAgIHB1YmxpYyBwdWJsaXNoVGFza0V2ZW50KGV2ZW50OiBUYXNrRXZlbnROb3RpZmljYXRpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza0V2ZW50Tm90aWZpY2F0aW9ucyQubmV4dChldmVudCk7XG4gICAgfVxufVxuIl19