@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
26 lines • 3.15 kB
JavaScript
import { Predicate } from './predicate';
/**
* Base class for editable predicates that allows them to notify their parent predicate tree nodes about updates to their queries.
*/
export class EditablePredicate extends Predicate {
_parentNotifier;
constructor(parentNotifier, initiallyVisible = true) {
super(initiallyVisible);
this._parentNotifier = parentNotifier;
}
/**
* Notify the parent `Predicate` that this `Predicate` updated its `Query`
*/
notifyParentPredicate() {
if (this._parentNotifier && !this._parentNotifier.isStopped) {
this._parentNotifier.next();
}
}
set parentNotifier(parentNotifier) {
this._parentNotifier = parentNotifier;
}
destroy() {
this._parentNotifier.complete();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtcHJlZGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9zZWFyY2gvbW9kZWxzL3ByZWRpY2F0ZS9lZGl0YWJsZS1wcmVkaWNhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUd0Qzs7R0FFRztBQUNILE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsU0FBUztJQUUzQyxlQUFlLENBQWdCO0lBRXpDLFlBQXNCLGNBQThCLEVBQUUsZ0JBQWdCLEdBQUcsSUFBSTtRQUN6RSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7WUFDekQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxJQUFXLGNBQWMsQ0FBQyxjQUE2QjtRQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcmVkaWNhdGV9IGZyb20gJy4vcHJlZGljYXRlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZWRpdGFibGUgcHJlZGljYXRlcyB0aGF0IGFsbG93cyB0aGVtIHRvIG5vdGlmeSB0aGVpciBwYXJlbnQgcHJlZGljYXRlIHRyZWUgbm9kZXMgYWJvdXQgdXBkYXRlcyB0byB0aGVpciBxdWVyaWVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRWRpdGFibGVQcmVkaWNhdGUgZXh0ZW5kcyBQcmVkaWNhdGUge1xuXG4gICAgcHJvdGVjdGVkIF9wYXJlbnROb3RpZmllcjogU3ViamVjdDx2b2lkPjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwYXJlbnROb3RpZmllcj86IFN1YmplY3Q8dm9pZD4sIGluaXRpYWxseVZpc2libGUgPSB0cnVlKSB7XG4gICAgICAgIHN1cGVyKGluaXRpYWxseVZpc2libGUpO1xuICAgICAgICB0aGlzLl9wYXJlbnROb3RpZmllciA9IHBhcmVudE5vdGlmaWVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5vdGlmeSB0aGUgcGFyZW50IGBQcmVkaWNhdGVgIHRoYXQgdGhpcyBgUHJlZGljYXRlYCB1cGRhdGVkIGl0cyBgUXVlcnlgXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG5vdGlmeVBhcmVudFByZWRpY2F0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3BhcmVudE5vdGlmaWVyICYmICF0aGlzLl9wYXJlbnROb3RpZmllci5pc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudE5vdGlmaWVyLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcGFyZW50Tm90aWZpZXIocGFyZW50Tm90aWZpZXI6IFN1YmplY3Q8dm9pZD4pIHtcbiAgICAgICAgdGhpcy5fcGFyZW50Tm90aWZpZXIgPSBwYXJlbnROb3RpZmllcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50Tm90aWZpZXIuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=