igniteui-react-grids
Version:
Ignite UI React grid components.
155 lines (154 loc) • 4.08 kB
JavaScript
import { IgrPivotAggregator } from "./igr-pivot-aggregator";
import { GridColumnDataType_$type } from "./GridColumnDataType";
import { PivotValueDetail as PivotValueDetail_internal } from "./PivotValueDetail";
import { ensureBool, ensureEnum } from "igniteui-react-core";
/**
* Configuration of a pivot value aggregation.
*/
export class IgrPivotValueDetail {
createImplementation() {
return new PivotValueDetail_internal();
}
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();
}
}
/**
* Field name to use in order to extract value.
*/
get member() {
return this.i.l;
}
set member(v) {
this.i.l = v;
}
/**
* Display name to show instead of member for the column header of this value. *
*/
get displayName() {
return this.i.k;
}
set displayName(v) {
this.i.k = v;
}
/**
* Active aggregator definition with key, label and aggregator.
*/
get aggregate() {
const r = this.i.c;
if (r == null) {
return null;
}
if (!r.externalObject) {
let e = new IgrPivotAggregator();
if (r.$type) {
e._implementation = r;
}
else {
if (e.i.setNativeElement) {
e.i.setNativeElement(r);
}
}
r.externalObject = e;
}
return r.externalObject;
}
set aggregate(v) {
v == null ? this.i.c = null : this.i.c = v.i;
}
/**
* List of aggregates to show in aggregate drop-down.
*/
get aggregateList() {
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 IgrPivotAggregator) {
ret.push(impl);
continue;
}
let e = new IgrPivotAggregator();
e._implementation = impl;
impl.externalObject = e;
}
ret.push(impl.externalObject);
}
return ret;
}
set aggregateList(v) {
let arr = [];
for (let i = 0; i < v.length; i++) {
arr.push(v[i].i);
}
this.i.a = arr;
}
/**
* Enables/Disables a particular value from pivot aggregation.
*/
get enabled() {
return this.i.g;
}
set enabled(v) {
this.i.g = ensureBool(v);
}
/**
* Allow conditionally styling of the IgxPivotGrid cells.
*/
get styles() {
return this.i.j;
}
set styles(v) {
this.i.j = v;
}
/**
* Enables a data type specific template of the cells
*/
get dataType() {
return this.i.b;
}
set dataType(v) {
this.i.b = ensureEnum(GridColumnDataType_$type, v);
}
findByName(name) {
if (this.findEphemera) {
if (name && name.indexOf("@@e:") == 0) {
return this.findEphemera(name);
}
}
if (this.aggregate && this.aggregate.name && this.aggregate.name == name) {
return this.aggregate;
}
return null;
}
setNativeElement(element) {
this.i.setNativeElement(element);
}
}