UNPKG

igniteui-react-grids

Version:

Ignite UI React grid components.

82 lines (81 loc) 2.38 kB
import { FilteringLogic_$type } from "./FilteringLogic"; import { IgrFilteringExpressionsTreeOrFilteringExpression } from "./igr-filtering-expressions-tree-or-filtering-expression"; import { IgrExpressionTreeOrFilteringExpression } from "./igr-expression-tree-or-filtering-expression"; import { ExpressionTree as ExpressionTree_internal } from "./ExpressionTree"; import { ensureEnum } from "igniteui-react-core"; export class IgrExpressionTree extends IgrFilteringExpressionsTreeOrFilteringExpression { createImplementation() { let impl = new ExpressionTree_internal(); if (impl.setNativeElement) { impl.setNativeElement({}); } return impl; } /** * @hidden */ get i() { return this._implementation; } constructor() { super(); } get filteringOperands() { if (!this.i.a) { return undefined; } let ret = []; for (let i = 0; i < this.i.a.length; i++) { let impl = this.i.a[i]; if (!impl.externalObject) { if (impl instanceof IgrExpressionTreeOrFilteringExpression) { ret.push(impl); continue; } let e = new IgrExpressionTreeOrFilteringExpression(); e._implementation = impl; impl.externalObject = e; } ret.push(impl.externalObject); } return ret; } set filteringOperands(v) { let arr = []; for (let i = 0; i < v.length; i++) { arr.push(v[i].i); } this.i.a = arr; } get operator() { return this.i.c; } set operator(v) { this.i.c = ensureEnum(FilteringLogic_$type, v); } get fieldName() { return this.i.i; } set fieldName(v) { this.i.i = v; } get entity() { return this.i.h; } set entity(v) { this.i.h = v; } get returnFields() { return this.i.b; } set returnFields(v) { if (v && !Array.isArray(v) && typeof (v) == "string") { const re = /\s*(?:,|\s|$)\s*/gm; v = v.split(re); } this.i.b = v; } setNativeElement(element) { this.i.setNativeElement(element); } }