All files / src/components/tek-grid/tek-grid-columns-button tek-grid-columns-button.ts

100% Statements 17/17
100% Branches 1/1
100% Functions 4/4
100% Lines 16/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38112x 112x 112x 112x         112x 4x     4x 4x 4x       4x 4x     4x     4x     2x 5x         2x      
import { I18n, Loader } from '@zeedhi/core';
import { IterableColumnsButton, TekGridColumn } from '../..';
import { ITekGridColumnsButton, columnAggregationValues } from '../interfaces';
import { TekGridColumnsButtonController } from './tek-grid-columns-button-controller';
 
/**
 * Base class for TekGrid Columns Button component
 */
export class TekGridColumnsButton extends IterableColumnsButton<TekGridColumn> implements ITekGridColumnsButton {
	public hideGroups = false;
 
	constructor(props: ITekGridColumnsButton) {
		super(props);
		this.hideGroups = this.getInitValue('hideGroups', props.hideGroups, this.hideGroups);
		this.createAccessors();
	}
 
	public onCreated() {
		super.onCreated();
		Loader.addController(`IterableColumnsButtonController_${this.name}`, TekGridColumnsButtonController, [
			this.iterableComponent,
		]);
		this.controller = Loader.getInstance(`IterableColumnsButtonController_${this.name}`);
	}
 
	private aggregationDataSet: any[] = [];
 
	public getAggregationSelectData() {
		if (!this.aggregationDataSet.length) {
			this.aggregationDataSet = columnAggregationValues.filter(Boolean).map((value) => ({
				text: I18n.translate(`TEKGRID_AGGREGATION_${value}`),
				value,
			}));
		}
		return this.aggregationDataSet;
	}
}