UNPKG

igniteui-react-grids

Version:

Ignite UI React grid components.

95 lines (94 loc) 2.68 kB
import { FilteringExpressionsTreeType_$type } from "./FilteringExpressionsTreeType"; import { FilteringLogic_$type } from "./FilteringLogic"; import { IgrExpressionTree } from "./igr-expression-tree"; import { IgrFilteringExpressionsTreeOrFilteringExpression } from "./igr-filtering-expressions-tree-or-filtering-expression"; import { FilteringExpressionsTree as FilteringExpressionsTree_internal } from "./FilteringExpressionsTree"; import { ensureEnum } from "igniteui-react-core"; export class IgrFilteringExpressionsTree extends IgrExpressionTree { createImplementation() { let impl = new FilteringExpressionsTree_internal(); if (impl.setNativeElement) { impl.setNativeElement({}); } return impl; } /** * @hidden */ get i() { return this._implementation; } constructor() { super(); } get filteringOperands() { if (!this.i.k) { return undefined; } let ret = []; for (let i = 0; i < this.i.k.length; i++) { let impl = this.i.k[i]; if (!impl.externalObject) { if (impl instanceof IgrFilteringExpressionsTreeOrFilteringExpression) { ret.push(impl); continue; } let e = new IgrFilteringExpressionsTreeOrFilteringExpression(); 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.k = arr; } get type() { return this.i.m; } set type(v) { this.i.m = ensureEnum(FilteringExpressionsTreeType_$type, v); } /** * Provides reference to the owner component. */ get owner() { return this.i.o; } set owner(v) { this.i.o = v; } get operator() { return this.i.n; } set operator(v) { this.i.n = ensureEnum(FilteringLogic_$type, v); } get fieldName() { return this.i.q; } set fieldName(v) { this.i.q = v; } get entity() { return this.i.p; } set entity(v) { this.i.p = v; } get returnFields() { return this.i.l; } set returnFields(v) { if (v && !Array.isArray(v) && typeof (v) == "string") { const re = /\s*(?:,|\s|$)\s*/gm; v = v.split(re); } this.i.l = v; } }