@theseam/ui-common 1.0.0-beta.10 → 1.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datatable/index.d.ts +20 -22
- package/fesm2022/theseam-ui-common-datatable.mjs +18 -36
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table.mjs +5 -13
- package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
- package/package.json +46 -46
- package/table/index.d.ts +1 -5
package/datatable/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome
|
|
|
2
2
|
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
3
3
|
import { CollectionViewer, DataSource, ListRange } from '@angular/cdk/collections';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { EventEmitter, QueryList,
|
|
5
|
+
import { EventEmitter, QueryList, OnChanges, TemplateRef, PipeTransform, SimpleChanges, InjectionToken, KeyValueDiffers, OnInit, OnDestroy, ChangeDetectorRef, ElementRef, ViewContainerRef, NgZone } from '@angular/core';
|
|
6
6
|
import * as rxjs from 'rxjs';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
import * as i26 from '@marklb/ngx-datatable';
|
|
@@ -95,24 +95,9 @@ declare class DatatableActionMenuComponent {
|
|
|
95
95
|
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableActionMenuComponent, "seam-datatable-action-menu", ["seamDatatableActionMenu"], { "isSubMenu": { "alias": "isSubMenu"; "required": false; }; }, {}, ["items"], never, false, never>;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
declare class DatatableCellTplDirective {
|
|
99
|
-
template: TemplateRef<any>;
|
|
100
|
-
constructor(template: TemplateRef<any>);
|
|
101
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableCellTplDirective, never>;
|
|
102
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DatatableCellTplDirective, "[seamDatatableCellTpl]", never, {}, {}, never, never, false, never>;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
declare class DatatableColumnChangesService {
|
|
106
|
-
private columnInputChanges;
|
|
107
|
-
get columnInputChanges$(): Observable<undefined>;
|
|
108
|
-
onInputChange(): void;
|
|
109
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnChangesService, never>;
|
|
110
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DatatableColumnChangesService>;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
98
|
type _PipeTransform = PipeTransform | PipeTransform;
|
|
114
99
|
declare class DatatableColumnComponent implements OnChanges {
|
|
115
|
-
private _columnChangesService;
|
|
100
|
+
private readonly _columnChangesService;
|
|
116
101
|
name?: string | null;
|
|
117
102
|
prop?: TableColumnProp | null;
|
|
118
103
|
flexGrow?: number | null;
|
|
@@ -141,16 +126,14 @@ declare class DatatableColumnComponent implements OnChanges {
|
|
|
141
126
|
alignHeader?: 'left' | 'center' | 'right' | null;
|
|
142
127
|
alignCell?: 'left' | 'center' | 'right' | null;
|
|
143
128
|
private _isFirstChange;
|
|
144
|
-
cellTplDirective?: DatatableCellTplDirective;
|
|
145
129
|
_cellTemplateInput?: TemplateRef<any> | null;
|
|
146
|
-
|
|
130
|
+
set _setCellTemplateQuery(value: TemplateRef<any> | null);
|
|
131
|
+
_cellTemplateQuery?: TemplateRef<any> | null;
|
|
147
132
|
get cellTemplate(): TemplateRef<any> | undefined | null;
|
|
148
133
|
readonly __propsChanged: string[];
|
|
149
|
-
constructor(_columnChangesService: DatatableColumnChangesService);
|
|
150
134
|
ngOnChanges(changes: SimpleChanges): void;
|
|
151
|
-
getCellDirective(): DatatableCellTplDirective | null;
|
|
152
135
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnComponent, never>;
|
|
153
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnComponent, "seam-datatable-column", never, { "name": { "alias": "name"; "required": false; }; "prop": { "alias": "prop"; "required": false; }; "flexGrow": { "alias": "flexGrow"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "resizeable": { "alias": "resizeable"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "draggable": { "alias": "draggable"; "required": false; }; "canAutoResize": { "alias": "canAutoResize"; "required": false; }; "comparator": { "alias": "comparator"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "checkboxable": { "alias": "checkboxable"; "required": false; }; "headerCheckboxable": { "alias": "headerCheckboxable"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "frozenLeft": { "alias": "frozenLeft"; "required": false; }; "frozenRight": { "alias": "frozenRight"; "required": false; }; "pipe": { "alias": "pipe"; "required": false; }; "isTreeColumn": { "alias": "isTreeColumn"; "required": false; }; "treeLevelIndent": { "alias": "treeLevelIndent"; "required": false; }; "summaryFunc": { "alias": "summaryFunc"; "required": false; }; "summaryTemplate": { "alias": "summaryTemplate"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "align": { "alias": "align"; "required": false; }; "alignHeader": { "alias": "alignHeader"; "required": false; }; "alignCell": { "alias": "alignCell"; "required": false; }; "_cellTemplateInput": { "alias": "cellTemplate"; "required": false; }; }, {}, ["
|
|
136
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnComponent, "seam-datatable-column", never, { "name": { "alias": "name"; "required": false; }; "prop": { "alias": "prop"; "required": false; }; "flexGrow": { "alias": "flexGrow"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "resizeable": { "alias": "resizeable"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "draggable": { "alias": "draggable"; "required": false; }; "canAutoResize": { "alias": "canAutoResize"; "required": false; }; "comparator": { "alias": "comparator"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "checkboxable": { "alias": "checkboxable"; "required": false; }; "headerCheckboxable": { "alias": "headerCheckboxable"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "frozenLeft": { "alias": "frozenLeft"; "required": false; }; "frozenRight": { "alias": "frozenRight"; "required": false; }; "pipe": { "alias": "pipe"; "required": false; }; "isTreeColumn": { "alias": "isTreeColumn"; "required": false; }; "treeLevelIndent": { "alias": "treeLevelIndent"; "required": false; }; "summaryFunc": { "alias": "summaryFunc"; "required": false; }; "summaryTemplate": { "alias": "summaryTemplate"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "align": { "alias": "align"; "required": false; }; "alignHeader": { "alias": "alignHeader"; "required": false; }; "alignCell": { "alias": "alignCell"; "required": false; }; "_cellTemplateInput": { "alias": "cellTemplate"; "required": false; }; }, {}, ["_setCellTemplateQuery"], never, false, never>;
|
|
154
137
|
}
|
|
155
138
|
/**
|
|
156
139
|
* Check if a column is bound to a property.
|
|
@@ -329,6 +312,14 @@ interface TheSeamDatatableAccessor {
|
|
|
329
312
|
pageInfo: TheSeamPageInfo;
|
|
330
313
|
}
|
|
331
314
|
|
|
315
|
+
declare class DatatableColumnChangesService {
|
|
316
|
+
private columnInputChanges;
|
|
317
|
+
get columnInputChanges$(): Observable<undefined>;
|
|
318
|
+
onInputChange(): void;
|
|
319
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnChangesService, never>;
|
|
320
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DatatableColumnChangesService>;
|
|
321
|
+
}
|
|
322
|
+
|
|
332
323
|
interface ColumnsDataFilterStateState<T = any, O = any> {
|
|
333
324
|
prop?: string;
|
|
334
325
|
formValue?: Partial<T>;
|
|
@@ -1239,6 +1230,13 @@ declare class DatatableActionMenuToggleDirective {
|
|
|
1239
1230
|
static ɵdir: i0.ɵɵDirectiveDeclaration<DatatableActionMenuToggleDirective, "[seamDatatableActionMenuToggle]", ["seamDatatableActionMenuToggle"], { "seamDatatableActionMenuToggle": { "alias": "seamDatatableActionMenuToggle"; "required": false; }; }, {}, never, never, false, never>;
|
|
1240
1231
|
}
|
|
1241
1232
|
|
|
1233
|
+
declare class DatatableCellTplDirective {
|
|
1234
|
+
template: TemplateRef<any>;
|
|
1235
|
+
constructor(template: TemplateRef<any>);
|
|
1236
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableCellTplDirective, never>;
|
|
1237
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DatatableCellTplDirective, "[seamDatatableCellTpl]", never, {}, {}, never, never, false, never>;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1242
1240
|
declare class DatatableColumnFilterTplDirective {
|
|
1243
1241
|
template: TemplateRef<any>;
|
|
1244
1242
|
constructor(template: TemplateRef<any>);
|
|
@@ -3,7 +3,7 @@ import { trigger, transition, style, animate } from '@angular/animations';
|
|
|
3
3
|
import { coerceArray } from '@angular/cdk/coercion';
|
|
4
4
|
import { DataSource, isDataSource } from '@angular/cdk/collections';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ContentChildren, ViewChild, Directive, Injectable, TemplateRef, ContentChild, Self, Inject, forwardRef, InjectionToken, Optional, isDevMode, input,
|
|
6
|
+
import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ContentChildren, ViewChild, Directive, Injectable, inject, TemplateRef, ContentChild, Self, Inject, forwardRef, InjectionToken, Optional, isDevMode, input, ChangeDetectorRef, ElementRef, HostListener, HostBinding, NgModule } from '@angular/core';
|
|
7
7
|
import { Subject, BehaviorSubject, of, startWith as startWith$1, map as map$1, switchMap as switchMap$1, combineLatest, defer, EMPTY, debounceTime, tap as tap$1, Subscription, from, isObservable } from 'rxjs';
|
|
8
8
|
import { switchMap, map, startWith, auditTime, shareReplay, take, tap, distinctUntilChanged, takeUntil, concatMap, catchError } from 'rxjs/operators';
|
|
9
9
|
import { faEllipsisH, faChevronDown, faChevronRight, faSpinner, faFilter, faColumns, faFileDownload } from '@fortawesome/free-solid-svg-icons';
|
|
@@ -260,10 +260,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
|
|
|
260
260
|
type: Injectable
|
|
261
261
|
}] });
|
|
262
262
|
|
|
263
|
-
// TODO: The column component should implement `
|
|
263
|
+
// TODO: The column component should implement `TheSeamDatatableColumn`, since
|
|
264
264
|
// providing some properties by input and some by template could be confusing.
|
|
265
265
|
class DatatableColumnComponent {
|
|
266
|
-
_columnChangesService;
|
|
266
|
+
_columnChangesService = inject(DatatableColumnChangesService);
|
|
267
267
|
name;
|
|
268
268
|
prop;
|
|
269
269
|
flexGrow;
|
|
@@ -292,31 +292,19 @@ class DatatableColumnComponent {
|
|
|
292
292
|
alignHeader;
|
|
293
293
|
alignCell;
|
|
294
294
|
_isFirstChange = true;
|
|
295
|
-
cellTplDirective;
|
|
296
295
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
297
296
|
_cellTemplateInput;
|
|
297
|
+
set _setCellTemplateQuery(value) {
|
|
298
|
+
this._cellTemplateQuery = value;
|
|
299
|
+
if (!this.__propsChanged.includes('cellTemplate')) {
|
|
300
|
+
this.__propsChanged.push('cellTemplate');
|
|
301
|
+
}
|
|
302
|
+
}
|
|
298
303
|
_cellTemplateQuery;
|
|
299
304
|
get cellTemplate() {
|
|
300
305
|
return this._cellTemplateInput || this._cellTemplateQuery;
|
|
301
306
|
}
|
|
302
|
-
// @Input('headerTemplate')
|
|
303
|
-
// _headerTemplateInput: TemplateRef<any>;
|
|
304
|
-
// @ContentChild(DataTableColumnHeaderDirective, { read: TemplateRef, static: true })
|
|
305
|
-
// _headerTemplateQuery: TemplateRef<any>;
|
|
306
|
-
// get headerTemplate(): TemplateRef<any> {
|
|
307
|
-
// return this._headerTemplateInput || this._headerTemplateQuery;
|
|
308
|
-
// }
|
|
309
|
-
// @Input('treeToggleTemplate')
|
|
310
|
-
// _treeToggleTemplateInput: TemplateRef<any>;
|
|
311
|
-
// @ContentChild(DataTableColumnCellTreeToggle, { read: TemplateRef, static: true })
|
|
312
|
-
// _treeToggleTemplateQuery: TemplateRef<any>;
|
|
313
|
-
// get treeToggleTemplate(): TemplateRef<any> {
|
|
314
|
-
// return this._treeToggleTemplateInput || this._treeToggleTemplateQuery;
|
|
315
|
-
// }
|
|
316
307
|
__propsChanged = [];
|
|
317
|
-
constructor(_columnChangesService) {
|
|
318
|
-
this._columnChangesService = _columnChangesService;
|
|
319
|
-
}
|
|
320
308
|
ngOnChanges(changes) {
|
|
321
309
|
if (this._isFirstChange) {
|
|
322
310
|
this._isFirstChange = false;
|
|
@@ -332,19 +320,13 @@ class DatatableColumnComponent {
|
|
|
332
320
|
}
|
|
333
321
|
}
|
|
334
322
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
return this.cellTplDirective;
|
|
338
|
-
}
|
|
339
|
-
return null;
|
|
340
|
-
}
|
|
341
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DatatableColumnComponent, deps: [{ token: DatatableColumnChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
342
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: DatatableColumnComponent, isStandalone: false, selector: "seam-datatable-column", inputs: { name: "name", prop: "prop", flexGrow: "flexGrow", minWidth: "minWidth", maxWidth: "maxWidth", width: "width", resizeable: "resizeable", sortable: "sortable", draggable: "draggable", canAutoResize: "canAutoResize", comparator: "comparator", headerTemplate: "headerTemplate", checkboxable: "checkboxable", headerCheckboxable: "headerCheckboxable", headerClass: "headerClass", cellClass: "cellClass", frozenLeft: "frozenLeft", frozenRight: "frozenRight", pipe: "pipe", isTreeColumn: "isTreeColumn", treeLevelIndent: "treeLevelIndent", summaryFunc: "summaryFunc", summaryTemplate: "summaryTemplate", hidden: "hidden", align: "align", alignHeader: "alignHeader", alignCell: "alignCell", _cellTemplateInput: ["cellTemplate", "_cellTemplateInput"] }, queries: [{ propertyName: "cellTplDirective", first: true, predicate: DatatableCellTplDirective, descendants: true, static: true }, { propertyName: "_cellTemplateQuery", first: true, predicate: DatatableCellTplDirective, descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<p>datatable-column works!</p>\n", styles: [""] });
|
|
323
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DatatableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
324
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: DatatableColumnComponent, isStandalone: false, selector: "seam-datatable-column", inputs: { name: "name", prop: "prop", flexGrow: "flexGrow", minWidth: "minWidth", maxWidth: "maxWidth", width: "width", resizeable: "resizeable", sortable: "sortable", draggable: "draggable", canAutoResize: "canAutoResize", comparator: "comparator", headerTemplate: "headerTemplate", checkboxable: "checkboxable", headerCheckboxable: "headerCheckboxable", headerClass: "headerClass", cellClass: "cellClass", frozenLeft: "frozenLeft", frozenRight: "frozenRight", pipe: "pipe", isTreeColumn: "isTreeColumn", treeLevelIndent: "treeLevelIndent", summaryFunc: "summaryFunc", summaryTemplate: "summaryTemplate", hidden: "hidden", align: "align", alignHeader: "alignHeader", alignCell: "alignCell", _cellTemplateInput: ["cellTemplate", "_cellTemplateInput"] }, queries: [{ propertyName: "_setCellTemplateQuery", first: true, predicate: DatatableCellTplDirective, descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<p>datatable-column works!</p>\n", styles: [""] });
|
|
343
325
|
}
|
|
344
326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DatatableColumnComponent, decorators: [{
|
|
345
327
|
type: Component,
|
|
346
328
|
args: [{ selector: 'seam-datatable-column', standalone: false, template: "<p>datatable-column works!</p>\n" }]
|
|
347
|
-
}],
|
|
329
|
+
}], propDecorators: { name: [{
|
|
348
330
|
type: Input
|
|
349
331
|
}], prop: [{
|
|
350
332
|
type: Input
|
|
@@ -398,13 +380,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
|
|
|
398
380
|
type: Input
|
|
399
381
|
}], alignCell: [{
|
|
400
382
|
type: Input
|
|
401
|
-
}], cellTplDirective: [{
|
|
402
|
-
type: ContentChild,
|
|
403
|
-
args: [DatatableCellTplDirective, { static: true }]
|
|
404
383
|
}], _cellTemplateInput: [{
|
|
405
384
|
type: Input,
|
|
406
385
|
args: ['cellTemplate']
|
|
407
|
-
}],
|
|
386
|
+
}], _setCellTemplateQuery: [{
|
|
408
387
|
type: ContentChild,
|
|
409
388
|
args: [DatatableCellTplDirective, { read: TemplateRef, static: true }]
|
|
410
389
|
}] } });
|
|
@@ -2793,7 +2772,7 @@ class DatatableColumnHeaderComponent {
|
|
|
2793
2772
|
columnFilterUpdateMethod = input(...(ngDevMode ? [undefined, { debugName: "columnFilterUpdateMethod" }] : []));
|
|
2794
2773
|
columnFilterUpdateDebounce = input(...(ngDevMode ? [undefined, { debugName: "columnFilterUpdateDebounce" }] : []));
|
|
2795
2774
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DatatableColumnHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2796
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.7", type: DatatableColumnHeaderComponent, isStandalone: true, selector: "seam-datatable-column-header", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, sortFn: { classPropertyName: "sortFn", publicName: "sortFn", isSignal: true, isRequired: true, transformFunction: null }, columnFilterIcon: { classPropertyName: "columnFilterIcon", publicName: "columnFilterIcon", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateMethod: { classPropertyName: "columnFilterUpdateMethod", publicName: "columnFilterUpdateMethod", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateDebounce: { classPropertyName: "columnFilterUpdateDebounce", publicName: "columnFilterUpdateDebounce", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.justify-content-center": "column().alignHeader === \"center\"", "class.justify-content-end": "column().alignHeader === \"right\"" }, classAttribute: "d-inline-flex align-items-center
|
|
2775
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.7", type: DatatableColumnHeaderComponent, isStandalone: true, selector: "seam-datatable-column-header", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, sortFn: { classPropertyName: "sortFn", publicName: "sortFn", isSignal: true, isRequired: true, transformFunction: null }, columnFilterIcon: { classPropertyName: "columnFilterIcon", publicName: "columnFilterIcon", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateMethod: { classPropertyName: "columnFilterUpdateMethod", publicName: "columnFilterUpdateMethod", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateDebounce: { classPropertyName: "columnFilterUpdateDebounce", publicName: "columnFilterUpdateDebounce", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.flex-fill": "column().alignHeader !== \"left\"", "class.justify-content-center": "column().alignHeader === \"center\"", "class.justify-content-end": "column().alignHeader === \"right\"" }, classAttribute: "d-inline-flex align-items-center" }, ngImport: i0, template: "@if (column().filterable) {\n <button\n seamIconBtn\n [icon]=\"columnFilterIcon()\"\n size=\"sm\"\n [seamPopover]=\"filterMenu\"\n [seamPopoverBaseWidth]=\"300\"\n class=\"datatable-column-header-filter-button d-flex align-items-center mr-2\"\n [class.datatable-column-header-filter-button-active]=\"column().filterActive\"\n style=\"width: 1rem\"\n title=\"Click to see filter options\"\n ></button>\n}\n@if (column().sortable) {\n <button\n seamButton\n class=\"datatable-sort-target p-0\"\n (click)=\"sortFn()()\"\n title=\"Click to sort\"\n >\n <strong class=\"draggable\">{{ column().name }}</strong>\n </button>\n} @else {\n <strong class=\"draggable\">{{ column().name }}</strong>\n}\n<div\n class=\"datatable-column-header-separator\"\n [attr.data-column-id]=\"column().$$id\"\n></div>\n<ng-template #filterMenu let-popover=\"popover\">\n <seam-datatable-column-filter-menu\n [column]=\"column()\"\n [updateMethod]=\"columnFilterUpdateMethod()\"\n [debounce]=\"columnFilterUpdateDebounce()\"\n (closePopover)=\"popover?.closePopover()\"\n ></seam-datatable-column-filter-menu>\n</ng-template>\n", styles: [".datatable-column-header-separator{position:absolute}.datatable-sort-target{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i4$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "ngmodule", type: TheSeamPopoverModule }, { kind: "directive", type: i2$3.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverContext", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i3.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }, { kind: "component", type: DatatableColumnFilterMenuComponent, selector: "seam-datatable-column-filter-menu", inputs: ["column", "updateMethod", "debounce"], outputs: ["closePopover"] }] });
|
|
2797
2776
|
}
|
|
2798
2777
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DatatableColumnHeaderComponent, decorators: [{
|
|
2799
2778
|
type: Component,
|
|
@@ -2804,7 +2783,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
|
|
|
2804
2783
|
TheSeamIconModule,
|
|
2805
2784
|
DatatableColumnFilterMenuComponent,
|
|
2806
2785
|
], host: {
|
|
2807
|
-
class: 'd-inline-flex align-items-center
|
|
2786
|
+
class: 'd-inline-flex align-items-center',
|
|
2787
|
+
'[class.flex-fill]': 'column().alignHeader !== "left"',
|
|
2788
|
+
// TODO: fix 'center' alignment. This solution leaves the sort icon on the
|
|
2789
|
+
// far right, away from the text.
|
|
2808
2790
|
'[class.justify-content-center]': 'column().alignHeader === "center"',
|
|
2809
2791
|
'[class.justify-content-end]': 'column().alignHeader === "right"',
|
|
2810
2792
|
}, template: "@if (column().filterable) {\n <button\n seamIconBtn\n [icon]=\"columnFilterIcon()\"\n size=\"sm\"\n [seamPopover]=\"filterMenu\"\n [seamPopoverBaseWidth]=\"300\"\n class=\"datatable-column-header-filter-button d-flex align-items-center mr-2\"\n [class.datatable-column-header-filter-button-active]=\"column().filterActive\"\n style=\"width: 1rem\"\n title=\"Click to see filter options\"\n ></button>\n}\n@if (column().sortable) {\n <button\n seamButton\n class=\"datatable-sort-target p-0\"\n (click)=\"sortFn()()\"\n title=\"Click to sort\"\n >\n <strong class=\"draggable\">{{ column().name }}</strong>\n </button>\n} @else {\n <strong class=\"draggable\">{{ column().name }}</strong>\n}\n<div\n class=\"datatable-column-header-separator\"\n [attr.data-column-id]=\"column().$$id\"\n></div>\n<ng-template #filterMenu let-popover=\"popover\">\n <seam-datatable-column-filter-menu\n [column]=\"column()\"\n [updateMethod]=\"columnFilterUpdateMethod()\"\n [debounce]=\"columnFilterUpdateDebounce()\"\n (closePopover)=\"popover?.closePopover()\"\n ></seam-datatable-column-filter-menu>\n</ng-template>\n", styles: [".datatable-column-header-separator{position:absolute}.datatable-sort-target{cursor:pointer}\n"] }]
|