igniteui-react-grids
Version:
Ignite UI React grid components.
108 lines (107 loc) • 3.1 kB
JavaScript
import { FilteringExpressionsTreeType_$type } from "./FilteringExpressionsTreeType";
import { FilteringLogic_$type } from "./FilteringLogic";
import { FilteringExpressionsTree as FilteringExpressionsTree_internal } from "./FilteringExpressionsTree";
import { ensureEnum } from "igniteui-react-core";
import { IgrFilteringExpressionsTreeOrFilteringExpression } from "./igr-filtering-expressions-tree-or-filtering-expression";
export class IgrFilteringExpressionsTree {
createImplementation() {
let impl = new FilteringExpressionsTree_internal();
if (impl.setNativeElement) {
impl.setNativeElement({});
}
return impl;
}
get nativeElement() {
return this._implementation.nativeElement;
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
onImplementationCreated() {
}
constructor() {
this.mounted = false;
this._implementation = this.createImplementation();
this._implementation.externalObject = this;
this.onImplementationCreated();
if (this._initializeAdapters) {
this._initializeAdapters();
}
}
_provideImplementation(i) {
this._implementation = i;
this._implementation.externalObject = this;
this.onImplementationCreated();
if (this._initializeAdapters) {
this._initializeAdapters();
}
}
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 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.a = arr;
}
get type() {
return this.i.b;
}
set type(v) {
this.i.b = ensureEnum(FilteringExpressionsTreeType_$type, v);
}
/**
* Provides reference to the owner component.
*/
get owner() {
return this.i.h;
}
set owner(v) {
this.i.h = v;
}
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;
}
findByName(name) {
if (this.findEphemera) {
if (name && name.indexOf("@@e:") == 0) {
return this.findEphemera(name);
}
}
return null;
}
setNativeElement(element) {
this.i.setNativeElement(element);
}
}