@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
37 lines • 5.56 kB
JavaScript
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==