igniteui-react-grids
Version:
Ignite UI React grid components.
95 lines (94 loc) • 2.68 kB
JavaScript
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;
}
}