@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
93 lines • 12.5 kB
JavaScript
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=