@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
48 lines • 7.73 kB
JavaScript
import { EditableClausePredicate } from './editable-clause-predicate';
import { PredicateWithGenerator } from './predicate-with-generator';
import { EditablePredicateWithGenerator } from './editable-predicate-with-generator';
export class EditableClausePredicateWithGenerators extends EditableClausePredicate {
constructor(operator, parentNotifier, initiallyVisible = true, bracketSubPredicateText = false) {
super(operator, parentNotifier, initiallyVisible, bracketSubPredicateText);
this._metadataGenerator = () => {
const result = [];
for (const predicate of this._predicates.values()) {
const metadata = predicate.createGeneratorMetadata();
if (metadata !== undefined) {
result.push(metadata);
}
}
return result.length > 0 ? result : undefined;
};
}
addNewClausePredicate(operator, initiallyVisible = true) {
return this.addPredicate(new EditableClausePredicateWithGenerators(operator, this._childUpdated$, initiallyVisible));
}
addPredicate(predicate, initiallyVisible = true) {
return super.addPredicate(new PredicateWithGenerator(predicate, undefined, initiallyVisible));
}
/**
* Creates a new editable predicate from the provided generator {@link Category} instance,
* connects it to the update notifications stream and adds it to the predicate subtree.
* @param generator
* @param initiallyVisible
*/
addNewPredicateFromGenerator(generator, initiallyVisible = true) {
const predicate = new EditablePredicateWithGenerator(generator, initiallyVisible);
predicate.parentNotifier = this._childUpdated$;
return super.addPredicate(predicate);
}
getPredicateMap() {
return this._predicates;
}
/**
* Cleans-up the inner state of this object
*/
destroy() {
super.destroy();
for (const predicate of this._predicates.values()) {
predicate.destroy();
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtY2xhdXNlLXByZWRpY2F0ZS13aXRoLWdlbmVyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NlYXJjaC9tb2RlbHMvcHJlZGljYXRlL2VkaXRhYmxlLWNsYXVzZS1wcmVkaWNhdGUtd2l0aC1nZW5lcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBR2xFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRW5GLE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSx1QkFBdUI7SUFJOUUsWUFBWSxRQUF5QixFQUFFLGNBQThCLEVBQUUsZ0JBQWdCLEdBQUcsSUFBSSxFQUFFLHVCQUF1QixHQUFHLEtBQUs7UUFDM0gsS0FBSyxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQzNCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNsQixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQy9DLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7b0JBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3pCO2FBQ0o7WUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNsRCxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQscUJBQXFCLENBQUMsUUFBeUIsRUFBRSxnQkFBZ0IsR0FBRyxJQUFJO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLHFDQUFxQyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQW9CLEVBQUUsZ0JBQWdCLEdBQUcsSUFBSTtRQUN0RCxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw0QkFBNEIsQ0FBQyxTQUF3QixFQUFFLGdCQUFnQixHQUFHLElBQUk7UUFDMUUsTUFBTSxTQUFTLEdBQUcsSUFBSSw4QkFBOEIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRixTQUFTLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0MsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDSCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEIsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9DLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN2QjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWRpdGFibGVDbGF1c2VQcmVkaWNhdGV9IGZyb20gJy4vZWRpdGFibGUtY2xhdXNlLXByZWRpY2F0ZSc7XG5pbXBvcnQge0Jvb2xlYW5PcGVyYXRvcn0gZnJvbSAnLi4vYm9vbGVhbi1vcGVyYXRvcic7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQcmVkaWNhdGVXaXRoR2VuZXJhdG9yfSBmcm9tICcuL3ByZWRpY2F0ZS13aXRoLWdlbmVyYXRvcic7XG5pbXBvcnQge1ByZWRpY2F0ZX0gZnJvbSAnLi9wcmVkaWNhdGUnO1xuaW1wb3J0IHtDYXRlZ29yeX0gZnJvbSAnLi4vY2F0ZWdvcnkvY2F0ZWdvcnknO1xuaW1wb3J0IHtFZGl0YWJsZVByZWRpY2F0ZVdpdGhHZW5lcmF0b3J9IGZyb20gJy4vZWRpdGFibGUtcHJlZGljYXRlLXdpdGgtZ2VuZXJhdG9yJztcblxuZXhwb3J0IGNsYXNzIEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnMgZXh0ZW5kcyBFZGl0YWJsZUNsYXVzZVByZWRpY2F0ZSB7XG5cbiAgICBkZWNsYXJlIHByb3RlY3RlZCBfcHJlZGljYXRlczogTWFwPG51bWJlciwgUHJlZGljYXRlV2l0aEdlbmVyYXRvcj47XG5cbiAgICBjb25zdHJ1Y3RvcihvcGVyYXRvcjogQm9vbGVhbk9wZXJhdG9yLCBwYXJlbnROb3RpZmllcj86IFN1YmplY3Q8dm9pZD4sIGluaXRpYWxseVZpc2libGUgPSB0cnVlLCBicmFja2V0U3ViUHJlZGljYXRlVGV4dCA9IGZhbHNlKSB7XG4gICAgICAgIHN1cGVyKG9wZXJhdG9yLCBwYXJlbnROb3RpZmllciwgaW5pdGlhbGx5VmlzaWJsZSwgYnJhY2tldFN1YlByZWRpY2F0ZVRleHQpO1xuICAgICAgICB0aGlzLl9tZXRhZGF0YUdlbmVyYXRvciA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBwcmVkaWNhdGUgb2YgdGhpcy5fcHJlZGljYXRlcy52YWx1ZXMoKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFkYXRhID0gcHJlZGljYXRlLmNyZWF0ZUdlbmVyYXRvck1ldGFkYXRhKCk7XG4gICAgICAgICAgICAgICAgaWYgKG1ldGFkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobWV0YWRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQubGVuZ3RoID4gMCA/IHJlc3VsdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBhZGROZXdDbGF1c2VQcmVkaWNhdGUob3BlcmF0b3I6IEJvb2xlYW5PcGVyYXRvciwgaW5pdGlhbGx5VmlzaWJsZSA9IHRydWUpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRQcmVkaWNhdGUobmV3IEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnMob3BlcmF0b3IsIHRoaXMuX2NoaWxkVXBkYXRlZCQsIGluaXRpYWxseVZpc2libGUpKTtcbiAgICB9XG5cbiAgICBhZGRQcmVkaWNhdGUocHJlZGljYXRlOiBQcmVkaWNhdGUsIGluaXRpYWxseVZpc2libGUgPSB0cnVlKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmFkZFByZWRpY2F0ZShuZXcgUHJlZGljYXRlV2l0aEdlbmVyYXRvcihwcmVkaWNhdGUsIHVuZGVmaW5lZCwgaW5pdGlhbGx5VmlzaWJsZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgZWRpdGFibGUgcHJlZGljYXRlIGZyb20gdGhlIHByb3ZpZGVkIGdlbmVyYXRvciB7QGxpbmsgQ2F0ZWdvcnl9IGluc3RhbmNlLFxuICAgICAqIGNvbm5lY3RzIGl0IHRvIHRoZSB1cGRhdGUgbm90aWZpY2F0aW9ucyBzdHJlYW0gYW5kIGFkZHMgaXQgdG8gdGhlIHByZWRpY2F0ZSBzdWJ0cmVlLlxuICAgICAqIEBwYXJhbSBnZW5lcmF0b3JcbiAgICAgKiBAcGFyYW0gaW5pdGlhbGx5VmlzaWJsZVxuICAgICAqL1xuICAgIGFkZE5ld1ByZWRpY2F0ZUZyb21HZW5lcmF0b3IoZ2VuZXJhdG9yOiBDYXRlZ29yeTxhbnk+LCBpbml0aWFsbHlWaXNpYmxlID0gdHJ1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHByZWRpY2F0ZSA9IG5ldyBFZGl0YWJsZVByZWRpY2F0ZVdpdGhHZW5lcmF0b3IoZ2VuZXJhdG9yLCBpbml0aWFsbHlWaXNpYmxlKTtcbiAgICAgICAgcHJlZGljYXRlLnBhcmVudE5vdGlmaWVyID0gdGhpcy5fY2hpbGRVcGRhdGVkJDtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmFkZFByZWRpY2F0ZShwcmVkaWNhdGUpO1xuICAgIH1cblxuICAgIGdldFByZWRpY2F0ZU1hcCgpOiBNYXA8bnVtYmVyLCBQcmVkaWNhdGVXaXRoR2VuZXJhdG9yPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVkaWNhdGVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFucy11cCB0aGUgaW5uZXIgc3RhdGUgb2YgdGhpcyBvYmplY3RcbiAgICAgKi9cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIGZvciAoY29uc3QgcHJlZGljYXRlIG9mIHRoaXMuX3ByZWRpY2F0ZXMudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIHByZWRpY2F0ZS5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=