UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

93 lines 12.5 kB
export var FilteringExpressionsTreeType; (function (FilteringExpressionsTreeType) { FilteringExpressionsTreeType[FilteringExpressionsTreeType["Regular"] = 0] = "Regular"; FilteringExpressionsTreeType[FilteringExpressionsTreeType["Advanced"] = 1] = "Advanced"; })(FilteringExpressionsTreeType || (FilteringExpressionsTreeType = {})); export class FilteringExpressionsTree { constructor(operator, fieldName) { /** * Sets/gets the filtering operands. * ```typescript * const gridExpressionsTree = new FilteringExpressionsTree(FilteringLogic.And); * const expression = [ * { * condition: IgxStringFilteringOperand.instance().condition('contains'), * fieldName: 'Column Field', * searchVal: 'Value', * ignoreCase: false * }]; * gridExpressionsTree.filteringOperands.push(expression); * this.grid.filteringExpressionsTree = gridExpressionsTree; * ``` * ```typescript * let filteringOperands = gridExpressionsTree.filteringOperands; * ``` * @memberof FilteringExpressionsTree */ this.filteringOperands = []; this.operator = operator; this.fieldName = fieldName; } /** * Checks if filtering expressions tree is empty. * @param expressionTree filtering expressions tree. */ static empty(expressionTree) { return !expressionTree || !expressionTree.filteringOperands || !expressionTree.filteringOperands.length; } /** * Returns the filtering expression for a column with the provided fieldName. * ```typescript * let filteringExpression = gridExpressionTree.find('Column Field'); * ``` * @memberof FilteringExpressionsTree */ find(fieldName) { const index = this.findIndex(fieldName); if (index > -1) { return this.filteringOperands[index]; } return null; } /** * Returns the index of the filtering expression for a column with the provided fieldName. * ```typescript * let filteringExpressionIndex = gridExpressionTree.findIndex('Column Field'); * ``` * @memberof FilteringExpressionsTree */ findIndex(fieldName) { let expr; for (let i = 0; i < this.filteringOperands.length; i++) { expr = this.filteringOperands[i]; if (expr instanceof FilteringExpressionsTree) { if (this.isFilteringExpressionsTreeForColumn(expr, fieldName)) { return i; } } else { if (expr.fieldName === fieldName) { return i; } } } return -1; } isFilteringExpressionsTreeForColumn(expressionsTree, fieldName) { if (expressionsTree.fieldName === fieldName) { return true; } let expr; for (let i = 0; i < expressionsTree.filteringOperands.length; i++) { expr = expressionsTree.filteringOperands[i]; if ((expr instanceof FilteringExpressionsTree)) { return this.isFilteringExpressionsTreeForColumn(expr, fieldName); } else { return expr.fieldName === fieldName; } } return false; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLWV4cHJlc3Npb25zLXRyZWUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSw0QkFHWDtBQUhELFdBQVksNEJBQTRCO0lBQ3BDLHFGQUFPLENBQUE7SUFDUCx1RkFBUSxDQUFBO0FBQ1osQ0FBQyxFQUhXLDRCQUE0QixLQUE1Qiw0QkFBNEIsUUFHdkM7QUFZRCxNQUFNLE9BQU8sd0JBQXdCO0lBMkRqQyxZQUFZLFFBQXdCLEVBQUUsU0FBa0I7UUF6RHhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FrQkc7UUFDSCxzQkFBaUIsR0FBeUQsRUFBRSxDQUFDO1FBdUN6RSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBR0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUF5QztRQUN6RCxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztJQUM1RyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsU0FBaUI7UUFDOUIsSUFBSSxJQUFJLENBQUM7UUFDVCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwRCxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksSUFBSSxZQUFZLHdCQUF3QixFQUFFO2dCQUMxQyxJQUFJLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQzNELE9BQU8sQ0FBQyxDQUFDO2lCQUNaO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSyxJQUE2QixDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7b0JBQ3hELE9BQU8sQ0FBQyxDQUFDO2lCQUNaO2FBQ0o7U0FDSjtRQUVELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRVMsbUNBQW1DLENBQUMsZUFBMEMsRUFBRSxTQUFpQjtRQUN2RyxJQUFJLGVBQWUsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ3pDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLElBQUksQ0FBQztRQUNULEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9ELElBQUksR0FBRyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksWUFBWSx3QkFBd0IsQ0FBQyxFQUFFO2dCQUM1QyxPQUFPLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0gsT0FBUSxJQUE2QixDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUM7YUFDakU7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWx0ZXJpbmdFeHByZXNzaW9uLCBGaWx0ZXJpbmdMb2dpYyB9IGZyb20gJy4vZmlsdGVyaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IElCYXNlRXZlbnRBcmdzIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5cbmV4cG9ydCBlbnVtIEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZVR5cGUge1xuICAgIFJlZ3VsYXIsXG4gICAgQWR2YW5jZWRcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgZmlsdGVyaW5nT3BlcmFuZHM6IChJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIHwgSUZpbHRlcmluZ0V4cHJlc3Npb24pW107XG4gICAgb3BlcmF0b3I6IEZpbHRlcmluZ0xvZ2ljO1xuICAgIGZpZWxkTmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlVHlwZTtcblxuICAgIGZpbmQoZmllbGROYW1lOiBzdHJpbmcpOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIHwgSUZpbHRlcmluZ0V4cHJlc3Npb247XG4gICAgZmluZEluZGV4KGZpZWxkTmFtZTogc3RyaW5nKTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIGltcGxlbWVudHMgSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSB7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIGZpbHRlcmluZyBvcGVyYW5kcy5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgZ3JpZEV4cHJlc3Npb25zVHJlZSA9IG5ldyBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUoRmlsdGVyaW5nTG9naWMuQW5kKTtcbiAgICAgKiBjb25zdCBleHByZXNzaW9uID0gW1xuICAgICAqIHtcbiAgICAgKiAgIGNvbmRpdGlvbjogSWd4U3RyaW5nRmlsdGVyaW5nT3BlcmFuZC5pbnN0YW5jZSgpLmNvbmRpdGlvbignY29udGFpbnMnKSxcbiAgICAgKiAgIGZpZWxkTmFtZTogJ0NvbHVtbiBGaWVsZCcsXG4gICAgICogICBzZWFyY2hWYWw6ICdWYWx1ZScsXG4gICAgICogICBpZ25vcmVDYXNlOiBmYWxzZVxuICAgICAqIH1dO1xuICAgICAqIGdyaWRFeHByZXNzaW9uc1RyZWUuZmlsdGVyaW5nT3BlcmFuZHMucHVzaChleHByZXNzaW9uKTtcbiAgICAgKiB0aGlzLmdyaWQuZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlID0gZ3JpZEV4cHJlc3Npb25zVHJlZTtcbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGZpbHRlcmluZ09wZXJhbmRzID0gZ3JpZEV4cHJlc3Npb25zVHJlZS5maWx0ZXJpbmdPcGVyYW5kcztcbiAgICAgKiBgYGBcbiAgICAgKiBAbWVtYmVyb2YgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlXG4gICAgICovXG4gICAgZmlsdGVyaW5nT3BlcmFuZHM6IChJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIHwgSUZpbHRlcmluZ0V4cHJlc3Npb24pW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgb3BlcmF0b3IuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGdyaWRFeHByZXNzaW9uc1RyZWUub3BlcmF0b3IgPSBGaWx0ZXJpbmdMb2dpYy5BbmQ7XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBvcGVyYXRvciA9IGdyaWRFeHByZXNzaW9uc1RyZWUub3BlcmF0b3I7XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZVxuICAgICAqL1xuICAgIG9wZXJhdG9yOiBGaWx0ZXJpbmdMb2dpYztcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgZmllbGQgbmFtZSBvZiB0aGUgY29sdW1uIHdoZXJlIHRoZSBmaWx0ZXJpbmcgZXhwcmVzc2lvbiBpcyBwbGFjZWQuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBncmlkRXhwcmVzc2lvblRyZWUuZmllbGROYW1lID0gJ0NvbHVtbiBGaWVsZCc7XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBjb2x1bW5GaWVsZCA9IGV4cHJlc3Npb25UcmVlLmZpZWxkTmFtZTtcbiAgICAgKiBgYGBcbiAgICAgKiBAbWVtYmVyb2YgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlXG4gICAgICovXG4gICAgZmllbGROYW1lPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSB0eXBlIG9mIHRoZSBmaWx0ZXJpbmcgZXhwcmVzc2lvbnMgdHJlZS5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIGdyaWRFeHByZXNzaW9uVHJlZS50eXBlID0gRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLkFkdmFuY2VkO1xuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgdHlwZSA9IGV4cHJlc3Npb25UcmVlLnR5cGU7XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZVxuICAgICAqL1xuICAgIHR5cGU/OiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWVUeXBlO1xuXG4gICAgY29uc3RydWN0b3Iob3BlcmF0b3I6IEZpbHRlcmluZ0xvZ2ljLCBmaWVsZE5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9IG9wZXJhdG9yO1xuICAgICAgICB0aGlzLmZpZWxkTmFtZSA9IGZpZWxkTmFtZTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBmaWx0ZXJpbmcgZXhwcmVzc2lvbnMgdHJlZSBpcyBlbXB0eS5cbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvblRyZWUgZmlsdGVyaW5nIGV4cHJlc3Npb25zIHRyZWUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBlbXB0eShleHByZXNzaW9uVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIWV4cHJlc3Npb25UcmVlIHx8ICFleHByZXNzaW9uVHJlZS5maWx0ZXJpbmdPcGVyYW5kcyB8fCAhZXhwcmVzc2lvblRyZWUuZmlsdGVyaW5nT3BlcmFuZHMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGZpbHRlcmluZyBleHByZXNzaW9uIGZvciBhIGNvbHVtbiB3aXRoIHRoZSBwcm92aWRlZCBmaWVsZE5hbWUuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBmaWx0ZXJpbmdFeHByZXNzaW9uID0gZ3JpZEV4cHJlc3Npb25UcmVlLmZpbmQoJ0NvbHVtbiBGaWVsZCcpO1xuICAgICAqIGBgYFxuICAgICAqIEBtZW1iZXJvZiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZmluZChmaWVsZE5hbWU6IHN0cmluZyk6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUgfCBJRmlsdGVyaW5nRXhwcmVzc2lvbiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSW5kZXgoZmllbGROYW1lKTtcblxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyaW5nT3BlcmFuZHNbaW5kZXhdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGZpbHRlcmluZyBleHByZXNzaW9uIGZvciBhIGNvbHVtbiB3aXRoIHRoZSBwcm92aWRlZCBmaWVsZE5hbWUuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBmaWx0ZXJpbmdFeHByZXNzaW9uSW5kZXggPSBncmlkRXhwcmVzc2lvblRyZWUuZmluZEluZGV4KCdDb2x1bW4gRmllbGQnKTtcbiAgICAgKiBgYGBcbiAgICAgKiBAbWVtYmVyb2YgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlXG4gICAgICovXG4gICAgcHVibGljIGZpbmRJbmRleChmaWVsZE5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGxldCBleHByO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZmlsdGVyaW5nT3BlcmFuZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGV4cHIgPSB0aGlzLmZpbHRlcmluZ09wZXJhbmRzW2ldO1xuICAgICAgICAgICAgaWYgKGV4cHIgaW5zdGFuY2VvZiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZUZvckNvbHVtbihleHByLCBmaWVsZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKChleHByIGFzIElGaWx0ZXJpbmdFeHByZXNzaW9uKS5maWVsZE5hbWUgPT09IGZpZWxkTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlRm9yQ29sdW1uKGV4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSwgZmllbGROYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGV4cHJlc3Npb25zVHJlZS5maWVsZE5hbWUgPT09IGZpZWxkTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZXhwcjtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBleHByZXNzaW9uc1RyZWUuZmlsdGVyaW5nT3BlcmFuZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGV4cHIgPSBleHByZXNzaW9uc1RyZWUuZmlsdGVyaW5nT3BlcmFuZHNbaV07XG4gICAgICAgICAgICBpZiAoKGV4cHIgaW5zdGFuY2VvZiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWVGb3JDb2x1bW4oZXhwciwgZmllbGROYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChleHByIGFzIElGaWx0ZXJpbmdFeHByZXNzaW9uKS5maWVsZE5hbWUgPT09IGZpZWxkTmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=