@3mo/data-grid
Version:
A data grid web component
49 lines (48 loc) • 1.81 kB
JavaScript
import { __decorate } from "tslib";
import { property } from '@a11d/lit';
import { DataGridColumnComponent } from '../DataGridColumnComponent.js';
import { DataGridColumn } from '../../DataGridColumn.js';
export class DataGridColumnNumberBase extends DataGridColumnComponent {
constructor() {
super(...arguments);
this.sumHeading = undefined;
this.textAlign = 'end';
}
getMin(data) { return this.min ?? (this.minDataSelector ? KeyPath.get(data, this.minDataSelector) : undefined); }
getMax(data) { return this.max ?? (this.maxDataSelector ? KeyPath.get(data, this.maxDataSelector) : undefined); }
getStep(data) { return this.step ?? (this.stepDataSelector ? KeyPath.get(data, this.stepDataSelector) : undefined); }
get column() {
return new DataGridColumn({
...super.column,
sumHeading: this.sumHeading,
getSumTemplate: this.getSumTemplate.bind(this),
});
}
getNumber(value) {
return Number.isFinite(value) ? value : undefined;
}
}
__decorate([
property()
], DataGridColumnNumberBase.prototype, "sumHeading", void 0);
__decorate([
property()
], DataGridColumnNumberBase.prototype, "textAlign", void 0);
__decorate([
property({ type: Number })
], DataGridColumnNumberBase.prototype, "min", void 0);
__decorate([
property()
], DataGridColumnNumberBase.prototype, "minDataSelector", void 0);
__decorate([
property({ type: Number })
], DataGridColumnNumberBase.prototype, "max", void 0);
__decorate([
property()
], DataGridColumnNumberBase.prototype, "maxDataSelector", void 0);
__decorate([
property({ type: Number })
], DataGridColumnNumberBase.prototype, "step", void 0);
__decorate([
property()
], DataGridColumnNumberBase.prototype, "stepDataSelector", void 0);