ng-devui
Version:
DevUI components based on Angular
120 lines • 13.5 kB
JavaScript
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
import { DataTableCellEditTmplComponent } from './data-table-cell-edit-tmpl.component';
import { DataTableCellViewTmplComponent } from './data-table-cell-view-tmpl.component';
import { DataTableHeadCellTmplComponent } from './data-table-head-cell-tmpl.component';
import * as i0 from "@angular/core";
export class DataTableColumnTmplComponent {
constructor() {
this.headCellApplyAll = false;
this.nestedColumnIndent = 16;
this.order = Number.MAX_VALUE;
this.nestedColumn = false;
this.filterChange = new EventEmitter();
this.filterToggle = new EventEmitter();
this.filterMultiple = true;
this.orderChange = new EventEmitter();
this.widthChange = new EventEmitter();
// 鼠标是否移动到当前表头单元格
this.selected = false;
// @deprecated
this.fieldType = 'text';
}
ngOnChanges(changes) {
const { order, width } = changes;
if (order) {
this.orderChange.emit(order.currentValue);
}
if (width) {
this.widthChange.emit(width.currentValue);
}
}
ngOnDestroy() {
this.orderChange.unsubscribe();
}
emitFilterData(filterData) {
this.filterChange.emit(filterData);
}
emitFilterToggle(data) {
this.filterToggle.emit(data);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableColumnTmplComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableColumnTmplComponent, selector: "d-column", inputs: { advancedHeader: "advancedHeader", headCellApplyAll: "headCellApplyAll", maxWidth: "maxWidth", minWidth: "minWidth", field: "field", header: "header", sortable: "sortable", editable: "editable", filterable: "filterable", closeFilterWhenScroll: "closeFilterWhenScroll", cellClass: "cellClass", nestedColumnIndent: "nestedColumnIndent", width: "width", fixedLeft: "fixedLeft", fixedRight: "fixedRight", extraOptions: "extraOptions", order: "order", nestedColumn: "nestedColumn", filterList: "filterList", filterMultiple: "filterMultiple", filterIconActive: "filterIconActive", filterBoxWidth: "filterBoxWidth", filterBoxHeight: "filterBoxHeight", beforeFilter: "beforeFilter", customFilterTemplate: "customFilterTemplate", extraFilterTemplate: "extraFilterTemplate", searchFn: "searchFn", fieldType: "fieldType" }, outputs: { filterChange: "filterChange", filterToggle: "filterToggle" }, queries: [{ propertyName: "cellCmp", first: true, predicate: DataTableCellViewTmplComponent, descendants: true }, { propertyName: "cellEditCmp", first: true, predicate: DataTableCellEditTmplComponent, descendants: true }, { propertyName: "headCellTmpl", first: true, predicate: DataTableHeadCellTmplComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableColumnTmplComponent, decorators: [{
type: Component,
args: [{
selector: 'd-column',
template: '',
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], propDecorators: { advancedHeader: [{
type: Input
}], headCellApplyAll: [{
type: Input
}], maxWidth: [{
type: Input
}], minWidth: [{
type: Input
}], field: [{
type: Input
}], header: [{
type: Input
}], sortable: [{
type: Input
}], editable: [{
type: Input
}], filterable: [{
type: Input
}], closeFilterWhenScroll: [{
type: Input
}], cellClass: [{
type: Input
}], nestedColumnIndent: [{
type: Input
}], width: [{
type: Input
}], fixedLeft: [{
type: Input
}], fixedRight: [{
type: Input
}], extraOptions: [{
type: Input
}], order: [{
type: Input
}], nestedColumn: [{
type: Input
}], filterList: [{
type: Input
}], filterChange: [{
type: Output
}], filterToggle: [{
type: Output
}], filterMultiple: [{
type: Input
}], filterIconActive: [{
type: Input
}], filterBoxWidth: [{
type: Input
}], filterBoxHeight: [{
type: Input
}], beforeFilter: [{
type: Input
}], cellCmp: [{
type: ContentChild,
args: [DataTableCellViewTmplComponent]
}], cellEditCmp: [{
type: ContentChild,
args: [DataTableCellEditTmplComponent]
}], headCellTmpl: [{
type: ContentChild,
args: [DataTableHeadCellTmplComponent]
}], customFilterTemplate: [{
type: Input
}], extraFilterTemplate: [{
type: Input
}], searchFn: [{
type: Input
}], fieldType: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4tdG1wbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9kZXZ1aS9kYXRhLXRhYmxlL3RtcGwvZGF0YS10YWJsZS1jb2x1bW4tdG1wbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFPdkYsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQVlXLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQVV6Qix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFNeEIsVUFBSyxHQUFXLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFLcEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUNsRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUdyQyxDQUFDO1FBQ0ksbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFXL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR2hELGlCQUFpQjtRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQWM7UUFDTCxjQUFTLEdBQUcsTUFBTSxDQUFDO0tBdUI3QjtJQXJCQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDakMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBVTtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBb0Q7UUFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0EzRVUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsbzlCQXVDekIsOEJBQThCLDhFQUM5Qiw4QkFBOEIsK0VBQzlCLDhCQUE4QixxRUE1Q2xDLEVBQUU7OzRGQUdELDRCQUE0QjtrQkFMeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBTUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBSUUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ3dDLE9BQU87c0JBQXBELFlBQVk7dUJBQUMsOEJBQThCO2dCQUNFLFdBQVc7c0JBQXhELFlBQVk7dUJBQUMsOEJBQThCO2dCQUNFLFlBQVk7c0JBQXpELFlBQVk7dUJBQUMsOEJBQThCO2dCQUNuQyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJDb25maWcgfSBmcm9tICcuLi9kYXRhLXRhYmxlLm1vZGVsJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ2VsbEVkaXRUbXBsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNlbGwtZWRpdC10bXBsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUNlbGxWaWV3VG1wbENvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS1jZWxsLXZpZXctdG1wbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVIZWFkQ2VsbFRtcGxDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUtaGVhZC1jZWxsLXRtcGwuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZC1jb2x1bW4nLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbHVtblRtcGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgYWR2YW5jZWRIZWFkZXI6IEFycmF5PHtcclxuICAgIGhlYWRlcjogc3RyaW5nO1xyXG4gICAgcm93c3BhbjogbnVtYmVyO1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgW3Byb3A6IHN0cmluZ106IGFueTtcclxuICB9PjtcclxuICBASW5wdXQoKSBoZWFkQ2VsbEFwcGx5QWxsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbWF4V2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKSBtaW5XaWR0aDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc29ydGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZmlsdGVyYWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjbG9zZUZpbHRlcldoZW5TY3JvbGw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2VsbENsYXNzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmVzdGVkQ29sdW1uSW5kZW50ID0gMTY7XHJcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZztcclxuICAvLyBASW5wdXQoKSBmaXhlZD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZml4ZWRMZWZ0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZpeGVkUmlnaHQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXh0cmFPcHRpb25zOiBhbnk7XHJcbiAgQElucHV0KCkgb3JkZXI6IG51bWJlciA9IE51bWJlci5NQVhfVkFMVUU7XHJcbiAgQElucHV0KCkgbmVzdGVkQ29sdW1uID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICog5Lyg5YWl562b6YCJ5YiX6KGoXHJcbiAgICovXHJcbiAgQElucHV0KCkgZmlsdGVyTGlzdDogQXJyYXk8RmlsdGVyQ29uZmlnPjtcclxuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDb25maWdbXT4oKTtcclxuICBAT3V0cHV0KCkgZmlsdGVyVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBpc09wZW46IGJvb2xlYW47XHJcbiAgICBjaGVja2xpc3Q6IEZpbHRlckNvbmZpZ1tdO1xyXG4gIH0+KCk7XHJcbiAgQElucHV0KCkgZmlsdGVyTXVsdGlwbGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZpbHRlckljb25BY3RpdmU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZmlsdGVyQm94V2lkdGg6IGFueTtcclxuICBASW5wdXQoKSBmaWx0ZXJCb3hIZWlnaHQ6IGFueTtcclxuICBASW5wdXQoKSBiZWZvcmVGaWx0ZXI6ICh2YWx1ZSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIEBDb250ZW50Q2hpbGQoRGF0YVRhYmxlQ2VsbFZpZXdUbXBsQ29tcG9uZW50KSBjZWxsQ21wOiBEYXRhVGFibGVDZWxsVmlld1RtcGxDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChEYXRhVGFibGVDZWxsRWRpdFRtcGxDb21wb25lbnQpIGNlbGxFZGl0Q21wOiBEYXRhVGFibGVDZWxsRWRpdFRtcGxDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChEYXRhVGFibGVIZWFkQ2VsbFRtcGxDb21wb25lbnQpIGhlYWRDZWxsVG1wbDogRGF0YVRhYmxlSGVhZENlbGxUbXBsQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIGN1c3RvbUZpbHRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGV4dHJhRmlsdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgc2VhcmNoRm46ICh0ZXJtOiBzdHJpbmcpID0+IE9ic2VydmFibGU8QXJyYXk8YW55Pj47XHJcbiAgb3JkZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNpbXBsZUNoYW5nZXM+KCk7XHJcbiAgd2lkdGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNpbXBsZUNoYW5nZXM+KCk7XHJcbiAgX2Zvcm1hdHRlcjogKGl0ZW06IGFueSwgcm93PzogYW55KSA9PiBzdHJpbmc7XHJcblxyXG4gIC8vIOm8oOagh+aYr+WQpuenu+WKqOWIsOW9k+WJjeihqOWktOWNleWFg+agvFxyXG4gIHNlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gIC8vIEBkZXByZWNhdGVkXHJcbiAgQElucHV0KCkgZmllbGRUeXBlID0gJ3RleHQnO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IG9yZGVyLCB3aWR0aCB9ID0gY2hhbmdlcztcclxuICAgIGlmIChvcmRlcikge1xyXG4gICAgICB0aGlzLm9yZGVyQ2hhbmdlLmVtaXQob3JkZXIuY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICh3aWR0aCkge1xyXG4gICAgICB0aGlzLndpZHRoQ2hhbmdlLmVtaXQod2lkdGguY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcmRlckNoYW5nZS51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZW1pdEZpbHRlckRhdGEoZmlsdGVyRGF0YSkge1xyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdChmaWx0ZXJEYXRhKTtcclxuICB9XHJcblxyXG4gIGVtaXRGaWx0ZXJUb2dnbGUoZGF0YTogeyBpc09wZW46IGJvb2xlYW47IGNoZWNrbGlzdDogRmlsdGVyQ29uZmlnW10gfSkge1xyXG4gICAgdGhpcy5maWx0ZXJUb2dnbGUuZW1pdChkYXRhKTtcclxuICB9XHJcbn1cclxuIl19