UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

37 lines 5.56 kB
import { PredicateWithGenerator } from './predicate-with-generator'; import { EditableElementaryPredicate } from './editable-elementary-predicate'; /** * An editable predicate wrapper, that can contain a generator of a Predicate. * * This class is used to transfer editable search predicates added by other means into the search GUI and * bind them to the search predicate update notifications. */ export class EditablePredicateWithGenerator extends PredicateWithGenerator { /** * Creates a new `EditablePredicateWithGenerator` instance from a generator. * * The created wrapped {@link EditablePredicate} instance has no parent notifier set. * If you want it to send notifications to a parent predicate you must add it yourself. * @param generator the generator generating the predicate * @param initiallyVisible whether the predicate is initially visible * @returns a new `EditablePredicateWithGenerator` instance, with the predicate set to the predicate generated by the generator. * If the generator generates no predicate, it will be set to an empty predicate. */ constructor(generator, initiallyVisible) { const predicate = new EditableElementaryPredicate(undefined, initiallyVisible); if (generator.providesPredicate) { predicate.query = generator.generatedPredicate.query; } super(predicate, generator, initiallyVisible); } /** * Sets the `parentNotifier` on the wrapped {@link EditablePredicate} instance. */ set parentNotifier(parentNotifier) { this.getWrappedPredicate().parentNotifier = parentNotifier; } getWrappedPredicate() { return super.getWrappedPredicate(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtcHJlZGljYXRlLXdpdGgtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9zZWFyY2gvbW9kZWxzL3ByZWRpY2F0ZS9lZGl0YWJsZS1wcmVkaWNhdGUtd2l0aC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFJNUU7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsc0JBQXNCO0lBRXRFOzs7Ozs7Ozs7T0FTRztJQUNILFlBQVksU0FBd0IsRUFBRSxnQkFBMEI7UUFDNUQsTUFBTSxTQUFTLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRSxJQUFJLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRTtZQUM3QixTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7U0FDeEQ7UUFDRCxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsY0FBYyxDQUFDLGNBQTZCO1FBQ25ELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDL0QsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sS0FBSyxDQUFDLG1CQUFtQixFQUF1QixDQUFDO0lBQzVELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2F0ZWdvcnl9IGZyb20gJy4uL2NhdGVnb3J5L2NhdGVnb3J5JztcbmltcG9ydCB7UHJlZGljYXRlV2l0aEdlbmVyYXRvcn0gZnJvbSAnLi9wcmVkaWNhdGUtd2l0aC1nZW5lcmF0b3InO1xuaW1wb3J0IHtFZGl0YWJsZUVsZW1lbnRhcnlQcmVkaWNhdGV9IGZyb20gJy4vZWRpdGFibGUtZWxlbWVudGFyeS1wcmVkaWNhdGUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RWRpdGFibGVQcmVkaWNhdGV9IGZyb20gJy4vZWRpdGFibGUtcHJlZGljYXRlJztcblxuLyoqXG4gKiBBbiBlZGl0YWJsZSBwcmVkaWNhdGUgd3JhcHBlciwgdGhhdCBjYW4gY29udGFpbiBhIGdlbmVyYXRvciBvZiBhIFByZWRpY2F0ZS5cbiAqXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gdHJhbnNmZXIgZWRpdGFibGUgc2VhcmNoIHByZWRpY2F0ZXMgYWRkZWQgYnkgb3RoZXIgbWVhbnMgaW50byB0aGUgc2VhcmNoIEdVSSBhbmRcbiAqIGJpbmQgdGhlbSB0byB0aGUgc2VhcmNoIHByZWRpY2F0ZSB1cGRhdGUgbm90aWZpY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXRhYmxlUHJlZGljYXRlV2l0aEdlbmVyYXRvciBleHRlbmRzIFByZWRpY2F0ZVdpdGhHZW5lcmF0b3Ige1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBgRWRpdGFibGVQcmVkaWNhdGVXaXRoR2VuZXJhdG9yYCBpbnN0YW5jZSBmcm9tIGEgZ2VuZXJhdG9yLlxuICAgICAqXG4gICAgICogVGhlIGNyZWF0ZWQgd3JhcHBlZCB7QGxpbmsgRWRpdGFibGVQcmVkaWNhdGV9IGluc3RhbmNlIGhhcyBubyBwYXJlbnQgbm90aWZpZXIgc2V0LlxuICAgICAqIElmIHlvdSB3YW50IGl0IHRvIHNlbmQgbm90aWZpY2F0aW9ucyB0byBhIHBhcmVudCBwcmVkaWNhdGUgeW91IG11c3QgYWRkIGl0IHlvdXJzZWxmLlxuICAgICAqIEBwYXJhbSBnZW5lcmF0b3IgdGhlIGdlbmVyYXRvciBnZW5lcmF0aW5nIHRoZSBwcmVkaWNhdGVcbiAgICAgKiBAcGFyYW0gaW5pdGlhbGx5VmlzaWJsZSB3aGV0aGVyIHRoZSBwcmVkaWNhdGUgaXMgaW5pdGlhbGx5IHZpc2libGVcbiAgICAgKiBAcmV0dXJucyBhIG5ldyBgRWRpdGFibGVQcmVkaWNhdGVXaXRoR2VuZXJhdG9yYCBpbnN0YW5jZSwgd2l0aCB0aGUgcHJlZGljYXRlIHNldCB0byB0aGUgcHJlZGljYXRlIGdlbmVyYXRlZCBieSB0aGUgZ2VuZXJhdG9yLlxuICAgICAqIElmIHRoZSBnZW5lcmF0b3IgZ2VuZXJhdGVzIG5vIHByZWRpY2F0ZSwgaXQgd2lsbCBiZSBzZXQgdG8gYW4gZW1wdHkgcHJlZGljYXRlLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGdlbmVyYXRvcjogQ2F0ZWdvcnk8YW55PiwgaW5pdGlhbGx5VmlzaWJsZT86IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgcHJlZGljYXRlID0gbmV3IEVkaXRhYmxlRWxlbWVudGFyeVByZWRpY2F0ZSh1bmRlZmluZWQsIGluaXRpYWxseVZpc2libGUpO1xuICAgICAgICBpZiAoZ2VuZXJhdG9yLnByb3ZpZGVzUHJlZGljYXRlKSB7XG4gICAgICAgICAgICBwcmVkaWNhdGUucXVlcnkgPSBnZW5lcmF0b3IuZ2VuZXJhdGVkUHJlZGljYXRlLnF1ZXJ5O1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyKHByZWRpY2F0ZSwgZ2VuZXJhdG9yLCBpbml0aWFsbHlWaXNpYmxlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBgcGFyZW50Tm90aWZpZXJgIG9uIHRoZSB3cmFwcGVkIHtAbGluayBFZGl0YWJsZVByZWRpY2F0ZX0gaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHNldCBwYXJlbnROb3RpZmllcihwYXJlbnROb3RpZmllcjogU3ViamVjdDx2b2lkPikge1xuICAgICAgICB0aGlzLmdldFdyYXBwZWRQcmVkaWNhdGUoKS5wYXJlbnROb3RpZmllciA9IHBhcmVudE5vdGlmaWVyO1xuICAgIH1cblxuICAgIGdldFdyYXBwZWRQcmVkaWNhdGUoKTogRWRpdGFibGVQcmVkaWNhdGUge1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0V3JhcHBlZFByZWRpY2F0ZSgpIGFzIEVkaXRhYmxlUHJlZGljYXRlO1xuICAgIH1cbn1cbiJdfQ==