@anglr/grid
Version:
Angular module displaying grid
62 lines • 5.59 kB
JavaScript
import { Component, ChangeDetectionStrategy, Inject, Optional, HostBinding } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MergeCssClassesPipe } from '@anglr/common';
import { HeaderContentRendererAbstractComponent } from '../../../headerContentRendererAbstract.component';
import { HEADER_CONTENT_RENDERER_OPTIONS } from '../../../../../../misc/tokens';
import { CellContextPipe } from '../../../../../../pipes';
import { provideCellContextFactoryFn } from '../../../../../../misc/providers';
import { cellContextFactory } from '../../../../../../misc/utils';
import { OrderableDirective } from '../../../../../../directives';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
/**
* Default options for 'TableHeaderContentRendererComponent'
*/
const defaultOptions = {
cssClasses: {
thead: '',
thDefault: 'header-default',
spanContent: 'header-content',
},
};
/**
* Component used for rendering table header in table content renderer
* @deprecated use new MatrixGrid with MatrixContentRenderer instead
*/
export class TableHeaderContentRendererComponent extends HeaderContentRendererAbstractComponent {
//######################### public properties - host #########################
/**
* Css class applied to header itself
*/
get cssClass() {
return this.ɵoptions.cssClasses.thead;
}
//######################### constructor #########################
constructor(options) {
super(defaultOptions, options);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: TableHeaderContentRendererComponent, deps: [{ token: HEADER_CONTENT_RENDERER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.0", type: TableHeaderContentRendererComponent, isStandalone: true, selector: "thead.content-renderer", host: { properties: { "class": "this.cssClass" } }, providers: [
provideCellContextFactoryFn(cellContextFactory),
], usesInheritance: true, ngImport: i0, template: "<tr>\r\n @for(meta of metadata?.columns; track meta; let index=$index)\r\n {\r\n <th [ngClass]=\"options.cssClasses.thDefault | mergeCssClasses: [meta?.headerClass]\" \r\n [style.width]=\"meta?.width\"\r\n [title]=\"meta?.headerTooltip || meta?.title\"\r\n [orderable]=\"!!meta?.ordering\"\r\n [orderById]=\"meta?.id\">\r\n\r\n @if(meta?.titleVisible)\r\n {\r\n @if(meta?.headerTemplate)\r\n {\r\n <ng-container *ngTemplateOutlet=\"meta?.headerTemplate ?? null; context: meta | cellContext: index\" />\r\n }\r\n @else \r\n {\r\n <span [ngClass]=\"options.cssClasses.spanContent\">{{meta?.title}}</span>\r\n }\r\n }\r\n </th>\r\n }\r\n</tr>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: CellContextPipe, name: "cellContext" }, { kind: "pipe", type: MergeCssClassesPipe, name: "mergeCssClasses" }, { kind: "directive", type: OrderableDirective, selector: "[orderable]", inputs: ["orderable", "orderById"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0", ngImport: i0, type: TableHeaderContentRendererComponent, decorators: [{
type: Component,
args: [{ selector: 'thead.content-renderer', imports: [
CommonModule,
CellContextPipe,
MergeCssClassesPipe,
OrderableDirective,
], providers: [
provideCellContextFactoryFn(cellContextFactory),
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<tr>\r\n @for(meta of metadata?.columns; track meta; let index=$index)\r\n {\r\n <th [ngClass]=\"options.cssClasses.thDefault | mergeCssClasses: [meta?.headerClass]\" \r\n [style.width]=\"meta?.width\"\r\n [title]=\"meta?.headerTooltip || meta?.title\"\r\n [orderable]=\"!!meta?.ordering\"\r\n [orderById]=\"meta?.id\">\r\n\r\n @if(meta?.titleVisible)\r\n {\r\n @if(meta?.headerTemplate)\r\n {\r\n <ng-container *ngTemplateOutlet=\"meta?.headerTemplate ?? null; context: meta | cellContext: index\" />\r\n }\r\n @else \r\n {\r\n <span [ngClass]=\"options.cssClasses.spanContent\">{{meta?.title}}</span>\r\n }\r\n }\r\n </th>\r\n }\r\n</tr>" }]
}], ctorParameters: () => [{ type: undefined, decorators: [{
type: Inject,
args: [HEADER_CONTENT_RENDERER_OPTIONS]
}, {
type: Optional
}] }], propDecorators: { cssClass: [{
type: HostBinding,
args: ['class']
}] } });
//# sourceMappingURL=tableHeaderContentRenderer.component.js.map